optimum-rbln 0.7.4a6__tar.gz → 0.7.4a7__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 (237) hide show
  1. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/PKG-INFO +1 -1
  2. optimum_rbln-0.7.4a7/examples/image-to-text/run_idefics3.py +67 -0
  3. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/__init__.py +8 -0
  4. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/__version__.py +2 -2
  5. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/__init__.py +8 -0
  6. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/__init__.py +12 -0
  7. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/decoderonly/decoderonly_architecture.py +2 -0
  8. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/decoderonly/modeling_decoderonly.py +6 -0
  9. optimum_rbln-0.7.4a7/src/optimum/rbln/transformers/models/idefics3/__init__.py +16 -0
  10. optimum_rbln-0.7.4a7/src/optimum/rbln/transformers/models/idefics3/configuration_idefics3.py +51 -0
  11. optimum_rbln-0.7.4a7/src/optimum/rbln/transformers/models/idefics3/modeling_idefics3.py +459 -0
  12. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/llava_next/modeling_llava_next.py +6 -0
  13. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/utils/submodule.py +10 -1
  14. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/tests/test_llm.py +36 -0
  15. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  16. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  17. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  18. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/ISSUE_TEMPLATE/model_request.md +0 -0
  19. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/pull_request_template.md +0 -0
  20. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/scripts/auto_code_review.py +0 -0
  21. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/scripts/validate_pr_checklist.py +0 -0
  22. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/version.yaml +0 -0
  23. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/auto_code_review.yml +0 -0
  24. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/check_code_quality.yml +0 -0
  25. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/deploy-on-tag.yaml +0 -0
  26. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/deploy.yaml +0 -0
  27. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/pr-title-check.yaml +0 -0
  28. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/pr_checklist_validator.yml +0 -0
  29. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/rbln_check_compiler.yaml +0 -0
  30. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/rbln_dispatch_pytest.yaml +0 -0
  31. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/rbln_optimum_inference_test.yaml +0 -0
  32. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/rbln_optimum_pytest.yaml +0 -0
  33. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/rbln_scheduled_test.yaml +0 -0
  34. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/rbln_trigger_on_pr.yaml +0 -0
  35. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.gitignore +0 -0
  36. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/CODE_OF_CONDUCT.md +0 -0
  37. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/CONTRIBUTING.md +0 -0
  38. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/LICENSE +0 -0
  39. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/README.md +0 -0
  40. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/assets/rbln_logo.png +0 -0
  41. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/audio-classification/run_ast_audio_classification.py +0 -0
  42. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/depth-estimation/run_dpt.py +0 -0
  43. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/image-classification/run_image_classification.py +0 -0
  44. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/image-classification/run_vit_image_classification.py +0 -0
  45. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/image-to-text/run_llava_next_image_to_text.py +0 -0
  46. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/kandinsky2_2/run_kandinsky2_2.py +0 -0
  47. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/kandinsky2_2/run_kandinsky2_2_combined.py +0 -0
  48. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/kandinsky2_2/run_kandinsky2_2_img2img.py +0 -0
  49. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/kandinsky2_2/run_kandinsky2_2_img2img_combined.py +0 -0
  50. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/kandinsky2_2/run_kandinsky2_2_inpaint.py +0 -0
  51. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/kandinsky2_2/run_kandinsky2_2_inpaint_combined.py +0 -0
  52. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/kandinsky2_2/run_kandinsky2_2_prior_interpolate.py +0 -0
  53. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/question-answering/run_question_answering.py +0 -0
  54. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/speech-recognition/run_wav2vec2.py +0 -0
  55. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/speech-recognition/run_whisper.py +0 -0
  56. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/stable-diffusion/run_stable_diffusion.py +0 -0
  57. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/stable-diffusion/run_stable_diffusion_controlnet.py +0 -0
  58. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/stable-diffusion/run_stable_diffusion_img2img.py +0 -0
  59. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/stable-diffusion/run_stable_diffusion_img2img_controlnet.py +0 -0
  60. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/stable-diffusion/run_stable_diffusion_inpaint.py +0 -0
  61. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/stable-diffusion/run_stable_diffusion_lora.py +0 -0
  62. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/stable-diffusion/run_stable_diffusion_multicontrolnet.py +0 -0
  63. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/text-classification/run_bge_m3_text_classification.py +0 -0
  64. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/text-classification/run_bge_reranker_v2_m3_text_classification.py +0 -0
  65. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/text-classification/run_secureBERT.py +0 -0
  66. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/text-classification/run_t5_classification.py +0 -0
  67. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/text-classification/run_twitter_roberta_text_classification.py +0 -0
  68. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/text2text-generation/run_bart_text2text_generation.py +0 -0
  69. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/text2text-generation/run_llama_peft.py +0 -0
  70. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/text2text-generation/run_llama_text2text_generation.py +0 -0
  71. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/time-series-forecasting/run_time_series_forecasting.py +0 -0
  72. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/pyproject.toml +0 -0
  73. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/scripts/uv-lock.sh +0 -0
  74. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/scripts/uv-sync.sh +0 -0
  75. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/configuration_utils.py +0 -0
  76. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/__init__.py +0 -0
  77. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/__init__.py +0 -0
  78. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/models/__init__.py +0 -0
  79. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/models/configuration_autoencoder_kl.py +0 -0
  80. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/models/configuration_controlnet.py +0 -0
  81. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/models/configuration_prior_transformer.py +0 -0
  82. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/models/configuration_transformer_sd3.py +0 -0
  83. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/models/configuration_unet_2d_condition.py +0 -0
  84. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/models/configuration_vq_model.py +0 -0
  85. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/pipelines/__init__.py +0 -0
  86. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_controlnet.py +0 -0
  87. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_kandinsky2_2.py +0 -0
  88. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion.py +0 -0
  89. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_3.py +0 -0
  90. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_xl.py +0 -0
  91. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/modeling_diffusers.py +0 -0
  92. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/models/__init__.py +0 -0
  93. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/models/autoencoders/__init__.py +0 -0
  94. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/models/autoencoders/autoencoder_kl.py +0 -0
  95. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/models/autoencoders/vae.py +0 -0
  96. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/models/autoencoders/vq_model.py +0 -0
  97. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/models/controlnet.py +0 -0
  98. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/models/transformers/__init__.py +0 -0
  99. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/models/transformers/prior_transformer.py +0 -0
  100. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/models/transformers/transformer_sd3.py +0 -0
  101. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/models/unets/__init__.py +0 -0
  102. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/models/unets/unet_2d_condition.py +0 -0
  103. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/__init__.py +0 -0
  104. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/controlnet/__init__.py +0 -0
  105. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/controlnet/multicontrolnet.py +0 -0
  106. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet.py +0 -0
  107. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py +0 -0
  108. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl.py +0 -0
  109. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl_img2img.py +0 -0
  110. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/__init__.py +0 -0
  111. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2.py +0 -0
  112. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_combined.py +0 -0
  113. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_img2img.py +0 -0
  114. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_inpaint.py +0 -0
  115. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior.py +0 -0
  116. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/__init__.py +0 -0
  117. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py +0 -0
  118. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py +0 -0
  119. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py +0 -0
  120. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/__init__.py +0 -0
  121. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3.py +0 -0
  122. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_img2img.py +0 -0
  123. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_inpaint.py +0 -0
  124. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/__init__.py +0 -0
  125. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py +0 -0
  126. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py +0 -0
  127. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_inpaint.py +0 -0
  128. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/modeling.py +0 -0
  129. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/modeling_base.py +0 -0
  130. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/ops/__init__.py +0 -0
  131. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/ops/attn.py +0 -0
  132. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/ops/flash_attn.py +0 -0
  133. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/ops/kv_cache_update.py +0 -0
  134. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/ops/linear.py +0 -0
  135. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/configuration_alias.py +0 -0
  136. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/configuration_generic.py +0 -0
  137. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/modeling_alias.py +0 -0
  138. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/modeling_generic.py +0 -0
  139. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/modeling_rope_utils.py +0 -0
  140. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/auto/__init__.py +0 -0
  141. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/auto/auto_factory.py +0 -0
  142. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/auto/modeling_auto.py +0 -0
  143. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/bart/__init__.py +0 -0
  144. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/bart/bart_architecture.py +0 -0
  145. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/bart/configuration_bart.py +0 -0
  146. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/bart/modeling_bart.py +0 -0
  147. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/bert/__init__.py +0 -0
  148. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/bert/configuration_bert.py +0 -0
  149. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/bert/modeling_bert.py +0 -0
  150. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/clip/__init__.py +0 -0
  151. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/clip/configuration_clip.py +0 -0
  152. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/clip/modeling_clip.py +0 -0
  153. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/decoderonly/__init__.py +0 -0
  154. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/decoderonly/configuration_decoderonly.py +0 -0
  155. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/dpt/__init__.py +0 -0
  156. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/dpt/configuration_dpt.py +0 -0
  157. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/dpt/modeling_dpt.py +0 -0
  158. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/exaone/__init__.py +0 -0
  159. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/exaone/configuration_exaone.py +0 -0
  160. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/exaone/exaone_architecture.py +0 -0
  161. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/exaone/modeling_exaone.py +0 -0
  162. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/gemma/__init__.py +0 -0
  163. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/gemma/configuration_gemma.py +0 -0
  164. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/gemma/gemma_architecture.py +0 -0
  165. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/gemma/modeling_gemma.py +0 -0
  166. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/gpt2/__init__.py +0 -0
  167. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/gpt2/configuration_gpt2.py +0 -0
  168. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/gpt2/gpt2_architecture.py +0 -0
  169. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/gpt2/modeling_gpt2.py +0 -0
  170. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/llama/__init__.py +0 -0
  171. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/llama/configuration_llama.py +0 -0
  172. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/llama/llama_architecture.py +0 -0
  173. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/llama/modeling_llama.py +0 -0
  174. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/llava_next/__init__.py +0 -0
  175. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/llava_next/configuration_llava_next.py +0 -0
  176. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/midm/__init__.py +0 -0
  177. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/midm/configuration_midm.py +0 -0
  178. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/midm/midm_architecture.py +0 -0
  179. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/midm/modeling_midm.py +0 -0
  180. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/mistral/__init__.py +0 -0
  181. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/mistral/configuration_mistral.py +0 -0
  182. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/mistral/mistral_architecture.py +0 -0
  183. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/mistral/modeling_mistral.py +0 -0
  184. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/phi/__init__.py +0 -0
  185. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/phi/configuration_phi.py +0 -0
  186. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/phi/modeling_phi.py +0 -0
  187. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/phi/phi_architecture.py +0 -0
  188. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/qwen2/__init__.py +0 -0
  189. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/qwen2/configuration_qwen2.py +0 -0
  190. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/qwen2/modeling_qwen2.py +0 -0
  191. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/qwen2/qwen2_architecture.py +0 -0
  192. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/qwen2_5_vl/__init__.py +0 -0
  193. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py +0 -0
  194. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/qwen2_5_vl/modeling_qwen2_5_vl.py +0 -0
  195. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/qwen2_5_vl/qwen2_5_vl_architecture.py +0 -0
  196. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/seq2seq/__init__.py +0 -0
  197. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/seq2seq/configuration_seq2seq2.py +0 -0
  198. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/seq2seq/modeling_seq2seq.py +0 -0
  199. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/seq2seq/seq2seq_architecture.py +0 -0
  200. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/t5/__init__.py +0 -0
  201. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/t5/configuration_t5.py +0 -0
  202. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/t5/modeling_t5.py +0 -0
  203. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/t5/t5_architecture.py +0 -0
  204. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/time_series_transformers/__init__.py +0 -0
  205. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/time_series_transformers/configuration_time_series_transformer.py +0 -0
  206. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/time_series_transformers/modeling_time_series_transformers.py +0 -0
  207. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/time_series_transformers/time_series_transformers_architecture.py +0 -0
  208. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/wav2vec2/__init__.py +0 -0
  209. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/wav2vec2/configuration_wav2vec.py +0 -0
  210. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/wav2vec2/modeling_wav2vec2.py +0 -0
  211. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/whisper/__init__.py +0 -0
  212. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/whisper/configuration_whisper.py +0 -0
  213. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/whisper/generation_whisper.py +0 -0
  214. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/whisper/modeling_whisper.py +0 -0
  215. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/whisper/whisper_architecture.py +0 -0
  216. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/xlm_roberta/__init__.py +0 -0
  217. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/xlm_roberta/configuration_xlm_roberta.py +0 -0
  218. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/xlm_roberta/modeling_xlm_roberta.py +0 -0
  219. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/utils/__init__.py +0 -0
  220. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/utils/rbln_quantization.py +0 -0
  221. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/utils/__init__.py +0 -0
  222. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/utils/decorator_utils.py +0 -0
  223. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/utils/hub.py +0 -0
  224. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/utils/import_utils.py +0 -0
  225. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/utils/logging.py +0 -0
  226. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/utils/model_utils.py +0 -0
  227. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/utils/runtime_utils.py +0 -0
  228. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/utils/save_utils.py +0 -0
  229. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/tests/__init__.py +0 -0
  230. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/tests/psnr.py +0 -0
  231. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/tests/requirements_sdxl.txt +0 -0
  232. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/tests/run_stable_diffusion_xl_base.py +0 -0
  233. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/tests/test_base.py +0 -0
  234. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/tests/test_config.py +0 -0
  235. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/tests/test_diffusers.py +0 -0
  236. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/tests/test_transformers.py +0 -0
  237. {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: optimum-rbln
3
- Version: 0.7.4a6
3
+ Version: 0.7.4a7
4
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.
5
5
  Project-URL: Homepage, https://rebellions.ai
6
6
  Project-URL: Documentation, https://docs.rbln.ai
@@ -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)
@@ -74,6 +74,10 @@ _import_structure = {
74
74
  "RBLNGemmaForCausalLMConfig",
75
75
  "RBLNGPT2LMHeadModel",
76
76
  "RBLNGPT2LMHeadModelConfig",
77
+ "RBLNIdefics3VisionTransformer",
78
+ "RBLNIdefics3ForConditionalGeneration",
79
+ "RBLNIdefics3ForConditionalGenerationConfig",
80
+ "RBLNIdefics3VisionTransformerConfig",
77
81
  "RBLNLlamaForCausalLM",
78
82
  "RBLNLlamaForCausalLMConfig",
79
83
  "RBLNLlavaNextForConditionalGeneration",
@@ -281,6 +285,10 @@ if TYPE_CHECKING:
281
285
  RBLNGemmaForCausalLMConfig,
282
286
  RBLNGPT2LMHeadModel,
283
287
  RBLNGPT2LMHeadModelConfig,
288
+ RBLNIdefics3ForConditionalGeneration,
289
+ RBLNIdefics3ForConditionalGenerationConfig,
290
+ RBLNIdefics3VisionTransformer,
291
+ RBLNIdefics3VisionTransformerConfig,
284
292
  RBLNLlamaForCausalLM,
285
293
  RBLNLlamaForCausalLMConfig,
286
294
  RBLNLlavaNextForConditionalGeneration,
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.7.4a6'
21
- __version_tuple__ = version_tuple = (0, 7, 4, 'a6')
20
+ __version__ = version = '0.7.4a7'
21
+ __version_tuple__ = version_tuple = (0, 7, 4, 'a7')
@@ -68,6 +68,10 @@ _import_structure = {
68
68
  "RBLNGemmaForCausalLMConfig",
69
69
  "RBLNGPT2LMHeadModel",
70
70
  "RBLNGPT2LMHeadModelConfig",
71
+ "RBLNIdefics3VisionTransformer",
72
+ "RBLNIdefics3ForConditionalGeneration",
73
+ "RBLNIdefics3ForConditionalGenerationConfig",
74
+ "RBLNIdefics3VisionTransformerConfig",
71
75
  "RBLNLlamaForCausalLM",
72
76
  "RBLNLlamaForCausalLMConfig",
73
77
  "RBLNLlavaNextForConditionalGeneration",
@@ -169,6 +173,10 @@ if TYPE_CHECKING:
169
173
  RBLNGemmaForCausalLMConfig,
170
174
  RBLNGPT2LMHeadModel,
171
175
  RBLNGPT2LMHeadModelConfig,
176
+ RBLNIdefics3ForConditionalGeneration,
177
+ RBLNIdefics3ForConditionalGenerationConfig,
178
+ RBLNIdefics3VisionTransformer,
179
+ RBLNIdefics3VisionTransformerConfig,
172
180
  RBLNLlamaForCausalLM,
173
181
  RBLNLlamaForCausalLMConfig,
174
182
  RBLNLlavaNextForConditionalGeneration,
@@ -73,6 +73,12 @@ _import_structure = {
73
73
  "exaone": ["RBLNExaoneForCausalLM", "RBLNExaoneForCausalLMConfig"],
74
74
  "gemma": ["RBLNGemmaForCausalLM", "RBLNGemmaForCausalLMConfig"],
75
75
  "gpt2": ["RBLNGPT2LMHeadModel", "RBLNGPT2LMHeadModelConfig"],
76
+ "idefics3": [
77
+ "RBLNIdefics3VisionTransformer",
78
+ "RBLNIdefics3ForConditionalGeneration",
79
+ "RBLNIdefics3ForConditionalGenerationConfig",
80
+ "RBLNIdefics3VisionTransformerConfig",
81
+ ],
76
82
  "llama": ["RBLNLlamaForCausalLM", "RBLNLlamaForCausalLMConfig"],
77
83
  "llava_next": ["RBLNLlavaNextForConditionalGeneration", "RBLNLlavaNextForConditionalGenerationConfig"],
78
84
  "midm": ["RBLNMidmLMHeadModel", "RBLNMidmLMHeadModelConfig"],
@@ -144,6 +150,12 @@ if TYPE_CHECKING:
144
150
  from .exaone import RBLNExaoneForCausalLM, RBLNExaoneForCausalLMConfig
145
151
  from .gemma import RBLNGemmaForCausalLM, RBLNGemmaForCausalLMConfig
146
152
  from .gpt2 import RBLNGPT2LMHeadModel, RBLNGPT2LMHeadModelConfig
153
+ from .idefics3 import (
154
+ RBLNIdefics3ForConditionalGeneration,
155
+ RBLNIdefics3ForConditionalGenerationConfig,
156
+ RBLNIdefics3VisionTransformer,
157
+ RBLNIdefics3VisionTransformerConfig,
158
+ )
147
159
  from .llama import RBLNLlamaForCausalLM, RBLNLlamaForCausalLMConfig
148
160
  from .llava_next import RBLNLlavaNextForConditionalGeneration, RBLNLlavaNextForConditionalGenerationConfig
149
161
  from .midm import RBLNMidmLMHeadModel, RBLNMidmLMHeadModelConfig
@@ -184,6 +184,7 @@ class DecoderOnlyWrapper(nn.Module):
184
184
 
185
185
  def convert_to_rbln_causal_lm(self, causal_lm: PreTrainedModel, max_seq_len: int):
186
186
  new_layers = []
187
+
187
188
  for layer in causal_lm.model.layers:
188
189
  if self.attn_impl == "eager":
189
190
  new_self_attn = DecoderOnlyAttention(
@@ -201,6 +202,7 @@ class DecoderOnlyWrapper(nn.Module):
201
202
 
202
203
  new_layer = DecoderOnlyLayer(layer, new_self_attn)
203
204
  new_layers.append(new_layer)
205
+
204
206
  new_model = DecoderOnlyModel(
205
207
  causal_lm.model,
206
208
  new_layers,
@@ -451,6 +451,12 @@ class RBLNDecoderOnlyModelForCausalLM(RBLNModel):
451
451
  def get_input_embeddings(self):
452
452
  return self.embed_tokens
453
453
 
454
+ def get_attn_impl(self) -> str:
455
+ return self.rbln_config.attn_impl
456
+
457
+ def get_kvcache_num_blocks(self) -> int:
458
+ return self.rbln_config.kvcache_num_blocks
459
+
454
460
  @classmethod
455
461
  def get_quantized_model(
456
462
  cls,
@@ -0,0 +1,16 @@
1
+ # Copyright 2025 Rebellions Inc. All rights reserved.
2
+
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at:
6
+
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ from .configuration_idefics3 import RBLNIdefics3ForConditionalGenerationConfig, RBLNIdefics3VisionTransformerConfig
16
+ from .modeling_idefics3 import RBLNIdefics3ForConditionalGeneration, RBLNIdefics3VisionTransformer
@@ -0,0 +1,51 @@
1
+ # Copyright 2025 Rebellions Inc. All rights reserved.
2
+
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at:
6
+
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ from typing import Optional
16
+
17
+ from ....configuration_utils import RBLNModelConfig
18
+
19
+
20
+ class RBLNIdefics3VisionTransformerConfig(RBLNModelConfig):
21
+ pass
22
+
23
+
24
+ class RBLNIdefics3ForConditionalGenerationConfig(RBLNModelConfig):
25
+ submodules = ["vision_model", "text_model"]
26
+
27
+ def __init__(
28
+ self,
29
+ batch_size: Optional[int] = None,
30
+ vision_model: Optional[RBLNModelConfig] = None,
31
+ text_model: Optional[RBLNModelConfig] = None,
32
+ **kwargs,
33
+ ):
34
+ """
35
+ Args:
36
+ batch_size (Optional[int]): The batch size for inference. Defaults to 1.
37
+ vision_model (Optional[RBLNModelConfig]): Configuration for the vision transformer component.
38
+ text_model (Optional[RBLNModelConfig]): Configuration for the text model component.
39
+ **kwargs: Additional arguments passed to the parent RBLNModelConfig.
40
+
41
+ Raises:
42
+ ValueError: If batch_size is not a positive integer.
43
+ """
44
+
45
+ super().__init__(**kwargs)
46
+ self.batch_size = batch_size or 1
47
+ if not isinstance(self.batch_size, int) or self.batch_size < 0:
48
+ raise ValueError(f"batch_size must be a positive integer, got {self.batch_size}")
49
+
50
+ self.vision_model = vision_model
51
+ self.text_model = text_model