optimum-rbln 0.7.3.post2__py3-none-any.whl → 0.7.4__py3-none-any.whl

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 (133) hide show
  1. optimum/rbln/__init__.py +173 -35
  2. optimum/rbln/__version__.py +2 -2
  3. optimum/rbln/configuration_utils.py +816 -0
  4. optimum/rbln/diffusers/__init__.py +56 -0
  5. optimum/rbln/diffusers/configurations/__init__.py +30 -0
  6. optimum/rbln/diffusers/configurations/models/__init__.py +6 -0
  7. optimum/rbln/diffusers/configurations/models/configuration_autoencoder_kl.py +66 -0
  8. optimum/rbln/diffusers/configurations/models/configuration_controlnet.py +62 -0
  9. optimum/rbln/diffusers/configurations/models/configuration_prior_transformer.py +52 -0
  10. optimum/rbln/diffusers/configurations/models/configuration_transformer_sd3.py +56 -0
  11. optimum/rbln/diffusers/configurations/models/configuration_unet_2d_condition.py +74 -0
  12. optimum/rbln/diffusers/configurations/models/configuration_vq_model.py +67 -0
  13. optimum/rbln/diffusers/configurations/pipelines/__init__.py +30 -0
  14. optimum/rbln/diffusers/configurations/pipelines/configuration_controlnet.py +236 -0
  15. optimum/rbln/diffusers/configurations/pipelines/configuration_kandinsky2_2.py +289 -0
  16. optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion.py +118 -0
  17. optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_3.py +143 -0
  18. optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_xl.py +124 -0
  19. optimum/rbln/diffusers/modeling_diffusers.py +111 -137
  20. optimum/rbln/diffusers/models/autoencoders/autoencoder_kl.py +109 -128
  21. optimum/rbln/diffusers/models/autoencoders/vae.py +4 -6
  22. optimum/rbln/diffusers/models/autoencoders/vq_model.py +84 -85
  23. optimum/rbln/diffusers/models/controlnet.py +56 -71
  24. optimum/rbln/diffusers/models/transformers/prior_transformer.py +40 -77
  25. optimum/rbln/diffusers/models/transformers/transformer_sd3.py +44 -69
  26. optimum/rbln/diffusers/models/unets/unet_2d_condition.py +111 -114
  27. optimum/rbln/diffusers/pipelines/controlnet/multicontrolnet.py +3 -4
  28. optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet.py +2 -0
  29. optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py +2 -0
  30. optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl.py +2 -0
  31. optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl_img2img.py +2 -0
  32. optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2.py +2 -0
  33. optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_combined.py +2 -0
  34. optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_img2img.py +2 -0
  35. optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_inpaint.py +2 -0
  36. optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior.py +2 -0
  37. optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py +4 -1
  38. optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py +2 -0
  39. optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py +2 -0
  40. optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3.py +2 -0
  41. optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_img2img.py +2 -0
  42. optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_inpaint.py +2 -0
  43. optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py +2 -0
  44. optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py +2 -0
  45. optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_inpaint.py +2 -0
  46. optimum/rbln/modeling.py +66 -40
  47. optimum/rbln/modeling_base.py +111 -86
  48. optimum/rbln/ops/__init__.py +4 -7
  49. optimum/rbln/ops/attn.py +271 -205
  50. optimum/rbln/ops/flash_attn.py +161 -67
  51. optimum/rbln/ops/kv_cache_update.py +4 -40
  52. optimum/rbln/ops/linear.py +25 -0
  53. optimum/rbln/transformers/__init__.py +97 -8
  54. optimum/rbln/transformers/configuration_alias.py +49 -0
  55. optimum/rbln/transformers/configuration_generic.py +142 -0
  56. optimum/rbln/transformers/modeling_generic.py +193 -280
  57. optimum/rbln/transformers/models/__init__.py +120 -32
  58. optimum/rbln/transformers/models/auto/auto_factory.py +6 -6
  59. optimum/rbln/transformers/models/bart/__init__.py +2 -0
  60. optimum/rbln/transformers/models/bart/configuration_bart.py +24 -0
  61. optimum/rbln/transformers/models/bart/modeling_bart.py +12 -85
  62. optimum/rbln/transformers/models/bert/__init__.py +1 -0
  63. optimum/rbln/transformers/models/bert/configuration_bert.py +31 -0
  64. optimum/rbln/transformers/models/bert/modeling_bert.py +7 -80
  65. optimum/rbln/transformers/models/clip/__init__.py +6 -0
  66. optimum/rbln/transformers/models/clip/configuration_clip.py +79 -0
  67. optimum/rbln/transformers/models/clip/modeling_clip.py +72 -75
  68. optimum/rbln/transformers/models/decoderonly/__init__.py +11 -0
  69. optimum/rbln/transformers/models/decoderonly/configuration_decoderonly.py +90 -0
  70. optimum/rbln/transformers/models/decoderonly/decoderonly_architecture.py +197 -178
  71. optimum/rbln/transformers/models/decoderonly/modeling_decoderonly.py +343 -249
  72. optimum/rbln/transformers/models/dpt/__init__.py +1 -0
  73. optimum/rbln/transformers/models/dpt/configuration_dpt.py +19 -0
  74. optimum/rbln/transformers/models/dpt/modeling_dpt.py +3 -76
  75. optimum/rbln/transformers/models/exaone/__init__.py +1 -0
  76. optimum/rbln/transformers/models/exaone/configuration_exaone.py +19 -0
  77. optimum/rbln/transformers/models/gemma/__init__.py +1 -0
  78. optimum/rbln/transformers/models/gemma/configuration_gemma.py +19 -0
  79. optimum/rbln/transformers/models/gpt2/__init__.py +1 -0
  80. optimum/rbln/transformers/models/gpt2/configuration_gpt2.py +19 -0
  81. optimum/rbln/transformers/models/idefics3/__init__.py +16 -0
  82. optimum/rbln/transformers/models/idefics3/configuration_idefics3.py +51 -0
  83. optimum/rbln/transformers/models/idefics3/modeling_idefics3.py +459 -0
  84. optimum/rbln/transformers/models/llama/__init__.py +1 -0
  85. optimum/rbln/transformers/models/llama/configuration_llama.py +19 -0
  86. optimum/rbln/transformers/models/llava_next/__init__.py +1 -0
  87. optimum/rbln/transformers/models/llava_next/configuration_llava_next.py +46 -0
  88. optimum/rbln/transformers/models/llava_next/modeling_llava_next.py +18 -23
  89. optimum/rbln/transformers/models/midm/__init__.py +1 -0
  90. optimum/rbln/transformers/models/midm/configuration_midm.py +19 -0
  91. optimum/rbln/transformers/models/mistral/__init__.py +1 -0
  92. optimum/rbln/transformers/models/mistral/configuration_mistral.py +19 -0
  93. optimum/rbln/transformers/models/phi/__init__.py +1 -0
  94. optimum/rbln/transformers/models/phi/configuration_phi.py +19 -0
  95. optimum/rbln/transformers/models/qwen2/__init__.py +1 -0
  96. optimum/rbln/transformers/models/qwen2/configuration_qwen2.py +19 -0
  97. optimum/rbln/transformers/models/qwen2_5_vl/__init__.py +19 -0
  98. optimum/rbln/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py +68 -0
  99. optimum/rbln/transformers/models/qwen2_5_vl/modeling_qwen2_5_vl.py +608 -0
  100. optimum/rbln/transformers/models/qwen2_5_vl/qwen2_5_vl_architecture.py +214 -0
  101. optimum/rbln/transformers/models/seq2seq/__init__.py +1 -0
  102. optimum/rbln/transformers/models/seq2seq/configuration_seq2seq2.py +66 -0
  103. optimum/rbln/transformers/models/seq2seq/modeling_seq2seq.py +99 -112
  104. optimum/rbln/transformers/models/seq2seq/seq2seq_architecture.py +12 -21
  105. optimum/rbln/transformers/models/t5/__init__.py +2 -0
  106. optimum/rbln/transformers/models/t5/configuration_t5.py +24 -0
  107. optimum/rbln/transformers/models/t5/modeling_t5.py +21 -356
  108. optimum/rbln/transformers/models/t5/t5_architecture.py +10 -5
  109. optimum/rbln/transformers/models/time_series_transformers/__init__.py +26 -0
  110. optimum/rbln/transformers/models/time_series_transformers/configuration_time_series_transformer.py +34 -0
  111. optimum/rbln/transformers/models/time_series_transformers/modeling_time_series_transformers.py +420 -0
  112. optimum/rbln/transformers/models/time_series_transformers/time_series_transformers_architecture.py +331 -0
  113. optimum/rbln/transformers/models/wav2vec2/__init__.py +1 -0
  114. optimum/rbln/transformers/models/wav2vec2/configuration_wav2vec.py +19 -0
  115. optimum/rbln/transformers/models/wav2vec2/modeling_wav2vec2.py +9 -72
  116. optimum/rbln/transformers/models/whisper/__init__.py +2 -0
  117. optimum/rbln/transformers/models/whisper/configuration_whisper.py +64 -0
  118. optimum/rbln/transformers/models/whisper/modeling_whisper.py +135 -100
  119. optimum/rbln/transformers/models/whisper/whisper_architecture.py +73 -40
  120. optimum/rbln/transformers/models/xlm_roberta/__init__.py +1 -0
  121. optimum/rbln/transformers/models/xlm_roberta/configuration_xlm_roberta.py +19 -0
  122. optimum/rbln/transformers/models/xlm_roberta/modeling_xlm_roberta.py +3 -83
  123. optimum/rbln/utils/hub.py +2 -2
  124. optimum/rbln/utils/import_utils.py +23 -6
  125. optimum/rbln/utils/model_utils.py +4 -4
  126. optimum/rbln/utils/runtime_utils.py +33 -2
  127. optimum/rbln/utils/submodule.py +36 -44
  128. {optimum_rbln-0.7.3.post2.dist-info → optimum_rbln-0.7.4.dist-info}/METADATA +6 -6
  129. optimum_rbln-0.7.4.dist-info/RECORD +169 -0
  130. optimum/rbln/modeling_config.py +0 -310
  131. optimum_rbln-0.7.3.post2.dist-info/RECORD +0 -122
  132. {optimum_rbln-0.7.3.post2.dist-info → optimum_rbln-0.7.4.dist-info}/WHEEL +0 -0
  133. {optimum_rbln-0.7.3.post2.dist-info → optimum_rbln-0.7.4.dist-info}/licenses/LICENSE +0 -0
@@ -12,89 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- import inspect
16
- from typing import TYPE_CHECKING, Optional, Union
17
15
 
18
- from transformers import PretrainedConfig
16
+ from ...modeling_generic import RBLNTransformerEncoderForFeatureExtraction
19
17
 
20
- from ....modeling import RBLNModel
21
- from ....modeling_config import RBLNCompileConfig, RBLNConfig
22
- from ....utils.logging import get_logger
23
18
 
24
-
25
- logger = get_logger(__name__)
26
-
27
- if TYPE_CHECKING:
28
- from transformers import AutoFeatureExtractor, AutoProcessor, AutoTokenizer
29
-
30
-
31
- class RBLNXLMRobertaModel(RBLNModel):
32
- @classmethod
33
- def _get_rbln_config(
34
- cls,
35
- preprocessors: Optional[Union["AutoFeatureExtractor", "AutoProcessor", "AutoTokenizer"]],
36
- model_config: Optional["PretrainedConfig"] = None,
37
- rbln_kwargs={},
38
- ) -> RBLNConfig:
39
- rbln_max_seq_len = rbln_kwargs.get("max_seq_len", None)
40
- rbln_model_input_names = rbln_kwargs.get("model_input_names", None)
41
- rbln_batch_size = rbln_kwargs.get("batch_size", None)
42
-
43
- max_position_embeddings = getattr(model_config, "n_positions", None) or getattr(
44
- model_config, "max_position_embeddings", None
45
- )
46
-
47
- if rbln_max_seq_len is None:
48
- rbln_max_seq_len = max_position_embeddings
49
- if rbln_max_seq_len is None:
50
- for tokenizer in preprocessors:
51
- if hasattr(tokenizer, "model_max_length"):
52
- rbln_max_seq_len = tokenizer.model_max_length
53
- break
54
- if rbln_max_seq_len is None:
55
- raise ValueError("`rbln_max_seq_len` should be specified!")
56
-
57
- if max_position_embeddings is not None and rbln_max_seq_len > max_position_embeddings:
58
- raise ValueError("`rbln_enc_max_seq_len` should be less or equal than max_position_embeddings!")
59
-
60
- signature_params = inspect.signature(cls.get_hf_class().forward).parameters.keys()
61
-
62
- if rbln_model_input_names is None:
63
- for tokenizer in preprocessors:
64
- if hasattr(tokenizer, "model_input_names"):
65
- rbln_model_input_names = [name for name in signature_params if name in tokenizer.model_input_names]
66
-
67
- invalid_params = set(rbln_model_input_names) - set(signature_params)
68
- if invalid_params:
69
- raise ValueError(f"Invalid model input names: {invalid_params}")
70
- break
71
- if rbln_model_input_names is None and hasattr(cls, "rbln_model_input_names"):
72
- rbln_model_input_names = cls.rbln_model_input_names
73
- elif rbln_model_input_names is None and hasattr(cls, "rbln_model_input_names") is False:
74
- raise ValueError(
75
- "Specify the model input names obtained by the tokenizer via `rbln_model_input_names`, "
76
- f"and be sure to make the order of the inputs same as XLMRobertaModel forward() arguments like ({list(signature_params)})"
77
- )
78
- else:
79
- invalid_params = set(rbln_model_input_names) - set(signature_params)
80
- if invalid_params:
81
- raise ValueError(f"Invalid model input names: {invalid_params}")
82
- rbln_model_input_names = [name for name in signature_params if name in rbln_model_input_names]
83
-
84
- if rbln_batch_size is None:
85
- rbln_batch_size = 1
86
-
87
- input_info = [
88
- (model_input_name, [rbln_batch_size, rbln_max_seq_len], "int64")
89
- for model_input_name in rbln_model_input_names
90
- ]
91
-
92
- rbln_compile_config = RBLNCompileConfig(input_info=input_info)
93
-
94
- rbln_config = RBLNConfig(
95
- rbln_cls=cls.__name__,
96
- compile_cfgs=[rbln_compile_config],
97
- rbln_kwargs=rbln_kwargs,
98
- )
99
- rbln_config.model_cfg.update({"max_seq_len": rbln_max_seq_len})
100
- return rbln_config
19
+ class RBLNXLMRobertaModel(RBLNTransformerEncoderForFeatureExtraction):
20
+ pass
optimum/rbln/utils/hub.py CHANGED
@@ -63,7 +63,7 @@ def pull_compiled_model_from_hub(
63
63
  force_download: bool,
64
64
  local_files_only: bool,
65
65
  ) -> Path:
66
- """Pull model files from the Hugging Face Hub."""
66
+ """Pull model files from the HuggingFace Hub."""
67
67
  huggingface_token = _get_huggingface_token(use_auth_token)
68
68
  repo_files = list(
69
69
  map(
@@ -119,4 +119,4 @@ def _get_huggingface_token(use_auth_token: Union[bool, str]) -> str:
119
119
  elif use_auth_token:
120
120
  return HfFolder.get_token()
121
121
  else:
122
- raise ValueError("`use_auth_token` must be provided to interact with the Hugging Face Hub.")
122
+ raise ValueError("`use_auth_token` must be provided to interact with the HuggingFace Hub.")
@@ -144,10 +144,27 @@ def check_version_compats() -> None:
144
144
  except importlib.metadata.PackageNotFoundError:
145
145
  warnings.warn(f"optimum-rbln requires {compat.package_name} to be installed.", ImportWarning)
146
146
  continue
147
+ # For versions 0.7.2 and above, don't show warning for rebel-compiler if base versions match
147
148
 
148
- if not Version(compat.min_version) <= Version(dep_version) < Version(compat.max_version):
149
- warnings.warn(
150
- f"optimum-rbln v{my_version} is compatible to {compat.package_name} v{compat.min_version} to v{compat.max_version}. (you are currently using v{dep_version})\n"
151
- "Please refer to our SDK release notes at https://docs.rbln.ai/about_atom/release_note.html",
152
- ImportWarning,
153
- )
149
+ if compat.package_name == "rebel-compiler":
150
+ # For optimum-rbln versions 0.7.2 and above, suppress the warning if the base versions of
151
+ # optimum-rbln and rebel-compiler match (e.g., 0.7.x with 0.7.y).
152
+ if (
153
+ Version(my_version) >= Version("0.7.2")
154
+ and Version(my_version).base_version == Version(dep_version).base_version
155
+ ):
156
+ continue
157
+ else:
158
+ warnings.warn(
159
+ f"Version mismatch detected: optimum-rbln v{my_version} and {compat.package_name} v{dep_version} have different base versions. "
160
+ f"For optimal performance and compatibility, please ensure both packages share the same major and minor version numbers. "
161
+ "Please refer to our SDK release notes at https://docs.rbln.ai/about_atom/release_note.html",
162
+ ImportWarning,
163
+ )
164
+ else:
165
+ if not Version(compat.min_version) <= Version(dep_version) < Version(compat.max_version):
166
+ warnings.warn(
167
+ f"optimum-rbln v{my_version} is compatible to {compat.package_name} v{compat.min_version} to v{compat.max_version}. (you are currently using v{dep_version})\n"
168
+ "Please refer to our SDK release notes at https://docs.rbln.ai/about_atom/release_note.html",
169
+ ImportWarning,
170
+ )
@@ -18,10 +18,10 @@ RBLN_PREFIX = "RBLN"
18
18
 
19
19
  def convert_hf_to_rbln_model_name(hf_model_name: str):
20
20
  """
21
- Convert Hugging Face model name to RBLN model name.
21
+ Convert HuggingFace model name to RBLN model name.
22
22
 
23
23
  Args:
24
- hf_model_name (str): The Hugging Face model name.
24
+ hf_model_name (str): The HuggingFace model name.
25
25
 
26
26
  Returns:
27
27
  str: The corresponding RBLN model name.
@@ -31,13 +31,13 @@ def convert_hf_to_rbln_model_name(hf_model_name: str):
31
31
 
32
32
  def convert_rbln_to_hf_model_name(rbln_model_name: str):
33
33
  """
34
- Convert RBLN model name to Hugging Face model name.
34
+ Convert RBLN model name to HuggingFace model name.
35
35
 
36
36
  Args:
37
37
  rbln_model_name (str): The RBLN model name.
38
38
 
39
39
  Returns:
40
- str: The corresponding Hugging Face model name.
40
+ str: The corresponding HuggingFace model name.
41
41
  """
42
42
 
43
43
  return rbln_model_name.removeprefix(RBLN_PREFIX)
@@ -45,23 +45,54 @@ class RBLNPytorchRuntime:
45
45
 
46
46
 
47
47
  class UnavailableRuntime:
48
+ """
49
+ A placeholder class used when model runtimes are not created.
50
+
51
+ This class is returned by RBLNBaseModel._from_compiled_models when rbln_config.create_runtimes=False.
52
+ It provides proper error messages when users attempt to use a model that was loaded without
53
+ runtime creation.
54
+
55
+ Usage:
56
+ 1. When compiling models on machines without NPU hardware
57
+ 2. When preparing models for later deployment
58
+ 3. When only model compilation is needed, not inference
59
+
60
+ To use a model with runtimes, either:
61
+ - Load the model with from_pretrained(..., rbln_create_runtimes=True)
62
+ - Or set rbln_config={"create_runtimes": True} during loading
63
+ """
64
+
48
65
  def __call__(self, *args: Any, **kwargs: Any) -> Any:
66
+ """Raises a RuntimeError when the model is called without runtimes."""
49
67
  raise self.forward(*args, **kwargs)
50
68
 
51
69
  def __len__(self) -> int:
70
+ """Returns 0 since no runtimes are available."""
52
71
  return 0
53
72
 
54
73
  def __getitem__(self, idx: int) -> Any:
74
+ """Returns self for any index, allowing iteration to work with appropriate errors."""
55
75
  return self
56
76
 
57
77
  def __iter__(self):
78
+ """Returns an iterator with self as the only item."""
58
79
  return iter([self])
59
80
 
60
81
  def forward(self, *args: List["torch.Tensor"], **kwargs: Dict[str, "torch.Tensor"]):
61
- raise RuntimeError("The model can't run because the runtime hasn't been created.")
82
+ """Raises a detailed RuntimeError explaining why inference cannot be performed."""
83
+ raise RuntimeError(
84
+ "Cannot perform inference: RBLN runtime is not available.\n\n"
85
+ "This model was loaded with create_runtimes=False. To use this model for inference:\n"
86
+ "1. Load the model with runtime creation enabled:\n"
87
+ " model = RBLNModel.from_pretrained(..., rbln_create_runtimes=True)\n"
88
+ "2. Ensure your NPU hardware is properly configured (check with 'rbln-stat' command)\n"
89
+ "3. If you're on a machine without NPU hardware, you need to transfer the model files\n"
90
+ " to a compatible system with NPU support."
91
+ )
62
92
 
63
93
  def __repr__(self) -> str:
64
- return "UnavailableRuntime"
94
+ """Returns a detailed string representation of the UnavailableRuntime."""
95
+ return "<UnavailableRuntime: Model loaded without runtime creation (create_runtimes=False)>"
65
96
 
66
97
 
67
98
  class ContextRblnConfig:
@@ -13,10 +13,9 @@
13
13
  # limitations under the License.
14
14
 
15
15
  import importlib
16
- from pathlib import Path
17
- from typing import TYPE_CHECKING, Any, Dict, List
16
+ from typing import TYPE_CHECKING, Any, Dict, List, Type
18
17
 
19
- from ..modeling_config import RBLNConfig
18
+ from ..configuration_utils import RBLNModelConfig
20
19
 
21
20
 
22
21
  if TYPE_CHECKING:
@@ -35,37 +34,40 @@ class SubModulesMixin:
35
34
 
36
35
  _rbln_submodules: List[Dict[str, Any]] = []
37
36
 
38
- def __init__(
39
- self,
40
- *,
41
- rbln_submodules: List["RBLNBaseModel"] = [],
42
- **kwargs,
43
- ) -> None:
37
+ def __init__(self, *, rbln_submodules: List["RBLNBaseModel"] = [], **kwargs) -> None:
44
38
  for submodule_meta, submodule in zip(self._rbln_submodules, rbln_submodules):
45
39
  setattr(self, submodule_meta["name"], submodule)
46
40
 
47
41
  @classmethod
48
42
  def _export_submodules_from_model(
49
- cls,
50
- model: "PreTrainedModel",
51
- model_save_dir: str,
52
- rbln_kwargs: Dict[str, Any],
53
- **kwargs,
43
+ cls, model: "PreTrainedModel", model_save_dir: str, rbln_config: RBLNModelConfig, **kwargs
54
44
  ) -> List["RBLNBaseModel"]:
55
45
  rbln_submodules = []
46
+ submodule_prefix = getattr(cls, "_rbln_submodule_prefix", None)
47
+
56
48
  for submodule in cls._rbln_submodules:
57
49
  submodule_name = submodule["name"]
58
- torch_submodule: "PreTrainedModel" = getattr(model, submodule["name"])
50
+ if submodule_prefix is not None:
51
+ torch_submodule: PreTrainedModel = getattr(model, submodule_prefix)
52
+ torch_submodule = getattr(torch_submodule, submodule_name)
53
+ else:
54
+ torch_submodule: PreTrainedModel = getattr(model, submodule_name)
55
+
59
56
  cls_name = torch_submodule.__class__.__name__
60
- submodule_cls: "RBLNBaseModel" = getattr(importlib.import_module("optimum.rbln"), f"RBLN{cls_name}")
57
+ submodule_cls: Type["RBLNBaseModel"] = getattr(importlib.import_module("optimum.rbln"), f"RBLN{cls_name}")
58
+ submodule_rbln_config = getattr(rbln_config, submodule_name) or {}
61
59
 
62
- if submodule_name in rbln_kwargs:
63
- kwargs["rbln_config"] = rbln_kwargs[submodule_name]
60
+ if isinstance(submodule_rbln_config, dict):
61
+ submodule_rbln_config_class = submodule_cls.get_rbln_config_class()
62
+ submodule_rbln_config = submodule_rbln_config_class(**submodule_rbln_config)
63
+ setattr(rbln_config, submodule_name, submodule_rbln_config)
64
64
 
65
65
  rbln_submodule = submodule_cls.from_model(
66
66
  model=torch_submodule,
67
+ config=torch_submodule.config,
67
68
  subfolder=submodule_name,
68
69
  model_save_dir=model_save_dir,
70
+ rbln_config=submodule_rbln_config,
69
71
  **kwargs,
70
72
  )
71
73
 
@@ -74,55 +76,45 @@ class SubModulesMixin:
74
76
  return rbln_submodules
75
77
 
76
78
  @classmethod
77
- def _load_submodules_from_compiled_models(
78
- cls,
79
- model_save_dir: str,
80
- rbln_kwargs: Dict[str, Any],
81
- **kwargs,
82
- ):
79
+ def _load_submodules_from_compiled_models(cls, model_save_dir: str, rbln_config: RBLNModelConfig, **kwargs):
83
80
  rbln_submodules = []
81
+
84
82
  for submodule in cls._rbln_submodules:
85
83
  submodule_name = submodule["name"]
86
84
 
87
- if submodule_name in rbln_kwargs:
88
- kwargs["rbln_config"] = rbln_kwargs[submodule_name]
89
-
90
85
  # Get cls name for call the constructor of the rbln class
91
- submodule_rbln_config = RBLNConfig.load(Path(model_save_dir) / submodule_name)
92
- submodule_cls_name = submodule_rbln_config.meta["cls"]
93
- submodule_cls: "RBLNBaseModel" = getattr(importlib.import_module("optimum.rbln"), submodule_cls_name)
86
+ submodule_rbln_config = getattr(rbln_config, submodule_name)
87
+
88
+ # RBLNModelConfig -> RBLNModel
89
+ submodule_cls: "RBLNBaseModel" = getattr(
90
+ importlib.import_module("optimum.rbln"), submodule_rbln_config.rbln_model_cls_name
91
+ )
94
92
 
95
93
  rbln_submodule = submodule_cls._from_pretrained(
96
94
  model_id=model_save_dir,
97
95
  config=None,
98
96
  subfolder=submodule_name,
97
+ rbln_config=submodule_rbln_config,
99
98
  **kwargs,
100
99
  )
100
+
101
+ # update submodule's rbln_config since it is updated in the from_pretrained method
102
+ setattr(rbln_config, submodule_name, rbln_submodule.rbln_config)
101
103
  rbln_submodules.append(rbln_submodule)
104
+
102
105
  return rbln_submodules
103
106
 
104
107
  @classmethod
105
- def _load_submodules(
106
- cls,
107
- model_save_dir,
108
- rbln_kwargs,
109
- model=None,
110
- **kwargs,
111
- ):
108
+ def _load_submodules(cls, model_save_dir, rbln_config: RBLNModelConfig, model=None, **kwargs):
112
109
  # Two ways :
113
110
  # 1. Compile from pytorch object
114
111
  # 2. Load from compiled file
115
112
  if model is not None:
116
113
  return cls._export_submodules_from_model(
117
- model=model,
118
- model_save_dir=model_save_dir,
119
- rbln_kwargs=rbln_kwargs,
120
- **kwargs,
114
+ model=model, model_save_dir=model_save_dir, rbln_config=rbln_config, **kwargs
121
115
  )
122
116
 
123
117
  else:
124
118
  return cls._load_submodules_from_compiled_models(
125
- model_save_dir=model_save_dir,
126
- rbln_kwargs=rbln_kwargs,
127
- **kwargs,
119
+ model_save_dir=model_save_dir, rbln_config=rbln_config, **kwargs
128
120
  )
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: optimum-rbln
3
- Version: 0.7.3.post2
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,169 @@
1
+ optimum/rbln/__init__.py,sha256=c2whRR6XkelNLlH1MwAKYMoaBEhmGxSQFrhfKS1JC-I,13186
2
+ optimum/rbln/__version__.py,sha256=RpToADPpCu_eTIOQjRWWz4zHrylYp11UTglHfgOe1ko,511
3
+ optimum/rbln/configuration_utils.py,sha256=rOXG9_ptYwzLlDIebd-CoiT3i6xaZl5IVPplLIrUyoE,31106
4
+ optimum/rbln/modeling.py,sha256=qDXB69Oq0jx9hfONebDiSNe2_DgKYhnAGLTbGAtwYVw,9677
5
+ optimum/rbln/modeling_base.py,sha256=iQKw2IORu1cN6sOK0xeBVrhatt-ZPeinT_v6l2FnGRw,24173
6
+ optimum/rbln/diffusers/__init__.py,sha256=XL6oKPHbPCV6IVCw3fu0-M9mD2KO_x6unx5kJdAtpVY,6180
7
+ optimum/rbln/diffusers/modeling_diffusers.py,sha256=bPyP5RMbOFLb2DfEAuLVp7hTuQWJvWid7El72wGmFrY,19535
8
+ optimum/rbln/diffusers/configurations/__init__.py,sha256=Sk_sQVTuTl01RVgYViWknQSLmulxKaISS0w-oPdNoBQ,1164
9
+ optimum/rbln/diffusers/configurations/models/__init__.py,sha256=P3vif5I4wYeol50jzHCZ1ttujuEFZSYJPzUdSF6_jsU,407
10
+ optimum/rbln/diffusers/configurations/models/configuration_autoencoder_kl.py,sha256=61QHgb_tVF6lxvy6vBxst2TjnebeKQy3rKHOOOc6e68,2952
11
+ optimum/rbln/diffusers/configurations/models/configuration_controlnet.py,sha256=qyhhrv-rgHl-IDIGf66rghMsfdMyW5xKjWGsEXs8wOc,2551
12
+ optimum/rbln/diffusers/configurations/models/configuration_prior_transformer.py,sha256=JA0ECp6UbXJNypJUEMaJPyY0k2pfVPCVcqp_BH2h0H0,1952
13
+ optimum/rbln/diffusers/configurations/models/configuration_transformer_sd3.py,sha256=nQ8Q2wZixKwiM7Xye4-_dJS2HDY94cyxglStYUzssxc,2306
14
+ optimum/rbln/diffusers/configurations/models/configuration_unet_2d_condition.py,sha256=c-1xAFgA1st8djLXkLeXtctcFp1MqZZYZp3Phqn1Wxo,3366
15
+ optimum/rbln/diffusers/configurations/models/configuration_vq_model.py,sha256=su4Ceok4Wx4m1hKp5YEM3zigrlTmj3NIs9X7aAKOeWg,2980
16
+ optimum/rbln/diffusers/configurations/pipelines/__init__.py,sha256=HJlu5lRZJWy4nYjBw3-ed93Pfb5QQmUbCJZKDW1bGH4,1160
17
+ optimum/rbln/diffusers/configurations/pipelines/configuration_controlnet.py,sha256=G9e2fxVmQ2JD-0iWrRe4jjCTtj9ZysI8oM_dWohtMO8,11044
18
+ optimum/rbln/diffusers/configurations/pipelines/configuration_kandinsky2_2.py,sha256=u26JzBCgGnc581up4y3XXyFX5lqAsKGF0IyDRGdYPp8,12746
19
+ optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion.py,sha256=cE5BHI2sy3PCz0kfhQic611feGwavb7wtpx04MPR6us,4992
20
+ optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_3.py,sha256=54NTvVur7RADGgjGwO33s76dgKQ4zVNvmFl68rQFapw,6370
21
+ optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_xl.py,sha256=H0hqsqpAfqb9gBIK5KsfUf9gX9cTnggK9Nt2aqfzeIM,5528
22
+ optimum/rbln/diffusers/models/__init__.py,sha256=mkCvJyH1KcwrsUvYSq_bVC79oOfyqtBSFDyPS1_48wA,1478
23
+ optimum/rbln/diffusers/models/controlnet.py,sha256=kzDbUckGlioor8t0kKBvwi-hzNaG15XluEzTa7xZs1Q,10292
24
+ optimum/rbln/diffusers/models/autoencoders/__init__.py,sha256=dg17ZTUsiqTcbIaEE4fqew9uRbao0diQ21PXvRKIqKg,679
25
+ optimum/rbln/diffusers/models/autoencoders/autoencoder_kl.py,sha256=qjReFNmuQEjnHjoI8f7ClAp_rRTA1vIk-3dwxJi6s7U,7905
26
+ optimum/rbln/diffusers/models/autoencoders/vae.py,sha256=_fyFco2697uT1zo_P_fGML-_zqZw2sUQp3tRRjA5pg4,4172
27
+ optimum/rbln/diffusers/models/autoencoders/vq_model.py,sha256=DC8Nee8_BabGhagJgpCUDhA-oaTpZMg-lCVzXJ6dNEw,6134
28
+ optimum/rbln/diffusers/models/transformers/__init__.py,sha256=V8rSR7WzHs-i8Cwb_MNxhY2NFbwPgxu24vGtkwl-6tk,706
29
+ optimum/rbln/diffusers/models/transformers/prior_transformer.py,sha256=d7CYmm88lozepqXjmrFr4qsQ-lRE_10wQRwnenMSflU,4989
30
+ optimum/rbln/diffusers/models/transformers/transformer_sd3.py,sha256=ywWiRAYQ0wfKMMZBrJ9C34GBwIu92F5QXSG8qi7Cr6s,6579
31
+ optimum/rbln/diffusers/models/unets/__init__.py,sha256=MaICuK9CWjgzejXy8y2NDrphuEq1rkzanF8u45k6O5I,655
32
+ optimum/rbln/diffusers/models/unets/unet_2d_condition.py,sha256=dyrez3vS0_YSxTVwcjlSijDJhe6XchdsLsCFv74HiFQ,15555
33
+ optimum/rbln/diffusers/pipelines/__init__.py,sha256=5KLZ5LrpMzBya2e_3_PvEoPwG24U8JMexfw_ygZREKc,3140
34
+ optimum/rbln/diffusers/pipelines/controlnet/__init__.py,sha256=n1Ef22TSeax-kENi_d8K6wGGHSNEo9QkUeygELHgcao,983
35
+ optimum/rbln/diffusers/pipelines/controlnet/multicontrolnet.py,sha256=Cv__E0Boc6TSOIv8TdXVE821zIiPG4MVI_lnaGSqquk,4102
36
+ optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet.py,sha256=_yblap0kjOpk-cJ6LuD5vL4G7BEnJISy1EP-QiU0I5w,35330
37
+ optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py,sha256=GtnjUPTicLI5IAMlFi8zm4c3BvvAhgD7_H1_3fOfnzw,33821
38
+ optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl.py,sha256=M97KwwgMVZlebc2V98Ll0MIhQm00uzQaET-Dcl6CX7Q,44902
39
+ optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl_img2img.py,sha256=QIn3pGtKZupsZZNXwNdRRpldvLIuSrd1GQ2GpziNMfI,46245
40
+ optimum/rbln/diffusers/pipelines/kandinsky2_2/__init__.py,sha256=I4YQq2HfA3xONbWsdJ870IEJPyLWeCDDG-UCJsu9YO8,1035
41
+ optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2.py,sha256=fxE1NSinavs__ljMyKr_kz2xQzVftQyf0YInx9tt4og,1021
42
+ optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_combined.py,sha256=pUFs83YWKGN4tfgOW9qWBjUQc7wK3fvyEdXJqLdf_5Q,7153
43
+ optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_img2img.py,sha256=6AGh3OOzsGJ-f-yDyMp9TyGxrl7lfEqUt5JIlyI_aAU,1063
44
+ optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_inpaint.py,sha256=KzFeKxaltdGpllswtl3HT79jLpX1qLMjT7QN7wiMPDI,1063
45
+ optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior.py,sha256=HrYRkIuw0H4Q0BEpRAIQNkmQfJRTpkhy9Hj0gvrSUBQ,1001
46
+ optimum/rbln/diffusers/pipelines/stable_diffusion/__init__.py,sha256=gz6CbP4T6w8XH3PIGRIJXTmKFsChJIkwcAEAsiR5Ydg,830
47
+ optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py,sha256=XxZd9_Est8QxSECm0q-2AkfnGn1Hz5Mr2AadtZtsefw,1000
48
+ optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py,sha256=6VWT2ssqz00d_l9Wotep-YFbzK8Ykh1_AhTwTPY34GI,1041
49
+ optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py,sha256=M6rXEIcp5oORHZlDT41OL6CAlxLYaMFATcjyxjGTG64,1041
50
+ optimum/rbln/diffusers/pipelines/stable_diffusion_3/__init__.py,sha256=Hh-JePj7nBsm81ioqdt8gfpS_I0sEHBinsAOEdraUno,839
51
+ optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3.py,sha256=bcgW4YO_BwK7TE3ovlOOZo_JDq2Ae0jCyS42F3ibHRM,1048
52
+ optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_img2img.py,sha256=SSf53dBcEeVNsYoIvmerbWmmahBQ9LT-0jyy7x1C8rA,1090
53
+ optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_inpaint.py,sha256=EBOoOAADiAvxRCRGGHQnue6UvULzh37a1snibD8Xsss,1090
54
+ optimum/rbln/diffusers/pipelines/stable_diffusion_xl/__init__.py,sha256=9iIMZYvpWEiLRrMEduhwVTE5IUix61OSLj7kd1e1FzY,845
55
+ optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py,sha256=9GQIzBSgBae2kE9esGycg7WqNwO8TGF5c97rMx9934Y,1029
56
+ optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py,sha256=BtzoyVd6Np5BPu3-OyXjbVMM8tl2ARF3HeFZab9NLXU,1071
57
+ optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_inpaint.py,sha256=7_ezUBCaH24e25VS19vrhJHBvmEOFnBpgfslpjL6aT4,1071
58
+ optimum/rbln/ops/__init__.py,sha256=rSz6mfC0aGbNYjMaNSsOZSPYxPRenW8DWbNpAkjTfAc,703
59
+ optimum/rbln/ops/attn.py,sha256=x02yFLk7FcONFqfow0ROmVy9fmxo5Pw0SPCiDY3AZNg,9012
60
+ optimum/rbln/ops/flash_attn.py,sha256=NmCqUdMTzgJ4sbYGj8IWXJEsLWvbuCMponR01w5DK6w,4121
61
+ optimum/rbln/ops/kv_cache_update.py,sha256=HjnHBR-oFrJQibsVnkYb0P5_-wEma8jl0mkjkylwakU,1270
62
+ optimum/rbln/ops/linear.py,sha256=1_7Hg-9wXxhu97fqPobotLQx17k7VPeSSL91_9Z7EDg,1018
63
+ optimum/rbln/transformers/__init__.py,sha256=P89UOclQWiLgNkH90GXdnwWD2492O2tusM-fZApfBNg,8084
64
+ optimum/rbln/transformers/configuration_alias.py,sha256=qFVfg6ohsR7a6b-CBgxjBUPDrk9MyiJwtO8AQah_RTU,1505
65
+ optimum/rbln/transformers/configuration_generic.py,sha256=XIiZ1-5p1CMHhG7Sr2qR4SLYKcYw9aph7eGlga3Opx0,5056
66
+ optimum/rbln/transformers/modeling_alias.py,sha256=yx7FnZQWAnrWzivaO5hI7T6i-fyLzt2tMIXG2oDNbPo,1657
67
+ optimum/rbln/transformers/modeling_generic.py,sha256=nT_lytAILkYtwBVJKxXg0dxmh0UpjGYO6zOdLoMs1uU,12891
68
+ optimum/rbln/transformers/modeling_rope_utils.py,sha256=3zwkhYUyTZhxCJUSmwCc88iiY1TppRWEY9ShwUqNB2k,14293
69
+ optimum/rbln/transformers/models/__init__.py,sha256=72eMPN5UYGJ9P5gnJ2yi25cGdX1jV7viTOKmsX2OqBg,7221
70
+ optimum/rbln/transformers/models/auto/__init__.py,sha256=GvGbb3ZpMv-h6euXeZ42jSizoOfrL2O1uvpAnfKxYEo,1034
71
+ optimum/rbln/transformers/models/auto/auto_factory.py,sha256=Uf5rCUoxec2qhIAwbAeZNZN4NIMFaLurSB1EdI79lwA,7044
72
+ optimum/rbln/transformers/models/auto/modeling_auto.py,sha256=Un9qoqdy3dO8JBza_bTJF_6_fRVNM9QisihSgTRFI-o,3933
73
+ optimum/rbln/transformers/models/bart/__init__.py,sha256=fVo-gZEmJ0yxkIxEX6ciuRAGgXNyuvaXE2s88bhbjAE,830
74
+ optimum/rbln/transformers/models/bart/bart_architecture.py,sha256=Oo-Cdne7igKEex8wwP-gztKJHgs5GLHQjK1oc3IZIDE,5801
75
+ optimum/rbln/transformers/models/bart/configuration_bart.py,sha256=iIuotDRU0IZteTNUY97jnsecIEYokaJ0BF5Sv_MJk00,909
76
+ optimum/rbln/transformers/models/bart/modeling_bart.py,sha256=q42gQ42Ldkfrw_rv0__7dFQEM8UYfKEMCYd6Z-vg9KQ,1918
77
+ optimum/rbln/transformers/models/bert/__init__.py,sha256=86FuGRBLw315_Roa9D5OUx6Ku2PM0DqSPZ-YSqbF-io,806
78
+ optimum/rbln/transformers/models/bert/configuration_bert.py,sha256=NIlBRn-zrnNirkEfJ4Uv2TZRIBL761PLJ9-cZaPyzpg,1017
79
+ optimum/rbln/transformers/models/bert/modeling_bert.py,sha256=XxsRhBhexZ2w3mRCvKl73pIyGdqcFR1RrOKG7h4EAyk,1223
80
+ optimum/rbln/transformers/models/clip/__init__.py,sha256=TLeXDqcFK6M6v9x7Xr64kBbqGu3hFHM7p754dQ8UVQc,938
81
+ optimum/rbln/transformers/models/clip/configuration_clip.py,sha256=wgfZeVvcVdSzrN9tcnt7DKJQ0NLR0REvW7MyUXyv2Bg,2976
82
+ optimum/rbln/transformers/models/clip/modeling_clip.py,sha256=UslcDN6otyQ_psou7F_YcdK5vCImEtgIdcbwmexSfOM,7256
83
+ optimum/rbln/transformers/models/decoderonly/__init__.py,sha256=vQYZDDdoddwA7yKc5zzrq2Zs9sax-0p8rNF_aYfF4bk,1006
84
+ optimum/rbln/transformers/models/decoderonly/configuration_decoderonly.py,sha256=b1W7zS0MUmeDd048bLp5AkZMrWd3LIhHaVy8NvlwdCw,4116
85
+ optimum/rbln/transformers/models/decoderonly/decoderonly_architecture.py,sha256=NG2tKC3gT57r34PYKgU0evZHctEHzJGRrk2FOjLyK7Q,41748
86
+ optimum/rbln/transformers/models/decoderonly/modeling_decoderonly.py,sha256=5o2m_xPVjfCovP_jcW8E17sSKkLqcVblr4mFLbv-VDU,42991
87
+ optimum/rbln/transformers/models/dpt/__init__.py,sha256=Nzep9mlzKyL1kV726IBqY8DnLp1DkH9JzFeknWSRhok,714
88
+ optimum/rbln/transformers/models/dpt/configuration_dpt.py,sha256=4fW6bzVhaAxym4wGV3F785rvUOoWPyw_gdEMqB08Leg,755
89
+ optimum/rbln/transformers/models/dpt/modeling_dpt.py,sha256=oKLX7MQZvfk1QB8wOtcdi7AmZH2fOIVbypa9A3RA9MI,733
90
+ optimum/rbln/transformers/models/exaone/__init__.py,sha256=eUL0mq3yGVzCQfjLlOtVF2MecIN3DQWm07EmXubGSTs,921
91
+ optimum/rbln/transformers/models/exaone/configuration_exaone.py,sha256=97r1wkO9cgwErePk2UX6n7WeVkOmWUeGgpK6qAGOUi4,774
92
+ optimum/rbln/transformers/models/exaone/exaone_architecture.py,sha256=ZM5vvz8KBipOiMVi8vqfvejkDSknW69xh4GrvJix-g0,3350
93
+ optimum/rbln/transformers/models/exaone/modeling_exaone.py,sha256=WjyH8PmsMljSea7kJn_Cq1FJ96OXwXAoU7hv2Q8zUnI,1747
94
+ optimum/rbln/transformers/models/gemma/__init__.py,sha256=VqPIlokw3kjn_ZoLXINCLXw3vaysQFo5oPGGy6bnt4Q,708
95
+ optimum/rbln/transformers/models/gemma/configuration_gemma.py,sha256=ek7PiMWx4LDAJ0mCedJ55o_TKTiOCSGD5V-1o1Fy4f8,773
96
+ optimum/rbln/transformers/models/gemma/gemma_architecture.py,sha256=bmCx405FVcffhgrQ53qMMZDbSlPxWOjucMHbvq19Gnw,2286
97
+ optimum/rbln/transformers/models/gemma/modeling_gemma.py,sha256=-U3w3cEOv3ps1S8aL7uOq6Kq2siCPZz7Z8MXhDQgQqo,1530
98
+ optimum/rbln/transformers/models/gpt2/__init__.py,sha256=socBMIBZSiLbrVN12rQ4nL9gFeT0axMgz6SWaCaD4Ac,704
99
+ optimum/rbln/transformers/models/gpt2/configuration_gpt2.py,sha256=vKvJD8P9Li4W9wdVoQcqMEr1MwEXojPBnF2NE85VXAo,772
100
+ optimum/rbln/transformers/models/gpt2/gpt2_architecture.py,sha256=1IxqHmB-GlH2Dv2Yk4z0rMxL9CpxMGHhSu_x8_4cxvs,3008
101
+ optimum/rbln/transformers/models/gpt2/modeling_gpt2.py,sha256=qBDanUk_O-HtOIVCA4IE3FYyCsnL9xIDK00vft-0caw,1490
102
+ optimum/rbln/transformers/models/idefics3/__init__.py,sha256=ulxE7HEfXsNJhd25J9Fvi6vggo9aZH9sLKJjWB6LlzQ,814
103
+ optimum/rbln/transformers/models/idefics3/configuration_idefics3.py,sha256=sM0pXsvkxcpDXagoKlqwKdBAcNdayB9KlWdYC9xlyDU,1889
104
+ optimum/rbln/transformers/models/idefics3/modeling_idefics3.py,sha256=Rr9BJDyoOqJFQ8dJV78QU4Tjjhhj3aqRk05JcDqFv6Y,17904
105
+ optimum/rbln/transformers/models/llama/__init__.py,sha256=knxvRkPx8x6-WOxqSq_PlaKYD-9F9Q8dh7r095Esey0,708
106
+ optimum/rbln/transformers/models/llama/configuration_llama.py,sha256=B9gr4pTn9yiv3-8DIk0P7_AQdIHEc7SuLaH9gZAmP8E,773
107
+ optimum/rbln/transformers/models/llama/llama_architecture.py,sha256=S7MCPfyjG5eUqgaS-QNBB0ApUD6wnb5fR0RHq7k7-pA,728
108
+ optimum/rbln/transformers/models/llama/modeling_llama.py,sha256=Z3iony7icoFhRQ11MAuFx9UF03uJCsvJQZ6bxHXlrgk,1530
109
+ optimum/rbln/transformers/models/llava_next/__init__.py,sha256=kDXKr7wMkp1XqE__DER2B8kQF_NYMxhzsQS5ytGg56I,752
110
+ optimum/rbln/transformers/models/llava_next/configuration_llava_next.py,sha256=QPreWZyohwRL23GOyvoAfKtk5UNg7IJ_Y_pNfUDe7cU,1838
111
+ optimum/rbln/transformers/models/llava_next/modeling_llava_next.py,sha256=xOXc1XUIK4oLSFvAq7Q0lxiOLlDFMbFdOcg5JvLnVkI,25979
112
+ optimum/rbln/transformers/models/midm/__init__.py,sha256=IC3FETwgYinbp3wDj7tp4zIHJhbqM-c6GfTRdYcMNj8,913
113
+ optimum/rbln/transformers/models/midm/configuration_midm.py,sha256=Kv5g5dIsBrhGcZ2_pFUOPNB80np4Xiw0wPH1IZm1PHI,772
114
+ optimum/rbln/transformers/models/midm/midm_architecture.py,sha256=357iviqQkzI0s_lU_teH1sVOChNRDUABe3GA0HuhZZY,5444
115
+ optimum/rbln/transformers/models/midm/modeling_midm.py,sha256=GG25BozEZriAL-OPFGpzOjyDtSFB-NfeiLJTDAqxe20,1734
116
+ optimum/rbln/transformers/models/mistral/__init__.py,sha256=9FE64bCYfSIyrBkRcwlqF8QyacSJFWvwEufHFi1ZIrM,716
117
+ optimum/rbln/transformers/models/mistral/configuration_mistral.py,sha256=zCHZnmjTXs7UKYIIRR2IYjccROm5ODXfonWploITNxg,775
118
+ optimum/rbln/transformers/models/mistral/mistral_architecture.py,sha256=_aU8TE_tdvfo0K7QpgTlz_d0qwk4O82dl9268lPL16E,733
119
+ optimum/rbln/transformers/models/mistral/modeling_mistral.py,sha256=7nrddoBIHf8S12LZWBUpotnvG3gND11vMQda9yYXJ-s,1560
120
+ optimum/rbln/transformers/models/phi/__init__.py,sha256=uqQb-sO1HXuaju2hfo7qJHk_IWhnptY-qFjNjK_uOc0,700
121
+ optimum/rbln/transformers/models/phi/configuration_phi.py,sha256=9Mk06ZNymGnC2P0eiU02oguH1KFKxL-LYtMJSNqpmmo,771
122
+ optimum/rbln/transformers/models/phi/modeling_phi.py,sha256=j-6Pqd5rR2JE8I1pnKFlCi4nW5Dv3wZjoPWxohissoo,1516
123
+ optimum/rbln/transformers/models/phi/phi_architecture.py,sha256=TueyqmjPXWmOPOxBm4dIFyd0X3iV1jgw0U6c26iCAPk,4090
124
+ optimum/rbln/transformers/models/qwen2/__init__.py,sha256=Tu4_AXy3ktTvxGwxED3kewiv62S75HgDWD6-TeC1DfA,708
125
+ optimum/rbln/transformers/models/qwen2/configuration_qwen2.py,sha256=sQBu4UjM8Ctiy696FLjKeck1t49MR31zWTCN_bMvBl4,773
126
+ optimum/rbln/transformers/models/qwen2/modeling_qwen2.py,sha256=9-aFDvjMzPNUyGOz0qo33RE18bUFGYZ3Wt_68zb5uJY,1530
127
+ optimum/rbln/transformers/models/qwen2/qwen2_architecture.py,sha256=XlNAMYAcDLohnSAhIFGKOPuCB5XLgzYs5ABWdeQSaZs,720
128
+ optimum/rbln/transformers/models/qwen2_5_vl/__init__.py,sha256=rAW3DKQUzGL6EMwa5r1iLu94yhpiZpk6zfoD7TtYXrc,865
129
+ optimum/rbln/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py,sha256=dPcGNaLwJf61PIvVbyt-lvBflp_dvK0hubhNoA3len0,3123
130
+ optimum/rbln/transformers/models/qwen2_5_vl/modeling_qwen2_5_vl.py,sha256=sKsDAiMGWtbquTw6_PITK4ijL0aHBZqgs2nPObEiFN8,24951
131
+ optimum/rbln/transformers/models/qwen2_5_vl/qwen2_5_vl_architecture.py,sha256=YRy7Ylm-UQLovt5BmxhayJMKzF3rj0_HIc4tUXaiPO0,7474
132
+ optimum/rbln/transformers/models/seq2seq/__init__.py,sha256=6WKstWiS1kW0oFDn_jyrKMW5QEJAWkmsSRAaadNedDM,715
133
+ optimum/rbln/transformers/models/seq2seq/configuration_seq2seq2.py,sha256=vSNP1eILfL32cbiLOAD58Ocz6lk3hYFnhIRLDVqlSoI,2624
134
+ optimum/rbln/transformers/models/seq2seq/modeling_seq2seq.py,sha256=7MN6CNVyYg4JsULYXDfQ_KkDd3w-1TXuxndSrM-CX8w,16980
135
+ optimum/rbln/transformers/models/seq2seq/seq2seq_architecture.py,sha256=w5pMnWbJhgYmpl5NT_vJEzcb4RfEbHfalJ371IL3wp8,18685
136
+ optimum/rbln/transformers/models/t5/__init__.py,sha256=R1Q8Z1vaIdx4rDjeCmm_ZMSgewWaqaI0l93AHwewtew,818
137
+ optimum/rbln/transformers/models/t5/configuration_t5.py,sha256=cOa2NAAocNSSECTtLpOsVVLfn4-7l7K7jz3nf6CSNCs,912
138
+ optimum/rbln/transformers/models/t5/modeling_t5.py,sha256=cnN76IAw6QaJN8Oodfk5Y4Dte6m84Fy_CRgnqquzzTI,2990
139
+ optimum/rbln/transformers/models/t5/t5_architecture.py,sha256=YdFOr8LfBhEXuPsLZDfYjmUSI-a3Otrzye1bOf8NUyw,9678
140
+ optimum/rbln/transformers/models/time_series_transformers/__init__.py,sha256=rc3csSk4SxEbumZ9xkSWif01Cfi2vALyAHVHfh7t5Sc,1244
141
+ optimum/rbln/transformers/models/time_series_transformers/configuration_time_series_transformer.py,sha256=HUw47FcTeSHBPs02R6GWBWKcX4BrsAI7iPWs0iYhJl0,1363
142
+ optimum/rbln/transformers/models/time_series_transformers/modeling_time_series_transformers.py,sha256=Si3erSkVjzftFErM9d7MiL3dQnnPhqXR1wNvxhmJVxA,16514
143
+ optimum/rbln/transformers/models/time_series_transformers/time_series_transformers_architecture.py,sha256=XJDjQGbWXUq4ZimNojlcbm3mTDpxUMCl6tkFSzfYFl4,13769
144
+ optimum/rbln/transformers/models/wav2vec2/__init__.py,sha256=dzXqyf_uiI45hPJGbnF1v780Izi2TigsbAo3hxFmhy0,709
145
+ optimum/rbln/transformers/models/wav2vec2/configuration_wav2vec.py,sha256=hXsN_pc_gb_xcQdXXnvpp-o0dk5lNepXnt9O5HB-3g4,771
146
+ optimum/rbln/transformers/models/wav2vec2/modeling_wav2vec2.py,sha256=Sw44ZJVQpXfBiq34oyKxSY2SslCeF3QT_yBysWiTyHY,2060
147
+ optimum/rbln/transformers/models/whisper/__init__.py,sha256=ErquiUlYycSYPsDcq9IwwmbZXoYLn1MVZ8VikWY5gQo,792
148
+ optimum/rbln/transformers/models/whisper/configuration_whisper.py,sha256=-Su7pbkg3gkYTf-ECRJyxkpD3JtUJX4y5Mfml8tJJBI,2612
149
+ optimum/rbln/transformers/models/whisper/generation_whisper.py,sha256=GIHTca3b1VtW81kp7BzKQ7f77c2t9OsEsbZetripgDo,4582
150
+ optimum/rbln/transformers/models/whisper/modeling_whisper.py,sha256=7VcOjxV3ZAHBYFDLiSc6wVJ3PZLqzmbBAIkQ4JVfpNM,17538
151
+ optimum/rbln/transformers/models/whisper/whisper_architecture.py,sha256=zEwfn8DDTbt2TN7lHKMZG9JXZc5WdW9Cp8mH4OVfo3s,13949
152
+ optimum/rbln/transformers/models/xlm_roberta/__init__.py,sha256=mFeFTiF6xY_n1glUsvZ420uKKwkeVOS5Oag0L6E4Qs8,718
153
+ optimum/rbln/transformers/models/xlm_roberta/configuration_xlm_roberta.py,sha256=XBICzoxTaZ8DhBtr8qos2tDJar4jvCiKOZwXGImlTAw,779
154
+ optimum/rbln/transformers/models/xlm_roberta/modeling_xlm_roberta.py,sha256=rro7kH_BLDIlKSBRUfeuX-qQu6MeO5SzbVcf0AbFxEk,757
155
+ optimum/rbln/transformers/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
156
+ optimum/rbln/transformers/utils/rbln_quantization.py,sha256=gwBVHf97sQgPNmGa0wq87E8mPyrtXYhMnO4X4sKp3c8,7639
157
+ optimum/rbln/utils/__init__.py,sha256=ieDBT2VFTt2E0M4v_POLBpuGW9LxSydpb_DuPd6PQqc,712
158
+ optimum/rbln/utils/decorator_utils.py,sha256=xu-TrsNi33SRC2a7DBsyoo6-pEQxWKZPZSmM9QlDe2Y,3745
159
+ optimum/rbln/utils/hub.py,sha256=Z_R9Ic9VAew8bUmlaAlxZf5JGMDBivHvvFRI557pILY,4196
160
+ optimum/rbln/utils/import_utils.py,sha256=fpOERIIxXm-cDYGn1NN6c7aWDPQYVitPQW2MiyZ9NEY,5471
161
+ optimum/rbln/utils/logging.py,sha256=VKKBmlQSdg6iZCGmAXaWYiW67K84jyp1QJhLQSSjPPE,3453
162
+ optimum/rbln/utils/model_utils.py,sha256=V2kFpUe2aqVzLwbpztD8JOVFQqRHncvIWwJbgnUPr4E,1274
163
+ optimum/rbln/utils/runtime_utils.py,sha256=LoKNK3AQNV_BSScstIZWjICkJf265MnUgy360BOocVI,5454
164
+ optimum/rbln/utils/save_utils.py,sha256=hG5uOtYmecSXZuGTvCXsTM-SiyZpr5q3InUGCCq_jzQ,3619
165
+ optimum/rbln/utils/submodule.py,sha256=TtcH3OLctFd2Dosc-zNMGZ8xOXKKUfE91dLQ1v09E8Q,4636
166
+ optimum_rbln-0.7.4.dist-info/METADATA,sha256=3oBI_f7-aVgQPAK_8wliIDknmqHBiIlCaQ4iU9nHZAI,5297
167
+ optimum_rbln-0.7.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
168
+ optimum_rbln-0.7.4.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
169
+ optimum_rbln-0.7.4.dist-info/RECORD,,