optimum-rbln 0.7.5a1__tar.gz → 0.7.5rc1__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.
- optimum_rbln-0.7.5rc1/.github/version.yaml +1 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/PKG-INFO +1 -1
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/__init__.py +10 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/__version__.py +2 -2
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/models/transformers/prior_transformer.py +1 -2
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/models/transformers/transformer_sd3.py +1 -2
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/models/unets/unet_2d_condition.py +1 -2
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/modeling.py +53 -9
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/modeling_base.py +22 -3
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/__init__.py +10 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/modeling_generic.py +0 -19
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/__init__.py +14 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/auto/__init__.py +1 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/auto/modeling_auto.py +7 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/decoderonly/decoderonly_architecture.py +114 -19
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/decoderonly/modeling_decoderonly.py +29 -10
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/exaone/exaone_architecture.py +5 -1
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/gemma/gemma_architecture.py +5 -1
- optimum_rbln-0.7.5rc1/src/optimum/rbln/transformers/models/gemma3/__init__.py +16 -0
- optimum_rbln-0.7.5rc1/src/optimum/rbln/transformers/models/gemma3/configuration_gemma3.py +69 -0
- optimum_rbln-0.7.5rc1/src/optimum/rbln/transformers/models/gemma3/gemma3_architecture.py +446 -0
- optimum_rbln-0.7.5rc1/src/optimum/rbln/transformers/models/gemma3/modeling_gemma3.py +1057 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/gpt2/gpt2_architecture.py +4 -1
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/midm/midm_architecture.py +4 -1
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/opt/modeling_opt.py +2 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/opt/opt_architecture.py +4 -1
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/phi/phi_architecture.py +4 -1
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/qwen2_5_vl/modeling_qwen2_5_vl.py +3 -2
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/wav2vec2/modeling_wav2vec2.py +0 -3
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/tests/test_llm.py +53 -0
- optimum_rbln-0.7.5a1/.github/version.yaml +0 -1
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/.github/ISSUE_TEMPLATE/model_request.md +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/.github/pull_request_template.md +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/.github/scripts/auto_code_review.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/.github/scripts/validate_pr_checklist.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/.github/workflows/auto_code_review.yml +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/.github/workflows/check_code_quality.yml +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/.github/workflows/deploy-on-tag.yaml +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/.github/workflows/deploy.yaml +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/.github/workflows/pr-title-check.yaml +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/.github/workflows/pr_checklist_validator.yml +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/.github/workflows/rbln_check_compiler.yaml +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/.github/workflows/rbln_dispatch_pytest.yaml +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/.github/workflows/rbln_optimum_inference_test.yaml +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/.github/workflows/rbln_optimum_pytest.yaml +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/.github/workflows/rbln_scheduled_test.yaml +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/.github/workflows/rbln_trigger_on_pr.yaml +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/.gitignore +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/CODE_OF_CONDUCT.md +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/CONTRIBUTING.md +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/LICENSE +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/README.md +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/assets/rbln_logo.png +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/audio-classification/run_ast_audio_classification.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/depth-estimation/run_dpt.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/image-classification/run_image_classification.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/image-classification/run_vit_image_classification.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/image-to-text/run_idefics3.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/image-to-text/run_llava_next_image_to_text.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/kandinsky2_2/run_kandinsky2_2.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/kandinsky2_2/run_kandinsky2_2_combined.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/kandinsky2_2/run_kandinsky2_2_img2img.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/kandinsky2_2/run_kandinsky2_2_img2img_combined.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/kandinsky2_2/run_kandinsky2_2_inpaint.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/kandinsky2_2/run_kandinsky2_2_inpaint_combined.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/kandinsky2_2/run_kandinsky2_2_prior_interpolate.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/question-answering/run_question_answering.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/speech-recognition/run_wav2vec2.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/speech-recognition/run_whisper.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/stable-diffusion/run_stable_diffusion.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/stable-diffusion/run_stable_diffusion_controlnet.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/stable-diffusion/run_stable_diffusion_img2img.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/stable-diffusion/run_stable_diffusion_img2img_controlnet.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/stable-diffusion/run_stable_diffusion_inpaint.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/stable-diffusion/run_stable_diffusion_lora.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/stable-diffusion/run_stable_diffusion_multicontrolnet.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/text-classification/run_bge_m3_text_classification.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/text-classification/run_bge_reranker_v2_m3_text_classification.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/text-classification/run_secureBERT.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/text-classification/run_t5_classification.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/text-classification/run_twitter_roberta_text_classification.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/text2text-generation/run_bart_text2text_generation.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/text2text-generation/run_llama_peft.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/text2text-generation/run_llama_text2text_generation.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/examples/time-series-forecasting/run_time_series_forecasting.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/pyproject.toml +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/scripts/uv-lock.sh +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/scripts/uv-sync.sh +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/configuration_utils.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/models/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/models/configuration_autoencoder_kl.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/models/configuration_controlnet.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/models/configuration_prior_transformer.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/models/configuration_transformer_sd3.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/models/configuration_unet_2d_condition.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/models/configuration_vq_model.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/pipelines/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_controlnet.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_kandinsky2_2.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_3.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_xl.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/modeling_diffusers.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/models/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/models/autoencoders/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/models/autoencoders/autoencoder_kl.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/models/autoencoders/vae.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/models/autoencoders/vq_model.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/models/controlnet.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/models/transformers/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/models/unets/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/controlnet/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/controlnet/multicontrolnet.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl_img2img.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_combined.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_img2img.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_inpaint.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_img2img.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_inpaint.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_inpaint.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/ops/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/ops/attn.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/ops/flash_attn.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/ops/kv_cache_update.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/ops/linear.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/ops/sliding_window_attn.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/configuration_alias.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/configuration_generic.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/modeling_alias.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/modeling_rope_utils.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/auto/auto_factory.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/bart/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/bart/bart_architecture.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/bart/configuration_bart.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/bart/modeling_bart.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/bert/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/bert/configuration_bert.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/bert/modeling_bert.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/blip_2/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/blip_2/configuration_blip_2.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/blip_2/modeling_blip_2.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/clip/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/clip/configuration_clip.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/clip/modeling_clip.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/decoderonly/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/decoderonly/configuration_decoderonly.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/dpt/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/dpt/configuration_dpt.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/dpt/modeling_dpt.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/exaone/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/exaone/configuration_exaone.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/exaone/modeling_exaone.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/gemma/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/gemma/configuration_gemma.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/gemma/modeling_gemma.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/gpt2/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/gpt2/configuration_gpt2.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/gpt2/modeling_gpt2.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/idefics3/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/idefics3/configuration_idefics3.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/idefics3/modeling_idefics3.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/llama/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/llama/configuration_llama.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/llama/llama_architecture.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/llama/modeling_llama.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/llava_next/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/llava_next/configuration_llava_next.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/llava_next/modeling_llava_next.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/midm/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/midm/configuration_midm.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/midm/modeling_midm.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/mistral/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/mistral/configuration_mistral.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/mistral/mistral_architecture.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/mistral/modeling_mistral.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/opt/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/opt/configuration_opt.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/phi/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/phi/configuration_phi.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/phi/modeling_phi.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/qwen2/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/qwen2/configuration_qwen2.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/qwen2/modeling_qwen2.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/qwen2/qwen2_architecture.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/qwen2_5_vl/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/qwen2_5_vl/qwen2_5_vl_architecture.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/seq2seq/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/seq2seq/configuration_seq2seq2.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/seq2seq/modeling_seq2seq.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/seq2seq/seq2seq_architecture.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/siglip/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/siglip/configuration_siglip.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/siglip/modeling_siglip.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/t5/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/t5/configuration_t5.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/t5/modeling_t5.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/t5/t5_architecture.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/time_series_transformers/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/time_series_transformers/configuration_time_series_transformer.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/time_series_transformers/modeling_time_series_transformers.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/time_series_transformers/time_series_transformers_architecture.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/wav2vec2/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/wav2vec2/configuration_wav2vec.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/whisper/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/whisper/configuration_whisper.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/whisper/generation_whisper.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/whisper/modeling_whisper.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/whisper/whisper_architecture.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/xlm_roberta/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/xlm_roberta/configuration_xlm_roberta.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/xlm_roberta/modeling_xlm_roberta.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/utils/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/utils/rbln_quantization.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/utils/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/utils/decorator_utils.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/utils/hub.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/utils/import_utils.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/utils/logging.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/utils/model_utils.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/utils/runtime_utils.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/utils/save_utils.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/utils/submodule.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/tests/__init__.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/tests/psnr.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/tests/requirements_sdxl.txt +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/tests/run_stable_diffusion_xl_base.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/tests/test_base.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/tests/test_config.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/tests/test_diffusers.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/tests/test_transformers.py +0 -0
- {optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/uv.lock +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
rebel_compiler_version: 0.7.5.dev150+g06c3d6aa
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: optimum-rbln
|
3
|
-
Version: 0.7.
|
3
|
+
Version: 0.7.5rc1
|
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
|
@@ -38,6 +38,7 @@ _import_structure = {
|
|
38
38
|
"RBLNAutoModelForCTC",
|
39
39
|
"RBLNAutoModelForDepthEstimation",
|
40
40
|
"RBLNAutoModelForImageClassification",
|
41
|
+
"RBLNAutoModelForImageTextToText",
|
41
42
|
"RBLNAutoModelForMaskedLM",
|
42
43
|
"RBLNAutoModelForQuestionAnswering",
|
43
44
|
"RBLNAutoModelForSeq2SeqLM",
|
@@ -78,6 +79,10 @@ _import_structure = {
|
|
78
79
|
"RBLNExaoneForCausalLMConfig",
|
79
80
|
"RBLNGemmaForCausalLM",
|
80
81
|
"RBLNGemmaForCausalLMConfig",
|
82
|
+
"RBLNGemma3ForCausalLM",
|
83
|
+
"RBLNGemma3ForCausalLMConfig",
|
84
|
+
"RBLNGemma3ForConditionalGeneration",
|
85
|
+
"RBLNGemma3ForConditionalGenerationConfig",
|
81
86
|
"RBLNGPT2LMHeadModel",
|
82
87
|
"RBLNGPT2LMHeadModelConfig",
|
83
88
|
"RBLNIdefics3VisionTransformer",
|
@@ -259,6 +264,7 @@ if TYPE_CHECKING:
|
|
259
264
|
RBLNAutoModelForCTC,
|
260
265
|
RBLNAutoModelForDepthEstimation,
|
261
266
|
RBLNAutoModelForImageClassification,
|
267
|
+
RBLNAutoModelForImageTextToText,
|
262
268
|
RBLNAutoModelForMaskedLM,
|
263
269
|
RBLNAutoModelForQuestionAnswering,
|
264
270
|
RBLNAutoModelForSeq2SeqLM,
|
@@ -297,6 +303,10 @@ if TYPE_CHECKING:
|
|
297
303
|
RBLNDPTForDepthEstimationConfig,
|
298
304
|
RBLNExaoneForCausalLM,
|
299
305
|
RBLNExaoneForCausalLMConfig,
|
306
|
+
RBLNGemma3ForCausalLM,
|
307
|
+
RBLNGemma3ForCausalLMConfig,
|
308
|
+
RBLNGemma3ForConditionalGeneration,
|
309
|
+
RBLNGemma3ForConditionalGenerationConfig,
|
300
310
|
RBLNGemmaForCausalLM,
|
301
311
|
RBLNGemmaForCausalLMConfig,
|
302
312
|
RBLNGPT2LMHeadModel,
|
@@ -17,5 +17,5 @@ __version__: str
|
|
17
17
|
__version_tuple__: VERSION_TUPLE
|
18
18
|
version_tuple: VERSION_TUPLE
|
19
19
|
|
20
|
-
__version__ = version = '0.7.
|
21
|
-
__version_tuple__ = version_tuple = (0, 7, 5, '
|
20
|
+
__version__ = version = '0.7.5rc1'
|
21
|
+
__version_tuple__ = version_tuple = (0, 7, 5, 'rc1')
|
@@ -58,8 +58,7 @@ class _PriorTransformer(torch.nn.Module):
|
|
58
58
|
class RBLNPriorTransformer(RBLNModel):
|
59
59
|
hf_library_name = "diffusers"
|
60
60
|
auto_model_class = PriorTransformer
|
61
|
-
|
62
|
-
output_key = "predicted_image_embedding"
|
61
|
+
_output_class = PriorTransformerOutput
|
63
62
|
|
64
63
|
def __post_init__(self, **kwargs):
|
65
64
|
super().__post_init__(**kwargs)
|
@@ -61,8 +61,7 @@ class SD3Transformer2DModelWrapper(torch.nn.Module):
|
|
61
61
|
class RBLNSD3Transformer2DModel(RBLNModel):
|
62
62
|
hf_library_name = "diffusers"
|
63
63
|
auto_model_class = SD3Transformer2DModel
|
64
|
-
|
65
|
-
output_key = "sample"
|
64
|
+
_output_class = Transformer2DModelOutput
|
66
65
|
|
67
66
|
def __post_init__(self, **kwargs):
|
68
67
|
super().__post_init__(**kwargs)
|
@@ -143,8 +143,7 @@ class RBLNUNet2DConditionModel(RBLNModel):
|
|
143
143
|
hf_library_name = "diffusers"
|
144
144
|
auto_model_class = UNet2DConditionModel
|
145
145
|
_rbln_config_class = RBLNUNet2DConditionModelConfig
|
146
|
-
|
147
|
-
output_key = "sample"
|
146
|
+
_output_class = UNet2DConditionOutput
|
148
147
|
|
149
148
|
def __post_init__(self, **kwargs):
|
150
149
|
super().__post_init__(**kwargs)
|
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
from pathlib import Path
|
16
16
|
from tempfile import TemporaryDirectory
|
17
|
-
from typing import TYPE_CHECKING, Dict, List, Optional, Union
|
17
|
+
from typing import TYPE_CHECKING, Dict, List, Optional, Union, get_args, get_origin, get_type_hints
|
18
18
|
|
19
19
|
import rebel
|
20
20
|
import torch
|
@@ -49,8 +49,7 @@ class RBLNModel(RBLNBaseModel):
|
|
49
49
|
```
|
50
50
|
"""
|
51
51
|
|
52
|
-
|
53
|
-
output_key = "last_hidden_state"
|
52
|
+
_output_class = None
|
54
53
|
|
55
54
|
@classmethod
|
56
55
|
def update_kwargs(cls, kwargs):
|
@@ -245,16 +244,61 @@ class RBLNModel(RBLNBaseModel):
|
|
245
244
|
# Format output according to task requirements
|
246
245
|
return self._prepare_output(output, return_dict)
|
247
246
|
|
247
|
+
@classmethod
|
248
|
+
def get_hf_output_class(cls):
|
249
|
+
"""
|
250
|
+
Dynamically gets the output class from the corresponding HuggingFace model class.
|
251
|
+
|
252
|
+
Returns:
|
253
|
+
type: The appropriate output class from transformers or diffusers
|
254
|
+
"""
|
255
|
+
if cls._output_class:
|
256
|
+
return cls._output_class
|
257
|
+
|
258
|
+
hf_class = cls.get_hf_class()
|
259
|
+
if hf_class is None:
|
260
|
+
raise ValueError(f"No HuggingFace model class found for {cls.__name__}")
|
261
|
+
|
262
|
+
hints = get_type_hints(hf_class.forward) if hasattr(hf_class, "forward") else {}
|
263
|
+
ret = hints.get("return")
|
264
|
+
|
265
|
+
if ret is not None:
|
266
|
+
candidates = get_args(ret) if get_origin(ret) is Union else (ret,)
|
267
|
+
|
268
|
+
for t in candidates:
|
269
|
+
if t is type(None): # Skip NoneType in Union
|
270
|
+
continue
|
271
|
+
mod = getattr(t, "__module__", "")
|
272
|
+
if "transformers" in mod or "diffusers" in mod:
|
273
|
+
cls._output_class = t
|
274
|
+
return t
|
275
|
+
|
276
|
+
# Fallback to BaseModelOutput
|
277
|
+
cls._output_class = BaseModelOutput
|
278
|
+
return BaseModelOutput
|
279
|
+
|
248
280
|
def _prepare_output(self, output, return_dict):
|
249
281
|
"""
|
250
282
|
Prepare model output based on return_dict flag.
|
251
283
|
This method can be overridden by subclasses to provide task-specific output handling.
|
252
284
|
"""
|
285
|
+
tuple_output = (output,) if not isinstance(output, (tuple, list)) else output
|
253
286
|
if not return_dict:
|
254
|
-
return
|
287
|
+
return tuple_output
|
255
288
|
else:
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
289
|
+
output_class = self.get_hf_output_class()
|
290
|
+
if hasattr(output_class, "loss"):
|
291
|
+
tuple_output = (None,) + tuple_output
|
292
|
+
|
293
|
+
# Truncate if we have too many outputs, otherwise use as is
|
294
|
+
if hasattr(output_class, "__annotations__"):
|
295
|
+
num_fields = len(output_class.__annotations__)
|
296
|
+
if len(tuple_output) > num_fields:
|
297
|
+
tuple_output = tuple_output[:num_fields]
|
298
|
+
logger.warning(
|
299
|
+
f"Truncating output to {num_fields} fields for {output_class.__name__}. "
|
300
|
+
f"Expected {num_fields} fields, but got {len(tuple_output)} fields."
|
301
|
+
"This is unexpected. Please report this issue to the developers."
|
302
|
+
)
|
303
|
+
|
304
|
+
return output_class(*tuple_output)
|
@@ -178,9 +178,27 @@ class RBLNBaseModel(SubModulesMixin, PushToHubMixin, PreTrainedModel):
|
|
178
178
|
return str(model_path)
|
179
179
|
|
180
180
|
@classmethod
|
181
|
-
def _load_compiled_models(cls, model_path: str):
|
181
|
+
def _load_compiled_models(cls, model_path: str, expected_compiled_model_names: List[str]):
|
182
182
|
compiled_models = Path(model_path).glob("*.rbln")
|
183
|
-
|
183
|
+
expected_compiled_models = [
|
184
|
+
Path(model_path) / f"{compiled_model_name}.rbln" for compiled_model_name in expected_compiled_model_names
|
185
|
+
]
|
186
|
+
unexpected_compiled_models = [cm for cm in compiled_models if cm not in expected_compiled_models]
|
187
|
+
if unexpected_compiled_models:
|
188
|
+
# TODO(jongho): fix after May release. raise error if unexpected compiled models are found
|
189
|
+
logger.warning(
|
190
|
+
f"Unexpected compiled models found: {[cm.name for cm in unexpected_compiled_models]}. "
|
191
|
+
f"Please check the model path: {model_path}"
|
192
|
+
)
|
193
|
+
|
194
|
+
rbln_compiled_models = {}
|
195
|
+
for compiled_model in expected_compiled_models:
|
196
|
+
if not compiled_model.exists():
|
197
|
+
raise FileNotFoundError(
|
198
|
+
f"Expected RBLN compiled model '{compiled_model.name}' not found at '{model_path}'. "
|
199
|
+
"Please ensure all models specified in `rbln_config` are present."
|
200
|
+
)
|
201
|
+
rbln_compiled_models[compiled_model.stem] = rebel.RBLNCompiledModel(compiled_model)
|
184
202
|
return rbln_compiled_models
|
185
203
|
|
186
204
|
@classmethod
|
@@ -271,7 +289,8 @@ class RBLNBaseModel(SubModulesMixin, PushToHubMixin, PreTrainedModel):
|
|
271
289
|
)
|
272
290
|
config = PretrainedConfig(**config)
|
273
291
|
|
274
|
-
|
292
|
+
compiled_model_names = [cfg.compiled_model_name for cfg in rbln_config.compile_cfgs]
|
293
|
+
rbln_compiled_models = cls._load_compiled_models(model_path_subfolder, compiled_model_names)
|
275
294
|
|
276
295
|
if subfolder != "":
|
277
296
|
model_save_dir = Path(model_path_subfolder).absolute().parent
|
@@ -34,6 +34,7 @@ _import_structure = {
|
|
34
34
|
"RBLNAutoModelForCTC",
|
35
35
|
"RBLNAutoModelForDepthEstimation",
|
36
36
|
"RBLNAutoModelForImageClassification",
|
37
|
+
"RBLNAutoModelForImageTextToText",
|
37
38
|
"RBLNAutoModelForMaskedLM",
|
38
39
|
"RBLNAutoModelForQuestionAnswering",
|
39
40
|
"RBLNAutoModelForSeq2SeqLM",
|
@@ -72,6 +73,10 @@ _import_structure = {
|
|
72
73
|
"RBLNExaoneForCausalLMConfig",
|
73
74
|
"RBLNGemmaForCausalLM",
|
74
75
|
"RBLNGemmaForCausalLMConfig",
|
76
|
+
"RBLNGemma3ForCausalLM",
|
77
|
+
"RBLNGemma3ForCausalLMConfig",
|
78
|
+
"RBLNGemma3ForConditionalGeneration",
|
79
|
+
"RBLNGemma3ForConditionalGenerationConfig",
|
75
80
|
"RBLNGPT2LMHeadModel",
|
76
81
|
"RBLNGPT2LMHeadModelConfig",
|
77
82
|
"RBLNIdefics3VisionTransformer",
|
@@ -148,6 +153,7 @@ if TYPE_CHECKING:
|
|
148
153
|
RBLNAutoModelForCTC,
|
149
154
|
RBLNAutoModelForDepthEstimation,
|
150
155
|
RBLNAutoModelForImageClassification,
|
156
|
+
RBLNAutoModelForImageTextToText,
|
151
157
|
RBLNAutoModelForMaskedLM,
|
152
158
|
RBLNAutoModelForQuestionAnswering,
|
153
159
|
RBLNAutoModelForSeq2SeqLM,
|
@@ -184,6 +190,10 @@ if TYPE_CHECKING:
|
|
184
190
|
RBLNDPTForDepthEstimationConfig,
|
185
191
|
RBLNExaoneForCausalLM,
|
186
192
|
RBLNExaoneForCausalLMConfig,
|
193
|
+
RBLNGemma3ForCausalLM,
|
194
|
+
RBLNGemma3ForCausalLMConfig,
|
195
|
+
RBLNGemma3ForConditionalGeneration,
|
196
|
+
RBLNGemma3ForConditionalGenerationConfig,
|
187
197
|
RBLNGemmaForCausalLM,
|
188
198
|
RBLNGemmaForCausalLMConfig,
|
189
199
|
RBLNGPT2LMHeadModel,
|
{optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/modeling_generic.py
RENAMED
@@ -36,11 +36,7 @@ from transformers import (
|
|
36
36
|
)
|
37
37
|
from transformers.modeling_outputs import (
|
38
38
|
BaseModelOutput,
|
39
|
-
DepthEstimatorOutput,
|
40
|
-
ImageClassifierOutput,
|
41
|
-
MaskedLMOutput,
|
42
39
|
QuestionAnsweringModelOutput,
|
43
|
-
SequenceClassifierOutput,
|
44
40
|
)
|
45
41
|
|
46
42
|
from ..configuration_utils import RBLNCompileConfig
|
@@ -63,8 +59,6 @@ class _RBLNTransformerEncoder(RBLNModel):
|
|
63
59
|
auto_model_class = AutoModel
|
64
60
|
rbln_model_input_names = ["input_ids", "attention_mask", "token_type_ids"]
|
65
61
|
rbln_dtype = "int64"
|
66
|
-
output_class = BaseModelOutput
|
67
|
-
output_key = "last_hidden_state"
|
68
62
|
|
69
63
|
@classmethod
|
70
64
|
def _update_rbln_config(
|
@@ -149,7 +143,6 @@ class _RBLNImageModel(RBLNModel):
|
|
149
143
|
auto_model_class = AutoModel
|
150
144
|
main_input_name = "pixel_values"
|
151
145
|
output_class = BaseModelOutput
|
152
|
-
output_key = "last_hidden_state"
|
153
146
|
|
154
147
|
@classmethod
|
155
148
|
def _update_rbln_config(
|
@@ -223,15 +216,11 @@ class RBLNModelForQuestionAnswering(_RBLNTransformerEncoder):
|
|
223
216
|
class RBLNModelForSequenceClassification(_RBLNTransformerEncoder):
|
224
217
|
auto_model_class = AutoModelForSequenceClassification
|
225
218
|
rbln_model_input_names = ["input_ids", "attention_mask"]
|
226
|
-
output_class = SequenceClassifierOutput
|
227
|
-
output_key = "logits"
|
228
219
|
|
229
220
|
|
230
221
|
class RBLNModelForMaskedLM(_RBLNTransformerEncoder):
|
231
222
|
auto_model_class = AutoModelForMaskedLM
|
232
223
|
rbln_model_input_names = ["input_ids", "attention_mask"]
|
233
|
-
output_class = MaskedLMOutput
|
234
|
-
output_key = "logits"
|
235
224
|
|
236
225
|
|
237
226
|
class RBLNModelForTextEncoding(_RBLNTransformerEncoder):
|
@@ -243,20 +232,14 @@ class RBLNTransformerEncoderForFeatureExtraction(_RBLNTransformerEncoder):
|
|
243
232
|
# TODO: RBLNModel is also for feature extraction.
|
244
233
|
auto_model_class = AutoModel
|
245
234
|
rbln_model_input_names = ["input_ids", "attention_mask"]
|
246
|
-
output_class = BaseModelOutput
|
247
|
-
output_key = "last_hidden_state"
|
248
235
|
|
249
236
|
|
250
237
|
class RBLNModelForImageClassification(_RBLNImageModel):
|
251
238
|
auto_model_class = AutoModelForImageClassification
|
252
|
-
output_class = ImageClassifierOutput
|
253
|
-
output_key = "logits"
|
254
239
|
|
255
240
|
|
256
241
|
class RBLNModelForDepthEstimation(_RBLNImageModel):
|
257
242
|
auto_model_class = AutoModelForDepthEstimation
|
258
|
-
output_class = DepthEstimatorOutput
|
259
|
-
output_key = "predicted_depth"
|
260
243
|
|
261
244
|
|
262
245
|
class RBLNModelForAudioClassification(RBLNModel):
|
@@ -273,8 +256,6 @@ class RBLNModelForAudioClassification(RBLNModel):
|
|
273
256
|
"""
|
274
257
|
|
275
258
|
auto_model_class = AutoModelForAudioClassification
|
276
|
-
output_class = SequenceClassifierOutput
|
277
|
-
output_key = "logits"
|
278
259
|
|
279
260
|
@classmethod
|
280
261
|
def _update_rbln_config(
|
{optimum_rbln-0.7.5a1 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/__init__.py
RENAMED
@@ -31,6 +31,7 @@ _import_structure = {
|
|
31
31
|
"RBLNAutoModelForSequenceClassification",
|
32
32
|
"RBLNAutoModelForSpeechSeq2Seq",
|
33
33
|
"RBLNAutoModelForVision2Seq",
|
34
|
+
"RBLNAutoModelForImageTextToText",
|
34
35
|
],
|
35
36
|
"bart": [
|
36
37
|
"RBLNBartForConditionalGeneration",
|
@@ -80,6 +81,12 @@ _import_structure = {
|
|
80
81
|
],
|
81
82
|
"exaone": ["RBLNExaoneForCausalLM", "RBLNExaoneForCausalLMConfig"],
|
82
83
|
"gemma": ["RBLNGemmaForCausalLM", "RBLNGemmaForCausalLMConfig"],
|
84
|
+
"gemma3": [
|
85
|
+
"RBLNGemma3ForCausalLM",
|
86
|
+
"RBLNGemma3ForCausalLMConfig",
|
87
|
+
"RBLNGemma3ForConditionalGeneration",
|
88
|
+
"RBLNGemma3ForConditionalGenerationConfig",
|
89
|
+
],
|
83
90
|
"gpt2": ["RBLNGPT2LMHeadModel", "RBLNGPT2LMHeadModelConfig"],
|
84
91
|
"idefics3": [
|
85
92
|
"RBLNIdefics3VisionTransformer",
|
@@ -121,6 +128,7 @@ if TYPE_CHECKING:
|
|
121
128
|
RBLNAutoModelForCTC,
|
122
129
|
RBLNAutoModelForDepthEstimation,
|
123
130
|
RBLNAutoModelForImageClassification,
|
131
|
+
RBLNAutoModelForImageTextToText,
|
124
132
|
RBLNAutoModelForMaskedLM,
|
125
133
|
RBLNAutoModelForQuestionAnswering,
|
126
134
|
RBLNAutoModelForSeq2SeqLM,
|
@@ -170,6 +178,12 @@ if TYPE_CHECKING:
|
|
170
178
|
)
|
171
179
|
from .exaone import RBLNExaoneForCausalLM, RBLNExaoneForCausalLMConfig
|
172
180
|
from .gemma import RBLNGemmaForCausalLM, RBLNGemmaForCausalLMConfig
|
181
|
+
from .gemma3 import (
|
182
|
+
RBLNGemma3ForCausalLM,
|
183
|
+
RBLNGemma3ForCausalLMConfig,
|
184
|
+
RBLNGemma3ForConditionalGeneration,
|
185
|
+
RBLNGemma3ForConditionalGenerationConfig,
|
186
|
+
)
|
173
187
|
from .gpt2 import RBLNGPT2LMHeadModel, RBLNGPT2LMHeadModelConfig
|
174
188
|
from .idefics3 import (
|
175
189
|
RBLNIdefics3ForConditionalGeneration,
|
@@ -23,6 +23,8 @@ from transformers.models.auto.modeling_auto import (
|
|
23
23
|
MODEL_FOR_DEPTH_ESTIMATION_MAPPING_NAMES,
|
24
24
|
MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING,
|
25
25
|
MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING_NAMES,
|
26
|
+
MODEL_FOR_IMAGE_TEXT_TO_TEXT_MAPPING,
|
27
|
+
MODEL_FOR_IMAGE_TEXT_TO_TEXT_MAPPING_NAMES,
|
26
28
|
MODEL_FOR_MASKED_LM_MAPPING,
|
27
29
|
MODEL_FOR_MASKED_LM_MAPPING_NAMES,
|
28
30
|
MODEL_FOR_QUESTION_ANSWERING_MAPPING,
|
@@ -90,6 +92,11 @@ class RBLNAutoModelForVision2Seq(_BaseAutoModelClass):
|
|
90
92
|
_model_mapping_names = MODEL_FOR_VISION_2_SEQ_MAPPING_NAMES
|
91
93
|
|
92
94
|
|
95
|
+
class RBLNAutoModelForImageTextToText(_BaseAutoModelClass):
|
96
|
+
_model_mapping = MODEL_FOR_IMAGE_TEXT_TO_TEXT_MAPPING
|
97
|
+
_model_mapping_names = MODEL_FOR_IMAGE_TEXT_TO_TEXT_MAPPING_NAMES
|
98
|
+
|
99
|
+
|
93
100
|
class RBLNAutoModelForMaskedLM(_BaseAutoModelClass):
|
94
101
|
_model_mapping = MODEL_FOR_MASKED_LM_MAPPING
|
95
102
|
_model_mapping_names = MODEL_FOR_MASKED_LM_MAPPING_NAMES
|