optimum-rbln 0.8.3a3__tar.gz → 0.8.3a4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of optimum-rbln might be problematic. Click here for more details.
- optimum_rbln-0.8.3a4/.github/version.yaml +1 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.github/workflows/rbln_check_compiler.yaml +30 -6
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.github/workflows/rbln_scheduled_test.yaml +2 -2
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.github/workflows/rbln_trigger_on_pr.yaml +1 -1
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/PKG-INFO +1 -1
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/__init__.py +4 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/__version__.py +2 -2
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/configuration_utils.py +16 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/auto_pipeline.py +1 -1
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/__init__.py +4 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/__init__.py +5 -0
- optimum_rbln-0.8.3a4/src/optimum/rbln/transformers/models/swin/__init__.py +16 -0
- optimum_rbln-0.8.3a4/src/optimum/rbln/transformers/models/swin/configuration_swin.py +42 -0
- optimum_rbln-0.8.3a4/src/optimum/rbln/transformers/models/swin/modeling_swin.py +316 -0
- optimum_rbln-0.8.3a3/.github/version.yaml +0 -1
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.github/ISSUE_TEMPLATE/model_request.md +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.github/pull_request_template.md +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.github/scripts/auto_code_review.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.github/scripts/validate_docstrings.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.github/scripts/validate_pr_checklist.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.github/workflows/auto_code_review.yml +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.github/workflows/check_code_quality.yml +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.github/workflows/deploy-on-tag.yaml +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.github/workflows/deploy.yaml +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.github/workflows/pr-title-check.yaml +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.github/workflows/pr_checklist_validator.yml +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.github/workflows/rbln_dispatch_pytest.yaml +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.github/workflows/rbln_optimum_inference_test.yaml +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.github/workflows/rbln_optimum_pytest.yaml +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.github/workflows/test-docstrings.yml +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.gitignore +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/CODE_OF_CONDUCT.md +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/CONTRIBUTING.md +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/LICENSE +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/README.md +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/assets/rbln_logo.png +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/advanced/custom_class.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/audio-classification/run_ast_audio_classification.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/depth-estimation/run_dpt.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/image-classification/run_image_classification.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/image-classification/run_vit_image_classification.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/image-to-text/run_idefics3.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/image-to-text/run_llava_next_image_to_text.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/kandinsky2_2/run_kandinsky2_2.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/kandinsky2_2/run_kandinsky2_2_combined.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/kandinsky2_2/run_kandinsky2_2_img2img.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/kandinsky2_2/run_kandinsky2_2_img2img_combined.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/kandinsky2_2/run_kandinsky2_2_inpaint.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/kandinsky2_2/run_kandinsky2_2_inpaint_combined.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/kandinsky2_2/run_kandinsky2_2_prior_interpolate.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/question-answering/run_question_answering.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/speech-recognition/run_wav2vec2.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/speech-recognition/run_whisper.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/stable-diffusion/run_stable_diffusion.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/stable-diffusion/run_stable_diffusion_controlnet.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/stable-diffusion/run_stable_diffusion_img2img.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/stable-diffusion/run_stable_diffusion_img2img_controlnet.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/stable-diffusion/run_stable_diffusion_inpaint.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/stable-diffusion/run_stable_diffusion_lora.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/stable-diffusion/run_stable_diffusion_multicontrolnet.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/text-classification/run_bge_m3_text_classification.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/text-classification/run_bge_reranker_v2_m3_text_classification.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/text-classification/run_secureBERT.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/text-classification/run_t5_classification.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/text-classification/run_twitter_roberta_text_classification.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/text2text-generation/run_bart_text2text_generation.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/text2text-generation/run_llama_peft.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/text2text-generation/run_llama_text2text_generation.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/examples/time-series-forecasting/run_time_series_forecasting.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/pyproject.toml +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/scripts/uv-lock.sh +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/scripts/uv-sync.sh +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/configurations/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/configurations/models/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/configurations/models/configuration_autoencoder_kl.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/configurations/models/configuration_autoencoder_kl_cosmos.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/configurations/models/configuration_controlnet.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/configurations/models/configuration_prior_transformer.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/configurations/models/configuration_transformer_cosmos.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/configurations/models/configuration_transformer_sd3.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/configurations/models/configuration_unet_2d_condition.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/configurations/models/configuration_vq_model.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/configurations/pipelines/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_controlnet.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_cosmos.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_kandinsky2_2.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_3.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_xl.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/modeling_diffusers.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/models/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/models/autoencoders/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/models/autoencoders/autoencoder_kl.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/models/autoencoders/autoencoder_kl_cosmos.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/models/autoencoders/vae.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/models/autoencoders/vq_model.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/models/controlnet.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/models/transformers/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/models/transformers/prior_transformer.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/models/transformers/transformer_cosmos.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/models/transformers/transformer_sd3.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/models/unets/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/models/unets/unet_2d_condition.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/controlnet/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/controlnet/multicontrolnet.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl_img2img.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/cosmos/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/cosmos/configuration_cosmos_guardrail.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/cosmos/cosmos_guardrail.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/cosmos/pipeline_cosmos_text2world.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/cosmos/pipeline_cosmos_video2world.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_combined.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_img2img.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_inpaint.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_img2img.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_inpaint.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_inpaint.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/modeling.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/modeling_base.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/ops/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/ops/attn.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/ops/flash_attn.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/ops/kv_cache_update.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/ops/linear.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/ops/sliding_window_attn.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/configuration_generic.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/modeling_attention_utils.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/modeling_generic.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/modeling_outputs.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/modeling_rope_utils.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/audio_spectrogram_transformer/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/audio_spectrogram_transformer/configuration_audio_spectrogram_transformer.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/audio_spectrogram_transformer/modeling_audio_spectrogram_transformer.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/auto/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/auto/auto_factory.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/auto/modeling_auto.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/bart/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/bart/bart_architecture.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/bart/configuration_bart.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/bart/modeling_bart.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/bert/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/bert/configuration_bert.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/bert/modeling_bert.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/blip_2/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/blip_2/configuration_blip_2.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/blip_2/modeling_blip_2.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/clip/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/clip/configuration_clip.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/clip/modeling_clip.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/colpali/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/colpali/colpali_architecture.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/colpali/configuration_colpali.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/colpali/modeling_colpali.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/decoderonly/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/decoderonly/configuration_decoderonly.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/decoderonly/decoderonly_architecture.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/decoderonly/decoderonly_runtime_utils.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/decoderonly/generation_decoderonly.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/decoderonly/modeling_decoderonly.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/depth_anything/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/depth_anything/configuration_depth_anything.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/depth_anything/modeling_depth_anything.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/distilbert/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/distilbert/configuration_distilbert.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/distilbert/modeling_distilbert.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/dpt/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/dpt/configuration_dpt.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/dpt/modeling_dpt.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/exaone/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/exaone/configuration_exaone.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/exaone/exaone_architecture.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/exaone/modeling_exaone.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/gemma/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/gemma/configuration_gemma.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/gemma/gemma_architecture.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/gemma/modeling_gemma.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/gemma3/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/gemma3/configuration_gemma3.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/gemma3/gemma3_architecture.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/gemma3/gemma3_runtime_utils.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/gemma3/modeling_gemma3.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/gpt2/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/gpt2/configuration_gpt2.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/gpt2/gpt2_architecture.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/gpt2/modeling_gpt2.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/idefics3/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/idefics3/configuration_idefics3.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/idefics3/modeling_idefics3.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/llama/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/llama/configuration_llama.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/llama/llama_architecture.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/llama/modeling_llama.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/llava/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/llava/configuration_llava.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/llava/modeling_llava.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/llava_next/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/llava_next/configuration_llava_next.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/llava_next/modeling_llava_next.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/midm/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/midm/configuration_midm.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/midm/midm_architecture.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/midm/modeling_midm.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/mistral/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/mistral/configuration_mistral.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/mistral/mistral_architecture.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/mistral/modeling_mistral.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/opt/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/opt/configuration_opt.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/opt/modeling_opt.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/opt/opt_architecture.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/pegasus/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/pegasus/configuration_pegasus.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/pegasus/modeling_pegasus.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/pegasus/pegasus_architecture.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/phi/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/phi/configuration_phi.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/phi/modeling_phi.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/phi/phi_architecture.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/pixtral/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/pixtral/configuration_pixtral.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/pixtral/modeling_pixtral.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/pixtral/pixtral_architecture.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/qwen2/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/qwen2/configuration_qwen2.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/qwen2/modeling_qwen2.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/qwen2/qwen2_architecture.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/qwen2_5_vl/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/qwen2_5_vl/modeling_qwen2_5_vl.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/qwen2_5_vl/qwen2_5_vl_architecture.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/qwen3/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/qwen3/configuration_qwen3.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/qwen3/modeling_qwen3.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/qwen3/qwen3_architecture.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/resnet/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/resnet/configuration_resnet.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/resnet/modeling_resnet.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/roberta/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/roberta/configuration_roberta.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/roberta/modeling_roberta.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/seq2seq/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/seq2seq/configuration_seq2seq.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/seq2seq/modeling_seq2seq.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/seq2seq/seq2seq_architecture.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/siglip/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/siglip/configuration_siglip.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/siglip/modeling_siglip.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/t5/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/t5/configuration_t5.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/t5/modeling_t5.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/t5/t5_architecture.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/time_series_transformer/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/time_series_transformer/configuration_time_series_transformer.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/time_series_transformer/modeling_time_series_transformer.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/time_series_transformer/time_series_transformers_architecture.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/vit/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/vit/configuration_vit.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/vit/modeling_vit.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/wav2vec2/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/wav2vec2/configuration_wav2vec2.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/wav2vec2/modeling_wav2vec2.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/whisper/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/whisper/configuration_whisper.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/whisper/generation_whisper.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/whisper/modeling_whisper.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/whisper/whisper_architecture.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/xlm_roberta/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/xlm_roberta/configuration_xlm_roberta.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/xlm_roberta/modeling_xlm_roberta.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/utils/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/utils/rbln_quantization.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/utils/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/utils/decorator_utils.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/utils/depreacate_utils.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/utils/hub.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/utils/import_utils.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/utils/logging.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/utils/model_utils.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/utils/runtime_utils.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/utils/save_utils.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/utils/submodule.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/tests/__init__.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/tests/psnr.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/tests/requirements_sdxl.txt +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/tests/run_stable_diffusion_xl_base.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/tests/test_base.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/tests/test_config.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/tests/test_diffusers.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/tests/test_llm.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/tests/test_transformers.py +0 -0
- {optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/uv.lock +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
rebel_compiler_version: 0.8.3.dev154+gd92397cc
|
|
@@ -8,9 +8,9 @@ on:
|
|
|
8
8
|
required: true
|
|
9
9
|
type: string
|
|
10
10
|
outputs:
|
|
11
|
-
|
|
11
|
+
compiler_version_check:
|
|
12
12
|
description: "Whether the compiler is a deploy version"
|
|
13
|
-
value: ${{ jobs.check-rebel-compiler-version.outputs.
|
|
13
|
+
value: ${{ jobs.check-rebel-compiler-version.outputs.compiler_version_check }}
|
|
14
14
|
compiler_version:
|
|
15
15
|
description: "The compiler version used"
|
|
16
16
|
value: ${{ jobs.check-rebel-compiler-version.outputs.compiler_version }}
|
|
@@ -19,7 +19,7 @@ jobs:
|
|
|
19
19
|
check-rebel-compiler-version:
|
|
20
20
|
runs-on: rebel-k8s-runner
|
|
21
21
|
outputs:
|
|
22
|
-
|
|
22
|
+
compiler_version_check: ${{ steps.final_check.outputs.COMPILER_VERSION_CHECK }}
|
|
23
23
|
compiler_version: ${{ steps.install_compiler.outputs.COMPILER_VERSION }}
|
|
24
24
|
steps:
|
|
25
25
|
- name: Set up Python
|
|
@@ -51,11 +51,35 @@ jobs:
|
|
|
51
51
|
id: check_prod
|
|
52
52
|
run: |
|
|
53
53
|
if [ "$ENV_VALUE" = "PROD" ]; then
|
|
54
|
-
echo "IS_PROD=true" >> $
|
|
54
|
+
echo "IS_PROD=true" >> $GITHUB_ENV
|
|
55
55
|
echo "version check pass(✅)!!"
|
|
56
56
|
else
|
|
57
|
-
echo "IS_PROD=false" >> $
|
|
57
|
+
echo "IS_PROD=false" >> $GITHUB_ENV
|
|
58
58
|
echo "version check fail(❌)!!"
|
|
59
59
|
echo "rebel-compiler must be prod version"
|
|
60
|
+
fi
|
|
61
|
+
|
|
62
|
+
- name: Check pyarmor
|
|
63
|
+
id: check_pyarmor
|
|
64
|
+
run: |
|
|
65
|
+
if pip3 show -f rebel-compiler | grep -Ei 'pytransform|pyarmor_runtime|__pyarmor__|license\.lic'; then
|
|
66
|
+
echo "PYARMOR_ENC=true" >> $GITHUB_ENV
|
|
67
|
+
echo "pyarmor check pass(✅)!!"
|
|
68
|
+
else
|
|
69
|
+
echo "PYARMOR_ENC=false" >> $GITHUB_ENV
|
|
70
|
+
echo "pyarmor check fail(❌)!!"
|
|
71
|
+
fi
|
|
72
|
+
|
|
73
|
+
- name: Final verification
|
|
74
|
+
id: final_check
|
|
75
|
+
run: |
|
|
76
|
+
echo "IS_PROD=$IS_PROD"
|
|
77
|
+
echo "PYARMOR_ENC=$PYARMOR_ENC"
|
|
78
|
+
if [ "$IS_PROD" = "true" ] && [ "$PYARMOR_ENC" = "true" ]; then
|
|
79
|
+
echo "COMPILER_VERSION_CHECK=true" >> $GITHUB_OUTPUT
|
|
80
|
+
echo "Final check pass(✅)!!"
|
|
81
|
+
else
|
|
82
|
+
echo "COMPILER_VERSION_CHECK=false" >> $GITHUB_OUTPUT
|
|
83
|
+
echo "Final check fail(❌)!! Both IS_PROD and PYARMOR_ENC must be true."
|
|
60
84
|
exit 1
|
|
61
|
-
fi
|
|
85
|
+
fi
|
|
@@ -41,7 +41,7 @@ jobs:
|
|
|
41
41
|
|
|
42
42
|
optimum-rbln-pytest:
|
|
43
43
|
needs: [load-version, check-compiler]
|
|
44
|
-
if: ${{ needs.check-compiler.outputs.
|
|
44
|
+
if: ${{ needs.check-compiler.outputs.compiler_version_check == 'true' }}
|
|
45
45
|
uses: ./.github/workflows/rbln_optimum_pytest.yaml
|
|
46
46
|
with:
|
|
47
47
|
ref: main
|
|
@@ -53,7 +53,7 @@ jobs:
|
|
|
53
53
|
|
|
54
54
|
optimum-rbln-inference-test:
|
|
55
55
|
needs: check-compiler
|
|
56
|
-
if: ${{ needs.check-compiler.outputs.
|
|
56
|
+
if: ${{ needs.check-compiler.outputs.compiler_version_check == 'true' }}
|
|
57
57
|
uses: ./.github/workflows/rbln_optimum_inference_test.yaml
|
|
58
58
|
with:
|
|
59
59
|
ref: main
|
|
@@ -61,7 +61,7 @@ jobs:
|
|
|
61
61
|
check-team-member:
|
|
62
62
|
runs-on: rebel-k8s-runner
|
|
63
63
|
needs: [check-skip-ci, check-code-quality, test-docstrings, check-compiler]
|
|
64
|
-
if: ${{ needs.check-skip-ci.outputs.should_skip != 'true' && needs.check-compiler.outputs.
|
|
64
|
+
if: ${{ needs.check-skip-ci.outputs.should_skip != 'true' && needs.check-compiler.outputs.compiler_version_check == 'true' }}
|
|
65
65
|
outputs:
|
|
66
66
|
is_team_member: ${{ steps.check_member.outputs.IS_TEAM_MEMBER }}
|
|
67
67
|
steps:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: optimum-rbln
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.3a4
|
|
4
4
|
Summary: Optimum RBLN is the interface between the HuggingFace Transformers and Diffusers libraries and RBLN accelerators. It provides a set of tools enabling easy model loading and inference on single and multiple rbln device settings for different downstream tasks.
|
|
5
5
|
Project-URL: Homepage, https://rebellions.ai
|
|
6
6
|
Project-URL: Documentation, https://docs.rbln.ai
|
|
@@ -149,6 +149,8 @@ _import_structure = {
|
|
|
149
149
|
"RBLNRobertaForSequenceClassificationConfig",
|
|
150
150
|
"RBLNSiglipVisionModel",
|
|
151
151
|
"RBLNSiglipVisionModelConfig",
|
|
152
|
+
"RBLNSwinBackbone",
|
|
153
|
+
"RBLNSwinBackboneConfig",
|
|
152
154
|
"RBLNT5EncoderModel",
|
|
153
155
|
"RBLNT5EncoderModelConfig",
|
|
154
156
|
"RBLNT5ForConditionalGeneration",
|
|
@@ -426,6 +428,8 @@ if TYPE_CHECKING:
|
|
|
426
428
|
RBLNRobertaForSequenceClassificationConfig,
|
|
427
429
|
RBLNSiglipVisionModel,
|
|
428
430
|
RBLNSiglipVisionModelConfig,
|
|
431
|
+
RBLNSwinBackbone,
|
|
432
|
+
RBLNSwinBackboneConfig,
|
|
429
433
|
RBLNT5EncoderModel,
|
|
430
434
|
RBLNT5EncoderModelConfig,
|
|
431
435
|
RBLNT5ForConditionalGeneration,
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.8.
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 8, 3, '
|
|
31
|
+
__version__ = version = '0.8.3a4'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 8, 3, 'a4')
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
|
@@ -21,6 +21,7 @@ from typing import Any, Dict, List, Optional, Protocol, Tuple, Type, Union, runt
|
|
|
21
21
|
|
|
22
22
|
import numpy as np
|
|
23
23
|
import torch
|
|
24
|
+
from packaging.version import Version
|
|
24
25
|
|
|
25
26
|
from .__version__ import __version__
|
|
26
27
|
from .utils.depreacate_utils import warn_deprecated_npu
|
|
@@ -621,6 +622,21 @@ class RBLNModelConfig(RBLNSerializableConfigProtocol):
|
|
|
621
622
|
self.set_compile_cfgs([RBLNCompileConfig(**cfg) for cfg in self._compile_cfgs])
|
|
622
623
|
|
|
623
624
|
if len(kwargs) > 0:
|
|
625
|
+
if optimum_rbln_version is not None: # loaded from file
|
|
626
|
+
if Version(__version__) < Version(optimum_rbln_version):
|
|
627
|
+
diff = "newer"
|
|
628
|
+
elif Version(__version__) > Version(optimum_rbln_version):
|
|
629
|
+
diff = "older"
|
|
630
|
+
else:
|
|
631
|
+
diff = None
|
|
632
|
+
if diff is not None:
|
|
633
|
+
raise ValueError(
|
|
634
|
+
f"Unexpected arguments: {kwargs.keys()}\n"
|
|
635
|
+
f"Maybe you are trying to load a model compiled with {diff} version of optimum-rbln. "
|
|
636
|
+
"It is recommended to use the same version to compile and load the model.\n"
|
|
637
|
+
f"Current version: {__version__}, Loaded version: {optimum_rbln_version}"
|
|
638
|
+
)
|
|
639
|
+
|
|
624
640
|
raise ValueError(f"Unexpected arguments: {kwargs.keys()}")
|
|
625
641
|
|
|
626
642
|
@property
|
{optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/diffusers/pipelines/auto_pipeline.py
RENAMED
|
@@ -48,7 +48,7 @@ class RBLNAutoPipelineBase:
|
|
|
48
48
|
rbln_class_name = convert_hf_to_rbln_model_name(hf_model_class.__name__)
|
|
49
49
|
else:
|
|
50
50
|
rbln_class_name = cls.get_rbln_model_cls_name(pretrained_model_name_or_path, **kwargs)
|
|
51
|
-
if convert_rbln_to_hf_model_name(rbln_class_name) not in cls._model_mapping_names:
|
|
51
|
+
if convert_rbln_to_hf_model_name(rbln_class_name) not in cls._model_mapping_names.values():
|
|
52
52
|
raise ValueError(
|
|
53
53
|
f"The architecture '{rbln_class_name}' is not supported by the `{cls.__name__}.from_pretrained()` method. "
|
|
54
54
|
"Please use the `from_pretrained()` method of the appropriate class to load this model, "
|
|
@@ -139,6 +139,8 @@ _import_structure = {
|
|
|
139
139
|
"RBLNRobertaForSequenceClassificationConfig",
|
|
140
140
|
"RBLNSiglipVisionModel",
|
|
141
141
|
"RBLNSiglipVisionModelConfig",
|
|
142
|
+
"RBLNSwinBackbone",
|
|
143
|
+
"RBLNSwinBackboneConfig",
|
|
142
144
|
"RBLNT5EncoderModel",
|
|
143
145
|
"RBLNT5EncoderModelConfig",
|
|
144
146
|
"RBLNT5ForConditionalGeneration",
|
|
@@ -278,6 +280,8 @@ if TYPE_CHECKING:
|
|
|
278
280
|
RBLNRobertaForSequenceClassificationConfig,
|
|
279
281
|
RBLNSiglipVisionModel,
|
|
280
282
|
RBLNSiglipVisionModelConfig,
|
|
283
|
+
RBLNSwinBackbone,
|
|
284
|
+
RBLNSwinBackboneConfig,
|
|
281
285
|
RBLNT5EncoderModel,
|
|
282
286
|
RBLNT5EncoderModelConfig,
|
|
283
287
|
RBLNT5ForConditionalGeneration,
|
{optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/src/optimum/rbln/transformers/models/__init__.py
RENAMED
|
@@ -142,6 +142,10 @@ _import_structure = {
|
|
|
142
142
|
"RBLNSiglipVisionModel",
|
|
143
143
|
"RBLNSiglipVisionModelConfig",
|
|
144
144
|
],
|
|
145
|
+
"swin": [
|
|
146
|
+
"RBLNSwinBackbone",
|
|
147
|
+
"RBLNSwinBackboneConfig",
|
|
148
|
+
],
|
|
145
149
|
"time_series_transformer": [
|
|
146
150
|
"RBLNTimeSeriesTransformerForPrediction",
|
|
147
151
|
"RBLNTimeSeriesTransformerForPredictionConfig",
|
|
@@ -268,6 +272,7 @@ if TYPE_CHECKING:
|
|
|
268
272
|
RBLNRobertaForSequenceClassificationConfig,
|
|
269
273
|
)
|
|
270
274
|
from .siglip import RBLNSiglipVisionModel, RBLNSiglipVisionModelConfig
|
|
275
|
+
from .swin import RBLNSwinBackbone, RBLNSwinBackboneConfig
|
|
271
276
|
from .t5 import (
|
|
272
277
|
RBLNT5EncoderModel,
|
|
273
278
|
RBLNT5EncoderModelConfig,
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Copyright 2025 Rebellions Inc. All rights reserved.
|
|
2
|
+
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at:
|
|
6
|
+
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
from .configuration_swin import RBLNSwinBackboneConfig
|
|
16
|
+
from .modeling_swin import RBLNSwinBackbone
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
2
|
+
# you may not use this file except in compliance with the License.
|
|
3
|
+
# You may obtain a copy of the License at:
|
|
4
|
+
|
|
5
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
|
|
7
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
8
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
9
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10
|
+
# See the License for the specific language governing permissions and
|
|
11
|
+
# limitations under the License.
|
|
12
|
+
|
|
13
|
+
from typing import Any, Optional, Tuple, Union
|
|
14
|
+
|
|
15
|
+
from ...configuration_generic import RBLNModelForImageClassificationConfig
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class RBLNSwinBackboneConfig(RBLNModelForImageClassificationConfig):
|
|
19
|
+
def __init__(
|
|
20
|
+
self,
|
|
21
|
+
image_size: Optional[Union[int, Tuple[int, int]]] = None,
|
|
22
|
+
batch_size: Optional[int] = None,
|
|
23
|
+
output_hidden_states: Optional[bool] = None,
|
|
24
|
+
output_attentions: Optional[bool] = None,
|
|
25
|
+
**kwargs: Any,
|
|
26
|
+
):
|
|
27
|
+
"""
|
|
28
|
+
Args:
|
|
29
|
+
batch_size (Optional[int]): The batch size for text processing. Defaults to 1.
|
|
30
|
+
**kwargs: Additional arguments passed to the parent RBLNModelConfig.
|
|
31
|
+
|
|
32
|
+
Raises:
|
|
33
|
+
ValueError: If batch_size is not a positive integer.
|
|
34
|
+
"""
|
|
35
|
+
super().__init__(**kwargs)
|
|
36
|
+
self.batch_size = batch_size or 1
|
|
37
|
+
if not isinstance(self.batch_size, int) or self.batch_size < 0:
|
|
38
|
+
raise ValueError(f"batch_size must be a positive integer, got {self.batch_size}")
|
|
39
|
+
|
|
40
|
+
self.image_size = image_size
|
|
41
|
+
self.output_hidden_states = output_hidden_states
|
|
42
|
+
self.output_attentions = output_attentions
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
# Copyright 2025 Rebellions Inc. All rights reserved.
|
|
2
|
+
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at:
|
|
6
|
+
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
import types
|
|
16
|
+
from typing import TYPE_CHECKING, Optional, Tuple, Union
|
|
17
|
+
|
|
18
|
+
import torch
|
|
19
|
+
import torch.nn.functional as F
|
|
20
|
+
from transformers import SwinConfig
|
|
21
|
+
from transformers.models.swin.modeling_swin import BackboneOutput
|
|
22
|
+
|
|
23
|
+
from ....configuration_utils import RBLNCompileConfig
|
|
24
|
+
from ....modeling import RBLNModel
|
|
25
|
+
from ....utils.logging import get_logger
|
|
26
|
+
from .configuration_swin import RBLNSwinBackboneConfig
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
logger = get_logger(__name__)
|
|
30
|
+
|
|
31
|
+
if TYPE_CHECKING:
|
|
32
|
+
from transformers import (
|
|
33
|
+
AutoFeatureExtractor,
|
|
34
|
+
AutoProcessor,
|
|
35
|
+
AutoTokenizer,
|
|
36
|
+
PreTrainedModel,
|
|
37
|
+
SwinBackbone,
|
|
38
|
+
SwinEncoder,
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def window_partition(input_feature, window_size):
|
|
43
|
+
"""
|
|
44
|
+
Partitions the given input into windows.
|
|
45
|
+
"""
|
|
46
|
+
batch_size, height, width, num_channels = input_feature.shape
|
|
47
|
+
input_feature = input_feature.view(
|
|
48
|
+
batch_size, height // window_size, window_size, width // window_size, window_size, num_channels
|
|
49
|
+
)
|
|
50
|
+
windows = input_feature.permute(0, 1, 3, 2, 4, 5).contiguous().view(-1, window_size, window_size, num_channels)
|
|
51
|
+
return windows
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def get_attn_mask(self, height, width, dtype, device):
|
|
55
|
+
if self.shift_size > 0:
|
|
56
|
+
# calculate attention mask for SW-MSA
|
|
57
|
+
img_mask = torch.zeros((1, height, width, 1), dtype=dtype, device=device)
|
|
58
|
+
height_slices = (
|
|
59
|
+
slice(0, -self.window_size),
|
|
60
|
+
slice(-self.window_size, -self.shift_size),
|
|
61
|
+
slice(-self.shift_size, None),
|
|
62
|
+
)
|
|
63
|
+
width_slices = (
|
|
64
|
+
slice(0, -self.window_size),
|
|
65
|
+
slice(-self.window_size, -self.shift_size),
|
|
66
|
+
slice(-self.shift_size, None),
|
|
67
|
+
)
|
|
68
|
+
count = torch.zeros(1)
|
|
69
|
+
for height_slice in height_slices:
|
|
70
|
+
for width_slice in width_slices:
|
|
71
|
+
img_mask[:, height_slice, width_slice, :] = count
|
|
72
|
+
count += 1
|
|
73
|
+
|
|
74
|
+
mask_windows = window_partition(img_mask, self.window_size)
|
|
75
|
+
mask_windows = mask_windows.view(-1, self.window_size * self.window_size)
|
|
76
|
+
attn_mask = mask_windows.unsqueeze(1) - mask_windows.unsqueeze(2)
|
|
77
|
+
attn_mask = attn_mask.masked_fill(attn_mask != 0, float(-100.0)).masked_fill(attn_mask == 0, float(0.0))
|
|
78
|
+
else:
|
|
79
|
+
attn_mask = None
|
|
80
|
+
return attn_mask
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
class _SwinEncoder(torch.nn.Module):
|
|
84
|
+
def __init__(self, model: "SwinEncoder"):
|
|
85
|
+
super().__init__()
|
|
86
|
+
self.layers = model.layers
|
|
87
|
+
|
|
88
|
+
def forward(
|
|
89
|
+
self,
|
|
90
|
+
hidden_states: torch.Tensor,
|
|
91
|
+
input_dimensions: Tuple[int, int],
|
|
92
|
+
head_mask: Optional[torch.FloatTensor] = None,
|
|
93
|
+
output_attentions: Optional[bool] = False,
|
|
94
|
+
output_hidden_states: Optional[bool] = False,
|
|
95
|
+
output_hidden_states_before_downsampling: Optional[bool] = False,
|
|
96
|
+
always_partition: Optional[bool] = False,
|
|
97
|
+
return_dict: Optional[bool] = True,
|
|
98
|
+
):
|
|
99
|
+
all_hidden_states = () if output_hidden_states else None
|
|
100
|
+
all_reshaped_hidden_states = () if output_hidden_states else None
|
|
101
|
+
all_self_attentions = () if output_attentions else None
|
|
102
|
+
|
|
103
|
+
if output_hidden_states:
|
|
104
|
+
batch_size, _, hidden_size = hidden_states.shape
|
|
105
|
+
# rearrange b (h w) c -> b c h w
|
|
106
|
+
reshaped_hidden_state = hidden_states.view(batch_size, *input_dimensions, hidden_size)
|
|
107
|
+
reshaped_hidden_state = reshaped_hidden_state.permute(0, 3, 1, 2)
|
|
108
|
+
all_hidden_states += (hidden_states,)
|
|
109
|
+
all_reshaped_hidden_states += (reshaped_hidden_state,)
|
|
110
|
+
|
|
111
|
+
for i, layer_module in enumerate(self.layers):
|
|
112
|
+
layer_head_mask = head_mask[i] if head_mask is not None else None
|
|
113
|
+
|
|
114
|
+
layer_outputs = layer_module(
|
|
115
|
+
hidden_states, input_dimensions, layer_head_mask, output_attentions, always_partition
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
hidden_states = layer_outputs[0]
|
|
119
|
+
hidden_states_before_downsampling = layer_outputs[1]
|
|
120
|
+
output_dimensions = layer_outputs[2]
|
|
121
|
+
|
|
122
|
+
input_dimensions = (output_dimensions[-2], output_dimensions[-1])
|
|
123
|
+
|
|
124
|
+
if output_hidden_states and output_hidden_states_before_downsampling:
|
|
125
|
+
batch_size, _, hidden_size = hidden_states_before_downsampling.shape
|
|
126
|
+
# rearrange b (h w) c -> b c h w
|
|
127
|
+
# here we use the original (not downsampled) height and width
|
|
128
|
+
reshaped_hidden_state = hidden_states_before_downsampling.view(
|
|
129
|
+
batch_size, *(output_dimensions[0], output_dimensions[1]), hidden_size
|
|
130
|
+
)
|
|
131
|
+
reshaped_hidden_state = reshaped_hidden_state.permute(0, 3, 1, 2)
|
|
132
|
+
all_hidden_states += (hidden_states_before_downsampling,)
|
|
133
|
+
all_reshaped_hidden_states += (reshaped_hidden_state,)
|
|
134
|
+
elif output_hidden_states and not output_hidden_states_before_downsampling:
|
|
135
|
+
batch_size, _, hidden_size = hidden_states.shape
|
|
136
|
+
# rearrange b (h w) c -> b c h w
|
|
137
|
+
reshaped_hidden_state = hidden_states.view(batch_size, *input_dimensions, hidden_size)
|
|
138
|
+
reshaped_hidden_state = reshaped_hidden_state.permute(0, 3, 1, 2)
|
|
139
|
+
all_hidden_states += (hidden_states,)
|
|
140
|
+
all_reshaped_hidden_states += (reshaped_hidden_state,)
|
|
141
|
+
|
|
142
|
+
if output_attentions:
|
|
143
|
+
all_self_attentions += layer_outputs[3:]
|
|
144
|
+
|
|
145
|
+
return tuple(
|
|
146
|
+
v
|
|
147
|
+
for v in [hidden_states, all_hidden_states, all_self_attentions, all_reshaped_hidden_states]
|
|
148
|
+
if v is not None
|
|
149
|
+
)
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
class _SwinBackbone(torch.nn.Module):
|
|
153
|
+
def __init__(self, model: "SwinBackbone", output_hidden_states: bool, output_attentions: bool):
|
|
154
|
+
super().__init__()
|
|
155
|
+
self.model = model
|
|
156
|
+
self.embeddings = model.embeddings
|
|
157
|
+
self.encoder = model.encoder
|
|
158
|
+
self.stage_names = model.stage_names
|
|
159
|
+
self.out_features = model.out_features
|
|
160
|
+
self.hidden_states_norms = model.hidden_states_norms
|
|
161
|
+
self.output_hidden_states = output_hidden_states
|
|
162
|
+
self.output_attentions = output_attentions
|
|
163
|
+
|
|
164
|
+
def forward(
|
|
165
|
+
self,
|
|
166
|
+
pixel_values: torch.Tensor,
|
|
167
|
+
):
|
|
168
|
+
embedding_output, input_dimensions = self.embeddings(pixel_values)
|
|
169
|
+
outputs = _SwinEncoder(self.encoder)(
|
|
170
|
+
embedding_output,
|
|
171
|
+
input_dimensions,
|
|
172
|
+
head_mask=None,
|
|
173
|
+
output_attentions=self.output_attentions,
|
|
174
|
+
output_hidden_states=True,
|
|
175
|
+
output_hidden_states_before_downsampling=True,
|
|
176
|
+
always_partition=True,
|
|
177
|
+
return_dict=False,
|
|
178
|
+
)
|
|
179
|
+
|
|
180
|
+
hidden_states = outputs[-1]
|
|
181
|
+
|
|
182
|
+
feature_maps = ()
|
|
183
|
+
for stage, hidden_state in zip(self.stage_names, hidden_states):
|
|
184
|
+
if stage in self.out_features:
|
|
185
|
+
batch_size, num_channels, height, width = hidden_state.shape
|
|
186
|
+
hidden_state = hidden_state.permute(0, 2, 3, 1).contiguous()
|
|
187
|
+
hidden_state = hidden_state.view(batch_size, height * width, num_channels)
|
|
188
|
+
hidden_state = self.hidden_states_norms[stage](hidden_state)
|
|
189
|
+
hidden_state = hidden_state.view(batch_size, height, width, num_channels)
|
|
190
|
+
hidden_state = hidden_state.permute(0, 3, 1, 2).contiguous()
|
|
191
|
+
feature_maps += (hidden_state,)
|
|
192
|
+
|
|
193
|
+
output = (feature_maps,)
|
|
194
|
+
|
|
195
|
+
if self.output_hidden_states:
|
|
196
|
+
output += (outputs[1],)
|
|
197
|
+
|
|
198
|
+
if self.output_attentions:
|
|
199
|
+
output += (outputs[2],)
|
|
200
|
+
|
|
201
|
+
return output
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
class RBLNSwinBackbone(RBLNModel):
|
|
205
|
+
@classmethod
|
|
206
|
+
def wrap_model_if_needed(cls, model: torch.nn.Module, rbln_config: RBLNSwinBackboneConfig) -> torch.nn.Module:
|
|
207
|
+
for layer in model.encoder.layers:
|
|
208
|
+
for block in layer.blocks:
|
|
209
|
+
block.get_attn_mask = types.MethodType(get_attn_mask, block)
|
|
210
|
+
|
|
211
|
+
wrapper_cfg = {
|
|
212
|
+
"output_hidden_states": rbln_config.output_hidden_states,
|
|
213
|
+
"output_attentions": rbln_config.output_attentions,
|
|
214
|
+
}
|
|
215
|
+
return _SwinBackbone(model, **wrapper_cfg).eval()
|
|
216
|
+
|
|
217
|
+
@classmethod
|
|
218
|
+
def _update_rbln_config(
|
|
219
|
+
cls,
|
|
220
|
+
preprocessors: Union["AutoFeatureExtractor", "AutoProcessor", "AutoTokenizer"],
|
|
221
|
+
model: Optional["PreTrainedModel"] = None,
|
|
222
|
+
model_config: "SwinConfig" = None,
|
|
223
|
+
rbln_config: Optional[RBLNSwinBackboneConfig] = None,
|
|
224
|
+
) -> RBLNSwinBackboneConfig:
|
|
225
|
+
if rbln_config.image_size is None:
|
|
226
|
+
for processor in preprocessors:
|
|
227
|
+
if hasattr(processor, "size"):
|
|
228
|
+
if all(required_key in processor.size.keys() for required_key in ["height", "width"]):
|
|
229
|
+
rbln_config.image_size = (processor.size["height"], processor.size["width"])
|
|
230
|
+
break
|
|
231
|
+
|
|
232
|
+
input_info = [
|
|
233
|
+
(
|
|
234
|
+
"pixel_values",
|
|
235
|
+
[
|
|
236
|
+
rbln_config.batch_size,
|
|
237
|
+
3,
|
|
238
|
+
rbln_config.image_size[0],
|
|
239
|
+
rbln_config.image_size[1],
|
|
240
|
+
],
|
|
241
|
+
"float32",
|
|
242
|
+
),
|
|
243
|
+
]
|
|
244
|
+
|
|
245
|
+
rbln_config.set_compile_cfgs([RBLNCompileConfig(input_info=input_info)])
|
|
246
|
+
return rbln_config
|
|
247
|
+
|
|
248
|
+
def forward(
|
|
249
|
+
self,
|
|
250
|
+
pixel_values: Optional[torch.FloatTensor] = None,
|
|
251
|
+
return_dict: bool = True,
|
|
252
|
+
output_attentions: bool = None,
|
|
253
|
+
output_hidden_states: bool = None,
|
|
254
|
+
**kwargs,
|
|
255
|
+
) -> Union[Tuple, BackboneOutput]:
|
|
256
|
+
if len(kwargs) > 0 and any(value is not None for value in kwargs.values()):
|
|
257
|
+
logger.warning(
|
|
258
|
+
f"Currently, optimum-rbln does not support kwargs {kwargs.keys()} for {self.__class__.__name__}."
|
|
259
|
+
)
|
|
260
|
+
|
|
261
|
+
output_attentions = output_attentions if output_attentions is not None else self.rbln_config.output_attentions
|
|
262
|
+
output_hidden_states = (
|
|
263
|
+
output_hidden_states if output_hidden_states is not None else self.rbln_config.output_hidden_states
|
|
264
|
+
)
|
|
265
|
+
|
|
266
|
+
if output_attentions != self.rbln_config.output_attentions:
|
|
267
|
+
raise ValueError(
|
|
268
|
+
f"Variable output_attentions {output_attentions} is not equal to rbln_config.output_attentions {self.rbln_config.output_attentions} "
|
|
269
|
+
f"Please compile again with the correct argument."
|
|
270
|
+
)
|
|
271
|
+
|
|
272
|
+
if output_hidden_states != self.rbln_config.output_hidden_states:
|
|
273
|
+
raise ValueError(
|
|
274
|
+
f"Variable output_hidden_states {output_hidden_states} is not equal to rbln_config.output_hidden_states {self.rbln_config.output_hidden_states} "
|
|
275
|
+
f"Please compile again with the correct argument."
|
|
276
|
+
)
|
|
277
|
+
|
|
278
|
+
_, _, original_h, original_w = pixel_values.shape
|
|
279
|
+
if original_h > self.rbln_config.image_size[0] or original_w > self.rbln_config.image_size[1]:
|
|
280
|
+
raise ValueError(
|
|
281
|
+
f"Input image size ({original_h}x{original_w}) exceeds the configured maximum size"
|
|
282
|
+
f" ({self.rbln_config.image_size[0]}x{self.rbln_config.image_size[1]})."
|
|
283
|
+
)
|
|
284
|
+
|
|
285
|
+
pad_h = self.rbln_config.image_size[0] - original_h
|
|
286
|
+
pad_w = self.rbln_config.image_size[1] - original_w
|
|
287
|
+
padded_pixel_values = F.pad(pixel_values, (0, pad_w, 0, pad_h))
|
|
288
|
+
|
|
289
|
+
output = self.model[0](padded_pixel_values)
|
|
290
|
+
|
|
291
|
+
feature_maps = ()
|
|
292
|
+
for i in range(len(self.config.out_features)):
|
|
293
|
+
feature_maps += (output.pop(0),)
|
|
294
|
+
|
|
295
|
+
if self.rbln_config.output_hidden_states:
|
|
296
|
+
hidden_states = ()
|
|
297
|
+
for i in range(len(self.config.stage_names)):
|
|
298
|
+
hidden_states += (output.pop(0),)
|
|
299
|
+
else:
|
|
300
|
+
hidden_states = None
|
|
301
|
+
|
|
302
|
+
if self.rbln_config.output_attentions:
|
|
303
|
+
attentions = ()
|
|
304
|
+
for i in range(len(self.config.depths)):
|
|
305
|
+
attentions += (output.pop(0),)
|
|
306
|
+
else:
|
|
307
|
+
attentions = None
|
|
308
|
+
|
|
309
|
+
if not return_dict:
|
|
310
|
+
return tuple(item for item in (feature_maps, hidden_states, attentions) if item is not None)
|
|
311
|
+
else:
|
|
312
|
+
return BackboneOutput(
|
|
313
|
+
feature_maps=feature_maps,
|
|
314
|
+
hidden_states=hidden_states,
|
|
315
|
+
attentions=attentions,
|
|
316
|
+
)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
rebel_compiler_version: 0.8.2.dev187+g9f5b6c9b
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{optimum_rbln-0.8.3a3 → optimum_rbln-0.8.3a4}/.github/workflows/rbln_optimum_inference_test.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|