optimum-rbln 0.7.3.post1__tar.gz → 0.7.4__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.
Files changed (254) hide show
  1. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/.github/ISSUE_TEMPLATE/model_request.md +1 -1
  2. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/.github/scripts/auto_code_review.py +5 -23
  3. optimum_rbln-0.7.4/.github/version.yaml +1 -0
  4. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/.github/workflows/auto_code_review.yml +1 -1
  5. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/.github/workflows/check_code_quality.yml +1 -1
  6. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/.github/workflows/deploy-on-tag.yaml +1 -1
  7. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/.github/workflows/pr-title-check.yaml +1 -1
  8. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/.github/workflows/pr_checklist_validator.yml +1 -1
  9. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/.github/workflows/rbln_optimum_pytest.yaml +10 -2
  10. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/PKG-INFO +6 -6
  11. optimum_rbln-0.7.4/examples/image-to-text/run_idefics3.py +67 -0
  12. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/kandinsky2_2/run_kandinsky2_2_img2img.py +2 -0
  13. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/question-answering/run_question_answering.py +1 -1
  14. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/stable-diffusion/run_stable_diffusion.py +5 -0
  15. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/stable-diffusion/run_stable_diffusion_controlnet.py +8 -0
  16. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/stable-diffusion/run_stable_diffusion_img2img.py +5 -0
  17. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/stable-diffusion/run_stable_diffusion_img2img_controlnet.py +8 -0
  18. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/stable-diffusion/run_stable_diffusion_multicontrolnet.py +1 -0
  19. optimum_rbln-0.7.4/examples/time-series-forecasting/run_time_series_forecasting.py +43 -0
  20. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/pyproject.toml +7 -5
  21. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/__init__.py +173 -35
  22. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/__version__.py +2 -2
  23. optimum_rbln-0.7.4/src/optimum/rbln/configuration_utils.py +816 -0
  24. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/__init__.py +56 -0
  25. optimum_rbln-0.7.4/src/optimum/rbln/diffusers/configurations/__init__.py +30 -0
  26. optimum_rbln-0.7.4/src/optimum/rbln/diffusers/configurations/models/__init__.py +6 -0
  27. optimum_rbln-0.7.4/src/optimum/rbln/diffusers/configurations/models/configuration_autoencoder_kl.py +66 -0
  28. optimum_rbln-0.7.4/src/optimum/rbln/diffusers/configurations/models/configuration_controlnet.py +62 -0
  29. optimum_rbln-0.7.4/src/optimum/rbln/diffusers/configurations/models/configuration_prior_transformer.py +52 -0
  30. optimum_rbln-0.7.4/src/optimum/rbln/diffusers/configurations/models/configuration_transformer_sd3.py +56 -0
  31. optimum_rbln-0.7.4/src/optimum/rbln/diffusers/configurations/models/configuration_unet_2d_condition.py +74 -0
  32. optimum_rbln-0.7.4/src/optimum/rbln/diffusers/configurations/models/configuration_vq_model.py +67 -0
  33. optimum_rbln-0.7.4/src/optimum/rbln/diffusers/configurations/pipelines/__init__.py +30 -0
  34. optimum_rbln-0.7.4/src/optimum/rbln/diffusers/configurations/pipelines/configuration_controlnet.py +236 -0
  35. optimum_rbln-0.7.4/src/optimum/rbln/diffusers/configurations/pipelines/configuration_kandinsky2_2.py +289 -0
  36. optimum_rbln-0.7.4/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion.py +118 -0
  37. optimum_rbln-0.7.4/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_3.py +143 -0
  38. optimum_rbln-0.7.4/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_xl.py +124 -0
  39. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/modeling_diffusers.py +111 -137
  40. optimum_rbln-0.7.4/src/optimum/rbln/diffusers/models/autoencoders/autoencoder_kl.py +210 -0
  41. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/models/autoencoders/vae.py +4 -6
  42. optimum_rbln-0.7.4/src/optimum/rbln/diffusers/models/autoencoders/vq_model.py +166 -0
  43. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/models/controlnet.py +56 -71
  44. optimum_rbln-0.7.4/src/optimum/rbln/diffusers/models/transformers/prior_transformer.py +137 -0
  45. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/models/transformers/transformer_sd3.py +44 -69
  46. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/models/unets/unet_2d_condition.py +111 -114
  47. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/controlnet/multicontrolnet.py +3 -4
  48. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet.py +2 -0
  49. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py +2 -0
  50. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl.py +2 -0
  51. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl_img2img.py +2 -0
  52. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2.py +2 -0
  53. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_combined.py +2 -0
  54. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_img2img.py +2 -0
  55. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_inpaint.py +2 -0
  56. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior.py +2 -0
  57. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py +4 -1
  58. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py +2 -0
  59. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py +2 -0
  60. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3.py +2 -0
  61. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_img2img.py +2 -0
  62. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_inpaint.py +2 -0
  63. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py +2 -0
  64. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py +2 -0
  65. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_inpaint.py +2 -0
  66. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/modeling.py +66 -40
  67. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/modeling_base.py +111 -86
  68. {optimum_rbln-0.7.3.post1/src/optimum/rbln/transformers/models/bart → optimum_rbln-0.7.4/src/optimum/rbln/ops}/__init__.py +4 -1
  69. optimum_rbln-0.7.4/src/optimum/rbln/ops/attn.py +287 -0
  70. optimum_rbln-0.7.4/src/optimum/rbln/ops/flash_attn.py +176 -0
  71. optimum_rbln-0.7.4/src/optimum/rbln/ops/kv_cache_update.py +24 -0
  72. optimum_rbln-0.7.4/src/optimum/rbln/ops/linear.py +25 -0
  73. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/__init__.py +97 -8
  74. optimum_rbln-0.7.4/src/optimum/rbln/transformers/configuration_alias.py +49 -0
  75. optimum_rbln-0.7.4/src/optimum/rbln/transformers/configuration_generic.py +142 -0
  76. optimum_rbln-0.7.4/src/optimum/rbln/transformers/modeling_generic.py +317 -0
  77. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/__init__.py +193 -0
  78. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/auto/auto_factory.py +6 -6
  79. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/bart/__init__.py +17 -0
  80. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/bart/configuration_bart.py +24 -0
  81. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/bart/modeling_bart.py +56 -0
  82. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/bert/__init__.py +1 -0
  83. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/bert/configuration_bert.py +31 -0
  84. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/bert/modeling_bert.py +35 -0
  85. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/clip/__init__.py +6 -0
  86. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/clip/configuration_clip.py +79 -0
  87. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/clip/modeling_clip.py +72 -75
  88. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/decoderonly/__init__.py +11 -0
  89. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/decoderonly/configuration_decoderonly.py +90 -0
  90. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/decoderonly/decoderonly_architecture.py +197 -178
  91. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/decoderonly/modeling_decoderonly.py +343 -249
  92. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/dpt/__init__.py +1 -0
  93. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/dpt/configuration_dpt.py +19 -0
  94. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/dpt/modeling_dpt.py +20 -0
  95. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/exaone/__init__.py +1 -0
  96. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/exaone/configuration_exaone.py +19 -0
  97. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/gemma/__init__.py +1 -0
  98. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/gemma/configuration_gemma.py +19 -0
  99. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/gpt2/__init__.py +1 -0
  100. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/gpt2/configuration_gpt2.py +19 -0
  101. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/idefics3/__init__.py +16 -0
  102. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/idefics3/configuration_idefics3.py +51 -0
  103. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/idefics3/modeling_idefics3.py +459 -0
  104. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/llama/__init__.py +1 -0
  105. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/llama/configuration_llama.py +19 -0
  106. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/llava_next/__init__.py +1 -0
  107. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/llava_next/configuration_llava_next.py +46 -0
  108. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/llava_next/modeling_llava_next.py +18 -23
  109. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/midm/__init__.py +1 -0
  110. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/midm/configuration_midm.py +19 -0
  111. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/mistral/__init__.py +1 -0
  112. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/mistral/configuration_mistral.py +19 -0
  113. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/phi/__init__.py +1 -0
  114. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/phi/configuration_phi.py +19 -0
  115. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/qwen2/__init__.py +1 -0
  116. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/qwen2/configuration_qwen2.py +19 -0
  117. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/qwen2_5_vl/__init__.py +19 -0
  118. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py +68 -0
  119. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/qwen2_5_vl/modeling_qwen2_5_vl.py +608 -0
  120. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/qwen2_5_vl/qwen2_5_vl_architecture.py +214 -0
  121. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/seq2seq/__init__.py +1 -0
  122. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/seq2seq/configuration_seq2seq2.py +66 -0
  123. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/seq2seq/modeling_seq2seq.py +99 -118
  124. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/seq2seq/seq2seq_architecture.py +12 -21
  125. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/t5/__init__.py +2 -0
  126. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/t5/configuration_t5.py +24 -0
  127. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/t5/modeling_t5.py +82 -0
  128. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/t5/t5_architecture.py +10 -5
  129. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/time_series_transformers/__init__.py +26 -0
  130. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/time_series_transformers/configuration_time_series_transformer.py +34 -0
  131. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/time_series_transformers/modeling_time_series_transformers.py +420 -0
  132. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/time_series_transformers/time_series_transformers_architecture.py +331 -0
  133. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/wav2vec2/__init__.py +1 -0
  134. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/wav2vec2/configuration_wav2vec.py +19 -0
  135. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/wav2vec2/modeling_wav2vec2.py +54 -0
  136. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/whisper/__init__.py +2 -0
  137. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/whisper/configuration_whisper.py +64 -0
  138. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/whisper/modeling_whisper.py +135 -100
  139. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/whisper/whisper_architecture.py +73 -40
  140. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/xlm_roberta/__init__.py +1 -0
  141. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/xlm_roberta/configuration_xlm_roberta.py +19 -0
  142. optimum_rbln-0.7.4/src/optimum/rbln/transformers/models/xlm_roberta/modeling_xlm_roberta.py +20 -0
  143. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/utils/hub.py +2 -2
  144. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/utils/import_utils.py +23 -6
  145. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/utils/model_utils.py +4 -4
  146. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/utils/runtime_utils.py +33 -2
  147. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/utils/submodule.py +36 -44
  148. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/tests/run_stable_diffusion_xl_base.py +1 -0
  149. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/tests/test_base.py +17 -11
  150. optimum_rbln-0.7.4/tests/test_config.py +132 -0
  151. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/tests/test_diffusers.py +47 -24
  152. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/tests/test_llm.py +82 -1
  153. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/tests/test_transformers.py +84 -18
  154. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/uv.lock +385 -133
  155. optimum_rbln-0.7.3.post1/.github/version.yaml +0 -1
  156. optimum_rbln-0.7.3.post1/src/optimum/rbln/diffusers/models/autoencoders/autoencoder_kl.py +0 -229
  157. optimum_rbln-0.7.3.post1/src/optimum/rbln/diffusers/models/autoencoders/vq_model.py +0 -167
  158. optimum_rbln-0.7.3.post1/src/optimum/rbln/diffusers/models/transformers/prior_transformer.py +0 -174
  159. optimum_rbln-0.7.3.post1/src/optimum/rbln/modeling_config.py +0 -310
  160. optimum_rbln-0.7.3.post1/src/optimum/rbln/ops/__init__.py +0 -21
  161. optimum_rbln-0.7.3.post1/src/optimum/rbln/ops/attn.py +0 -221
  162. optimum_rbln-0.7.3.post1/src/optimum/rbln/ops/flash_attn.py +0 -82
  163. optimum_rbln-0.7.3.post1/src/optimum/rbln/ops/kv_cache_update.py +0 -60
  164. optimum_rbln-0.7.3.post1/src/optimum/rbln/transformers/modeling_generic.py +0 -404
  165. optimum_rbln-0.7.3.post1/src/optimum/rbln/transformers/models/__init__.py +0 -105
  166. optimum_rbln-0.7.3.post1/src/optimum/rbln/transformers/models/bart/modeling_bart.py +0 -131
  167. optimum_rbln-0.7.3.post1/src/optimum/rbln/transformers/models/bert/modeling_bert.py +0 -108
  168. optimum_rbln-0.7.3.post1/src/optimum/rbln/transformers/models/dpt/modeling_dpt.py +0 -93
  169. optimum_rbln-0.7.3.post1/src/optimum/rbln/transformers/models/t5/modeling_t5.py +0 -210
  170. optimum_rbln-0.7.3.post1/src/optimum/rbln/transformers/models/wav2vec2/modeling_wav2vec2.py +0 -117
  171. optimum_rbln-0.7.3.post1/src/optimum/rbln/transformers/models/xlm_roberta/modeling_xlm_roberta.py +0 -100
  172. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  173. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  174. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  175. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/.github/pull_request_template.md +0 -0
  176. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/.github/scripts/validate_pr_checklist.py +0 -0
  177. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/.github/workflows/deploy.yaml +0 -0
  178. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/.github/workflows/rbln_check_compiler.yaml +0 -0
  179. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/.github/workflows/rbln_dispatch_pytest.yaml +0 -0
  180. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/.github/workflows/rbln_optimum_inference_test.yaml +0 -0
  181. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/.github/workflows/rbln_scheduled_test.yaml +0 -0
  182. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/.github/workflows/rbln_trigger_on_pr.yaml +0 -0
  183. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/.gitignore +0 -0
  184. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/CODE_OF_CONDUCT.md +0 -0
  185. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/CONTRIBUTING.md +0 -0
  186. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/LICENSE +0 -0
  187. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/README.md +0 -0
  188. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/assets/rbln_logo.png +0 -0
  189. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/audio-classification/run_ast_audio_classification.py +0 -0
  190. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/depth-estimation/run_dpt.py +0 -0
  191. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/image-classification/run_image_classification.py +0 -0
  192. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/image-classification/run_vit_image_classification.py +0 -0
  193. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/image-to-text/run_llava_next_image_to_text.py +0 -0
  194. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/kandinsky2_2/run_kandinsky2_2.py +0 -0
  195. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/kandinsky2_2/run_kandinsky2_2_combined.py +0 -0
  196. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/kandinsky2_2/run_kandinsky2_2_img2img_combined.py +0 -0
  197. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/kandinsky2_2/run_kandinsky2_2_inpaint.py +0 -0
  198. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/kandinsky2_2/run_kandinsky2_2_inpaint_combined.py +0 -0
  199. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/kandinsky2_2/run_kandinsky2_2_prior_interpolate.py +0 -0
  200. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/speech-recognition/run_wav2vec2.py +0 -0
  201. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/speech-recognition/run_whisper.py +0 -0
  202. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/stable-diffusion/run_stable_diffusion_inpaint.py +0 -0
  203. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/stable-diffusion/run_stable_diffusion_lora.py +0 -0
  204. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/text-classification/run_bge_m3_text_classification.py +0 -0
  205. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/text-classification/run_bge_reranker_v2_m3_text_classification.py +0 -0
  206. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/text-classification/run_secureBERT.py +0 -0
  207. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/text-classification/run_t5_classification.py +0 -0
  208. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/text-classification/run_twitter_roberta_text_classification.py +0 -0
  209. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/text2text-generation/run_bart_text2text_generation.py +0 -0
  210. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/text2text-generation/run_llama_peft.py +0 -0
  211. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/examples/text2text-generation/run_llama_text2text_generation.py +0 -0
  212. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/scripts/uv-lock.sh +0 -0
  213. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/scripts/uv-sync.sh +0 -0
  214. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/models/__init__.py +0 -0
  215. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/models/autoencoders/__init__.py +0 -0
  216. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/models/transformers/__init__.py +0 -0
  217. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/models/unets/__init__.py +0 -0
  218. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/__init__.py +0 -0
  219. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/controlnet/__init__.py +0 -0
  220. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/__init__.py +0 -0
  221. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/__init__.py +0 -0
  222. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/__init__.py +0 -0
  223. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/__init__.py +0 -0
  224. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/modeling_alias.py +0 -0
  225. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/modeling_rope_utils.py +0 -0
  226. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/auto/__init__.py +0 -0
  227. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/auto/modeling_auto.py +0 -0
  228. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/bart/bart_architecture.py +0 -0
  229. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/exaone/exaone_architecture.py +0 -0
  230. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/exaone/modeling_exaone.py +0 -0
  231. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/gemma/gemma_architecture.py +0 -0
  232. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/gemma/modeling_gemma.py +0 -0
  233. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/gpt2/gpt2_architecture.py +0 -0
  234. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/gpt2/modeling_gpt2.py +0 -0
  235. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/llama/llama_architecture.py +0 -0
  236. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/llama/modeling_llama.py +0 -0
  237. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/midm/midm_architecture.py +0 -0
  238. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/midm/modeling_midm.py +0 -0
  239. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/mistral/mistral_architecture.py +0 -0
  240. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/mistral/modeling_mistral.py +0 -0
  241. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/phi/modeling_phi.py +0 -0
  242. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/phi/phi_architecture.py +0 -0
  243. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/qwen2/modeling_qwen2.py +0 -0
  244. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/qwen2/qwen2_architecture.py +0 -0
  245. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/models/whisper/generation_whisper.py +0 -0
  246. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/utils/__init__.py +0 -0
  247. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/transformers/utils/rbln_quantization.py +0 -0
  248. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/utils/__init__.py +0 -0
  249. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/utils/decorator_utils.py +0 -0
  250. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/utils/logging.py +0 -0
  251. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/src/optimum/rbln/utils/save_utils.py +0 -0
  252. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/tests/__init__.py +0 -0
  253. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/tests/psnr.py +0 -0
  254. {optimum_rbln-0.7.3.post1 → optimum_rbln-0.7.4}/tests/requirements_sdxl.txt +0 -0
@@ -8,7 +8,7 @@ assignees: ''
8
8
 
9
9
  ### Model Information
10
10
  - Model name:
11
- - Model link (Hugging Face/Paper/GitHub):
11
+ - Model link (HuggingFace/Paper/GitHub):
12
12
  - Task type (e.g., Text Generation, Image Classification):
13
13
 
14
14
  ### Model Details
@@ -22,8 +22,7 @@ from github import Github
22
22
 
23
23
  model_name = os.environ["GOOGLE_MODEL_ID"]
24
24
  genai.configure(api_key=os.environ["GOOGLE_API_KEY"])
25
- max_context_token = 100000
26
- force_review = False
25
+ max_context_token = 500000
27
26
 
28
27
 
29
28
  def get_pr_diff():
@@ -37,7 +36,7 @@ def get_pr_diff():
37
36
 
38
37
 
39
38
  def get_prompt(diff, pr):
40
- system_prompt = """You are an experienced software engineer specializing in code reviews for deep learning libraries. Your task is to review code changes and related pull request (PR) information for `optimum-rbln`, a Python library that optimizes Hugging Face models for execution on RBLN NPUs.
39
+ system_prompt = """You are an experienced software engineer specializing in code reviews for deep learning libraries. Your task is to review code changes and related pull request (PR) information for `optimum-rbln`, a Python library that optimizes HuggingFace models for execution on RBLN NPUs.
41
40
 
42
41
  Focus on providing actionable and constructive feedback. Don't make generalized suggestions."""
43
42
 
@@ -58,19 +57,6 @@ Review the following code changes(GIT DIFF) along with the pull request (PR) det
58
57
  return system_prompt, prompt
59
58
 
60
59
 
61
- def translate_review(review):
62
- model = genai.GenerativeModel(
63
- model_name,
64
- system_instruction="You are a professional translator specializing in technical and software-related content. Keep the technical words in English, but understand the whole sentence and rephrase it in Korean.",
65
- )
66
- prompt = f"""Translate the following English text into Korean, maintaining technical accuracy and clarity. Include ONLY the translation, NO OTHER EXPLANATIONS or RESPONSES as a chatbot. :
67
-
68
- {review}"""
69
- response = model.generate_content(prompt)
70
-
71
- return response.text
72
-
73
-
74
60
  def review_code(system_prompt, prompt):
75
61
  model = genai.GenerativeModel(model_name, system_instruction=system_prompt)
76
62
  response = model.generate_content(prompt)
@@ -125,7 +111,7 @@ def main():
125
111
  system_prompt, prompt = get_prompt(diff, pr)
126
112
  model = genai.GenerativeModel(model_name=model_name, system_instruction=system_prompt)
127
113
  num_tokens = model.count_tokens(prompt).total_tokens
128
- if num_tokens > max_context_token and not force_review:
114
+ if num_tokens > max_context_token:
129
115
  msg = f"Diff ({len(diff)}) exceeds maximum allowed tokens ({max_context_token}) > ({num_tokens}). Skipping review."
130
116
  print(msg)
131
117
  pr.create_issue_comment(msg)
@@ -133,14 +119,10 @@ def main():
133
119
 
134
120
  # Get Auto review
135
121
  review = review_code(system_prompt, prompt)
136
- translation = translate_review(review)
137
122
 
138
123
  # Post comment on PR
139
- pr.create_issue_comment(f"""# Auto Code Review
140
-
141
- - [참고] Auto Code Review를 invoke하려면, commit message의 시작을 [autoreview]로 시작하거나, "/autoreview" 를 comment로 작성한 후,
142
- 해당 commit의 github action에서 code review를 re-run 하시면 됩니다.
143
- \n\n{review}\n\n{translation}""")
124
+ pr.create_issue_comment(f"""# Auto Code Review by {model_name}
125
+ \n\n{review}""")
144
126
 
145
127
 
146
128
  if __name__ == "__main__":
@@ -0,0 +1 @@
1
+ rebel_compiler_version: 0.7.4.dev61+gb562a7f0
@@ -14,7 +14,7 @@ env:
14
14
 
15
15
  jobs:
16
16
  auto-review:
17
- runs-on: ubuntu-latest
17
+ runs-on: ubuntu-latest-rbln
18
18
  steps:
19
19
  - name: Checkout repository
20
20
  uses: actions/checkout@v3
@@ -25,7 +25,7 @@ jobs:
25
25
  fail-fast: false
26
26
  matrix:
27
27
  python-version: [3.9]
28
- os: [ubuntu-latest]
28
+ os: [ubuntu-latest-rbln]
29
29
 
30
30
  runs-on: ${{ matrix.os }}
31
31
  steps:
@@ -28,7 +28,7 @@ jobs:
28
28
  workflow_id: 'rebel_dispatch_model_generation_for_vllm.yaml',
29
29
  ref: 'dev',
30
30
  inputs: {
31
- optimum_rbln_version: ${{ github.ref_name }},
31
+ optimum_rbln_version: "${{ github.ref_name }}",
32
32
  }
33
33
  })
34
34
  console.log(result)
@@ -20,7 +20,7 @@ permissions:
20
20
  jobs:
21
21
  title-checker:
22
22
  name: Check PR title
23
- runs-on: ubuntu-latest
23
+ runs-on: ubuntu-latest-rbln
24
24
  steps:
25
25
  - uses: amannn/action-semantic-pull-request@v5
26
26
  id: lint_pr_title
@@ -10,7 +10,7 @@ on:
10
10
 
11
11
  jobs:
12
12
  validate-pr-checklist:
13
- runs-on: ubuntu-latest
13
+ runs-on: ubuntu-latest-rbln
14
14
  steps:
15
15
  - name: Checkout repository
16
16
  uses: actions/checkout@v2
@@ -43,7 +43,9 @@ jobs:
43
43
  if: ${{ inputs.commit_message == '' }}
44
44
  run: |
45
45
  COMMIT_MESSAGE=$(git log -1 --pretty=%B)
46
- echo "message=$COMMIT_MESSAGE" >> $GITHUB_OUTPUT
46
+ echo "message<<EOF" >> $GITHUB_OUTPUT
47
+ echo "$COMMIT_MESSAGE" >> $GITHUB_OUTPUT
48
+ echo "EOF" >> $GITHUB_OUTPUT
47
49
 
48
50
  - name: Setup uv
49
51
  uses: astral-sh/setup-uv@v3
@@ -62,7 +64,13 @@ jobs:
62
64
  run: |
63
65
  PYPI_URL=$(echo ${{ env.REBEL_PYPI_ENDPOINT }} | sed "s/\/\//\0${{ env.REBEL_PYPI_USERNAME}}:${{ env.REBEL_PYPI_PASSWORD}}@/")
64
66
  uv pip install --extra-index-url $PYPI_URL rebel-compiler==${{ inputs.rebel_compiler_version }}
65
-
67
+
68
+ - name: Run pytest (config)
69
+ env:
70
+ OPTIMUM_RBLN_TEST_LEVEL: ${{ inputs.test_level }}
71
+ run: |
72
+ uv run --no-sync pytest tests/test_config.py
73
+
66
74
  - name: Run pytest (transformers)
67
75
  env:
68
76
  OPTIMUM_RBLN_TEST_LEVEL: ${{ inputs.test_level }}
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: optimum-rbln
3
- Version: 0.7.3.post1
4
- Summary: Optimum RBLN is the interface between the Hugging Face 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.
3
+ Version: 0.7.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
7
7
  Project-URL: Repository, https://github.com/rebellions-sw/optimum-rbln
@@ -25,10 +25,10 @@ Requires-Python: <3.13,>=3.9
25
25
  Requires-Dist: accelerate>=1.0.1
26
26
  Requires-Dist: diffusers<=0.31.0
27
27
  Requires-Dist: packaging>=24.1
28
- Requires-Dist: torch<=2.5.1
29
- Requires-Dist: torchaudio<=2.5.1
30
- Requires-Dist: torchvision<=0.20.1
31
- Requires-Dist: transformers==4.48.3
28
+ Requires-Dist: torch==2.6.0
29
+ Requires-Dist: torchaudio<=2.6.0
30
+ Requires-Dist: torchvision<=0.21.0
31
+ Requires-Dist: transformers==4.50.3
32
32
  Description-Content-Type: text/markdown
33
33
 
34
34
 
@@ -0,0 +1,67 @@
1
+ import os
2
+ import typing
3
+
4
+ import fire
5
+ from datasets import load_dataset
6
+ from transformers import AutoProcessor
7
+
8
+ from optimum.rbln import RBLNIdefics3ForConditionalGeneration
9
+
10
+
11
+ def main(
12
+ model_id: str = "HuggingFaceM4/Idefics3-8B-Llama3",
13
+ batch_size: int = 1,
14
+ from_transformers: bool = False,
15
+ prompt: typing.Optional[str] = None,
16
+ max_seq_len: typing.Optional[int] = None,
17
+ tensor_parallel_size: typing.Optional[int] = 4,
18
+ ):
19
+ processor = AutoProcessor.from_pretrained(model_id)
20
+
21
+ if from_transformers:
22
+ model = RBLNIdefics3ForConditionalGeneration.from_pretrained(
23
+ model_id,
24
+ export=True,
25
+ rbln_config={
26
+ "text_model": {
27
+ "attn_impl": "flash_attn",
28
+ "max_seq_len": max_seq_len,
29
+ "use_inputs_embeds": True,
30
+ "tensor_parallel_size": tensor_parallel_size,
31
+ "batch_size": batch_size,
32
+ }
33
+ },
34
+ )
35
+ model.save_pretrained(os.path.basename(model_id))
36
+ else:
37
+ model = RBLNIdefics3ForConditionalGeneration.from_pretrained(
38
+ os.path.basename(model_id),
39
+ export=False,
40
+ )
41
+
42
+ ds = load_dataset("HuggingFaceM4/the_cauldron", "ai2d", split="train")
43
+ samples = ds.select(range(batch_size))
44
+ images = []
45
+ prompts = []
46
+
47
+ for sample in samples:
48
+ img = sample["images"]
49
+ images.append(img)
50
+
51
+ message = [{"role": "user", "content": [{"type": "image"}, {"type": "text", "text": "Describe this image."}]}]
52
+ prompt = processor.apply_chat_template(message, add_generation_prompt=True)
53
+ prompts.append(prompt)
54
+
55
+ inputs = processor(text=prompts, images=images, return_tensors="pt", padding=True)
56
+ inputs = dict(inputs)
57
+ # Generate
58
+
59
+ generated_ids = model.generate(**inputs, max_new_tokens=500)
60
+ generated_texts = processor.batch_decode(generated_ids, skip_special_tokens=True)
61
+
62
+ for i, text in enumerate(generated_texts):
63
+ print(f"Sample {i + 1} generate:\n{text}\n")
64
+
65
+
66
+ if __name__ == "__main__":
67
+ fire.Fire(main)
@@ -20,6 +20,7 @@ def main(
20
20
  prior_pipe = RBLNKandinskyV22PriorPipeline.from_pretrained(
21
21
  model_id=prior_model_id,
22
22
  export=True,
23
+ rbln_config={"prior": {"batch_size": 2}},
23
24
  )
24
25
  prior_pipe.save_pretrained(os.path.basename(prior_model_id))
25
26
 
@@ -28,6 +29,7 @@ def main(
28
29
  export=True,
29
30
  rbln_img_height=768,
30
31
  rbln_img_width=768,
32
+ rbln_config={"unet": {"batch_size": 2}},
31
33
  )
32
34
  pipe.save_pretrained(os.path.basename(inpaint_model_id))
33
35
  else:
@@ -30,7 +30,7 @@ def main(
30
30
  model=model,
31
31
  tokenizer=model_id,
32
32
  padding="max_length",
33
- max_seq_len=model.rbln_config.model_cfg["max_seq_len"],
33
+ max_seq_len=model.rbln_config.max_seq_len,
34
34
  )
35
35
  question, text = (
36
36
  ["What is Rebellions?"] * batch_size,
@@ -16,6 +16,11 @@ def main(
16
16
  pipe = RBLNStableDiffusionPipeline.from_pretrained(
17
17
  model_id=model_id,
18
18
  export=True,
19
+ rbln_config={
20
+ "unet": {
21
+ "batch_size": 2,
22
+ }
23
+ },
19
24
  )
20
25
  pipe.save_pretrained(os.path.basename(model_id))
21
26
  else:
@@ -38,6 +38,14 @@ def main(
38
38
  controlnet=controlnet,
39
39
  rbln_img_width=img_width,
40
40
  rbln_img_height=img_height,
41
+ rbln_config={
42
+ "unet": {
43
+ "batch_size": 2,
44
+ },
45
+ "controlnet": {
46
+ "batch_size": 2,
47
+ },
48
+ },
41
49
  export=True,
42
50
  scheduler=UniPCMultistepScheduler.from_pretrained(diffusion_model_id, subfolder="scheduler"),
43
51
  )
@@ -29,6 +29,11 @@ def main(
29
29
  export=True,
30
30
  rbln_img_width=img_width,
31
31
  rbln_img_height=img_height,
32
+ rbln_config={
33
+ "unet": {
34
+ "batch_size": 2,
35
+ },
36
+ },
32
37
  )
33
38
  pipe.save_pretrained(os.path.basename(model_id))
34
39
  else:
@@ -40,6 +40,14 @@ def main(
40
40
  controlnet=controlnet,
41
41
  rbln_img_width=img_width,
42
42
  rbln_img_height=img_height,
43
+ rbln_config={
44
+ "unet": {
45
+ "batch_size": 2,
46
+ },
47
+ "controlnet": {
48
+ "batch_size": 2,
49
+ },
50
+ },
43
51
  export=True,
44
52
  scheduler=UniPCMultistepScheduler.from_pretrained(diffusion_model_id, subfolder="scheduler"),
45
53
  )
@@ -75,6 +75,7 @@ def main(
75
75
  images,
76
76
  negative_prompt=negative_prompt,
77
77
  num_inference_steps=20,
78
+ guidance_scale=0.0,
78
79
  controlnet_conditioning_scale=[1.0, 0.8],
79
80
  generator=torch.Generator(device="cpu").manual_seed(42),
80
81
  ).images[0]
@@ -0,0 +1,43 @@
1
+ import os
2
+
3
+ import fire
4
+ import torch
5
+ from huggingface_hub import hf_hub_download
6
+
7
+ from optimum.rbln import RBLNTimeSeriesTransformerForPrediction
8
+
9
+
10
+ def main(
11
+ model_id: str = "huggingface/time-series-transformer-tourism-monthly",
12
+ batch_size: int = 1,
13
+ num_parallel_samples: int = 100,
14
+ from_transformers: bool = False,
15
+ ):
16
+ if from_transformers:
17
+ model = RBLNTimeSeriesTransformerForPrediction.from_pretrained(
18
+ model_id, export=True, rbln_batch_size=batch_size, num_parallel_samples=num_parallel_samples
19
+ )
20
+ model.save_pretrained(os.path.basename(model_id))
21
+ else:
22
+ model = RBLNTimeSeriesTransformerForPrediction.from_pretrained(
23
+ os.path.basename(model_id),
24
+ export=False,
25
+ )
26
+
27
+ dataset = hf_hub_download(
28
+ repo_id="hf-internal-testing/tourism-monthly-batch", filename="val-batch.pt", repo_type="dataset"
29
+ )
30
+ data = torch.load(dataset, weights_only=True)
31
+
32
+ batched_data = {}
33
+ for k, v in data.items():
34
+ batched_data[k] = v[:batch_size]
35
+
36
+ rbln_outputs = model.generate(**batched_data)
37
+ mean_prediction = rbln_outputs.sequences.mean(dim=1)
38
+
39
+ print(mean_prediction)
40
+
41
+
42
+ if __name__ == "__main__":
43
+ fire.Fire(main)
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "optimum-rbln"
3
3
  description = """
4
- Optimum RBLN is the interface between the Hugging Face Transformers and Diffusers libraries and RBLN accelerators.
4
+ Optimum RBLN is the interface between the HuggingFace Transformers and Diffusers libraries and RBLN accelerators.
5
5
  It provides a set of tools enabling easy model loading and inference on single and multiple rbln device settings for different downstream tasks.
6
6
  """
7
7
  authors = [
@@ -28,11 +28,11 @@ classifiers = [
28
28
  ]
29
29
  keywords = ["transformers", "diffusers", "inference", "rbln", "atom", "rebel"]
30
30
  dependencies = [
31
- "torch<=2.5.1",
32
- "torchaudio<=2.5.1",
33
- "torchvision<=0.20.1",
31
+ "torch==2.6.0",
32
+ "torchaudio<=2.6.0",
33
+ "torchvision<=0.21.0",
34
34
  "accelerate>=1.0.1",
35
- "transformers==4.48.3",
35
+ "transformers==4.50.3",
36
36
  "diffusers<=0.31.0",
37
37
  "packaging>=24.1",
38
38
  ]
@@ -53,6 +53,8 @@ tests = [
53
53
  "sacremoses>=0.1.1",
54
54
  "safetensors>=0.4.2",
55
55
  "protobuf>=5.27.2",
56
+ "soundfile>=0.13.1",
57
+ "librosa>=0.11.0",
56
58
  ]
57
59
  quality = [
58
60
  "ruff>=0.3.3",