optimum-rbln 0.8.1a4__tar.gz → 0.8.1a5__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.8.1a4 → optimum_rbln-0.8.1a5}/PKG-INFO +4 -4
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/pyproject.toml +3 -3
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/__init__.py +4 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/__version__.py +2 -2
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/models/controlnet.py +1 -1
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/__init__.py +2 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/__init__.py +8 -0
- optimum_rbln-0.8.1a5/src/optimum/rbln/transformers/models/colpali/__init__.py +2 -0
- optimum_rbln-0.8.1a5/src/optimum/rbln/transformers/models/colpali/colpali_architecture.py +221 -0
- optimum_rbln-0.8.1a5/src/optimum/rbln/transformers/models/colpali/configuration_colpali.py +68 -0
- optimum_rbln-0.8.1a5/src/optimum/rbln/transformers/models/colpali/modeling_colpali.py +383 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/qwen2_5_vl/qwen2_5_vl_architecture.py +2 -2
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/tests/test_transformers.py +11 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/uv.lock +42 -42
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/.github/ISSUE_TEMPLATE/model_request.md +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/.github/pull_request_template.md +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/.github/scripts/auto_code_review.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/.github/scripts/validate_pr_checklist.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/.github/version.yaml +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/.github/workflows/auto_code_review.yml +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/.github/workflows/check_code_quality.yml +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/.github/workflows/deploy-on-tag.yaml +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/.github/workflows/deploy.yaml +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/.github/workflows/pr-title-check.yaml +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/.github/workflows/pr_checklist_validator.yml +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/.github/workflows/rbln_check_compiler.yaml +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/.github/workflows/rbln_dispatch_pytest.yaml +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/.github/workflows/rbln_optimum_inference_test.yaml +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/.github/workflows/rbln_optimum_pytest.yaml +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/.github/workflows/rbln_scheduled_test.yaml +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/.github/workflows/rbln_trigger_on_pr.yaml +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/.gitignore +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/CODE_OF_CONDUCT.md +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/CONTRIBUTING.md +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/LICENSE +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/README.md +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/assets/rbln_logo.png +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/advanced/custom_class.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/audio-classification/run_ast_audio_classification.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/depth-estimation/run_dpt.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/image-classification/run_image_classification.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/image-classification/run_vit_image_classification.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/image-to-text/run_idefics3.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/image-to-text/run_llava_next_image_to_text.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/kandinsky2_2/run_kandinsky2_2.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/kandinsky2_2/run_kandinsky2_2_combined.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/kandinsky2_2/run_kandinsky2_2_img2img.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/kandinsky2_2/run_kandinsky2_2_img2img_combined.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/kandinsky2_2/run_kandinsky2_2_inpaint.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/kandinsky2_2/run_kandinsky2_2_inpaint_combined.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/kandinsky2_2/run_kandinsky2_2_prior_interpolate.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/question-answering/run_question_answering.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/speech-recognition/run_wav2vec2.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/speech-recognition/run_whisper.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/stable-diffusion/run_stable_diffusion.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/stable-diffusion/run_stable_diffusion_controlnet.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/stable-diffusion/run_stable_diffusion_img2img.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/stable-diffusion/run_stable_diffusion_img2img_controlnet.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/stable-diffusion/run_stable_diffusion_inpaint.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/stable-diffusion/run_stable_diffusion_lora.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/stable-diffusion/run_stable_diffusion_multicontrolnet.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/text-classification/run_bge_m3_text_classification.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/text-classification/run_bge_reranker_v2_m3_text_classification.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/text-classification/run_secureBERT.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/text-classification/run_t5_classification.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/text-classification/run_twitter_roberta_text_classification.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/text2text-generation/run_bart_text2text_generation.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/text2text-generation/run_llama_peft.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/text2text-generation/run_llama_text2text_generation.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/examples/time-series-forecasting/run_time_series_forecasting.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/scripts/uv-lock.sh +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/scripts/uv-sync.sh +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/configuration_utils.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/configurations/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/configurations/models/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/configurations/models/configuration_autoencoder_kl.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/configurations/models/configuration_controlnet.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/configurations/models/configuration_prior_transformer.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/configurations/models/configuration_transformer_sd3.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/configurations/models/configuration_unet_2d_condition.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/configurations/models/configuration_vq_model.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/configurations/pipelines/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_controlnet.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_kandinsky2_2.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_3.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_xl.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/modeling_diffusers.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/models/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/models/autoencoders/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/models/autoencoders/autoencoder_kl.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/models/autoencoders/vae.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/models/autoencoders/vq_model.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/models/transformers/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/models/transformers/prior_transformer.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/models/transformers/transformer_sd3.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/models/unets/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/models/unets/unet_2d_condition.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/controlnet/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/controlnet/multicontrolnet.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl_img2img.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_combined.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_img2img.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_inpaint.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_img2img.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_inpaint.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_inpaint.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/modeling.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/modeling_base.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/ops/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/ops/attn.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/ops/flash_attn.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/ops/kv_cache_update.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/ops/linear.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/ops/sliding_window_attn.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/configuration_generic.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/modeling_generic.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/modeling_rope_utils.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/audio_spectrogram_transformer/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/audio_spectrogram_transformer/configuration_audio_spectrogram_transformer.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/audio_spectrogram_transformer/modeling_audio_spectrogram_transformer.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/auto/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/auto/auto_factory.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/auto/modeling_auto.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/bart/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/bart/bart_architecture.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/bart/configuration_bart.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/bart/modeling_bart.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/bert/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/bert/configuration_bert.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/bert/modeling_bert.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/blip_2/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/blip_2/configuration_blip_2.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/blip_2/modeling_blip_2.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/clip/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/clip/configuration_clip.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/clip/modeling_clip.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/decoderonly/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/decoderonly/configuration_decoderonly.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/decoderonly/decoderonly_architecture.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/decoderonly/modeling_decoderonly.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/distilbert/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/distilbert/configuration_distilbert.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/distilbert/modeling_distilbert.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/dpt/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/dpt/configuration_dpt.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/dpt/modeling_dpt.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/exaone/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/exaone/configuration_exaone.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/exaone/exaone_architecture.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/exaone/modeling_exaone.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/gemma/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/gemma/configuration_gemma.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/gemma/gemma_architecture.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/gemma/modeling_gemma.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/gemma3/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/gemma3/configuration_gemma3.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/gemma3/gemma3_architecture.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/gemma3/modeling_gemma3.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/gpt2/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/gpt2/configuration_gpt2.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/gpt2/gpt2_architecture.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/gpt2/modeling_gpt2.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/idefics3/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/idefics3/configuration_idefics3.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/idefics3/modeling_idefics3.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/llama/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/llama/configuration_llama.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/llama/llama_architecture.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/llama/modeling_llama.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/llava_next/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/llava_next/configuration_llava_next.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/llava_next/modeling_llava_next.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/midm/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/midm/configuration_midm.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/midm/midm_architecture.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/midm/modeling_midm.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/mistral/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/mistral/configuration_mistral.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/mistral/mistral_architecture.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/mistral/modeling_mistral.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/opt/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/opt/configuration_opt.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/opt/modeling_opt.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/opt/opt_architecture.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/phi/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/phi/configuration_phi.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/phi/modeling_phi.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/phi/phi_architecture.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/qwen2/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/qwen2/configuration_qwen2.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/qwen2/modeling_qwen2.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/qwen2/qwen2_architecture.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/qwen2_5_vl/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/qwen2_5_vl/modeling_qwen2_5_vl.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/resnet/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/resnet/configuration_resnet.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/resnet/modeling_resnet.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/roberta/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/roberta/configuration_roberta.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/roberta/modeling_roberta.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/seq2seq/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/seq2seq/configuration_seq2seq.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/seq2seq/modeling_seq2seq.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/seq2seq/seq2seq_architecture.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/siglip/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/siglip/configuration_siglip.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/siglip/modeling_siglip.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/t5/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/t5/configuration_t5.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/t5/modeling_t5.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/t5/t5_architecture.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/time_series_transformer/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/time_series_transformer/configuration_time_series_transformer.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/time_series_transformer/modeling_time_series_transformer.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/time_series_transformer/time_series_transformers_architecture.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/vit/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/vit/configuration_vit.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/vit/modeling_vit.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/wav2vec2/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/wav2vec2/configuration_wav2vec2.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/wav2vec2/modeling_wav2vec2.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/whisper/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/whisper/configuration_whisper.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/whisper/generation_whisper.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/whisper/modeling_whisper.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/whisper/whisper_architecture.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/xlm_roberta/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/xlm_roberta/configuration_xlm_roberta.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/xlm_roberta/modeling_xlm_roberta.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/utils/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/utils/rbln_quantization.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/utils/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/utils/decorator_utils.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/utils/hub.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/utils/import_utils.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/utils/logging.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/utils/model_utils.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/utils/runtime_utils.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/utils/save_utils.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/utils/submodule.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/tests/__init__.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/tests/psnr.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/tests/requirements_sdxl.txt +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/tests/run_stable_diffusion_xl_base.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/tests/test_base.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/tests/test_config.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/tests/test_diffusers.py +0 -0
- {optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/tests/test_llm.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: optimum-rbln
|
3
|
-
Version: 0.8.
|
3
|
+
Version: 0.8.1a5
|
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
|
@@ -25,9 +25,9 @@ Requires-Python: <3.13,>=3.9
|
|
25
25
|
Requires-Dist: accelerate>=1.0.1
|
26
26
|
Requires-Dist: diffusers==0.34.0
|
27
27
|
Requires-Dist: packaging>=24.1
|
28
|
-
Requires-Dist: torch==2.
|
29
|
-
Requires-Dist: torchaudio<=2.
|
30
|
-
Requires-Dist: torchvision<=0.
|
28
|
+
Requires-Dist: torch==2.7.0
|
29
|
+
Requires-Dist: torchaudio<=2.7.0
|
30
|
+
Requires-Dist: torchvision<=0.22.0
|
31
31
|
Requires-Dist: transformers==4.51.3
|
32
32
|
Description-Content-Type: text/markdown
|
33
33
|
|
@@ -28,9 +28,9 @@ classifiers = [
|
|
28
28
|
]
|
29
29
|
keywords = ["transformers", "diffusers", "inference", "rbln", "atom", "rebel"]
|
30
30
|
dependencies = [
|
31
|
-
"torch==2.
|
32
|
-
"torchaudio<=2.
|
33
|
-
"torchvision<=0.
|
31
|
+
"torch==2.7.0",
|
32
|
+
"torchaudio<=2.7.0",
|
33
|
+
"torchvision<=0.22.0",
|
34
34
|
"accelerate>=1.0.1",
|
35
35
|
"transformers==4.51.3",
|
36
36
|
"diffusers==0.34.0",
|
@@ -70,6 +70,8 @@ _import_structure = {
|
|
70
70
|
"RBLNCLIPVisionModelConfig",
|
71
71
|
"RBLNCLIPVisionModelWithProjection",
|
72
72
|
"RBLNCLIPVisionModelWithProjectionConfig",
|
73
|
+
"RBLNColPaliForRetrieval",
|
74
|
+
"RBLNColPaliForRetrievalConfig",
|
73
75
|
"RBLNDecoderOnlyModelForCausalLM",
|
74
76
|
"RBLNDecoderOnlyModelForCausalLMConfig",
|
75
77
|
"RBLNDistilBertForQuestionAnswering",
|
@@ -297,6 +299,8 @@ if TYPE_CHECKING:
|
|
297
299
|
RBLNCLIPVisionModelConfig,
|
298
300
|
RBLNCLIPVisionModelWithProjection,
|
299
301
|
RBLNCLIPVisionModelWithProjectionConfig,
|
302
|
+
RBLNColPaliForRetrieval,
|
303
|
+
RBLNColPaliForRetrievalConfig,
|
300
304
|
RBLNDecoderOnlyModelForCausalLM,
|
301
305
|
RBLNDecoderOnlyModelForCausalLMConfig,
|
302
306
|
RBLNDistilBertForQuestionAnswering,
|
@@ -17,5 +17,5 @@ __version__: str
|
|
17
17
|
__version_tuple__: VERSION_TUPLE
|
18
18
|
version_tuple: VERSION_TUPLE
|
19
19
|
|
20
|
-
__version__ = version = '0.8.
|
21
|
-
__version_tuple__ = version_tuple = (0, 8, 1, '
|
20
|
+
__version__ = version = '0.8.1a5'
|
21
|
+
__version_tuple__ = version_tuple = (0, 8, 1, 'a5')
|
{optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/diffusers/models/controlnet.py
RENAMED
@@ -16,7 +16,7 @@ from typing import TYPE_CHECKING, Dict, Optional, Union
|
|
16
16
|
|
17
17
|
import torch
|
18
18
|
from diffusers import ControlNetModel
|
19
|
-
from diffusers.models.controlnet import ControlNetOutput
|
19
|
+
from diffusers.models.controlnets.controlnet import ControlNetOutput
|
20
20
|
from transformers import PretrainedConfig
|
21
21
|
|
22
22
|
from ...configuration_utils import RBLNCompileConfig, RBLNModelConfig
|
@@ -50,6 +50,8 @@ _import_structure = {
|
|
50
50
|
"RBLNBlip2QFormerModelConfig",
|
51
51
|
"RBLNBlip2VisionModel",
|
52
52
|
"RBLNBlip2VisionModelConfig",
|
53
|
+
"RBLNColPaliForRetrieval",
|
54
|
+
"RBLNColPaliForRetrievalConfig",
|
53
55
|
"RBLNCLIPTextModel",
|
54
56
|
"RBLNCLIPTextModelConfig",
|
55
57
|
"RBLNCLIPTextModelWithProjection",
|
{optimum_rbln-0.8.1a4 → optimum_rbln-0.8.1a5}/src/optimum/rbln/transformers/models/__init__.py
RENAMED
@@ -69,6 +69,10 @@ _import_structure = {
|
|
69
69
|
"RBLNCLIPVisionModelWithProjection",
|
70
70
|
"RBLNCLIPVisionModelWithProjectionConfig",
|
71
71
|
],
|
72
|
+
"colpali": [
|
73
|
+
"RBLNColPaliForRetrieval",
|
74
|
+
"RBLNColPaliForRetrievalConfig",
|
75
|
+
],
|
72
76
|
"distilbert": [
|
73
77
|
"RBLNDistilBertForQuestionAnswering",
|
74
78
|
"RBLNDistilBertForQuestionAnsweringConfig",
|
@@ -193,6 +197,10 @@ if TYPE_CHECKING:
|
|
193
197
|
RBLNCLIPVisionModelWithProjection,
|
194
198
|
RBLNCLIPVisionModelWithProjectionConfig,
|
195
199
|
)
|
200
|
+
from .colpali import (
|
201
|
+
RBLNColPaliForRetrieval,
|
202
|
+
RBLNColPaliForRetrievalConfig,
|
203
|
+
)
|
196
204
|
from .decoderonly import (
|
197
205
|
RBLNDecoderOnlyModelForCausalLM,
|
198
206
|
RBLNDecoderOnlyModelForCausalLMConfig,
|
@@ -0,0 +1,221 @@
|
|
1
|
+
from typing import List, Optional, Tuple, Union
|
2
|
+
|
3
|
+
import torch
|
4
|
+
from torch import nn
|
5
|
+
from transformers import GemmaForCausalLM, GemmaModel
|
6
|
+
|
7
|
+
from ..decoderonly.decoderonly_architecture import (
|
8
|
+
RotaryEmbedding,
|
9
|
+
apply_rotary_pos_emb,
|
10
|
+
)
|
11
|
+
|
12
|
+
|
13
|
+
def slice_and_unsqueeze_cos_sin(cos, sin, position_ids):
|
14
|
+
"""Slice cos[cache_position], sin[cache_position] vector for the query."""
|
15
|
+
cos = cos[position_ids[0]][None, None, None, :, :]
|
16
|
+
sin = sin[position_ids[0]][None, None, None, :, :]
|
17
|
+
|
18
|
+
return cos, sin
|
19
|
+
|
20
|
+
|
21
|
+
class RBLNColPaliForRetrievalWrapper(nn.Module):
|
22
|
+
def __init__(
|
23
|
+
self,
|
24
|
+
causal_lm: GemmaForCausalLM,
|
25
|
+
embedding_proj_layer: nn.Module,
|
26
|
+
max_seq_len: int,
|
27
|
+
output_hidden_states: bool = False,
|
28
|
+
):
|
29
|
+
super().__init__()
|
30
|
+
self.text_config = causal_lm.config
|
31
|
+
self.rotary_emb = self.get_rotary_emb(max_seq_len=max_seq_len)
|
32
|
+
|
33
|
+
self.output_hidden_states = output_hidden_states
|
34
|
+
self.language_model = self.convert_to_rbln_language_model(causal_lm.model, max_seq_len)
|
35
|
+
|
36
|
+
self.num_hidden_layers = getattr(self.text_config, "num_hidden_layers", None)
|
37
|
+
self.embedding_proj_layer = embedding_proj_layer
|
38
|
+
|
39
|
+
def get_rotary_emb(self, max_seq_len):
|
40
|
+
return RotaryEmbedding(config=self.text_config, max_seq_len_cached=max_seq_len)
|
41
|
+
|
42
|
+
def convert_to_rbln_language_model(self, gemma_model: GemmaModel, max_seq_len: int):
|
43
|
+
new_layers = []
|
44
|
+
for layer in gemma_model.layers:
|
45
|
+
new_self_attn = ColPaliAttention(
|
46
|
+
layer.self_attn,
|
47
|
+
)
|
48
|
+
new_layer = ColPaliLayer(layer, new_self_attn)
|
49
|
+
new_layers.append(new_layer)
|
50
|
+
|
51
|
+
new_model = ColPaliModel(
|
52
|
+
gemma_model,
|
53
|
+
new_layers,
|
54
|
+
output_hidden_states=self.output_hidden_states,
|
55
|
+
max_seq_len=max_seq_len,
|
56
|
+
)
|
57
|
+
|
58
|
+
return new_model
|
59
|
+
|
60
|
+
def forward(self, inputs_embeds: torch.Tensor, attention_mask: torch.Tensor, position_ids: torch.Tensor):
|
61
|
+
attention_mask = (1.0 - attention_mask) * torch.finfo(torch.float32).min
|
62
|
+
attention_mask = attention_mask[:, None, None, None, :]
|
63
|
+
|
64
|
+
hidden_states, all_hidden_states = self.language_model(
|
65
|
+
inputs_embeds=inputs_embeds,
|
66
|
+
attention_mask=attention_mask,
|
67
|
+
rotary_emb=self.rotary_emb,
|
68
|
+
position_ids=position_ids,
|
69
|
+
)
|
70
|
+
embeddings = self.embedding_proj_layer(hidden_states)
|
71
|
+
|
72
|
+
if self.output_hidden_states:
|
73
|
+
return embeddings, all_hidden_states
|
74
|
+
else:
|
75
|
+
return embeddings
|
76
|
+
|
77
|
+
|
78
|
+
class ColPaliModel(nn.Module):
|
79
|
+
def __init__(
|
80
|
+
self, model, layers: List["ColPaliLayer"], output_hidden_states: bool = False, max_seq_len: int = 2048
|
81
|
+
):
|
82
|
+
super().__init__()
|
83
|
+
self._original_mod = model
|
84
|
+
self.layers = nn.ModuleList(layers)
|
85
|
+
self.output_hidden_states = output_hidden_states
|
86
|
+
self.norm = self._original_mod.norm
|
87
|
+
self.hidden_size = self._original_mod.config.hidden_size
|
88
|
+
self.max_seq_len = max_seq_len
|
89
|
+
|
90
|
+
def forward(
|
91
|
+
self,
|
92
|
+
inputs_embeds: Optional[torch.Tensor] = None,
|
93
|
+
attention_mask: torch.Tensor = None,
|
94
|
+
rotary_emb: Optional[Union[nn.Module, torch.Tensor]] = None,
|
95
|
+
position_ids: Optional[torch.Tensor] = None,
|
96
|
+
):
|
97
|
+
hidden_states = inputs_embeds * self.hidden_size**0.5
|
98
|
+
|
99
|
+
cos, sin = rotary_emb(hidden_states, self.max_seq_len) # dtype carrier, max_seq_len
|
100
|
+
cos, sin = slice_and_unsqueeze_cos_sin(cos, sin, position_ids)
|
101
|
+
|
102
|
+
all_hidden_states = () if self.output_hidden_states else None
|
103
|
+
for layer in self.layers:
|
104
|
+
if self.output_hidden_states:
|
105
|
+
all_hidden_states += (hidden_states,)
|
106
|
+
|
107
|
+
hidden_states = layer(
|
108
|
+
hidden_states=hidden_states,
|
109
|
+
attention_mask=attention_mask,
|
110
|
+
cos=cos,
|
111
|
+
sin=sin,
|
112
|
+
)
|
113
|
+
hidden_states = self.norm(hidden_states)
|
114
|
+
|
115
|
+
if self.output_hidden_states:
|
116
|
+
all_hidden_states += (hidden_states,)
|
117
|
+
|
118
|
+
return hidden_states, all_hidden_states
|
119
|
+
|
120
|
+
|
121
|
+
class ColPaliLayer(nn.Module):
|
122
|
+
def __init__(self, layer, self_attn: "ColPaliAttention"):
|
123
|
+
super().__init__()
|
124
|
+
self._original_mod = layer
|
125
|
+
self.self_attn = self_attn
|
126
|
+
self.mlp = layer.mlp
|
127
|
+
self.input_layernorm = layer.input_layernorm
|
128
|
+
self.post_attention_layernorm = layer.post_attention_layernorm
|
129
|
+
|
130
|
+
def forward(
|
131
|
+
self,
|
132
|
+
hidden_states: torch.Tensor,
|
133
|
+
attention_mask: Optional[torch.Tensor] = None,
|
134
|
+
cos: Optional[torch.Tensor] = None,
|
135
|
+
sin: Optional[torch.Tensor] = None,
|
136
|
+
) -> Tuple[torch.FloatTensor]:
|
137
|
+
residual = hidden_states
|
138
|
+
hidden_states = self.input_layernorm(hidden_states)
|
139
|
+
|
140
|
+
# Self Attention
|
141
|
+
hidden_states = self.self_attn(
|
142
|
+
hidden_states=hidden_states,
|
143
|
+
attention_mask=attention_mask,
|
144
|
+
cos=cos,
|
145
|
+
sin=sin,
|
146
|
+
)
|
147
|
+
hidden_states = residual + hidden_states
|
148
|
+
|
149
|
+
# Fully Connected
|
150
|
+
residual = hidden_states
|
151
|
+
hidden_states = self.post_attention_layernorm(hidden_states)
|
152
|
+
hidden_states = self.mlp(hidden_states)
|
153
|
+
hidden_states = residual + hidden_states
|
154
|
+
|
155
|
+
return hidden_states
|
156
|
+
|
157
|
+
|
158
|
+
class ColPaliAttention(nn.Module):
|
159
|
+
def __init__(self, self_attn):
|
160
|
+
super().__init__()
|
161
|
+
self._original_mod = self_attn
|
162
|
+
self.num_heads = getattr(self._original_mod, "num_heads", None) or getattr(
|
163
|
+
self._original_mod.config, "num_attention_heads"
|
164
|
+
)
|
165
|
+
self.head_dim = self._original_mod.head_dim
|
166
|
+
self.scaling = self.head_dim**-0.5
|
167
|
+
|
168
|
+
if hasattr(self._original_mod, "num_key_value_heads"):
|
169
|
+
self.num_key_value_heads = self._original_mod.num_key_value_heads
|
170
|
+
elif hasattr(self._original_mod, "config") and hasattr(self._original_mod.config, "num_key_value_heads"):
|
171
|
+
self.num_key_value_heads = self._original_mod.config.num_key_value_heads
|
172
|
+
else:
|
173
|
+
self.num_key_value_heads = self.num_heads
|
174
|
+
|
175
|
+
self.__post_init__()
|
176
|
+
|
177
|
+
def __post_init__(self):
|
178
|
+
self.q_proj = self._original_mod.q_proj
|
179
|
+
self.k_proj = self._original_mod.k_proj
|
180
|
+
self.v_proj = self._original_mod.v_proj
|
181
|
+
self.o_proj = self._original_mod.o_proj
|
182
|
+
|
183
|
+
def projection(self, hidden_states) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]:
|
184
|
+
query_states = self.q_proj(hidden_states)
|
185
|
+
key_states = self.k_proj(hidden_states)
|
186
|
+
value_states = self.v_proj(hidden_states)
|
187
|
+
|
188
|
+
return query_states, key_states, value_states
|
189
|
+
|
190
|
+
def forward(
|
191
|
+
self,
|
192
|
+
hidden_states: torch.Tensor,
|
193
|
+
attention_mask: torch.Tensor,
|
194
|
+
cos: Optional[torch.Tensor] = None,
|
195
|
+
sin: Optional[torch.Tensor] = None,
|
196
|
+
):
|
197
|
+
batch_size, query_length, _ = hidden_states.size()
|
198
|
+
|
199
|
+
query_states, key_states, value_states = self.projection(hidden_states=hidden_states)
|
200
|
+
|
201
|
+
query_states = query_states.view(batch_size, query_length, 1, self.num_heads, self.head_dim).transpose(1, 3)
|
202
|
+
key_states = key_states.view(batch_size, query_length, 1, self.num_key_value_heads, self.head_dim).transpose(
|
203
|
+
1, 3
|
204
|
+
)
|
205
|
+
value_states = value_states.view(
|
206
|
+
batch_size, query_length, 1, self.num_key_value_heads, self.head_dim
|
207
|
+
).transpose(1, 3)
|
208
|
+
|
209
|
+
if cos is not None and sin is not None:
|
210
|
+
query_states, key_states = apply_rotary_pos_emb(query_states, key_states, cos, sin)
|
211
|
+
|
212
|
+
attn_weights = torch.matmul(query_states, key_states.transpose(3, 4)) * self.scaling
|
213
|
+
attn_weights = attn_weights + attention_mask
|
214
|
+
attn_weights = nn.functional.softmax(attn_weights, dim=-1, dtype=torch.float32)
|
215
|
+
attn_output = torch.matmul(attn_weights, value_states)
|
216
|
+
attn_output = attn_output.transpose(1, 3)
|
217
|
+
|
218
|
+
attn_output = attn_output.reshape(batch_size, query_length, -1)
|
219
|
+
attn_output = self.o_proj(attn_output)
|
220
|
+
|
221
|
+
return attn_output
|
@@ -0,0 +1,68 @@
|
|
1
|
+
# Copyright 2025 Rebellions Inc. All rights reserved.
|
2
|
+
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at:
|
6
|
+
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
from typing import List, Optional, Union
|
15
|
+
|
16
|
+
from ....configuration_utils import RBLNModelConfig
|
17
|
+
|
18
|
+
|
19
|
+
class RBLNColPaliForRetrievalConfig(RBLNModelConfig):
|
20
|
+
"""
|
21
|
+
Configuration class for RBLN ColPali models for document retrieval.
|
22
|
+
|
23
|
+
This class extends RBLNModelConfig with specific configurations for ColPali models,
|
24
|
+
including vision tower settings and multi-sequence length support.
|
25
|
+
|
26
|
+
Example usage:
|
27
|
+
```python
|
28
|
+
from optimum.rbln import RBLNColPaliForRetrieval, RBLNColPaliForRetrievalConfig
|
29
|
+
|
30
|
+
# Create a configuration object
|
31
|
+
config = RBLNColPaliForRetrievalConfig(
|
32
|
+
max_seq_lens=1152,
|
33
|
+
output_hidden_states=False,
|
34
|
+
tensor_parallel_size=4
|
35
|
+
)
|
36
|
+
|
37
|
+
# Use the configuration with from_pretrained
|
38
|
+
model = RBLNColPaliForRetrieval.from_pretrained(
|
39
|
+
"vidore/colpali-v1.3-hf",
|
40
|
+
export=True,
|
41
|
+
rbln_config=config
|
42
|
+
)
|
43
|
+
```
|
44
|
+
"""
|
45
|
+
|
46
|
+
submodules = ["vision_tower"]
|
47
|
+
|
48
|
+
def __init__(
|
49
|
+
self,
|
50
|
+
max_seq_lens: Union[int, List[int]] = None,
|
51
|
+
output_hidden_states: Optional[bool] = None,
|
52
|
+
vision_tower: Optional[RBLNModelConfig] = None,
|
53
|
+
**kwargs,
|
54
|
+
):
|
55
|
+
"""
|
56
|
+
Args:
|
57
|
+
vision_tower (Optional[RBLNModelConfig]): Configuration for the vision encoder component.
|
58
|
+
max_seq_lens (Union[int, List[int]]): The maximum sequence lengths for the language model.
|
59
|
+
This can be multiple values, and the model will be compiled for each max_seq_len, allowing selection of the most appropriate max_seq_len at inference time.
|
60
|
+
output_hidden_states (Optional[bool]): Whether to output the hidden states of the language model.
|
61
|
+
**kwargs: Additional arguments passed to the parent RBLNModelConfig.
|
62
|
+
Raises:
|
63
|
+
ValueError: If batch_size is not a positive integer.
|
64
|
+
"""
|
65
|
+
super().__init__(**kwargs)
|
66
|
+
self.vision_tower = vision_tower
|
67
|
+
self.max_seq_lens = max_seq_lens
|
68
|
+
self.output_hidden_states = output_hidden_states
|