optimum-rbln 0.7.5rc0__tar.gz → 0.7.5rc1__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 (252) hide show
  1. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/PKG-INFO +1 -1
  2. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/__version__.py +2 -2
  3. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/models/transformers/prior_transformer.py +1 -2
  4. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/models/transformers/transformer_sd3.py +1 -2
  5. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/models/unets/unet_2d_condition.py +1 -2
  6. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/modeling.py +53 -9
  7. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/modeling_base.py +22 -3
  8. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/modeling_generic.py +0 -19
  9. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/wav2vec2/modeling_wav2vec2.py +0 -3
  10. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  11. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  12. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  13. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/.github/ISSUE_TEMPLATE/model_request.md +0 -0
  14. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/.github/pull_request_template.md +0 -0
  15. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/.github/scripts/auto_code_review.py +0 -0
  16. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/.github/scripts/validate_pr_checklist.py +0 -0
  17. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/.github/version.yaml +0 -0
  18. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/.github/workflows/auto_code_review.yml +0 -0
  19. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/.github/workflows/check_code_quality.yml +0 -0
  20. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/.github/workflows/deploy-on-tag.yaml +0 -0
  21. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/.github/workflows/deploy.yaml +0 -0
  22. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/.github/workflows/pr-title-check.yaml +0 -0
  23. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/.github/workflows/pr_checklist_validator.yml +0 -0
  24. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/.github/workflows/rbln_check_compiler.yaml +0 -0
  25. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/.github/workflows/rbln_dispatch_pytest.yaml +0 -0
  26. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/.github/workflows/rbln_optimum_inference_test.yaml +0 -0
  27. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/.github/workflows/rbln_optimum_pytest.yaml +0 -0
  28. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/.github/workflows/rbln_scheduled_test.yaml +0 -0
  29. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/.github/workflows/rbln_trigger_on_pr.yaml +0 -0
  30. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/.gitignore +0 -0
  31. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/CODE_OF_CONDUCT.md +0 -0
  32. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/CONTRIBUTING.md +0 -0
  33. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/LICENSE +0 -0
  34. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/README.md +0 -0
  35. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/assets/rbln_logo.png +0 -0
  36. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/audio-classification/run_ast_audio_classification.py +0 -0
  37. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/depth-estimation/run_dpt.py +0 -0
  38. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/image-classification/run_image_classification.py +0 -0
  39. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/image-classification/run_vit_image_classification.py +0 -0
  40. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/image-to-text/run_idefics3.py +0 -0
  41. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/image-to-text/run_llava_next_image_to_text.py +0 -0
  42. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/kandinsky2_2/run_kandinsky2_2.py +0 -0
  43. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/kandinsky2_2/run_kandinsky2_2_combined.py +0 -0
  44. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/kandinsky2_2/run_kandinsky2_2_img2img.py +0 -0
  45. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/kandinsky2_2/run_kandinsky2_2_img2img_combined.py +0 -0
  46. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/kandinsky2_2/run_kandinsky2_2_inpaint.py +0 -0
  47. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/kandinsky2_2/run_kandinsky2_2_inpaint_combined.py +0 -0
  48. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/kandinsky2_2/run_kandinsky2_2_prior_interpolate.py +0 -0
  49. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/question-answering/run_question_answering.py +0 -0
  50. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/speech-recognition/run_wav2vec2.py +0 -0
  51. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/speech-recognition/run_whisper.py +0 -0
  52. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/stable-diffusion/run_stable_diffusion.py +0 -0
  53. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/stable-diffusion/run_stable_diffusion_controlnet.py +0 -0
  54. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/stable-diffusion/run_stable_diffusion_img2img.py +0 -0
  55. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/stable-diffusion/run_stable_diffusion_img2img_controlnet.py +0 -0
  56. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/stable-diffusion/run_stable_diffusion_inpaint.py +0 -0
  57. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/stable-diffusion/run_stable_diffusion_lora.py +0 -0
  58. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/stable-diffusion/run_stable_diffusion_multicontrolnet.py +0 -0
  59. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/text-classification/run_bge_m3_text_classification.py +0 -0
  60. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/text-classification/run_bge_reranker_v2_m3_text_classification.py +0 -0
  61. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/text-classification/run_secureBERT.py +0 -0
  62. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/text-classification/run_t5_classification.py +0 -0
  63. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/text-classification/run_twitter_roberta_text_classification.py +0 -0
  64. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/text2text-generation/run_bart_text2text_generation.py +0 -0
  65. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/text2text-generation/run_llama_peft.py +0 -0
  66. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/text2text-generation/run_llama_text2text_generation.py +0 -0
  67. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/examples/time-series-forecasting/run_time_series_forecasting.py +0 -0
  68. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/pyproject.toml +0 -0
  69. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/scripts/uv-lock.sh +0 -0
  70. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/scripts/uv-sync.sh +0 -0
  71. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/__init__.py +0 -0
  72. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/configuration_utils.py +0 -0
  73. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/__init__.py +0 -0
  74. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/__init__.py +0 -0
  75. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/models/__init__.py +0 -0
  76. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/models/configuration_autoencoder_kl.py +0 -0
  77. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/models/configuration_controlnet.py +0 -0
  78. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/models/configuration_prior_transformer.py +0 -0
  79. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/models/configuration_transformer_sd3.py +0 -0
  80. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/models/configuration_unet_2d_condition.py +0 -0
  81. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/models/configuration_vq_model.py +0 -0
  82. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/pipelines/__init__.py +0 -0
  83. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_controlnet.py +0 -0
  84. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_kandinsky2_2.py +0 -0
  85. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion.py +0 -0
  86. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_3.py +0 -0
  87. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_xl.py +0 -0
  88. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/modeling_diffusers.py +0 -0
  89. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/models/__init__.py +0 -0
  90. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/models/autoencoders/__init__.py +0 -0
  91. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/models/autoencoders/autoencoder_kl.py +0 -0
  92. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/models/autoencoders/vae.py +0 -0
  93. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/models/autoencoders/vq_model.py +0 -0
  94. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/models/controlnet.py +0 -0
  95. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/models/transformers/__init__.py +0 -0
  96. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/models/unets/__init__.py +0 -0
  97. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/__init__.py +0 -0
  98. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/controlnet/__init__.py +0 -0
  99. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/controlnet/multicontrolnet.py +0 -0
  100. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet.py +0 -0
  101. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py +0 -0
  102. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl.py +0 -0
  103. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl_img2img.py +0 -0
  104. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/__init__.py +0 -0
  105. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2.py +0 -0
  106. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_combined.py +0 -0
  107. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_img2img.py +0 -0
  108. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_inpaint.py +0 -0
  109. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior.py +0 -0
  110. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/__init__.py +0 -0
  111. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py +0 -0
  112. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py +0 -0
  113. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py +0 -0
  114. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/__init__.py +0 -0
  115. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3.py +0 -0
  116. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_img2img.py +0 -0
  117. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_inpaint.py +0 -0
  118. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/__init__.py +0 -0
  119. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py +0 -0
  120. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py +0 -0
  121. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_inpaint.py +0 -0
  122. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/ops/__init__.py +0 -0
  123. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/ops/attn.py +0 -0
  124. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/ops/flash_attn.py +0 -0
  125. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/ops/kv_cache_update.py +0 -0
  126. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/ops/linear.py +0 -0
  127. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/ops/sliding_window_attn.py +0 -0
  128. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/__init__.py +0 -0
  129. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/configuration_alias.py +0 -0
  130. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/configuration_generic.py +0 -0
  131. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/modeling_alias.py +0 -0
  132. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/modeling_rope_utils.py +0 -0
  133. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/__init__.py +0 -0
  134. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/auto/__init__.py +0 -0
  135. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/auto/auto_factory.py +0 -0
  136. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/auto/modeling_auto.py +0 -0
  137. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/bart/__init__.py +0 -0
  138. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/bart/bart_architecture.py +0 -0
  139. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/bart/configuration_bart.py +0 -0
  140. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/bart/modeling_bart.py +0 -0
  141. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/bert/__init__.py +0 -0
  142. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/bert/configuration_bert.py +0 -0
  143. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/bert/modeling_bert.py +0 -0
  144. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/blip_2/__init__.py +0 -0
  145. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/blip_2/configuration_blip_2.py +0 -0
  146. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/blip_2/modeling_blip_2.py +0 -0
  147. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/clip/__init__.py +0 -0
  148. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/clip/configuration_clip.py +0 -0
  149. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/clip/modeling_clip.py +0 -0
  150. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/decoderonly/__init__.py +0 -0
  151. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/decoderonly/configuration_decoderonly.py +0 -0
  152. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/decoderonly/decoderonly_architecture.py +0 -0
  153. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/decoderonly/modeling_decoderonly.py +0 -0
  154. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/dpt/__init__.py +0 -0
  155. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/dpt/configuration_dpt.py +0 -0
  156. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/dpt/modeling_dpt.py +0 -0
  157. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/exaone/__init__.py +0 -0
  158. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/exaone/configuration_exaone.py +0 -0
  159. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/exaone/exaone_architecture.py +0 -0
  160. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/exaone/modeling_exaone.py +0 -0
  161. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/gemma/__init__.py +0 -0
  162. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/gemma/configuration_gemma.py +0 -0
  163. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/gemma/gemma_architecture.py +0 -0
  164. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/gemma/modeling_gemma.py +0 -0
  165. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/gemma3/__init__.py +0 -0
  166. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/gemma3/configuration_gemma3.py +0 -0
  167. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/gemma3/gemma3_architecture.py +0 -0
  168. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/gemma3/modeling_gemma3.py +0 -0
  169. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/gpt2/__init__.py +0 -0
  170. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/gpt2/configuration_gpt2.py +0 -0
  171. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/gpt2/gpt2_architecture.py +0 -0
  172. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/gpt2/modeling_gpt2.py +0 -0
  173. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/idefics3/__init__.py +0 -0
  174. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/idefics3/configuration_idefics3.py +0 -0
  175. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/idefics3/modeling_idefics3.py +0 -0
  176. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/llama/__init__.py +0 -0
  177. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/llama/configuration_llama.py +0 -0
  178. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/llama/llama_architecture.py +0 -0
  179. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/llama/modeling_llama.py +0 -0
  180. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/llava_next/__init__.py +0 -0
  181. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/llava_next/configuration_llava_next.py +0 -0
  182. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/llava_next/modeling_llava_next.py +0 -0
  183. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/midm/__init__.py +0 -0
  184. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/midm/configuration_midm.py +0 -0
  185. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/midm/midm_architecture.py +0 -0
  186. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/midm/modeling_midm.py +0 -0
  187. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/mistral/__init__.py +0 -0
  188. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/mistral/configuration_mistral.py +0 -0
  189. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/mistral/mistral_architecture.py +0 -0
  190. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/mistral/modeling_mistral.py +0 -0
  191. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/opt/__init__.py +0 -0
  192. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/opt/configuration_opt.py +0 -0
  193. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/opt/modeling_opt.py +0 -0
  194. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/opt/opt_architecture.py +0 -0
  195. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/phi/__init__.py +0 -0
  196. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/phi/configuration_phi.py +0 -0
  197. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/phi/modeling_phi.py +0 -0
  198. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/phi/phi_architecture.py +0 -0
  199. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/qwen2/__init__.py +0 -0
  200. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/qwen2/configuration_qwen2.py +0 -0
  201. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/qwen2/modeling_qwen2.py +0 -0
  202. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/qwen2/qwen2_architecture.py +0 -0
  203. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/qwen2_5_vl/__init__.py +0 -0
  204. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py +0 -0
  205. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/qwen2_5_vl/modeling_qwen2_5_vl.py +0 -0
  206. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/qwen2_5_vl/qwen2_5_vl_architecture.py +0 -0
  207. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/seq2seq/__init__.py +0 -0
  208. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/seq2seq/configuration_seq2seq2.py +0 -0
  209. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/seq2seq/modeling_seq2seq.py +0 -0
  210. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/seq2seq/seq2seq_architecture.py +0 -0
  211. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/siglip/__init__.py +0 -0
  212. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/siglip/configuration_siglip.py +0 -0
  213. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/siglip/modeling_siglip.py +0 -0
  214. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/t5/__init__.py +0 -0
  215. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/t5/configuration_t5.py +0 -0
  216. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/t5/modeling_t5.py +0 -0
  217. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/t5/t5_architecture.py +0 -0
  218. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/time_series_transformers/__init__.py +0 -0
  219. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/time_series_transformers/configuration_time_series_transformer.py +0 -0
  220. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/time_series_transformers/modeling_time_series_transformers.py +0 -0
  221. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/time_series_transformers/time_series_transformers_architecture.py +0 -0
  222. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/wav2vec2/__init__.py +0 -0
  223. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/wav2vec2/configuration_wav2vec.py +0 -0
  224. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/whisper/__init__.py +0 -0
  225. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/whisper/configuration_whisper.py +0 -0
  226. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/whisper/generation_whisper.py +0 -0
  227. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/whisper/modeling_whisper.py +0 -0
  228. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/whisper/whisper_architecture.py +0 -0
  229. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/xlm_roberta/__init__.py +0 -0
  230. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/xlm_roberta/configuration_xlm_roberta.py +0 -0
  231. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/models/xlm_roberta/modeling_xlm_roberta.py +0 -0
  232. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/utils/__init__.py +0 -0
  233. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/transformers/utils/rbln_quantization.py +0 -0
  234. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/utils/__init__.py +0 -0
  235. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/utils/decorator_utils.py +0 -0
  236. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/utils/hub.py +0 -0
  237. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/utils/import_utils.py +0 -0
  238. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/utils/logging.py +0 -0
  239. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/utils/model_utils.py +0 -0
  240. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/utils/runtime_utils.py +0 -0
  241. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/utils/save_utils.py +0 -0
  242. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/src/optimum/rbln/utils/submodule.py +0 -0
  243. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/tests/__init__.py +0 -0
  244. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/tests/psnr.py +0 -0
  245. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/tests/requirements_sdxl.txt +0 -0
  246. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/tests/run_stable_diffusion_xl_base.py +0 -0
  247. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/tests/test_base.py +0 -0
  248. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/tests/test_config.py +0 -0
  249. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/tests/test_diffusers.py +0 -0
  250. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/tests/test_llm.py +0 -0
  251. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/tests/test_transformers.py +0 -0
  252. {optimum_rbln-0.7.5rc0 → optimum_rbln-0.7.5rc1}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: optimum-rbln
3
- Version: 0.7.5rc0
3
+ Version: 0.7.5rc1
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.7.5rc0'
21
- __version_tuple__ = version_tuple = (0, 7, 5, 'rc0')
20
+ __version__ = version = '0.7.5rc1'
21
+ __version_tuple__ = version_tuple = (0, 7, 5, 'rc1')
@@ -58,8 +58,7 @@ class _PriorTransformer(torch.nn.Module):
58
58
  class RBLNPriorTransformer(RBLNModel):
59
59
  hf_library_name = "diffusers"
60
60
  auto_model_class = PriorTransformer
61
- output_class = PriorTransformerOutput
62
- output_key = "predicted_image_embedding"
61
+ _output_class = PriorTransformerOutput
63
62
 
64
63
  def __post_init__(self, **kwargs):
65
64
  super().__post_init__(**kwargs)
@@ -61,8 +61,7 @@ class SD3Transformer2DModelWrapper(torch.nn.Module):
61
61
  class RBLNSD3Transformer2DModel(RBLNModel):
62
62
  hf_library_name = "diffusers"
63
63
  auto_model_class = SD3Transformer2DModel
64
- output_class = Transformer2DModelOutput
65
- output_key = "sample"
64
+ _output_class = Transformer2DModelOutput
66
65
 
67
66
  def __post_init__(self, **kwargs):
68
67
  super().__post_init__(**kwargs)
@@ -143,8 +143,7 @@ class RBLNUNet2DConditionModel(RBLNModel):
143
143
  hf_library_name = "diffusers"
144
144
  auto_model_class = UNet2DConditionModel
145
145
  _rbln_config_class = RBLNUNet2DConditionModelConfig
146
- output_class = UNet2DConditionOutput
147
- output_key = "sample"
146
+ _output_class = UNet2DConditionOutput
148
147
 
149
148
  def __post_init__(self, **kwargs):
150
149
  super().__post_init__(**kwargs)
@@ -14,7 +14,7 @@
14
14
 
15
15
  from pathlib import Path
16
16
  from tempfile import TemporaryDirectory
17
- from typing import TYPE_CHECKING, Dict, List, Optional, Union
17
+ from typing import TYPE_CHECKING, Dict, List, Optional, Union, get_args, get_origin, get_type_hints
18
18
 
19
19
  import rebel
20
20
  import torch
@@ -49,8 +49,7 @@ class RBLNModel(RBLNBaseModel):
49
49
  ```
50
50
  """
51
51
 
52
- output_class = None
53
- output_key = "last_hidden_state"
52
+ _output_class = None
54
53
 
55
54
  @classmethod
56
55
  def update_kwargs(cls, kwargs):
@@ -245,16 +244,61 @@ class RBLNModel(RBLNBaseModel):
245
244
  # Format output according to task requirements
246
245
  return self._prepare_output(output, return_dict)
247
246
 
247
+ @classmethod
248
+ def get_hf_output_class(cls):
249
+ """
250
+ Dynamically gets the output class from the corresponding HuggingFace model class.
251
+
252
+ Returns:
253
+ type: The appropriate output class from transformers or diffusers
254
+ """
255
+ if cls._output_class:
256
+ return cls._output_class
257
+
258
+ hf_class = cls.get_hf_class()
259
+ if hf_class is None:
260
+ raise ValueError(f"No HuggingFace model class found for {cls.__name__}")
261
+
262
+ hints = get_type_hints(hf_class.forward) if hasattr(hf_class, "forward") else {}
263
+ ret = hints.get("return")
264
+
265
+ if ret is not None:
266
+ candidates = get_args(ret) if get_origin(ret) is Union else (ret,)
267
+
268
+ for t in candidates:
269
+ if t is type(None): # Skip NoneType in Union
270
+ continue
271
+ mod = getattr(t, "__module__", "")
272
+ if "transformers" in mod or "diffusers" in mod:
273
+ cls._output_class = t
274
+ return t
275
+
276
+ # Fallback to BaseModelOutput
277
+ cls._output_class = BaseModelOutput
278
+ return BaseModelOutput
279
+
248
280
  def _prepare_output(self, output, return_dict):
249
281
  """
250
282
  Prepare model output based on return_dict flag.
251
283
  This method can be overridden by subclasses to provide task-specific output handling.
252
284
  """
285
+ tuple_output = (output,) if not isinstance(output, (tuple, list)) else output
253
286
  if not return_dict:
254
- return (output,) if not isinstance(output, (tuple, list)) else output
287
+ return tuple_output
255
288
  else:
256
- if self.output_class is None:
257
- return BaseModelOutput(last_hidden_state=output)
258
-
259
- # Create output with the appropriate class and key
260
- return self.output_class(**{self.output_key: output})
289
+ output_class = self.get_hf_output_class()
290
+ if hasattr(output_class, "loss"):
291
+ tuple_output = (None,) + tuple_output
292
+
293
+ # Truncate if we have too many outputs, otherwise use as is
294
+ if hasattr(output_class, "__annotations__"):
295
+ num_fields = len(output_class.__annotations__)
296
+ if len(tuple_output) > num_fields:
297
+ tuple_output = tuple_output[:num_fields]
298
+ logger.warning(
299
+ f"Truncating output to {num_fields} fields for {output_class.__name__}. "
300
+ f"Expected {num_fields} fields, but got {len(tuple_output)} fields."
301
+ "This is unexpected. Please report this issue to the developers."
302
+ )
303
+
304
+ return output_class(*tuple_output)
@@ -178,9 +178,27 @@ class RBLNBaseModel(SubModulesMixin, PushToHubMixin, PreTrainedModel):
178
178
  return str(model_path)
179
179
 
180
180
  @classmethod
181
- def _load_compiled_models(cls, model_path: str):
181
+ def _load_compiled_models(cls, model_path: str, expected_compiled_model_names: List[str]):
182
182
  compiled_models = Path(model_path).glob("*.rbln")
183
- rbln_compiled_models = {cm.stem: rebel.RBLNCompiledModel(cm) for cm in compiled_models}
183
+ expected_compiled_models = [
184
+ Path(model_path) / f"{compiled_model_name}.rbln" for compiled_model_name in expected_compiled_model_names
185
+ ]
186
+ unexpected_compiled_models = [cm for cm in compiled_models if cm not in expected_compiled_models]
187
+ if unexpected_compiled_models:
188
+ # TODO(jongho): fix after May release. raise error if unexpected compiled models are found
189
+ logger.warning(
190
+ f"Unexpected compiled models found: {[cm.name for cm in unexpected_compiled_models]}. "
191
+ f"Please check the model path: {model_path}"
192
+ )
193
+
194
+ rbln_compiled_models = {}
195
+ for compiled_model in expected_compiled_models:
196
+ if not compiled_model.exists():
197
+ raise FileNotFoundError(
198
+ f"Expected RBLN compiled model '{compiled_model.name}' not found at '{model_path}'. "
199
+ "Please ensure all models specified in `rbln_config` are present."
200
+ )
201
+ rbln_compiled_models[compiled_model.stem] = rebel.RBLNCompiledModel(compiled_model)
184
202
  return rbln_compiled_models
185
203
 
186
204
  @classmethod
@@ -271,7 +289,8 @@ class RBLNBaseModel(SubModulesMixin, PushToHubMixin, PreTrainedModel):
271
289
  )
272
290
  config = PretrainedConfig(**config)
273
291
 
274
- rbln_compiled_models = cls._load_compiled_models(model_path_subfolder)
292
+ compiled_model_names = [cfg.compiled_model_name for cfg in rbln_config.compile_cfgs]
293
+ rbln_compiled_models = cls._load_compiled_models(model_path_subfolder, compiled_model_names)
275
294
 
276
295
  if subfolder != "":
277
296
  model_save_dir = Path(model_path_subfolder).absolute().parent
@@ -36,11 +36,7 @@ from transformers import (
36
36
  )
37
37
  from transformers.modeling_outputs import (
38
38
  BaseModelOutput,
39
- DepthEstimatorOutput,
40
- ImageClassifierOutput,
41
- MaskedLMOutput,
42
39
  QuestionAnsweringModelOutput,
43
- SequenceClassifierOutput,
44
40
  )
45
41
 
46
42
  from ..configuration_utils import RBLNCompileConfig
@@ -63,8 +59,6 @@ class _RBLNTransformerEncoder(RBLNModel):
63
59
  auto_model_class = AutoModel
64
60
  rbln_model_input_names = ["input_ids", "attention_mask", "token_type_ids"]
65
61
  rbln_dtype = "int64"
66
- output_class = BaseModelOutput
67
- output_key = "last_hidden_state"
68
62
 
69
63
  @classmethod
70
64
  def _update_rbln_config(
@@ -149,7 +143,6 @@ class _RBLNImageModel(RBLNModel):
149
143
  auto_model_class = AutoModel
150
144
  main_input_name = "pixel_values"
151
145
  output_class = BaseModelOutput
152
- output_key = "last_hidden_state"
153
146
 
154
147
  @classmethod
155
148
  def _update_rbln_config(
@@ -223,15 +216,11 @@ class RBLNModelForQuestionAnswering(_RBLNTransformerEncoder):
223
216
  class RBLNModelForSequenceClassification(_RBLNTransformerEncoder):
224
217
  auto_model_class = AutoModelForSequenceClassification
225
218
  rbln_model_input_names = ["input_ids", "attention_mask"]
226
- output_class = SequenceClassifierOutput
227
- output_key = "logits"
228
219
 
229
220
 
230
221
  class RBLNModelForMaskedLM(_RBLNTransformerEncoder):
231
222
  auto_model_class = AutoModelForMaskedLM
232
223
  rbln_model_input_names = ["input_ids", "attention_mask"]
233
- output_class = MaskedLMOutput
234
- output_key = "logits"
235
224
 
236
225
 
237
226
  class RBLNModelForTextEncoding(_RBLNTransformerEncoder):
@@ -243,20 +232,14 @@ class RBLNTransformerEncoderForFeatureExtraction(_RBLNTransformerEncoder):
243
232
  # TODO: RBLNModel is also for feature extraction.
244
233
  auto_model_class = AutoModel
245
234
  rbln_model_input_names = ["input_ids", "attention_mask"]
246
- output_class = BaseModelOutput
247
- output_key = "last_hidden_state"
248
235
 
249
236
 
250
237
  class RBLNModelForImageClassification(_RBLNImageModel):
251
238
  auto_model_class = AutoModelForImageClassification
252
- output_class = ImageClassifierOutput
253
- output_key = "logits"
254
239
 
255
240
 
256
241
  class RBLNModelForDepthEstimation(_RBLNImageModel):
257
242
  auto_model_class = AutoModelForDepthEstimation
258
- output_class = DepthEstimatorOutput
259
- output_key = "predicted_depth"
260
243
 
261
244
 
262
245
  class RBLNModelForAudioClassification(RBLNModel):
@@ -273,8 +256,6 @@ class RBLNModelForAudioClassification(RBLNModel):
273
256
  """
274
257
 
275
258
  auto_model_class = AutoModelForAudioClassification
276
- output_class = SequenceClassifierOutput
277
- output_key = "logits"
278
259
 
279
260
  @classmethod
280
261
  def _update_rbln_config(
@@ -15,7 +15,6 @@
15
15
 
16
16
  import torch
17
17
  from transformers import AutoModelForMaskedLM, Wav2Vec2ForCTC
18
- from transformers.modeling_outputs import CausalLMOutput
19
18
 
20
19
  from ...modeling_generic import RBLNModelForMaskedLM
21
20
  from .configuration_wav2vec import RBLNWav2Vec2ForCTCConfig
@@ -46,8 +45,6 @@ class RBLNWav2Vec2ForCTC(RBLNModelForMaskedLM):
46
45
  main_input_name = "input_values"
47
46
  auto_model_class = AutoModelForMaskedLM
48
47
  rbln_dtype = "float32"
49
- output_class = CausalLMOutput
50
- output_key = "logits"
51
48
 
52
49
  @classmethod
53
50
  def wrap_model_if_needed(cls, model: torch.nn.Module, rbln_config: RBLNWav2Vec2ForCTCConfig) -> torch.nn.Module:
File without changes