optimum-rbln 0.8.2a2__tar.gz → 0.8.2a3__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.

Files changed (286) hide show
  1. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.github/workflows/rbln_optimum_pytest.yaml +7 -0
  2. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.github/workflows/rbln_scheduled_test.yaml +1 -0
  3. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/PKG-INFO +1 -1
  4. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/__version__.py +2 -2
  5. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/modeling_diffusers.py +2 -4
  6. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/modeling.py +1 -3
  7. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/modeling_base.py +17 -13
  8. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/clip/configuration_clip.py +12 -1
  9. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/clip/modeling_clip.py +123 -28
  10. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/decoderonly/modeling_decoderonly.py +6 -1
  11. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/gemma3/configuration_gemma3.py +2 -3
  12. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/gemma3/modeling_gemma3.py +104 -249
  13. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/llava_next/configuration_llava_next.py +18 -1
  14. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/utils/hub.py +8 -47
  15. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/tests/test_base.py +75 -77
  16. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/tests/test_diffusers.py +2 -2
  17. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/tests/test_llm.py +5 -1
  18. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/tests/test_transformers.py +2 -2
  19. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  20. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  21. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  22. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.github/ISSUE_TEMPLATE/model_request.md +0 -0
  23. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.github/pull_request_template.md +0 -0
  24. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.github/scripts/auto_code_review.py +0 -0
  25. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.github/scripts/validate_docstrings.py +0 -0
  26. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.github/scripts/validate_pr_checklist.py +0 -0
  27. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.github/version.yaml +0 -0
  28. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.github/workflows/auto_code_review.yml +0 -0
  29. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.github/workflows/check_code_quality.yml +0 -0
  30. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.github/workflows/deploy-on-tag.yaml +0 -0
  31. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.github/workflows/deploy.yaml +0 -0
  32. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.github/workflows/pr-title-check.yaml +0 -0
  33. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.github/workflows/pr_checklist_validator.yml +0 -0
  34. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.github/workflows/rbln_check_compiler.yaml +0 -0
  35. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.github/workflows/rbln_dispatch_pytest.yaml +0 -0
  36. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.github/workflows/rbln_optimum_inference_test.yaml +0 -0
  37. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.github/workflows/rbln_trigger_on_pr.yaml +0 -0
  38. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.github/workflows/test-docstrings.yml +0 -0
  39. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/.gitignore +0 -0
  40. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/CODE_OF_CONDUCT.md +0 -0
  41. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/CONTRIBUTING.md +0 -0
  42. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/LICENSE +0 -0
  43. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/README.md +0 -0
  44. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/assets/rbln_logo.png +0 -0
  45. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/advanced/custom_class.py +0 -0
  46. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/audio-classification/run_ast_audio_classification.py +0 -0
  47. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/depth-estimation/run_dpt.py +0 -0
  48. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/image-classification/run_image_classification.py +0 -0
  49. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/image-classification/run_vit_image_classification.py +0 -0
  50. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/image-to-text/run_idefics3.py +0 -0
  51. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/image-to-text/run_llava_next_image_to_text.py +0 -0
  52. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/kandinsky2_2/run_kandinsky2_2.py +0 -0
  53. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/kandinsky2_2/run_kandinsky2_2_combined.py +0 -0
  54. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/kandinsky2_2/run_kandinsky2_2_img2img.py +0 -0
  55. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/kandinsky2_2/run_kandinsky2_2_img2img_combined.py +0 -0
  56. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/kandinsky2_2/run_kandinsky2_2_inpaint.py +0 -0
  57. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/kandinsky2_2/run_kandinsky2_2_inpaint_combined.py +0 -0
  58. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/kandinsky2_2/run_kandinsky2_2_prior_interpolate.py +0 -0
  59. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/question-answering/run_question_answering.py +0 -0
  60. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/speech-recognition/run_wav2vec2.py +0 -0
  61. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/speech-recognition/run_whisper.py +0 -0
  62. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/stable-diffusion/run_stable_diffusion.py +0 -0
  63. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/stable-diffusion/run_stable_diffusion_controlnet.py +0 -0
  64. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/stable-diffusion/run_stable_diffusion_img2img.py +0 -0
  65. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/stable-diffusion/run_stable_diffusion_img2img_controlnet.py +0 -0
  66. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/stable-diffusion/run_stable_diffusion_inpaint.py +0 -0
  67. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/stable-diffusion/run_stable_diffusion_lora.py +0 -0
  68. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/stable-diffusion/run_stable_diffusion_multicontrolnet.py +0 -0
  69. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/text-classification/run_bge_m3_text_classification.py +0 -0
  70. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/text-classification/run_bge_reranker_v2_m3_text_classification.py +0 -0
  71. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/text-classification/run_secureBERT.py +0 -0
  72. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/text-classification/run_t5_classification.py +0 -0
  73. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/text-classification/run_twitter_roberta_text_classification.py +0 -0
  74. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/text2text-generation/run_bart_text2text_generation.py +0 -0
  75. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/text2text-generation/run_llama_peft.py +0 -0
  76. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/text2text-generation/run_llama_text2text_generation.py +0 -0
  77. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/examples/time-series-forecasting/run_time_series_forecasting.py +0 -0
  78. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/pyproject.toml +0 -0
  79. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/scripts/uv-lock.sh +0 -0
  80. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/scripts/uv-sync.sh +0 -0
  81. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/__init__.py +0 -0
  82. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/configuration_utils.py +0 -0
  83. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/__init__.py +0 -0
  84. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/configurations/__init__.py +0 -0
  85. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/configurations/models/__init__.py +0 -0
  86. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/configurations/models/configuration_autoencoder_kl.py +0 -0
  87. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/configurations/models/configuration_autoencoder_kl_cosmos.py +0 -0
  88. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/configurations/models/configuration_controlnet.py +0 -0
  89. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/configurations/models/configuration_prior_transformer.py +0 -0
  90. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/configurations/models/configuration_transformer_cosmos.py +0 -0
  91. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/configurations/models/configuration_transformer_sd3.py +0 -0
  92. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/configurations/models/configuration_unet_2d_condition.py +0 -0
  93. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/configurations/models/configuration_vq_model.py +0 -0
  94. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/configurations/pipelines/__init__.py +0 -0
  95. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_controlnet.py +0 -0
  96. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_cosmos.py +0 -0
  97. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_kandinsky2_2.py +0 -0
  98. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion.py +0 -0
  99. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_3.py +0 -0
  100. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_xl.py +0 -0
  101. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/models/__init__.py +0 -0
  102. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/models/autoencoders/__init__.py +0 -0
  103. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/models/autoencoders/autoencoder_kl.py +0 -0
  104. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/models/autoencoders/autoencoder_kl_cosmos.py +0 -0
  105. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/models/autoencoders/vae.py +0 -0
  106. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/models/autoencoders/vq_model.py +0 -0
  107. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/models/controlnet.py +0 -0
  108. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/models/transformers/__init__.py +0 -0
  109. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/models/transformers/prior_transformer.py +0 -0
  110. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/models/transformers/transformer_cosmos.py +0 -0
  111. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/models/transformers/transformer_sd3.py +0 -0
  112. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/models/unets/__init__.py +0 -0
  113. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/models/unets/unet_2d_condition.py +0 -0
  114. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/__init__.py +0 -0
  115. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/controlnet/__init__.py +0 -0
  116. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/controlnet/multicontrolnet.py +0 -0
  117. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet.py +0 -0
  118. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py +0 -0
  119. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl.py +0 -0
  120. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl_img2img.py +0 -0
  121. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/cosmos/__init__.py +0 -0
  122. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/cosmos/configuration_cosmos_guardrail.py +0 -0
  123. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/cosmos/cosmos_guardrail.py +0 -0
  124. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/cosmos/pipeline_cosmos_text2world.py +0 -0
  125. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/cosmos/pipeline_cosmos_video2world.py +0 -0
  126. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/__init__.py +0 -0
  127. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2.py +0 -0
  128. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_combined.py +0 -0
  129. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_img2img.py +0 -0
  130. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_inpaint.py +0 -0
  131. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior.py +0 -0
  132. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/__init__.py +0 -0
  133. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py +0 -0
  134. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py +0 -0
  135. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py +0 -0
  136. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/__init__.py +0 -0
  137. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3.py +0 -0
  138. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_img2img.py +0 -0
  139. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_inpaint.py +0 -0
  140. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/__init__.py +0 -0
  141. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py +0 -0
  142. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py +0 -0
  143. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_inpaint.py +0 -0
  144. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/ops/__init__.py +0 -0
  145. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/ops/attn.py +0 -0
  146. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/ops/flash_attn.py +0 -0
  147. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/ops/kv_cache_update.py +0 -0
  148. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/ops/linear.py +0 -0
  149. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/ops/sliding_window_attn.py +0 -0
  150. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/__init__.py +0 -0
  151. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/configuration_generic.py +0 -0
  152. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/modeling_generic.py +0 -0
  153. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/modeling_rope_utils.py +0 -0
  154. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/__init__.py +0 -0
  155. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/audio_spectrogram_transformer/__init__.py +0 -0
  156. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/audio_spectrogram_transformer/configuration_audio_spectrogram_transformer.py +0 -0
  157. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/audio_spectrogram_transformer/modeling_audio_spectrogram_transformer.py +0 -0
  158. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/auto/__init__.py +0 -0
  159. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/auto/auto_factory.py +0 -0
  160. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/auto/modeling_auto.py +0 -0
  161. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/bart/__init__.py +0 -0
  162. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/bart/bart_architecture.py +0 -0
  163. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/bart/configuration_bart.py +0 -0
  164. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/bart/modeling_bart.py +0 -0
  165. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/bert/__init__.py +0 -0
  166. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/bert/configuration_bert.py +0 -0
  167. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/bert/modeling_bert.py +0 -0
  168. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/blip_2/__init__.py +0 -0
  169. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/blip_2/configuration_blip_2.py +0 -0
  170. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/blip_2/modeling_blip_2.py +0 -0
  171. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/clip/__init__.py +0 -0
  172. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/colpali/__init__.py +0 -0
  173. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/colpali/colpali_architecture.py +0 -0
  174. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/colpali/configuration_colpali.py +0 -0
  175. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/colpali/modeling_colpali.py +0 -0
  176. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/decoderonly/__init__.py +0 -0
  177. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/decoderonly/configuration_decoderonly.py +0 -0
  178. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/decoderonly/decoderonly_architecture.py +0 -0
  179. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/distilbert/__init__.py +0 -0
  180. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/distilbert/configuration_distilbert.py +0 -0
  181. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/distilbert/modeling_distilbert.py +0 -0
  182. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/dpt/__init__.py +0 -0
  183. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/dpt/configuration_dpt.py +0 -0
  184. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/dpt/modeling_dpt.py +0 -0
  185. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/exaone/__init__.py +0 -0
  186. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/exaone/configuration_exaone.py +0 -0
  187. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/exaone/exaone_architecture.py +0 -0
  188. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/exaone/modeling_exaone.py +0 -0
  189. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/gemma/__init__.py +0 -0
  190. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/gemma/configuration_gemma.py +0 -0
  191. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/gemma/gemma_architecture.py +0 -0
  192. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/gemma/modeling_gemma.py +0 -0
  193. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/gemma3/__init__.py +0 -0
  194. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/gemma3/gemma3_architecture.py +0 -0
  195. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/gpt2/__init__.py +0 -0
  196. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/gpt2/configuration_gpt2.py +0 -0
  197. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/gpt2/gpt2_architecture.py +0 -0
  198. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/gpt2/modeling_gpt2.py +0 -0
  199. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/idefics3/__init__.py +0 -0
  200. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/idefics3/configuration_idefics3.py +0 -0
  201. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/idefics3/modeling_idefics3.py +0 -0
  202. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/llama/__init__.py +0 -0
  203. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/llama/configuration_llama.py +0 -0
  204. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/llama/llama_architecture.py +0 -0
  205. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/llama/modeling_llama.py +0 -0
  206. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/llava_next/__init__.py +0 -0
  207. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/llava_next/modeling_llava_next.py +0 -0
  208. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/midm/__init__.py +0 -0
  209. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/midm/configuration_midm.py +0 -0
  210. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/midm/midm_architecture.py +0 -0
  211. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/midm/modeling_midm.py +0 -0
  212. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/mistral/__init__.py +0 -0
  213. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/mistral/configuration_mistral.py +0 -0
  214. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/mistral/mistral_architecture.py +0 -0
  215. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/mistral/modeling_mistral.py +0 -0
  216. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/opt/__init__.py +0 -0
  217. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/opt/configuration_opt.py +0 -0
  218. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/opt/modeling_opt.py +0 -0
  219. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/opt/opt_architecture.py +0 -0
  220. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/phi/__init__.py +0 -0
  221. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/phi/configuration_phi.py +0 -0
  222. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/phi/modeling_phi.py +0 -0
  223. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/phi/phi_architecture.py +0 -0
  224. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/qwen2/__init__.py +0 -0
  225. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/qwen2/configuration_qwen2.py +0 -0
  226. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/qwen2/modeling_qwen2.py +0 -0
  227. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/qwen2/qwen2_architecture.py +0 -0
  228. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/qwen2_5_vl/__init__.py +0 -0
  229. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py +0 -0
  230. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/qwen2_5_vl/modeling_qwen2_5_vl.py +0 -0
  231. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/qwen2_5_vl/qwen2_5_vl_architecture.py +0 -0
  232. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/qwen3/__init__.py +0 -0
  233. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/qwen3/configuration_qwen3.py +0 -0
  234. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/qwen3/modeling_qwen3.py +0 -0
  235. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/qwen3/qwen3_architecture.py +0 -0
  236. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/resnet/__init__.py +0 -0
  237. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/resnet/configuration_resnet.py +0 -0
  238. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/resnet/modeling_resnet.py +0 -0
  239. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/roberta/__init__.py +0 -0
  240. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/roberta/configuration_roberta.py +0 -0
  241. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/roberta/modeling_roberta.py +0 -0
  242. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/seq2seq/__init__.py +0 -0
  243. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/seq2seq/configuration_seq2seq.py +0 -0
  244. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/seq2seq/modeling_seq2seq.py +0 -0
  245. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/seq2seq/seq2seq_architecture.py +0 -0
  246. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/siglip/__init__.py +0 -0
  247. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/siglip/configuration_siglip.py +0 -0
  248. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/siglip/modeling_siglip.py +0 -0
  249. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/t5/__init__.py +0 -0
  250. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/t5/configuration_t5.py +0 -0
  251. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/t5/modeling_t5.py +0 -0
  252. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/t5/t5_architecture.py +0 -0
  253. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/time_series_transformer/__init__.py +0 -0
  254. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/time_series_transformer/configuration_time_series_transformer.py +0 -0
  255. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/time_series_transformer/modeling_time_series_transformer.py +0 -0
  256. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/time_series_transformer/time_series_transformers_architecture.py +0 -0
  257. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/vit/__init__.py +0 -0
  258. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/vit/configuration_vit.py +0 -0
  259. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/vit/modeling_vit.py +0 -0
  260. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/wav2vec2/__init__.py +0 -0
  261. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/wav2vec2/configuration_wav2vec2.py +0 -0
  262. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/wav2vec2/modeling_wav2vec2.py +0 -0
  263. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/whisper/__init__.py +0 -0
  264. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/whisper/configuration_whisper.py +0 -0
  265. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/whisper/generation_whisper.py +0 -0
  266. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/whisper/modeling_whisper.py +0 -0
  267. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/whisper/whisper_architecture.py +0 -0
  268. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/xlm_roberta/__init__.py +0 -0
  269. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/xlm_roberta/configuration_xlm_roberta.py +0 -0
  270. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/models/xlm_roberta/modeling_xlm_roberta.py +0 -0
  271. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/utils/__init__.py +0 -0
  272. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/transformers/utils/rbln_quantization.py +0 -0
  273. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/utils/__init__.py +0 -0
  274. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/utils/decorator_utils.py +0 -0
  275. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/utils/import_utils.py +0 -0
  276. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/utils/logging.py +0 -0
  277. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/utils/model_utils.py +0 -0
  278. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/utils/runtime_utils.py +0 -0
  279. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/utils/save_utils.py +0 -0
  280. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/src/optimum/rbln/utils/submodule.py +0 -0
  281. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/tests/__init__.py +0 -0
  282. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/tests/psnr.py +0 -0
  283. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/tests/requirements_sdxl.txt +0 -0
  284. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/tests/run_stable_diffusion_xl_base.py +0 -0
  285. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/tests/test_config.py +0 -0
  286. {optimum_rbln-0.8.2a2 → optimum_rbln-0.8.2a3}/uv.lock +0 -0
@@ -20,12 +20,19 @@ on:
20
20
  required: false
21
21
  type: string
22
22
  default: "default"
23
+ enable_hf_hub_tests:
24
+ description: "Whether to enable HF Hub tests (requires HF credentials)"
25
+ required: false
26
+ type: boolean
27
+ default: false
23
28
 
24
29
  env:
25
30
  REBEL_PYPI_ENDPOINT: ${{ vars.REBEL_PYPI_INTERNAL_ENDPOINT }}
26
31
  REBEL_PYPI_USERNAME: ${{ secrets.REBEL_PYPI_USERNAME }}
27
32
  REBEL_PYPI_PASSWORD: ${{ secrets.REBEL_PYPI_PASSWORD }}
28
33
  HF_HOME: ${{ secrets.HF_HOME }}
34
+ HF_USER_ID: ${{ inputs.enable_hf_hub_tests && secrets.HF_USER_ID || '' }}
35
+ HF_AUTH_TOKEN: ${{ inputs.enable_hf_hub_tests && secrets.HF_AUTH_TOKEN || '' }}
29
36
 
30
37
  jobs:
31
38
  pytest:
@@ -47,6 +47,7 @@ jobs:
47
47
  ref: main
48
48
  rebel_compiler_version: ${{ needs.check-compiler.outputs.compiler_version }}
49
49
  test_level: "full"
50
+ enable_hf_hub_tests: true
50
51
  secrets: inherit
51
52
 
52
53
  optimum-rbln-inference-test:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: optimum-rbln
3
- Version: 0.8.2a2
3
+ Version: 0.8.2a3
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
@@ -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.2a2'
21
- __version_tuple__ = version_tuple = (0, 8, 2, 'a2')
20
+ __version__ = version = '0.8.2a3'
21
+ __version_tuple__ = version_tuple = (0, 8, 2, 'a3')
@@ -70,8 +70,6 @@ class RBLNDiffusionMixin:
70
70
  _submodules = []
71
71
  _optional_submodules = []
72
72
  _prefix = {}
73
- _rbln_config_class = None
74
- _hf_class = None
75
73
 
76
74
  @staticmethod
77
75
  def _maybe_apply_and_fuse_lora(
@@ -114,14 +112,14 @@ class RBLNDiffusionMixin:
114
112
  @classmethod
115
113
  def get_rbln_config_class(cls) -> Type[RBLNModelConfig]:
116
114
  # Lazily loads and caches the corresponding RBLN model config class.
117
- if cls._rbln_config_class is None:
115
+ if "_rbln_config_class" not in cls.__dict__ or cls._rbln_config_class is None:
118
116
  rbln_config_class_name = cls.__name__ + "Config"
119
117
  cls._rbln_config_class = get_rbln_config_class(rbln_config_class_name)
120
118
  return cls._rbln_config_class
121
119
 
122
120
  @classmethod
123
121
  def get_hf_class(cls):
124
- if cls._hf_class is None:
122
+ if "_hf_class" not in cls.__dict__ or cls._hf_class is None:
125
123
  hf_cls_name = cls.__name__[4:]
126
124
  library = importlib.import_module("diffusers")
127
125
  cls._hf_class = getattr(library, hf_cls_name, None)
@@ -35,8 +35,6 @@ logger = get_logger(__name__)
35
35
 
36
36
 
37
37
  class RBLNModel(RBLNBaseModel):
38
- _output_class = None
39
-
40
38
  @classmethod
41
39
  def update_kwargs(cls, kwargs):
42
40
  # Update user-given kwargs to get proper pytorch model.
@@ -289,7 +287,7 @@ class RBLNModel(RBLNBaseModel):
289
287
  @classmethod
290
288
  def get_hf_output_class(cls):
291
289
  # Dynamically gets the output class from the corresponding HuggingFace model class.
292
- if cls._output_class:
290
+ if "_output_class" in cls.__dict__ and cls._output_class is not None:
293
291
  return cls._output_class
294
292
 
295
293
  hf_class = cls.get_hf_class()
@@ -23,9 +23,10 @@ from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Type, Union
23
23
  import rebel
24
24
  import torch
25
25
  from transformers import AutoConfig, AutoModel, GenerationConfig, PretrainedConfig
26
+ from transformers.utils.hub import PushToHubMixin
26
27
 
27
28
  from .configuration_utils import RBLNAutoConfig, RBLNCompileConfig, RBLNModelConfig, get_rbln_config_class
28
- from .utils.hub import PushToHubMixin, pull_compiled_model_from_hub, validate_files
29
+ from .utils.hub import pull_compiled_model_from_hub, validate_files
29
30
  from .utils.logging import get_logger
30
31
  from .utils.runtime_utils import UnavailableRuntime, tp_and_devices_are_ok
31
32
  from .utils.save_utils import maybe_load_preprocessors
@@ -50,11 +51,8 @@ class RBLNBaseModel(SubModulesMixin, PushToHubMixin, PreTrainedModel):
50
51
  model_type = "rbln_model"
51
52
  auto_model_class = AutoModel
52
53
  config_class = AutoConfig
53
-
54
54
  config_name = "config.json"
55
55
  hf_library_name = "transformers"
56
- _hf_class = None
57
- _rbln_config_class = None
58
56
 
59
57
  def __init__(
60
58
  self,
@@ -115,7 +113,7 @@ class RBLNBaseModel(SubModulesMixin, PushToHubMixin, PreTrainedModel):
115
113
  def _load_compiled_model_dir(
116
114
  cls,
117
115
  model_id: Union[str, Path],
118
- use_auth_token: Optional[Union[bool, str]] = None,
116
+ token: Optional[Union[bool, str]] = None,
119
117
  revision: Optional[str] = None,
120
118
  force_download: bool = False,
121
119
  cache_dir: Optional[str] = None,
@@ -134,7 +132,7 @@ class RBLNBaseModel(SubModulesMixin, PushToHubMixin, PreTrainedModel):
134
132
  model_path = pull_compiled_model_from_hub(
135
133
  model_id=model_id,
136
134
  subfolder=subfolder,
137
- use_auth_token=use_auth_token,
135
+ token=token,
138
136
  revision=revision,
139
137
  cache_dir=cache_dir,
140
138
  force_download=force_download,
@@ -172,7 +170,7 @@ class RBLNBaseModel(SubModulesMixin, PushToHubMixin, PreTrainedModel):
172
170
  cls,
173
171
  model_id: Union[str, Path],
174
172
  config: Optional["PretrainedConfig"] = None,
175
- use_auth_token: Optional[Union[bool, str]] = None,
173
+ token: Optional[Union[bool, str]] = None,
176
174
  revision: Optional[str] = None,
177
175
  force_download: bool = False,
178
176
  cache_dir: Optional[str] = None,
@@ -189,7 +187,7 @@ class RBLNBaseModel(SubModulesMixin, PushToHubMixin, PreTrainedModel):
189
187
  if rbln_compiled_models is None:
190
188
  model_path_subfolder = cls._load_compiled_model_dir(
191
189
  model_id=model_id,
192
- use_auth_token=use_auth_token,
190
+ token=token,
193
191
  revision=revision,
194
192
  force_download=force_download,
195
193
  cache_dir=cache_dir,
@@ -232,7 +230,7 @@ class RBLNBaseModel(SubModulesMixin, PushToHubMixin, PreTrainedModel):
232
230
  cache_dir=cache_dir,
233
231
  force_download=force_download,
234
232
  revision=revision,
235
- token=use_auth_token,
233
+ token=token,
236
234
  trust_remote_code=trust_remote_code,
237
235
  )
238
236
  elif cls.hf_library_name == "diffusers":
@@ -250,7 +248,7 @@ class RBLNBaseModel(SubModulesMixin, PushToHubMixin, PreTrainedModel):
250
248
  force_download=force_download,
251
249
  local_files_only=local_files_only,
252
250
  revision=revision,
253
- token=use_auth_token,
251
+ token=token,
254
252
  subfolder=subfolder,
255
253
  )
256
254
  config = PretrainedConfig(**config)
@@ -421,7 +419,7 @@ class RBLNBaseModel(SubModulesMixin, PushToHubMixin, PreTrainedModel):
421
419
 
422
420
  # Returns:
423
421
  # type: The original HuggingFace model class
424
- if cls._hf_class is None:
422
+ if "_hf_class" not in cls.__dict__ or cls._hf_class is None:
425
423
  hf_cls_name = cls.__name__[4:]
426
424
  library = importlib.import_module(cls.hf_library_name)
427
425
  cls._hf_class = getattr(library, hf_cls_name, None)
@@ -430,7 +428,7 @@ class RBLNBaseModel(SubModulesMixin, PushToHubMixin, PreTrainedModel):
430
428
  @classmethod
431
429
  def get_rbln_config_class(cls) -> Type[RBLNModelConfig]:
432
430
  # Lazily loads and caches the corresponding RBLN model config class.
433
- if cls._rbln_config_class is None:
431
+ if "_rbln_config_class" not in cls.__dict__ or cls._rbln_config_class is None:
434
432
  rbln_config_class_name = cls.__name__ + "Config"
435
433
  cls._rbln_config_class = get_rbln_config_class(rbln_config_class_name)
436
434
  return cls._rbln_config_class
@@ -507,6 +505,9 @@ class RBLNBaseModel(SubModulesMixin, PushToHubMixin, PreTrainedModel):
507
505
  f"Please ensure the model directory exists and you have the necessary permissions to access it."
508
506
  )
509
507
 
508
+ if isinstance(self.config, PretrainedConfig):
509
+ self.config.save_pretrained(real_save_dir)
510
+
510
511
  if save_directory_path == real_save_dir:
511
512
  raise FileExistsError(
512
513
  f"Cannot save model to '{save_directory}'. This directory already exists and contains the model files."
@@ -534,7 +535,10 @@ class RBLNBaseModel(SubModulesMixin, PushToHubMixin, PreTrainedModel):
534
535
  raise e # Re-raise the exception after cleanup
535
536
 
536
537
  if push_to_hub:
537
- return super().push_to_hub(str(save_directory_path), **kwargs)
538
+ repo_id = kwargs.pop("repo_id", None)
539
+ if repo_id is None:
540
+ raise ValueError("`repo_id` must be provided to push the model to the HuggingFace model hub.")
541
+ return super().push_to_hub(repo_id=repo_id, **kwargs)
538
542
 
539
543
  @staticmethod
540
544
  def _raise_missing_compiled_file_error(missing_files: List[str]):
@@ -43,7 +43,15 @@ class RBLNCLIPTextModelWithProjectionConfig(RBLNCLIPTextModelConfig):
43
43
 
44
44
 
45
45
  class RBLNCLIPVisionModelConfig(RBLNModelConfig):
46
- def __init__(self, batch_size: Optional[int] = None, image_size: Optional[int] = None, **kwargs: Dict[str, Any]):
46
+ def __init__(
47
+ self,
48
+ batch_size: Optional[int] = None,
49
+ image_size: Optional[int] = None,
50
+ interpolate_pos_encoding: Optional[bool] = None,
51
+ output_hidden_states: Optional[bool] = None,
52
+ output_attentions: Optional[bool] = None,
53
+ **kwargs: Dict[str, Any],
54
+ ):
47
55
  """
48
56
  Args:
49
57
  batch_size (Optional[int]): The batch size for image processing. Defaults to 1.
@@ -60,6 +68,9 @@ class RBLNCLIPVisionModelConfig(RBLNModelConfig):
60
68
  raise ValueError(f"batch_size must be a positive integer, got {self.batch_size}")
61
69
 
62
70
  self.image_size = image_size
71
+ self.interpolate_pos_encoding = interpolate_pos_encoding or False
72
+ self.output_hidden_states = output_hidden_states
73
+ self.output_attentions = output_attentions
63
74
 
64
75
  @property
65
76
  def image_width(self):
@@ -16,6 +16,7 @@ from typing import TYPE_CHECKING, Optional, Tuple, Union
16
16
 
17
17
  import torch
18
18
  from transformers import CLIPTextConfig, CLIPTextModel, CLIPVisionConfig, CLIPVisionModel
19
+ from transformers.modeling_outputs import BaseModelOutputWithPooling
19
20
  from transformers.models.clip.modeling_clip import CLIPTextModelOutput, CLIPVisionModelOutput
20
21
 
21
22
  from ....configuration_utils import RBLNCompileConfig
@@ -111,12 +112,27 @@ class RBLNCLIPTextModelWithProjection(RBLNCLIPTextModel):
111
112
 
112
113
 
113
114
  class _VisionEncoder(torch.nn.Module):
114
- def __init__(self, enc: CLIPVisionModel):
115
+ def __init__(
116
+ self,
117
+ enc: CLIPVisionModel,
118
+ interpolate_pos_encoding: bool,
119
+ output_hidden_states: bool,
120
+ output_attentions: bool,
121
+ ):
115
122
  super().__init__()
116
123
  self.enc = enc
124
+ self.interpolate_pos_encoding = interpolate_pos_encoding
125
+ self.output_hidden_states = output_hidden_states
126
+ self.output_attentions = output_attentions
117
127
 
118
128
  def forward(self, inp):
119
- enc_out = self.enc(inp, output_hidden_states=True, return_dict=False)
129
+ enc_out = self.enc(
130
+ inp,
131
+ output_hidden_states=self.output_hidden_states,
132
+ interpolate_pos_encoding=self.interpolate_pos_encoding,
133
+ output_attentions=self.output_attentions,
134
+ return_dict=False,
135
+ )
120
136
  return enc_out
121
137
 
122
138
 
@@ -130,7 +146,12 @@ class RBLNCLIPVisionModel(RBLNModel):
130
146
 
131
147
  @classmethod
132
148
  def wrap_model_if_needed(cls, model: torch.nn.Module, rbln_config: RBLNCLIPVisionModelConfig) -> torch.nn.Module:
133
- return _VisionEncoder(model).eval()
149
+ wrapper_cfg = {
150
+ "interpolate_pos_encoding": rbln_config.interpolate_pos_encoding,
151
+ "output_hidden_states": rbln_config.output_hidden_states,
152
+ "output_attentions": rbln_config.output_attentions,
153
+ }
154
+ return _VisionEncoder(model, **wrapper_cfg).eval()
134
155
 
135
156
  @classmethod
136
157
  def update_rbln_config_using_pipe(
@@ -155,6 +176,12 @@ class RBLNCLIPVisionModel(RBLNModel):
155
176
  if rbln_config.image_size is None:
156
177
  raise ValueError("`rbln_image_size` should be specified!")
157
178
 
179
+ if rbln_config.output_attentions is None:
180
+ rbln_config.output_attentions = getattr(model_config, "output_attentions", False)
181
+
182
+ if rbln_config.output_hidden_states is None:
183
+ rbln_config.output_hidden_states = getattr(model_config, "output_hidden_states", False)
184
+
158
185
  rbln_compile_config = RBLNCompileConfig(
159
186
  input_info=[
160
187
  (
@@ -176,27 +203,76 @@ class RBLNCLIPVisionModel(RBLNModel):
176
203
  def forward(
177
204
  self,
178
205
  pixel_values: Optional[torch.FloatTensor] = None,
179
- return_dict: bool = None,
206
+ return_dict: bool = True,
207
+ output_attentions: bool = None,
208
+ output_hidden_states: bool = None,
209
+ interpolate_pos_encoding: bool = False,
180
210
  **kwargs,
181
- ) -> Union[Tuple, CLIPVisionModelOutput]:
211
+ ) -> Union[Tuple, BaseModelOutputWithPooling]:
182
212
  if len(kwargs) > 0 and any(value is not None for value in kwargs.values()):
183
213
  logger.warning(
184
214
  f"Currently, optimum-rbln does not support kwargs {kwargs.keys()} for {self.__class__.__name__}."
185
215
  )
216
+
217
+ output_attentions = output_attentions if output_attentions is not None else self.rbln_config.output_attentions
218
+ output_hidden_states = (
219
+ output_hidden_states if output_hidden_states is not None else self.rbln_config.output_hidden_states
220
+ )
221
+
222
+ if output_attentions != self.rbln_config.output_attentions:
223
+ raise ValueError(
224
+ f"Variable output_attentions {output_attentions} is not equal to rbln_config.output_attentions {self.rbln_config.output_attentions} "
225
+ f"Please compile again with the correct argument."
226
+ )
227
+
228
+ if output_hidden_states != self.rbln_config.output_hidden_states:
229
+ raise ValueError(
230
+ f"Variable output_hidden_states {output_hidden_states} is not equal to rbln_config.output_hidden_states {self.rbln_config.output_hidden_states} "
231
+ f"Please compile again with the correct argument."
232
+ )
233
+
234
+ if interpolate_pos_encoding != self.rbln_config.interpolate_pos_encoding:
235
+ raise ValueError(
236
+ f"Variable interpolate_pos_encoding {interpolate_pos_encoding} is not equal to rbln_config.interpolate_pos_encoding {self.rbln_config.interpolate_pos_encoding} "
237
+ f"Please compile again with the correct argument."
238
+ )
239
+
186
240
  output = super().forward(pixel_values, return_dict=return_dict)
187
241
  return output
188
242
 
189
243
  def _prepare_output(self, output, return_dict):
190
244
  # Prepare model output based on return_dict flag.
191
245
  # This method can be overridden by subclasses to provide task-specific output handling.
246
+ last_hidden_state = output.pop(0)
247
+ pooler_output = output.pop(0)
248
+ vision_config = self.config.vision_config if hasattr(self.config, "vision_config") else self.config
249
+
250
+ if self.rbln_config.output_hidden_states:
251
+ hidden_states = ()
252
+ num_hidden_layers = vision_config.num_hidden_layers
253
+ for _ in range(num_hidden_layers + 1):
254
+ hidden_states += (output.pop(0),)
255
+ else:
256
+ hidden_states = None
257
+
258
+ if self.rbln_config.output_attentions:
259
+ attentions = ()
260
+ num_hidden_layers = vision_config.num_hidden_layers
261
+ for _ in range(num_hidden_layers):
262
+ attentions += (output.pop(0),)
263
+ else:
264
+ attentions = None
192
265
 
193
266
  if not return_dict:
194
- return (output,) if not isinstance(output, (tuple, list)) else output
267
+ return tuple(
268
+ item for item in (last_hidden_state, pooler_output, hidden_states, attentions) if item is not None
269
+ )
195
270
  else:
196
- return CLIPVisionModelOutput(
197
- image_embeds=output[0],
198
- last_hidden_state=output[1],
199
- hidden_states=output[2:],
271
+ return BaseModelOutputWithPooling(
272
+ last_hidden_state=last_hidden_state,
273
+ pooler_output=pooler_output,
274
+ hidden_states=hidden_states,
275
+ attentions=attentions,
200
276
  )
201
277
 
202
278
 
@@ -208,21 +284,40 @@ class RBLNCLIPVisionModelWithProjection(RBLNCLIPVisionModel):
208
284
  multimodal embedding alignment tasks.
209
285
  """
210
286
 
211
- def forward(
212
- self,
213
- pixel_values: Optional[torch.FloatTensor] = None,
214
- **kwargs,
215
- ) -> Union[Tuple, CLIPVisionModelOutput]:
216
- if len(kwargs) > 0 and any(kwargs.values()):
217
- logger.warning(f"Currently, optimum-rbln does not support kwargs {kwargs.keys()} for {self.__class__}.")
218
-
219
- output = super().forward(pixel_values)
220
- image_embeds = output[0]
221
- last_hidden_state = output[1]
222
- hidden_states = output[2:]
223
-
224
- return CLIPVisionModelOutput(
225
- image_embeds=image_embeds,
226
- last_hidden_state=last_hidden_state,
227
- hidden_states=hidden_states,
228
- )
287
+ def _prepare_output(self, output, return_dict):
288
+ # Prepare model output based on return_dict flag.
289
+ # This method can be overridden by subclasses to provide task-specific output handling.
290
+
291
+ image_embeds = output.pop(0) if isinstance(output, (tuple, list)) else output
292
+ last_hidden_state = output.pop(0)
293
+
294
+ vision_config = self.config.vision_config if hasattr(self.config, "vision_config") else self.config
295
+
296
+ if self.rbln_config.output_hidden_states:
297
+ hidden_states = ()
298
+ num_hidden_layers = vision_config.num_hidden_layers
299
+ for _ in range(num_hidden_layers + 1):
300
+ hidden_states += (output.pop(0),)
301
+ else:
302
+ hidden_states = None
303
+
304
+ if self.rbln_config.output_attentions:
305
+ attentions = ()
306
+ num_hidden_layers = vision_config.num_hidden_layers
307
+ for _ in range(num_hidden_layers):
308
+ attentions += (output.pop(0),)
309
+ else:
310
+ attentions = None
311
+
312
+ if not return_dict:
313
+ return tuple(
314
+ item for item in (image_embeds, last_hidden_state, hidden_states, attentions) if item is not None
315
+ )
316
+
317
+ else:
318
+ return CLIPVisionModelOutput(
319
+ image_embeds=image_embeds,
320
+ last_hidden_state=last_hidden_state,
321
+ hidden_states=hidden_states,
322
+ attentions=attentions,
323
+ )
@@ -352,8 +352,11 @@ class RBLNRuntimeModel(RBLNPytorchRuntime):
352
352
  if position_embed is not None:
353
353
  position_embed = torch.nn.functional.pad(position_embed, (0, 0, 0, padding_size))
354
354
 
355
+ if token_type_ids is not None:
356
+ token_type_ids = torch.nn.functional.pad(token_type_ids, (0, padding_size), value=-1)
357
+
355
358
  # Overwrite position_ids and padded_cache_lengths
356
- position_ids = None
359
+ position_ids = cache_position.clone()
357
360
  padded_cache_lengths = 0
358
361
 
359
362
  return (
@@ -365,6 +368,7 @@ class RBLNRuntimeModel(RBLNPytorchRuntime):
365
368
  position_embed,
366
369
  padded_cache_lengths,
367
370
  query_length,
371
+ token_type_ids,
368
372
  )
369
373
 
370
374
  def prefill_forward(
@@ -393,6 +397,7 @@ class RBLNRuntimeModel(RBLNPytorchRuntime):
393
397
  position_embed,
394
398
  padded_cache_lengths,
395
399
  query_length,
400
+ token_type_ids,
396
401
  ) = self._prepare_prefill_inputs(
397
402
  inputs, cache_position, attention_mask, position_embed, token_type_ids=token_type_ids
398
403
  )
@@ -23,22 +23,21 @@ from ..siglip.configuration_siglip import RBLNSiglipVisionModelConfig
23
23
  class RBLNGemma3ForCausalLMConfig(RBLNDecoderOnlyModelForCausalLMConfig):
24
24
  def __init__(
25
25
  self,
26
- prefill_chunk_size: Optional[int] = None,
27
26
  use_position_ids: Optional[bool] = None,
28
27
  use_attention_mask: Optional[bool] = None,
28
+ image_prefill_chunk_size: Optional[int] = None,
29
29
  **kwargs: Dict[str, Any],
30
30
  ):
31
31
  # use_attention_mask and use_position_ids are always True for Gemma3
32
32
  use_attention_mask = use_attention_mask or True
33
33
  use_position_ids = use_position_ids or True
34
- prefill_chunk_size = prefill_chunk_size or 256
35
34
 
36
35
  super().__init__(
37
- prefill_chunk_size=prefill_chunk_size,
38
36
  use_attention_mask=use_attention_mask,
39
37
  use_position_ids=use_position_ids,
40
38
  **kwargs,
41
39
  )
40
+ self.image_prefill_chunk_size = image_prefill_chunk_size
42
41
 
43
42
  npu = self.npu or rebel.get_npu_name()
44
43
  if npu == "RBLN-CA02":