optimum-rbln 0.9.1__tar.gz → 0.9.2__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.9.2/.github/scripts/test_cli.py +245 -0
- optimum_rbln-0.9.2/.github/version.yaml +1 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.github/workflows/check_code_quality.yml +1 -1
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.github/workflows/rbln_check_compiler.yaml +5 -2
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.github/workflows/rbln_optimum_inference_test.yaml +1 -1
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.github/workflows/rbln_optimum_pytest.yaml +28 -3
- optimum_rbln-0.9.2/.github/workflows/rbln_scheduled_test.yaml +186 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.github/workflows/rbln_trigger_on_pr.yaml +1 -1
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/PKG-INFO +5 -5
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/pyproject.toml +8 -4
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/__init__.py +8 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/__version__.py +2 -2
- optimum_rbln-0.9.2/src/optimum/rbln/cli.py +660 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/configuration_utils.py +63 -32
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_controlnet.py +30 -14
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_cosmos.py +11 -8
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_kandinsky2_2.py +23 -13
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion.py +10 -6
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_3.py +14 -10
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_xl.py +14 -7
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/modeling_diffusers.py +5 -7
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/cosmos/configuration_cosmos_guardrail.py +9 -11
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/modeling.py +50 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/modeling_base.py +1 -2
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/__init__.py +8 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/modeling_generic.py +37 -1
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/__init__.py +9 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/blip_2/configuration_blip_2.py +35 -3
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/blip_2/modeling_blip_2.py +86 -23
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/clip/modeling_clip.py +4 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/colpali/colpali_architecture.py +2 -2
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/colpali/configuration_colpali.py +34 -18
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/colpali/modeling_colpali.py +73 -80
- optimum_rbln-0.9.2/src/optimum/rbln/transformers/models/colqwen2/__init__.py +2 -0
- optimum_rbln-0.9.2/src/optimum/rbln/transformers/models/colqwen2/colqwen2_architecture.py +233 -0
- optimum_rbln-0.9.2/src/optimum/rbln/transformers/models/colqwen2/configuration_colqwen2.py +74 -0
- optimum_rbln-0.9.2/src/optimum/rbln/transformers/models/colqwen2/modeling_colqwen2.py +446 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/decoderonly/__init__.py +1 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/decoderonly/configuration_decoderonly.py +34 -0
- optimum_rbln-0.9.2/src/optimum/rbln/transformers/models/decoderonly/configuration_lora.py +411 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/decoderonly/decoderonly_architecture.py +100 -20
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/decoderonly/decoderonly_runtime_utils.py +50 -2
- optimum_rbln-0.9.2/src/optimum/rbln/transformers/models/decoderonly/lora_architecture.py +204 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/decoderonly/modeling_decoderonly.py +65 -3
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/gemma3/configuration_gemma3.py +11 -3
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/gemma3/gemma3_architecture.py +12 -2
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/gemma3/gemma3_runtime_utils.py +31 -3
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/gemma3/modeling_gemma3.py +67 -44
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/gpt2/gpt2_architecture.py +4 -1
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/idefics3/configuration_idefics3.py +27 -3
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/idefics3/modeling_idefics3.py +24 -19
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/llava/configuration_llava.py +16 -2
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/llava/modeling_llava.py +108 -50
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/llava_next/configuration_llava_next.py +11 -13
- optimum_rbln-0.9.2/src/optimum/rbln/transformers/models/llava_next/modeling_llava_next.py +495 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/midm/midm_architecture.py +4 -1
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/phi/phi_architecture.py +5 -1
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/pixtral/modeling_pixtral.py +6 -11
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/qwen2_5_vl/modeling_qwen2_5_vl.py +9 -8
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/qwen2_5_vl/qwen2_5_vl_architecture.py +24 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/qwen2_vl/modeling_qwen2_vl.py +11 -1
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/qwen2_vl/qwen2_vl_architecture.py +24 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/seq2seq/modeling_seq2seq.py +3 -1
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/siglip/modeling_siglip.py +3 -14
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/whisper/generation_whisper.py +28 -6
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/whisper/modeling_whisper.py +2 -1
- optimum_rbln-0.9.2/src/optimum/rbln/transformers/utils/rbln_runtime_wrapper.py +79 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/utils/runtime_utils.py +25 -15
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/utils/submodule.py +21 -5
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/tests/test_base.py +7 -3
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/tests/test_config.py +1 -6
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/tests/test_diffusers.py +6 -1
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/tests/test_llm.py +132 -128
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/tests/test_transformers.py +47 -1
- optimum_rbln-0.9.2/uv.lock +2980 -0
- optimum_rbln-0.9.1/.github/version.yaml +0 -1
- optimum_rbln-0.9.1/.github/workflows/rbln_scheduled_test.yaml +0 -61
- optimum_rbln-0.9.1/src/optimum/rbln/transformers/models/llava_next/modeling_llava_next.py +0 -604
- optimum_rbln-0.9.1/uv.lock +0 -2580
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.github/ISSUE_TEMPLATE/model_request.md +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.github/pull_request_template.md +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.github/renovate.json +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.github/scripts/auto_code_review.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.github/scripts/validate_docstrings.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.github/scripts/validate_pr_checklist.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.github/workflows/auto_code_review.yml +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.github/workflows/auto_dependency_bot.yml +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.github/workflows/deploy-on-tag.yaml +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.github/workflows/deploy.yaml +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.github/workflows/pr-title-check.yaml +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.github/workflows/pr_checklist_validator.yml +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.github/workflows/rbln_dispatch_pytest.yaml +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.github/workflows/test-docstrings.yml +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/.gitignore +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/CODE_OF_CONDUCT.md +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/CONTRIBUTING.md +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/LICENSE +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/README.md +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/assets/rbln_logo.png +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/advanced/custom_class.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/audio-classification/run_ast_audio_classification.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/depth-estimation/run_dpt.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/image-classification/run_image_classification.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/image-classification/run_vit_image_classification.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/image-to-text/run_idefics3.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/image-to-text/run_llava_next_image_to_text.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/kandinsky2_2/run_kandinsky2_2.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/kandinsky2_2/run_kandinsky2_2_combined.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/kandinsky2_2/run_kandinsky2_2_img2img.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/kandinsky2_2/run_kandinsky2_2_img2img_combined.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/kandinsky2_2/run_kandinsky2_2_inpaint.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/kandinsky2_2/run_kandinsky2_2_inpaint_combined.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/kandinsky2_2/run_kandinsky2_2_prior_interpolate.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/question-answering/run_question_answering.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/speech-recognition/run_wav2vec2.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/speech-recognition/run_whisper.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/stable-diffusion/run_stable_diffusion.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/stable-diffusion/run_stable_diffusion_controlnet.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/stable-diffusion/run_stable_diffusion_img2img.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/stable-diffusion/run_stable_diffusion_img2img_controlnet.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/stable-diffusion/run_stable_diffusion_inpaint.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/stable-diffusion/run_stable_diffusion_lora.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/stable-diffusion/run_stable_diffusion_multicontrolnet.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/text-classification/run_bge_m3_text_classification.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/text-classification/run_bge_reranker_v2_m3_text_classification.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/text-classification/run_secureBERT.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/text-classification/run_t5_classification.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/text-classification/run_twitter_roberta_text_classification.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/text2text-generation/run_bart_text2text_generation.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/text2text-generation/run_llama_peft.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/text2text-generation/run_llama_text2text_generation.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/examples/time-series-forecasting/run_time_series_forecasting.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/scripts/uv-lock.sh +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/scripts/uv-sync.sh +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/configurations/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/configurations/models/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/configurations/models/configuration_autoencoder_kl.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/configurations/models/configuration_autoencoder_kl_cosmos.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/configurations/models/configuration_controlnet.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/configurations/models/configuration_prior_transformer.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/configurations/models/configuration_transformer_cosmos.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/configurations/models/configuration_transformer_sd3.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/configurations/models/configuration_unet_2d_condition.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/configurations/models/configuration_vq_model.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/configurations/pipelines/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/models/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/models/autoencoders/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/models/autoencoders/autoencoder_kl.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/models/autoencoders/autoencoder_kl_cosmos.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/models/autoencoders/vae.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/models/autoencoders/vq_model.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/models/controlnet.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/models/transformers/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/models/transformers/prior_transformer.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/models/transformers/transformer_cosmos.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/models/transformers/transformer_sd3.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/models/unets/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/models/unets/unet_2d_condition.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/auto_pipeline.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/controlnet/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/controlnet/multicontrolnet.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl_img2img.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/cosmos/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/cosmos/cosmos_guardrail.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/cosmos/pipeline_cosmos_text2world.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/cosmos/pipeline_cosmos_video2world.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_combined.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_img2img.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_inpaint.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_img2img.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_inpaint.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_inpaint.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/ops/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/ops/attn.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/ops/flash_attn.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/ops/kv_cache_update.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/ops/linear.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/ops/sliding_window_attn.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/configuration_generic.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/modeling_attention_utils.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/modeling_outputs.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/modeling_rope_utils.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/audio_spectrogram_transformer/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/audio_spectrogram_transformer/configuration_audio_spectrogram_transformer.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/audio_spectrogram_transformer/modeling_audio_spectrogram_transformer.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/auto/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/auto/auto_factory.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/auto/modeling_auto.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/bart/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/bart/bart_architecture.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/bart/configuration_bart.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/bart/modeling_bart.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/bert/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/bert/bert_architecture.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/bert/configuration_bert.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/bert/modeling_bert.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/blip_2/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/clip/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/clip/configuration_clip.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/colpali/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/decoderonly/generation_decoderonly.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/depth_anything/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/depth_anything/configuration_depth_anything.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/depth_anything/modeling_depth_anything.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/distilbert/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/distilbert/configuration_distilbert.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/distilbert/modeling_distilbert.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/dpt/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/dpt/configuration_dpt.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/dpt/modeling_dpt.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/exaone/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/exaone/configuration_exaone.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/exaone/exaone_architecture.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/exaone/modeling_exaone.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/gemma/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/gemma/configuration_gemma.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/gemma/gemma_architecture.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/gemma/modeling_gemma.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/gemma3/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/gpt2/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/gpt2/configuration_gpt2.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/gpt2/modeling_gpt2.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/grounding_dino/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/grounding_dino/configuration_grounding_dino.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/grounding_dino/grounding_dino_architecture.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/grounding_dino/modeling_grounding_dino.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/idefics3/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/llama/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/llama/configuration_llama.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/llama/llama_architecture.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/llama/modeling_llama.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/llava/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/llava_next/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/midm/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/midm/configuration_midm.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/midm/modeling_midm.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/mistral/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/mistral/configuration_mistral.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/mistral/mistral_architecture.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/mistral/modeling_mistral.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/opt/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/opt/configuration_opt.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/opt/modeling_opt.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/opt/opt_architecture.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/pegasus/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/pegasus/configuration_pegasus.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/pegasus/modeling_pegasus.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/pegasus/pegasus_architecture.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/phi/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/phi/configuration_phi.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/phi/modeling_phi.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/pixtral/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/pixtral/configuration_pixtral.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/pixtral/pixtral_architecture.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/qwen2/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/qwen2/configuration_qwen2.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/qwen2/modeling_qwen2.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/qwen2/qwen2_architecture.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/qwen2_5_vl/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/qwen2_vl/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/qwen2_vl/configuration_qwen2_vl.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/qwen3/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/qwen3/configuration_qwen3.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/qwen3/modeling_qwen3.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/qwen3/qwen3_architecture.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/resnet/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/resnet/configuration_resnet.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/resnet/modeling_resnet.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/roberta/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/roberta/configuration_roberta.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/roberta/modeling_roberta.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/seq2seq/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/seq2seq/configuration_seq2seq.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/seq2seq/seq2seq_architecture.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/siglip/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/siglip/configuration_siglip.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/swin/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/swin/configuration_swin.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/swin/modeling_swin.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/t5/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/t5/configuration_t5.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/t5/modeling_t5.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/t5/t5_architecture.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/time_series_transformer/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/time_series_transformer/configuration_time_series_transformer.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/time_series_transformer/modeling_time_series_transformer.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/time_series_transformer/time_series_transformers_architecture.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/vit/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/vit/configuration_vit.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/vit/modeling_vit.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/wav2vec2/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/wav2vec2/configuration_wav2vec2.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/wav2vec2/modeling_wav2vec2.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/whisper/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/whisper/configuration_whisper.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/whisper/whisper_architecture.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/xlm_roberta/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/xlm_roberta/configuration_xlm_roberta.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/models/xlm_roberta/modeling_xlm_roberta.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/utils/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/transformers/utils/rbln_quantization.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/utils/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/utils/decorator_utils.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/utils/depreacate_utils.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/utils/hub.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/utils/import_utils.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/utils/logging.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/utils/model_utils.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/src/optimum/rbln/utils/save_utils.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/tests/__init__.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/tests/psnr.py +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/tests/requirements_sdxl.txt +0 -0
- {optimum_rbln-0.9.1 → optimum_rbln-0.9.2}/tests/run_stable_diffusion_xl_base.py +0 -0
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
# Copyright 2025 Rebellions Inc. All rights reserved.
|
|
3
|
+
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at:
|
|
7
|
+
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
16
|
+
import argparse
|
|
17
|
+
import shutil
|
|
18
|
+
import subprocess
|
|
19
|
+
import sys
|
|
20
|
+
from pathlib import Path
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def run_command(cmd):
|
|
24
|
+
"""Run command and return success status."""
|
|
25
|
+
print(f"Running: {' '.join(cmd)}")
|
|
26
|
+
result = subprocess.run(cmd, capture_output=True, text=True)
|
|
27
|
+
if result.returncode != 0:
|
|
28
|
+
print(f"❌ Command failed with exit code {result.returncode}")
|
|
29
|
+
print(f"STDOUT: {result.stdout}")
|
|
30
|
+
print(f"STDERR: {result.stderr}")
|
|
31
|
+
return False
|
|
32
|
+
print("✅ Command succeeded")
|
|
33
|
+
return True
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def test_cli_help():
|
|
37
|
+
"""Test CLI help command."""
|
|
38
|
+
print("\n🔍 Testing CLI help command...")
|
|
39
|
+
return run_command(["uv", "run", "python", "-m", "optimum.rbln.cli", "--help"])
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def test_resnet_compilation():
|
|
43
|
+
"""Test ResNet model compilation."""
|
|
44
|
+
print("\n🔍 Testing ResNet model compilation...")
|
|
45
|
+
|
|
46
|
+
test_output_dir = "/tmp/test_cli_resnet"
|
|
47
|
+
|
|
48
|
+
# Clean up if exists
|
|
49
|
+
if Path(test_output_dir).exists():
|
|
50
|
+
shutil.rmtree(test_output_dir)
|
|
51
|
+
|
|
52
|
+
# Run CLI compilation
|
|
53
|
+
cmd = [
|
|
54
|
+
"uv",
|
|
55
|
+
"run",
|
|
56
|
+
"python",
|
|
57
|
+
"-m",
|
|
58
|
+
"optimum.rbln.cli",
|
|
59
|
+
"--output-dir",
|
|
60
|
+
test_output_dir,
|
|
61
|
+
"--model-id",
|
|
62
|
+
"hf-internal-testing/tiny-random-ResNetForImageClassification",
|
|
63
|
+
]
|
|
64
|
+
|
|
65
|
+
if not run_command(cmd):
|
|
66
|
+
return False
|
|
67
|
+
|
|
68
|
+
# Check if required files are generated
|
|
69
|
+
output_path = Path(test_output_dir)
|
|
70
|
+
|
|
71
|
+
required_files = ["rbln_config.json", "compiled_model.rbln"]
|
|
72
|
+
for file_name in required_files:
|
|
73
|
+
file_path = output_path / file_name
|
|
74
|
+
if not file_path.exists():
|
|
75
|
+
print(f"❌ Required file not found: {file_path}")
|
|
76
|
+
return False
|
|
77
|
+
print(f"✅ Found required file: {file_path}")
|
|
78
|
+
|
|
79
|
+
# Clean up
|
|
80
|
+
shutil.rmtree(test_output_dir)
|
|
81
|
+
print("✅ ResNet compilation test passed")
|
|
82
|
+
return True
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
def test_stable_diffusion_compilation():
|
|
86
|
+
"""Test Stable Diffusion model compilation."""
|
|
87
|
+
print("\n🔍 Testing Stable Diffusion model compilation...")
|
|
88
|
+
|
|
89
|
+
test_output_dir = "/tmp/test_cli_stable_diffusion"
|
|
90
|
+
|
|
91
|
+
# Clean up if exists
|
|
92
|
+
if Path(test_output_dir).exists():
|
|
93
|
+
shutil.rmtree(test_output_dir)
|
|
94
|
+
|
|
95
|
+
# Run CLI compilation with diffusion-specific config
|
|
96
|
+
cmd = [
|
|
97
|
+
"uv",
|
|
98
|
+
"run",
|
|
99
|
+
"python",
|
|
100
|
+
"-m",
|
|
101
|
+
"optimum.rbln.cli",
|
|
102
|
+
"--output-dir",
|
|
103
|
+
test_output_dir,
|
|
104
|
+
"--model-id",
|
|
105
|
+
"hf-internal-testing/tiny-sd-pipe",
|
|
106
|
+
"--vae.sample_size",
|
|
107
|
+
"64,64", # Fix incorrect tiny-sd-pipe's vae config.json sample_size
|
|
108
|
+
"--unet.batch_size",
|
|
109
|
+
"2",
|
|
110
|
+
]
|
|
111
|
+
|
|
112
|
+
if not run_command(cmd):
|
|
113
|
+
return False
|
|
114
|
+
|
|
115
|
+
# Check if submodel directories and files are generated
|
|
116
|
+
output_path = Path(test_output_dir)
|
|
117
|
+
|
|
118
|
+
submodels = ["vae", "text_encoder", "unet"]
|
|
119
|
+
for submodel in submodels:
|
|
120
|
+
submodel_path = output_path / submodel
|
|
121
|
+
if not submodel_path.exists():
|
|
122
|
+
print(f"❌ Submodel directory not found: {submodel_path}")
|
|
123
|
+
return False
|
|
124
|
+
print(f"✅ Found submodel directory: {submodel_path}")
|
|
125
|
+
|
|
126
|
+
# Check for rbln_config.json in each submodel
|
|
127
|
+
config_file = submodel_path / "rbln_config.json"
|
|
128
|
+
if not config_file.exists():
|
|
129
|
+
print(f"❌ rbln_config.json not found in: {submodel_path}")
|
|
130
|
+
return False
|
|
131
|
+
print(f"✅ Found rbln_config.json in: {submodel_path}")
|
|
132
|
+
|
|
133
|
+
# Check for .rbln files in each submodel
|
|
134
|
+
rbln_files = list(submodel_path.glob("*.rbln"))
|
|
135
|
+
if not rbln_files:
|
|
136
|
+
print(f"❌ No .rbln files found in: {submodel_path}")
|
|
137
|
+
return False
|
|
138
|
+
print(f"✅ Found .rbln files in {submodel_path}: {[f.name for f in rbln_files]}")
|
|
139
|
+
|
|
140
|
+
# Clean up
|
|
141
|
+
shutil.rmtree(test_output_dir)
|
|
142
|
+
print("✅ Stable Diffusion compilation test passed")
|
|
143
|
+
return True
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
def test_argument_parsing():
|
|
147
|
+
"""Test CLI argument parsing and error handling."""
|
|
148
|
+
print("\n🔍 Testing CLI argument parsing...")
|
|
149
|
+
|
|
150
|
+
# Test missing required arguments
|
|
151
|
+
print("Testing missing required arguments...")
|
|
152
|
+
result = subprocess.run(["uv", "run", "python", "-m", "optimum.rbln.cli"], capture_output=True, text=True)
|
|
153
|
+
if result.returncode == 0:
|
|
154
|
+
print("❌ Expected non-zero exit for missing arguments")
|
|
155
|
+
return False
|
|
156
|
+
print("✅ Correctly failed with missing arguments (help shown)")
|
|
157
|
+
|
|
158
|
+
# Test invalid model class
|
|
159
|
+
print("Testing invalid model class...")
|
|
160
|
+
result = subprocess.run(
|
|
161
|
+
[
|
|
162
|
+
"uv",
|
|
163
|
+
"run",
|
|
164
|
+
"python",
|
|
165
|
+
"-m",
|
|
166
|
+
"optimum.rbln.cli",
|
|
167
|
+
"--output-dir",
|
|
168
|
+
"/tmp/test",
|
|
169
|
+
"--class",
|
|
170
|
+
"InvalidClass",
|
|
171
|
+
"--model-id",
|
|
172
|
+
"test",
|
|
173
|
+
],
|
|
174
|
+
capture_output=True,
|
|
175
|
+
text=True,
|
|
176
|
+
)
|
|
177
|
+
if result.returncode == 0:
|
|
178
|
+
print("❌ Expected error for invalid model class")
|
|
179
|
+
return False
|
|
180
|
+
print("✅ Correctly failed with invalid model class error")
|
|
181
|
+
|
|
182
|
+
print("✅ Argument parsing tests passed")
|
|
183
|
+
return True
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
def test_error_handling():
|
|
187
|
+
"""Test CLI error handling."""
|
|
188
|
+
print("\n🔍 Testing CLI error handling...")
|
|
189
|
+
|
|
190
|
+
# Test with non-existent model
|
|
191
|
+
print("Testing non-existent model...")
|
|
192
|
+
result = subprocess.run(
|
|
193
|
+
[
|
|
194
|
+
"uv",
|
|
195
|
+
"run",
|
|
196
|
+
"python",
|
|
197
|
+
"-m",
|
|
198
|
+
"optimum.rbln.cli",
|
|
199
|
+
"/tmp/test_error",
|
|
200
|
+
"--class",
|
|
201
|
+
"RBLNAutoModelForCausalLM",
|
|
202
|
+
"--model-id",
|
|
203
|
+
"non-existent-model",
|
|
204
|
+
],
|
|
205
|
+
capture_output=True,
|
|
206
|
+
text=True,
|
|
207
|
+
)
|
|
208
|
+
if result.returncode == 0:
|
|
209
|
+
print("❌ Expected error for non-existent model")
|
|
210
|
+
return False
|
|
211
|
+
print("✅ Correctly failed with non-existent model error")
|
|
212
|
+
|
|
213
|
+
print("✅ Error handling tests passed")
|
|
214
|
+
return True
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
def main():
|
|
218
|
+
parser = argparse.ArgumentParser(description="Test CLI functionality")
|
|
219
|
+
parser.add_argument(
|
|
220
|
+
"test_type", choices=["basic", "argument-parsing", "error-handling"], help="Type of test to run"
|
|
221
|
+
)
|
|
222
|
+
|
|
223
|
+
args = parser.parse_args()
|
|
224
|
+
|
|
225
|
+
success = True
|
|
226
|
+
|
|
227
|
+
if args.test_type == "basic":
|
|
228
|
+
success &= test_cli_help()
|
|
229
|
+
success &= test_resnet_compilation()
|
|
230
|
+
success &= test_stable_diffusion_compilation()
|
|
231
|
+
elif args.test_type == "argument-parsing":
|
|
232
|
+
success &= test_argument_parsing()
|
|
233
|
+
elif args.test_type == "error-handling":
|
|
234
|
+
success &= test_error_handling()
|
|
235
|
+
|
|
236
|
+
if success:
|
|
237
|
+
print(f"\n🎉 All {args.test_type} tests passed!")
|
|
238
|
+
sys.exit(0)
|
|
239
|
+
else:
|
|
240
|
+
print(f"\n💥 Some {args.test_type} tests failed!")
|
|
241
|
+
sys.exit(1)
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
if __name__ == "__main__":
|
|
245
|
+
main()
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
rebel_compiler_version: 0.9.2.dev201+g36bf7f17.prod
|
|
@@ -25,7 +25,7 @@ jobs:
|
|
|
25
25
|
- name: Set up Python
|
|
26
26
|
uses: actions/setup-python@v5
|
|
27
27
|
with:
|
|
28
|
-
python-version: "3.
|
|
28
|
+
python-version: "3.12"
|
|
29
29
|
|
|
30
30
|
- name: Install rebel-compiler
|
|
31
31
|
id: install_compiler
|
|
@@ -62,7 +62,10 @@ jobs:
|
|
|
62
62
|
- name: Check pyarmor
|
|
63
63
|
id: check_pyarmor
|
|
64
64
|
run: |
|
|
65
|
-
|
|
65
|
+
PKG_PATH=$(python3 -c "import rebel; print(rebel.__file__)")
|
|
66
|
+
PKG_DIR=$(dirname "$PKG_PATH")
|
|
67
|
+
|
|
68
|
+
if find "$PKG_DIR" -type f | grep -E '__pyarmor__|pytransform|pyarmor_runtime|license\.lic'; then
|
|
66
69
|
echo "PYARMOR_ENC=true" >> $GITHUB_ENV
|
|
67
70
|
echo "pyarmor check pass(✅)!!"
|
|
68
71
|
else
|
|
@@ -46,7 +46,7 @@ jobs:
|
|
|
46
46
|
strategy:
|
|
47
47
|
fail-fast: ${{ inputs.fail_fast }}
|
|
48
48
|
matrix:
|
|
49
|
-
test_type: [config, transformers, diffusers, llm]
|
|
49
|
+
test_type: [config, transformers, diffusers, llm, cli-basic, cli-argument-parsing, cli-error-handling]
|
|
50
50
|
steps:
|
|
51
51
|
- name: Checkout the optimum-rbln repository
|
|
52
52
|
uses: actions/checkout@v4
|
|
@@ -86,6 +86,15 @@ jobs:
|
|
|
86
86
|
SKIP=true
|
|
87
87
|
fi
|
|
88
88
|
;;
|
|
89
|
+
cli-*)
|
|
90
|
+
if [[ "$COMMIT_MESSAGE" == *"[skip-cli]"* ]]; then
|
|
91
|
+
SKIP=true
|
|
92
|
+
fi
|
|
93
|
+
# Skip advanced CLI tests if test_level is default
|
|
94
|
+
if [[ "${{ inputs.test_level }}" == "default" && "${{ matrix.test_type }}" != "cli-basic" ]]; then
|
|
95
|
+
SKIP=true
|
|
96
|
+
fi
|
|
97
|
+
;;
|
|
89
98
|
esac
|
|
90
99
|
|
|
91
100
|
echo "skip=$SKIP" >> $GITHUB_OUTPUT
|
|
@@ -99,7 +108,7 @@ jobs:
|
|
|
99
108
|
|
|
100
109
|
- name: Setup Python
|
|
101
110
|
if: steps.should_skip.outputs.skip != 'true'
|
|
102
|
-
run: uv python install 3.
|
|
111
|
+
run: uv python install 3.12
|
|
103
112
|
|
|
104
113
|
- name: Install optimum-rbln with tests group dependencies
|
|
105
114
|
if: steps.should_skip.outputs.skip != 'true'
|
|
@@ -112,7 +121,7 @@ jobs:
|
|
|
112
121
|
PYPI_URL=$(echo ${{ env.REBEL_PYPI_ENDPOINT }} | sed "s/\/\//\0${{ env.REBEL_PYPI_USERNAME}}:${{ env.REBEL_PYPI_PASSWORD}}@/")
|
|
113
122
|
uv pip install --extra-index-url $PYPI_URL rebel-compiler==${{ inputs.rebel_compiler_version }}
|
|
114
123
|
|
|
115
|
-
- name: Run
|
|
124
|
+
- name: Run tests
|
|
116
125
|
if: steps.should_skip.outputs.skip != 'true'
|
|
117
126
|
env:
|
|
118
127
|
OPTIMUM_RBLN_TEST_LEVEL: ${{ inputs.test_level }}
|
|
@@ -130,6 +139,22 @@ jobs:
|
|
|
130
139
|
"llm")
|
|
131
140
|
uv run --no-sync pytest tests/test_llm.py -vv --durations 0
|
|
132
141
|
;;
|
|
142
|
+
cli-*)
|
|
143
|
+
# Extract test type from matrix
|
|
144
|
+
case "${{ matrix.test_type }}" in
|
|
145
|
+
"cli-basic")
|
|
146
|
+
CLI_TEST_TYPE="basic"
|
|
147
|
+
;;
|
|
148
|
+
"cli-argument-parsing")
|
|
149
|
+
CLI_TEST_TYPE="argument-parsing"
|
|
150
|
+
;;
|
|
151
|
+
"cli-error-handling")
|
|
152
|
+
CLI_TEST_TYPE="error-handling"
|
|
153
|
+
;;
|
|
154
|
+
esac
|
|
155
|
+
echo "Running CLI test: $CLI_TEST_TYPE"
|
|
156
|
+
uv run --no-sync .github/scripts/test_cli.py "$CLI_TEST_TYPE"
|
|
157
|
+
;;
|
|
133
158
|
esac
|
|
134
159
|
|
|
135
160
|
- name: Skip message
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
name: Optimum-rbln / Scheduled Test
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
schedule:
|
|
5
|
+
# Run every day at 2am (17:00 UTC, 2:00am KST)
|
|
6
|
+
- cron: '0 17 * * *'
|
|
7
|
+
|
|
8
|
+
env:
|
|
9
|
+
HF_USER_ID: ${{ secrets.HF_USER_ID }}
|
|
10
|
+
HF_AUTH_TOKEN: ${{ secrets.HF_AUTH_TOKEN }}
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
check-code-quality:
|
|
14
|
+
uses: ./.github/workflows/check_code_quality.yml
|
|
15
|
+
|
|
16
|
+
test-docstrings:
|
|
17
|
+
uses: ./.github/workflows/test-docstrings.yml
|
|
18
|
+
with:
|
|
19
|
+
test_all_files: true
|
|
20
|
+
|
|
21
|
+
load-version:
|
|
22
|
+
runs-on: rebel-k8s-runner
|
|
23
|
+
outputs:
|
|
24
|
+
compiler_version: ${{ steps.get_version.outputs.compiler_version }}
|
|
25
|
+
steps:
|
|
26
|
+
- name: Checkout code
|
|
27
|
+
uses: actions/checkout@v3
|
|
28
|
+
|
|
29
|
+
- name: Get compiler version
|
|
30
|
+
id: get_version
|
|
31
|
+
run: |
|
|
32
|
+
VERSION=$(grep rebel_compiler_version .github/version.yaml | cut -d ':' -f2 | tr -d ' ')
|
|
33
|
+
echo "compiler_version=$VERSION" >> $GITHUB_OUTPUT
|
|
34
|
+
|
|
35
|
+
check-compiler:
|
|
36
|
+
needs: load-version
|
|
37
|
+
uses: ./.github/workflows/rbln_check_compiler.yaml
|
|
38
|
+
with:
|
|
39
|
+
compiler_version: ${{ needs.load-version.outputs.compiler_version }}
|
|
40
|
+
secrets: inherit
|
|
41
|
+
|
|
42
|
+
optimum-rbln-pytest:
|
|
43
|
+
needs: [load-version, check-compiler]
|
|
44
|
+
if: ${{ needs.check-compiler.outputs.compiler_version_check == 'true' }}
|
|
45
|
+
uses: ./.github/workflows/rbln_optimum_pytest.yaml
|
|
46
|
+
with:
|
|
47
|
+
ref: main
|
|
48
|
+
rebel_compiler_version: ${{ needs.check-compiler.outputs.compiler_version }}
|
|
49
|
+
test_level: "full"
|
|
50
|
+
enable_hf_hub_tests: true
|
|
51
|
+
fail_fast: false
|
|
52
|
+
secrets: inherit
|
|
53
|
+
|
|
54
|
+
optimum-rbln-inference-test:
|
|
55
|
+
needs: check-compiler
|
|
56
|
+
if: ${{ needs.check-compiler.outputs.compiler_version_check == 'true' }}
|
|
57
|
+
uses: ./.github/workflows/rbln_optimum_inference_test.yaml
|
|
58
|
+
with:
|
|
59
|
+
ref: main
|
|
60
|
+
rebel_compiler_version: ${{ needs.check-compiler.outputs.compiler_version }}
|
|
61
|
+
secrets: inherit
|
|
62
|
+
|
|
63
|
+
summary_and_report:
|
|
64
|
+
needs: [load-version, check-compiler, optimum-rbln-pytest]
|
|
65
|
+
if: always()
|
|
66
|
+
runs-on: rebel-k8s-runner
|
|
67
|
+
steps:
|
|
68
|
+
- name: Get failed test details
|
|
69
|
+
id: get_failed_tests
|
|
70
|
+
if: needs.optimum-rbln-pytest.result == 'failure'
|
|
71
|
+
run: |
|
|
72
|
+
# Get the workflow run jobs
|
|
73
|
+
JOBS=$(curl -s -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
|
|
74
|
+
"https://api.github.com/repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/jobs")
|
|
75
|
+
|
|
76
|
+
# Extract failed pytest job names step by step for readability
|
|
77
|
+
FAILED_JOB_NAMES=$(echo "$JOBS" | jq -r '.jobs[] | select(.conclusion == "failure" and (.name | contains("Pytest"))) | .name')
|
|
78
|
+
# Remove "Pytest (...)" wrapper to get the test name
|
|
79
|
+
FAILED_TEST_NAMES=$(echo "$FAILED_JOB_NAMES" | sed 's/Pytest (\(.*\))/\1/')
|
|
80
|
+
# Join names with comma and space
|
|
81
|
+
FAILED_TESTS=$(echo "$FAILED_TEST_NAMES" | tr '\n' ', ' | sed 's/,$//')
|
|
82
|
+
|
|
83
|
+
if [ -z "$FAILED_TESTS" ]; then
|
|
84
|
+
echo "failed_tests=Unknown" >> $GITHUB_OUTPUT
|
|
85
|
+
else
|
|
86
|
+
echo "failed_tests=$FAILED_TESTS" >> $GITHUB_OUTPUT
|
|
87
|
+
fi
|
|
88
|
+
|
|
89
|
+
- name: Determine test results
|
|
90
|
+
id: test_results
|
|
91
|
+
run: |
|
|
92
|
+
# Determine overall status
|
|
93
|
+
if [ "${{ needs.optimum-rbln-pytest.result }}" == "success" ]; then
|
|
94
|
+
echo "pytest_status=✅ Success - All tests passed" >> $GITHUB_OUTPUT
|
|
95
|
+
echo "pytest_emoji=✅" >> $GITHUB_OUTPUT
|
|
96
|
+
elif [ "${{ needs.optimum-rbln-pytest.result }}" == "failure" ]; then
|
|
97
|
+
FAILED="${{ steps.get_failed_tests.outputs.failed_tests }}"
|
|
98
|
+
if [ -n "$FAILED" ] && [ "$FAILED" != "Unknown" ]; then
|
|
99
|
+
echo "pytest_status=❌ Failed - Tests: \`$FAILED\`" >> $GITHUB_OUTPUT
|
|
100
|
+
else
|
|
101
|
+
echo "pytest_status=❌ Failed" >> $GITHUB_OUTPUT
|
|
102
|
+
fi
|
|
103
|
+
echo "pytest_emoji=❌" >> $GITHUB_OUTPUT
|
|
104
|
+
elif [ "${{ needs.optimum-rbln-pytest.result }}" == "skipped" ]; then
|
|
105
|
+
echo "pytest_status=⏭️ Skipped" >> $GITHUB_OUTPUT
|
|
106
|
+
echo "pytest_emoji=⏭️" >> $GITHUB_OUTPUT
|
|
107
|
+
else
|
|
108
|
+
echo "pytest_status=⚠️ Cancelled" >> $GITHUB_OUTPUT
|
|
109
|
+
echo "pytest_emoji=⚠️" >> $GITHUB_OUTPUT
|
|
110
|
+
fi
|
|
111
|
+
|
|
112
|
+
# Determine compiler check status
|
|
113
|
+
if [ "${{ needs.check-compiler.result }}" == "success" ]; then
|
|
114
|
+
echo "compiler_status=✅ Available" >> $GITHUB_OUTPUT
|
|
115
|
+
else
|
|
116
|
+
echo "compiler_status=❌ Not Available" >> $GITHUB_OUTPUT
|
|
117
|
+
fi
|
|
118
|
+
|
|
119
|
+
- name: Notify Slack
|
|
120
|
+
if: always()
|
|
121
|
+
run: |
|
|
122
|
+
# Determine overall workflow status emoji
|
|
123
|
+
if [ "${{ needs.optimum-rbln-pytest.result }}" == "success" ]; then
|
|
124
|
+
title="✅ Optimum-RBLN Scheduled Pytest Results"
|
|
125
|
+
elif [ "${{ needs.check-compiler.result }}" != "success" ]; then
|
|
126
|
+
title="⚠️ Optimum-RBLN Scheduled Pytest Results - Compiler Check Failed"
|
|
127
|
+
else
|
|
128
|
+
title="❌ Optimum-RBLN Scheduled Pytest Results"
|
|
129
|
+
fi
|
|
130
|
+
|
|
131
|
+
commit="*Commit*\n<https://github.com/rebellions-sw/optimum-rbln/commit/${{github.sha}}|${{github.sha}}>"
|
|
132
|
+
action_link="*CI Report*\n<https://github.com/rebellions-sw/optimum-rbln/actions/runs/${{ github.run_id }}|View Details>"
|
|
133
|
+
compiler_version="${{ needs.load-version.outputs.compiler_version }}"
|
|
134
|
+
|
|
135
|
+
payload=$(jq -n \
|
|
136
|
+
--arg channel "${{ secrets.SLACK_CI_REPORTER_CHANNEL }}" \
|
|
137
|
+
--arg title "$title" \
|
|
138
|
+
--arg commit "$commit" \
|
|
139
|
+
--arg action_link "$action_link" \
|
|
140
|
+
--arg compiler_version "$compiler_version" \
|
|
141
|
+
--arg compiler_status "${{ steps.test_results.outputs.compiler_status }}" \
|
|
142
|
+
--arg pytest_status "${{ steps.test_results.outputs.pytest_status }}" \
|
|
143
|
+
'{
|
|
144
|
+
channel: $channel,
|
|
145
|
+
text: "Optimum-RBLN Scheduled Test Results",
|
|
146
|
+
blocks: [
|
|
147
|
+
{
|
|
148
|
+
type: "header",
|
|
149
|
+
text: {
|
|
150
|
+
type: "plain_text",
|
|
151
|
+
text: $title
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
type: "section",
|
|
156
|
+
fields: [
|
|
157
|
+
{ type: "mrkdwn", text: $commit },
|
|
158
|
+
{ type: "mrkdwn", text: $action_link }
|
|
159
|
+
]
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: "section",
|
|
163
|
+
fields: [
|
|
164
|
+
{ type: "mrkdwn", text: "*Compiler Version*" },
|
|
165
|
+
{ type: "mrkdwn", text: ("`" + $compiler_version + "`") }
|
|
166
|
+
]
|
|
167
|
+
},
|
|
168
|
+
{ type: "divider" },
|
|
169
|
+
{
|
|
170
|
+
type: "section",
|
|
171
|
+
fields: [
|
|
172
|
+
{ type: "mrkdwn", text: "*Compiler Check*" },
|
|
173
|
+
{ type: "mrkdwn", text: $compiler_status }
|
|
174
|
+
]
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
type: "section",
|
|
178
|
+
fields: [
|
|
179
|
+
{ type: "mrkdwn", text: "*Pytest Results*" },
|
|
180
|
+
{ type: "mrkdwn", text: $pytest_status }
|
|
181
|
+
]
|
|
182
|
+
}
|
|
183
|
+
]
|
|
184
|
+
}'
|
|
185
|
+
)
|
|
186
|
+
curl -X POST -H 'Authorization: Bearer ${{ secrets.SLACK_BOT_USER_OAUTH_ACCESS_TOKEN }}' -H 'Content-type: application/json; charset=utf-8' --data "$payload" https://slack.com/api/chat.postMessage
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: optimum-rbln
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.2
|
|
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
|
|
@@ -26,10 +26,10 @@ Requires-Python: <3.14,>=3.9
|
|
|
26
26
|
Requires-Dist: accelerate>=1.0.1
|
|
27
27
|
Requires-Dist: diffusers==0.35.1
|
|
28
28
|
Requires-Dist: packaging>=24.1
|
|
29
|
-
Requires-Dist: torch==2.
|
|
30
|
-
Requires-Dist: torchaudio<=2.
|
|
31
|
-
Requires-Dist: torchvision<=0.
|
|
32
|
-
Requires-Dist: transformers==4.
|
|
29
|
+
Requires-Dist: torch==2.8.0
|
|
30
|
+
Requires-Dist: torchaudio<=2.8.0
|
|
31
|
+
Requires-Dist: torchvision<=0.23.0
|
|
32
|
+
Requires-Dist: transformers==4.57.1
|
|
33
33
|
Description-Content-Type: text/markdown
|
|
34
34
|
|
|
35
35
|
|
|
@@ -29,11 +29,11 @@ classifiers = [
|
|
|
29
29
|
]
|
|
30
30
|
keywords = ["transformers", "diffusers", "inference", "rbln", "atom", "rebel"]
|
|
31
31
|
dependencies = [
|
|
32
|
-
"torch==2.
|
|
33
|
-
"torchaudio<=2.
|
|
34
|
-
"torchvision<=0.
|
|
32
|
+
"torch==2.8.0",
|
|
33
|
+
"torchaudio<=2.8.0",
|
|
34
|
+
"torchvision<=0.23.0",
|
|
35
35
|
"accelerate>=1.0.1",
|
|
36
|
-
"transformers==4.
|
|
36
|
+
"transformers==4.57.1",
|
|
37
37
|
"diffusers==0.35.1",
|
|
38
38
|
"packaging>=24.1",
|
|
39
39
|
]
|
|
@@ -43,6 +43,9 @@ Homepage = "https://rebellions.ai"
|
|
|
43
43
|
Documentation = "https://docs.rbln.ai"
|
|
44
44
|
Repository = "https://github.com/rebellions-sw/optimum-rbln"
|
|
45
45
|
|
|
46
|
+
[project.scripts]
|
|
47
|
+
optimum-rbln-cli = "optimum.rbln.cli:main"
|
|
48
|
+
|
|
46
49
|
[dependency-groups]
|
|
47
50
|
tests = [
|
|
48
51
|
"pytest>=8.1.1",
|
|
@@ -57,6 +60,7 @@ tests = [
|
|
|
57
60
|
"soundfile>=0.13.1",
|
|
58
61
|
"librosa>=0.11.0",
|
|
59
62
|
"simphile>=1.0.2",
|
|
63
|
+
"torchcodec==0.7",
|
|
60
64
|
]
|
|
61
65
|
quality = [
|
|
62
66
|
"ruff>=0.3.3",
|
|
@@ -74,6 +74,8 @@ _import_structure = {
|
|
|
74
74
|
"RBLNCLIPVisionModelWithProjectionConfig",
|
|
75
75
|
"RBLNColPaliForRetrieval",
|
|
76
76
|
"RBLNColPaliForRetrievalConfig",
|
|
77
|
+
"RBLNColQwen2ForRetrieval",
|
|
78
|
+
"RBLNColQwen2ForRetrievalConfig",
|
|
77
79
|
"RBLNDecoderOnlyModelConfig",
|
|
78
80
|
"RBLNDecoderOnlyModel",
|
|
79
81
|
"RBLNDecoderOnlyModelForCausalLM",
|
|
@@ -118,6 +120,8 @@ _import_structure = {
|
|
|
118
120
|
"RBLNLlavaForConditionalGenerationConfig",
|
|
119
121
|
"RBLNLlavaNextForConditionalGeneration",
|
|
120
122
|
"RBLNLlavaNextForConditionalGenerationConfig",
|
|
123
|
+
"RBLNLoRAAdapterConfig",
|
|
124
|
+
"RBLNLoRAConfig",
|
|
121
125
|
"RBLNMidmLMHeadModel",
|
|
122
126
|
"RBLNMidmLMHeadModelConfig",
|
|
123
127
|
"RBLNMistralModel",
|
|
@@ -364,6 +368,8 @@ if TYPE_CHECKING:
|
|
|
364
368
|
RBLNCLIPVisionModelWithProjectionConfig,
|
|
365
369
|
RBLNColPaliForRetrieval,
|
|
366
370
|
RBLNColPaliForRetrievalConfig,
|
|
371
|
+
RBLNColQwen2ForRetrieval,
|
|
372
|
+
RBLNColQwen2ForRetrievalConfig,
|
|
367
373
|
RBLNDecoderOnlyModel,
|
|
368
374
|
RBLNDecoderOnlyModelConfig,
|
|
369
375
|
RBLNDecoderOnlyModelForCausalLM,
|
|
@@ -406,6 +412,8 @@ if TYPE_CHECKING:
|
|
|
406
412
|
RBLNLlavaForConditionalGenerationConfig,
|
|
407
413
|
RBLNLlavaNextForConditionalGeneration,
|
|
408
414
|
RBLNLlavaNextForConditionalGenerationConfig,
|
|
415
|
+
RBLNLoRAAdapterConfig,
|
|
416
|
+
RBLNLoRAConfig,
|
|
409
417
|
RBLNMidmLMHeadModel,
|
|
410
418
|
RBLNMidmLMHeadModelConfig,
|
|
411
419
|
RBLNMistralForCausalLM,
|
|
@@ -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.9.
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 9,
|
|
31
|
+
__version__ = version = '0.9.2'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 9, 2)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|