optimum-rbln 0.8.1rc1__py3-none-any.whl → 0.8.2__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.

Potentially problematic release.


This version of optimum-rbln might be problematic. Click here for more details.

Files changed (119) hide show
  1. optimum/rbln/__init__.py +58 -9
  2. optimum/rbln/__version__.py +2 -2
  3. optimum/rbln/configuration_utils.py +24 -5
  4. optimum/rbln/diffusers/configurations/models/configuration_autoencoder_kl.py +2 -2
  5. optimum/rbln/diffusers/configurations/models/configuration_autoencoder_kl_cosmos.py +2 -2
  6. optimum/rbln/diffusers/configurations/models/configuration_controlnet.py +2 -2
  7. optimum/rbln/diffusers/configurations/models/configuration_prior_transformer.py +2 -2
  8. optimum/rbln/diffusers/configurations/models/configuration_transformer_cosmos.py +5 -2
  9. optimum/rbln/diffusers/configurations/models/configuration_transformer_sd3.py +2 -2
  10. optimum/rbln/diffusers/configurations/models/configuration_unet_2d_condition.py +2 -2
  11. optimum/rbln/diffusers/configurations/models/configuration_vq_model.py +2 -2
  12. optimum/rbln/diffusers/configurations/pipelines/configuration_controlnet.py +3 -3
  13. optimum/rbln/diffusers/configurations/pipelines/configuration_cosmos.py +2 -2
  14. optimum/rbln/diffusers/configurations/pipelines/configuration_kandinsky2_2.py +4 -4
  15. optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion.py +2 -2
  16. optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_3.py +2 -2
  17. optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_xl.py +2 -2
  18. optimum/rbln/diffusers/modeling_diffusers.py +4 -5
  19. optimum/rbln/diffusers/models/__init__.py +3 -13
  20. optimum/rbln/diffusers/models/autoencoders/autoencoder_kl.py +1 -0
  21. optimum/rbln/diffusers/models/autoencoders/autoencoder_kl_cosmos.py +1 -0
  22. optimum/rbln/diffusers/models/autoencoders/vq_model.py +1 -0
  23. optimum/rbln/diffusers/models/transformers/transformer_cosmos.py +1 -1
  24. optimum/rbln/diffusers/pipelines/__init__.py +1 -5
  25. optimum/rbln/diffusers/pipelines/cosmos/configuration_cosmos_guardrail.py +12 -4
  26. optimum/rbln/diffusers/pipelines/cosmos/cosmos_guardrail.py +4 -28
  27. optimum/rbln/diffusers/pipelines/cosmos/pipeline_cosmos_text2world.py +1 -1
  28. optimum/rbln/diffusers/pipelines/cosmos/pipeline_cosmos_video2world.py +1 -1
  29. optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_combined.py +1 -6
  30. optimum/rbln/modeling.py +4 -5
  31. optimum/rbln/modeling_base.py +18 -14
  32. optimum/rbln/ops/kv_cache_update.py +5 -0
  33. optimum/rbln/ops/linear.py +7 -0
  34. optimum/rbln/transformers/__init__.py +60 -0
  35. optimum/rbln/transformers/configuration_generic.py +4 -4
  36. optimum/rbln/transformers/modeling_attention_utils.py +252 -0
  37. optimum/rbln/transformers/modeling_generic.py +1 -4
  38. optimum/rbln/transformers/models/__init__.py +45 -30
  39. optimum/rbln/transformers/models/bart/bart_architecture.py +2 -7
  40. optimum/rbln/transformers/models/blip_2/configuration_blip_2.py +2 -2
  41. optimum/rbln/transformers/models/blip_2/modeling_blip_2.py +1 -5
  42. optimum/rbln/transformers/models/clip/configuration_clip.py +14 -3
  43. optimum/rbln/transformers/models/clip/modeling_clip.py +123 -28
  44. optimum/rbln/transformers/models/colpali/colpali_architecture.py +1 -4
  45. optimum/rbln/transformers/models/colpali/configuration_colpali.py +2 -2
  46. optimum/rbln/transformers/models/colpali/modeling_colpali.py +2 -10
  47. optimum/rbln/transformers/models/decoderonly/__init__.py +2 -2
  48. optimum/rbln/transformers/models/decoderonly/configuration_decoderonly.py +214 -45
  49. optimum/rbln/transformers/models/decoderonly/decoderonly_architecture.py +323 -454
  50. optimum/rbln/transformers/models/decoderonly/modeling_decoderonly.py +579 -362
  51. optimum/rbln/transformers/models/exaone/exaone_architecture.py +17 -42
  52. optimum/rbln/transformers/models/gemma/__init__.py +2 -2
  53. optimum/rbln/transformers/models/gemma/configuration_gemma.py +9 -1
  54. optimum/rbln/transformers/models/gemma/gemma_architecture.py +3 -44
  55. optimum/rbln/transformers/models/gemma/modeling_gemma.py +22 -1
  56. optimum/rbln/transformers/models/gemma3/configuration_gemma3.py +21 -9
  57. optimum/rbln/transformers/models/gemma3/gemma3_architecture.py +9 -63
  58. optimum/rbln/transformers/models/gemma3/modeling_gemma3.py +200 -292
  59. optimum/rbln/transformers/models/gpt2/__init__.py +2 -2
  60. optimum/rbln/transformers/models/gpt2/configuration_gpt2.py +31 -3
  61. optimum/rbln/transformers/models/gpt2/gpt2_architecture.py +19 -24
  62. optimum/rbln/transformers/models/gpt2/modeling_gpt2.py +18 -1
  63. optimum/rbln/transformers/models/idefics3/configuration_idefics3.py +2 -2
  64. optimum/rbln/transformers/models/idefics3/modeling_idefics3.py +3 -9
  65. optimum/rbln/transformers/models/llama/__init__.py +2 -2
  66. optimum/rbln/transformers/models/llama/configuration_llama.py +9 -1
  67. optimum/rbln/transformers/models/llama/modeling_llama.py +22 -1
  68. optimum/rbln/transformers/models/llava/__init__.py +16 -0
  69. optimum/rbln/transformers/models/llava/configuration_llava.py +54 -0
  70. optimum/rbln/transformers/models/llava/modeling_llava.py +419 -0
  71. optimum/rbln/transformers/models/llava_next/configuration_llava_next.py +20 -3
  72. optimum/rbln/transformers/models/llava_next/modeling_llava_next.py +6 -16
  73. optimum/rbln/transformers/models/midm/midm_architecture.py +14 -22
  74. optimum/rbln/transformers/models/mistral/__init__.py +2 -2
  75. optimum/rbln/transformers/models/mistral/configuration_mistral.py +9 -1
  76. optimum/rbln/transformers/models/mistral/mistral_architecture.py +1 -1
  77. optimum/rbln/transformers/models/mistral/modeling_mistral.py +26 -3
  78. optimum/rbln/transformers/models/opt/__init__.py +2 -2
  79. optimum/rbln/transformers/models/opt/configuration_opt.py +8 -1
  80. optimum/rbln/transformers/models/opt/modeling_opt.py +41 -1
  81. optimum/rbln/transformers/models/opt/opt_architecture.py +16 -25
  82. optimum/rbln/transformers/models/pegasus/__init__.py +17 -0
  83. optimum/rbln/transformers/models/pegasus/configuration_pegasus.py +34 -0
  84. optimum/rbln/transformers/models/pegasus/modeling_pegasus.py +69 -0
  85. optimum/rbln/transformers/models/pegasus/pegasus_architecture.py +161 -0
  86. optimum/rbln/transformers/models/phi/__init__.py +2 -2
  87. optimum/rbln/transformers/models/phi/configuration_phi.py +9 -1
  88. optimum/rbln/transformers/models/phi/modeling_phi.py +10 -1
  89. optimum/rbln/transformers/models/phi/phi_architecture.py +16 -22
  90. optimum/rbln/transformers/models/pixtral/__init__.py +16 -0
  91. optimum/rbln/transformers/models/pixtral/configuration_pixtral.py +43 -0
  92. optimum/rbln/transformers/models/pixtral/modeling_pixtral.py +315 -0
  93. optimum/rbln/transformers/models/pixtral/pixtral_architecture.py +73 -0
  94. optimum/rbln/transformers/models/qwen2/__init__.py +2 -2
  95. optimum/rbln/transformers/models/qwen2/configuration_qwen2.py +9 -1
  96. optimum/rbln/transformers/models/qwen2/modeling_qwen2.py +27 -1
  97. optimum/rbln/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py +3 -3
  98. optimum/rbln/transformers/models/qwen2_5_vl/modeling_qwen2_5_vl.py +5 -15
  99. optimum/rbln/transformers/models/qwen2_5_vl/qwen2_5_vl_architecture.py +1 -4
  100. optimum/rbln/transformers/models/qwen3/__init__.py +16 -0
  101. optimum/rbln/transformers/models/qwen3/configuration_qwen3.py +71 -0
  102. optimum/rbln/transformers/models/qwen3/modeling_qwen3.py +133 -0
  103. optimum/rbln/transformers/models/qwen3/qwen3_architecture.py +31 -0
  104. optimum/rbln/transformers/models/seq2seq/configuration_seq2seq.py +2 -12
  105. optimum/rbln/transformers/models/seq2seq/modeling_seq2seq.py +3 -1
  106. optimum/rbln/transformers/models/siglip/__init__.py +2 -6
  107. optimum/rbln/transformers/models/siglip/modeling_siglip.py +2 -2
  108. optimum/rbln/transformers/models/time_series_transformer/configuration_time_series_transformer.py +2 -2
  109. optimum/rbln/transformers/models/time_series_transformer/modeling_time_series_transformer.py +3 -5
  110. optimum/rbln/transformers/models/whisper/configuration_whisper.py +3 -12
  111. optimum/rbln/transformers/models/whisper/modeling_whisper.py +8 -2
  112. optimum/rbln/transformers/models/xlm_roberta/__init__.py +2 -8
  113. optimum/rbln/utils/depreacate_utils.py +16 -0
  114. optimum/rbln/utils/hub.py +8 -47
  115. optimum/rbln/utils/runtime_utils.py +31 -5
  116. {optimum_rbln-0.8.1rc1.dist-info → optimum_rbln-0.8.2.dist-info}/METADATA +1 -1
  117. {optimum_rbln-0.8.1rc1.dist-info → optimum_rbln-0.8.2.dist-info}/RECORD +119 -102
  118. {optimum_rbln-0.8.1rc1.dist-info → optimum_rbln-0.8.2.dist-info}/WHEEL +0 -0
  119. {optimum_rbln-0.8.1rc1.dist-info → optimum_rbln-0.8.2.dist-info}/licenses/LICENSE +0 -0
optimum/rbln/__init__.py CHANGED
@@ -72,6 +72,8 @@ _import_structure = {
72
72
  "RBLNCLIPVisionModelWithProjectionConfig",
73
73
  "RBLNColPaliForRetrieval",
74
74
  "RBLNColPaliForRetrievalConfig",
75
+ "RBLNDecoderOnlyModelConfig",
76
+ "RBLNDecoderOnlyModel",
75
77
  "RBLNDecoderOnlyModelForCausalLM",
76
78
  "RBLNDecoderOnlyModelForCausalLMConfig",
77
79
  "RBLNDistilBertForQuestionAnswering",
@@ -80,12 +82,16 @@ _import_structure = {
80
82
  "RBLNDPTForDepthEstimationConfig",
81
83
  "RBLNExaoneForCausalLM",
82
84
  "RBLNExaoneForCausalLMConfig",
85
+ "RBLNGemmaModel",
86
+ "RBLNGemmaModelConfig",
83
87
  "RBLNGemmaForCausalLM",
84
88
  "RBLNGemmaForCausalLMConfig",
85
89
  "RBLNGemma3ForCausalLM",
86
90
  "RBLNGemma3ForCausalLMConfig",
87
91
  "RBLNGemma3ForConditionalGeneration",
88
92
  "RBLNGemma3ForConditionalGenerationConfig",
93
+ "RBLNGPT2Model",
94
+ "RBLNGPT2ModelConfig",
89
95
  "RBLNGPT2LMHeadModel",
90
96
  "RBLNGPT2LMHeadModelConfig",
91
97
  "RBLNIdefics3VisionTransformer",
@@ -94,22 +100,44 @@ _import_structure = {
94
100
  "RBLNIdefics3VisionTransformerConfig",
95
101
  "RBLNLlamaForCausalLM",
96
102
  "RBLNLlamaForCausalLMConfig",
103
+ "RBLNLlamaModel",
104
+ "RBLNLlamaModelConfig",
97
105
  "RBLNOPTForCausalLM",
98
106
  "RBLNOPTForCausalLMConfig",
107
+ "RBLNLlavaForConditionalGeneration",
108
+ "RBLNLlavaForConditionalGenerationConfig",
99
109
  "RBLNLlavaNextForConditionalGeneration",
100
110
  "RBLNLlavaNextForConditionalGenerationConfig",
101
111
  "RBLNMidmLMHeadModel",
102
112
  "RBLNMidmLMHeadModelConfig",
113
+ "RBLNMistralModel",
114
+ "RBLNMistralModelConfig",
103
115
  "RBLNMistralForCausalLM",
104
116
  "RBLNMistralForCausalLMConfig",
117
+ "RBLNOPTModel",
118
+ "RBLNOPTModelConfig",
119
+ "RBLNPegasusForConditionalGeneration",
120
+ "RBLNPegasusForConditionalGenerationConfig",
121
+ "RBLNPegasusModel",
122
+ "RBLNPegasusModelConfig",
105
123
  "RBLNPhiForCausalLM",
106
124
  "RBLNPhiForCausalLMConfig",
125
+ "RBLNPixtralVisionModel",
126
+ "RBLNPixtralVisionModelConfig",
127
+ "RBLNPhiModel",
128
+ "RBLNPhiModelConfig",
107
129
  "RBLNQwen2ForCausalLM",
108
130
  "RBLNQwen2ForCausalLMConfig",
109
131
  "RBLNQwen2_5_VisionTransformerPretrainedModel",
110
132
  "RBLNQwen2_5_VisionTransformerPretrainedModelConfig",
111
133
  "RBLNQwen2_5_VLForConditionalGeneration",
112
134
  "RBLNQwen2_5_VLForConditionalGenerationConfig",
135
+ "RBLNQwen2Model",
136
+ "RBLNQwen2ModelConfig",
137
+ "RBLNQwen3ForCausalLM",
138
+ "RBLNQwen3ForCausalLMConfig",
139
+ "RBLNQwen3Model",
140
+ "RBLNQwen3ModelConfig",
113
141
  "RBLNResNetForImageClassification",
114
142
  "RBLNResNetForImageClassificationConfig",
115
143
  "RBLNRobertaForMaskedLM",
@@ -203,11 +231,7 @@ _import_structure = {
203
231
  }
204
232
 
205
233
  if TYPE_CHECKING:
206
- from .configuration_utils import (
207
- RBLNAutoConfig,
208
- RBLNCompileConfig,
209
- RBLNModelConfig,
210
- )
234
+ from .configuration_utils import RBLNAutoConfig, RBLNCompileConfig, RBLNModelConfig
211
235
  from .diffusers import (
212
236
  RBLNAutoencoderKL,
213
237
  RBLNAutoencoderKLConfig,
@@ -273,10 +297,7 @@ if TYPE_CHECKING:
273
297
  RBLNVQModel,
274
298
  RBLNVQModelConfig,
275
299
  )
276
- from .modeling import (
277
- RBLNBaseModel,
278
- RBLNModel,
279
- )
300
+ from .modeling import RBLNBaseModel, RBLNModel
280
301
  from .transformers import (
281
302
  RBLNASTForAudioClassification,
282
303
  RBLNASTForAudioClassificationConfig,
@@ -319,6 +340,8 @@ if TYPE_CHECKING:
319
340
  RBLNCLIPVisionModelWithProjectionConfig,
320
341
  RBLNColPaliForRetrieval,
321
342
  RBLNColPaliForRetrievalConfig,
343
+ RBLNDecoderOnlyModel,
344
+ RBLNDecoderOnlyModelConfig,
322
345
  RBLNDecoderOnlyModelForCausalLM,
323
346
  RBLNDecoderOnlyModelForCausalLMConfig,
324
347
  RBLNDistilBertForQuestionAnswering,
@@ -333,30 +356,56 @@ if TYPE_CHECKING:
333
356
  RBLNGemma3ForConditionalGenerationConfig,
334
357
  RBLNGemmaForCausalLM,
335
358
  RBLNGemmaForCausalLMConfig,
359
+ RBLNGemmaModel,
360
+ RBLNGemmaModelConfig,
336
361
  RBLNGPT2LMHeadModel,
337
362
  RBLNGPT2LMHeadModelConfig,
363
+ RBLNGPT2Model,
364
+ RBLNGPT2ModelConfig,
338
365
  RBLNIdefics3ForConditionalGeneration,
339
366
  RBLNIdefics3ForConditionalGenerationConfig,
340
367
  RBLNIdefics3VisionTransformer,
341
368
  RBLNIdefics3VisionTransformerConfig,
342
369
  RBLNLlamaForCausalLM,
343
370
  RBLNLlamaForCausalLMConfig,
371
+ RBLNLlamaModel,
372
+ RBLNLlamaModelConfig,
373
+ RBLNLlavaForConditionalGeneration,
374
+ RBLNLlavaForConditionalGenerationConfig,
344
375
  RBLNLlavaNextForConditionalGeneration,
345
376
  RBLNLlavaNextForConditionalGenerationConfig,
346
377
  RBLNMidmLMHeadModel,
347
378
  RBLNMidmLMHeadModelConfig,
348
379
  RBLNMistralForCausalLM,
349
380
  RBLNMistralForCausalLMConfig,
381
+ RBLNMistralModel,
382
+ RBLNMistralModelConfig,
350
383
  RBLNOPTForCausalLM,
351
384
  RBLNOPTForCausalLMConfig,
385
+ RBLNOPTModel,
386
+ RBLNOPTModelConfig,
387
+ RBLNPegasusForConditionalGeneration,
388
+ RBLNPegasusForConditionalGenerationConfig,
389
+ RBLNPegasusModel,
390
+ RBLNPegasusModelConfig,
352
391
  RBLNPhiForCausalLM,
353
392
  RBLNPhiForCausalLMConfig,
393
+ RBLNPhiModel,
394
+ RBLNPhiModelConfig,
395
+ RBLNPixtralVisionModel,
396
+ RBLNPixtralVisionModelConfig,
354
397
  RBLNQwen2_5_VisionTransformerPretrainedModel,
355
398
  RBLNQwen2_5_VisionTransformerPretrainedModelConfig,
356
399
  RBLNQwen2_5_VLForConditionalGeneration,
357
400
  RBLNQwen2_5_VLForConditionalGenerationConfig,
358
401
  RBLNQwen2ForCausalLM,
359
402
  RBLNQwen2ForCausalLMConfig,
403
+ RBLNQwen2Model,
404
+ RBLNQwen2ModelConfig,
405
+ RBLNQwen3ForCausalLM,
406
+ RBLNQwen3ForCausalLMConfig,
407
+ RBLNQwen3Model,
408
+ RBLNQwen3ModelConfig,
360
409
  RBLNResNetForImageClassification,
361
410
  RBLNResNetForImageClassificationConfig,
362
411
  RBLNRobertaForMaskedLM,
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.8.1rc1'
21
- __version_tuple__ = version_tuple = (0, 8, 1, 'rc1')
20
+ __version__ = version = '0.8.2'
21
+ __version_tuple__ = version_tuple = (0, 8, 2)
@@ -23,6 +23,7 @@ import numpy as np
23
23
  import torch
24
24
 
25
25
  from .__version__ import __version__
26
+ from .utils.depreacate_utils import warn_deprecated_npu
26
27
  from .utils.logging import get_logger
27
28
  from .utils.runtime_utils import ContextRblnConfig
28
29
 
@@ -147,7 +148,7 @@ class RBLNCompileConfig:
147
148
  return asdict(self)
148
149
 
149
150
 
150
- RUNTIME_KEYWORDS = ["create_runtimes", "optimize_host_memory", "device", "device_map", "activate_profiler"]
151
+ RUNTIME_KEYWORDS = ["create_runtimes", "optimize_host_memory", "device", "device_map", "activate_profiler", "timeout"]
151
152
  CONFIG_MAPPING: Dict[str, Type["RBLNModelConfig"]] = {}
152
153
 
153
154
 
@@ -481,6 +482,7 @@ class RBLNModelConfig(RBLNSerializableConfigProtocol):
481
482
  "device",
482
483
  "device_map",
483
484
  "activate_profiler",
485
+ "timeout",
484
486
  ]
485
487
  submodules: List[str] = []
486
488
  subclass_non_save_attributes = []
@@ -489,7 +491,7 @@ class RBLNModelConfig(RBLNSerializableConfigProtocol):
489
491
  self,
490
492
  submodule_config_cls: Type["RBLNModelConfig"],
491
493
  submodule_config: Optional[Union[Dict[str, Any], "RBLNModelConfig"]] = None,
492
- **kwargs: Dict[str, Any],
494
+ **kwargs: Any,
493
495
  ) -> "RBLNModelConfig":
494
496
  # Initialize a submodule config from a dict or a RBLNModelConfig.
495
497
  # kwargs is specified from the predecessor config.
@@ -561,9 +563,10 @@ class RBLNModelConfig(RBLNSerializableConfigProtocol):
561
563
  activate_profiler: Optional[bool] = None,
562
564
  npu: Optional[str] = None,
563
565
  tensor_parallel_size: Optional[int] = None,
566
+ timeout: Optional[int] = None,
564
567
  optimum_rbln_version: Optional[str] = None,
565
568
  _compile_cfgs: List[RBLNCompileConfig] = [],
566
- **kwargs: Dict[str, Any],
569
+ **kwargs: Any,
567
570
  ):
568
571
  """
569
572
  Initialize a RBLN model configuration with runtime options and compile configurations.
@@ -577,6 +580,7 @@ class RBLNModelConfig(RBLNSerializableConfigProtocol):
577
580
  activate_profiler (Optional[bool]): Whether to activate the profiler for performance analysis.
578
581
  npu (Optional[str]): The NPU device name to use for compilation.
579
582
  tensor_parallel_size (Optional[int]): Size for tensor parallelism to distribute the model across devices.
583
+ timeout (Optional[int]): The timeout for the runtime in seconds. If it isn't provided, it will be set to 60 by default.
580
584
  optimum_rbln_version (Optional[str]): The optimum-rbln version used for this configuration.
581
585
  _compile_cfgs (List[RBLNCompileConfig]): List of compilation configurations for the model.
582
586
  **kwargs: Additional keyword arguments.
@@ -599,6 +603,7 @@ class RBLNModelConfig(RBLNSerializableConfigProtocol):
599
603
  self._runtime_options["device"] = device
600
604
  self._runtime_options["device_map"] = device_map
601
605
  self._runtime_options["activate_profiler"] = activate_profiler
606
+ self._runtime_options["timeout"] = timeout
602
607
 
603
608
  # Automatically pass npu, tensor_parallel_size to compile_cfgs
604
609
  self.npu = npu
@@ -671,6 +676,9 @@ class RBLNModelConfig(RBLNSerializableConfigProtocol):
671
676
  compile_cfg.npu = self.npu
672
677
  compile_cfg.tensor_parallel_size = self.tensor_parallel_size
673
678
 
679
+ target_npu = self.npu or next((cfg.npu for cfg in self._compile_cfgs if cfg.npu is not None), None)
680
+ warn_deprecated_npu(target_npu)
681
+
674
682
  def freeze(self):
675
683
  if self._frozen:
676
684
  raise RuntimeError(f"`{self.__class__.__name__}` is already frozen.")
@@ -709,7 +717,7 @@ class RBLNModelConfig(RBLNSerializableConfigProtocol):
709
717
  json.dump(serializable_data, jsonf, indent=2)
710
718
 
711
719
  @classmethod
712
- def load(cls, path: str, **kwargs: Dict[str, Any]) -> "RBLNModelConfig":
720
+ def load(cls, path: str, **kwargs: Any) -> "RBLNModelConfig":
713
721
  """
714
722
  Load a RBLNModelConfig from a path.
715
723
 
@@ -742,7 +750,7 @@ class RBLNModelConfig(RBLNSerializableConfigProtocol):
742
750
  def initialize_from_kwargs(
743
751
  cls: Type["RBLNModelConfig"],
744
752
  rbln_config: Optional[Union[Dict[str, Any], "RBLNModelConfig"]] = None,
745
- **kwargs: Dict[str, Any],
753
+ **kwargs: Any,
746
754
  ) -> Tuple["RBLNModelConfig", Dict[str, Any]]:
747
755
  # Initialize RBLNModelConfig from kwargs.
748
756
  kwargs_keys = list(kwargs.keys())
@@ -838,3 +846,14 @@ class RBLNModelConfig(RBLNSerializableConfigProtocol):
838
846
  @activate_profiler.setter
839
847
  def activate_profiler(self, activate_profiler: bool):
840
848
  self._runtime_options["activate_profiler"] = activate_profiler
849
+
850
+ @property
851
+ def timeout(self):
852
+ context = ContextRblnConfig.get_current_context()["timeout"]
853
+ if context is not None:
854
+ return context
855
+ return self._runtime_options["timeout"]
856
+
857
+ @timeout.setter
858
+ def timeout(self, timeout: int):
859
+ self._runtime_options["timeout"] = timeout
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import Any, Dict, Optional, Tuple
15
+ from typing import Any, Optional, Tuple
16
16
 
17
17
  from ....configuration_utils import RBLNModelConfig
18
18
 
@@ -33,7 +33,7 @@ class RBLNAutoencoderKLConfig(RBLNModelConfig):
33
33
  vae_scale_factor: Optional[float] = None, # TODO: rename to scaling_factor
34
34
  in_channels: Optional[int] = None,
35
35
  latent_channels: Optional[int] = None,
36
- **kwargs: Dict[str, Any],
36
+ **kwargs: Any,
37
37
  ):
38
38
  """
39
39
  Args:
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import Optional
15
+ from typing import Any, Optional
16
16
 
17
17
  from ....configuration_utils import RBLNModelConfig
18
18
  from ....utils.logging import get_logger
@@ -35,7 +35,7 @@ class RBLNAutoencoderKLCosmosConfig(RBLNModelConfig):
35
35
  vae_scale_factor_temporal: Optional[int] = None,
36
36
  vae_scale_factor_spatial: Optional[int] = None,
37
37
  use_slicing: Optional[bool] = None,
38
- **kwargs,
38
+ **kwargs: Any,
39
39
  ):
40
40
  """
41
41
  Args:
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import Any, Dict, Optional, Tuple
15
+ from typing import Any, Optional, Tuple
16
16
 
17
17
  from ....configuration_utils import RBLNModelConfig
18
18
 
@@ -29,7 +29,7 @@ class RBLNControlNetModelConfig(RBLNModelConfig):
29
29
  unet_sample_size: Optional[Tuple[int, int]] = None,
30
30
  vae_sample_size: Optional[Tuple[int, int]] = None,
31
31
  text_model_hidden_size: Optional[int] = None,
32
- **kwargs: Dict[str, Any],
32
+ **kwargs: Any,
33
33
  ):
34
34
  """
35
35
  Args:
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import Any, Dict, Optional
15
+ from typing import Any, Optional
16
16
 
17
17
  from ....configuration_utils import RBLNModelConfig
18
18
 
@@ -32,7 +32,7 @@ class RBLNPriorTransformerConfig(RBLNModelConfig):
32
32
  batch_size: Optional[int] = None,
33
33
  embedding_dim: Optional[int] = None,
34
34
  num_embeddings: Optional[int] = None,
35
- **kwargs: Dict[str, Any],
35
+ **kwargs: Any,
36
36
  ):
37
37
  """
38
38
  Args:
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import Optional
15
+ from typing import Any, Optional
16
16
 
17
17
  from ....configuration_utils import RBLNModelConfig
18
18
 
@@ -33,7 +33,7 @@ class RBLNCosmosTransformer3DModelConfig(RBLNModelConfig):
33
33
  num_latent_frames: Optional[int] = None,
34
34
  latent_height: Optional[int] = None,
35
35
  latent_width: Optional[int] = None,
36
- **kwargs,
36
+ **kwargs: Any,
37
37
  ):
38
38
  """
39
39
  Args:
@@ -52,6 +52,9 @@ class RBLNCosmosTransformer3DModelConfig(RBLNModelConfig):
52
52
  Raises:
53
53
  ValueError: If batch_size is not a positive integer.
54
54
  """
55
+ if kwargs.get("timeout") is None:
56
+ kwargs["timeout"] = 80
57
+
55
58
  super().__init__(**kwargs)
56
59
  self.batch_size = batch_size or 1
57
60
  self.num_frames = num_frames or 121
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import Any, Dict, Optional, Tuple, Union
15
+ from typing import Any, Optional, Tuple, Union
16
16
 
17
17
  from ....configuration_utils import RBLNModelConfig
18
18
 
@@ -27,7 +27,7 @@ class RBLNSD3Transformer2DModelConfig(RBLNModelConfig):
27
27
  batch_size: Optional[int] = None,
28
28
  sample_size: Optional[Union[int, Tuple[int, int]]] = None,
29
29
  prompt_embed_length: Optional[int] = None,
30
- **kwargs: Dict[str, Any],
30
+ **kwargs: Any,
31
31
  ):
32
32
  """
33
33
  Args:
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import Any, Dict, Optional, Tuple
15
+ from typing import Any, Optional, Tuple
16
16
 
17
17
  from ....configuration_utils import RBLNModelConfig
18
18
 
@@ -38,7 +38,7 @@ class RBLNUNet2DConditionModelConfig(RBLNModelConfig):
38
38
  in_features: Optional[int] = None,
39
39
  text_model_hidden_size: Optional[int] = None,
40
40
  image_model_hidden_size: Optional[int] = None,
41
- **kwargs: Dict[str, Any],
41
+ **kwargs: Any,
42
42
  ):
43
43
  """
44
44
  Args:
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import Any, Dict, Optional, Tuple
15
+ from typing import Any, Optional, Tuple
16
16
 
17
17
  from ....configuration_utils import RBLNModelConfig
18
18
 
@@ -33,7 +33,7 @@ class RBLNVQModelConfig(RBLNModelConfig):
33
33
  vqmodel_scale_factor: Optional[float] = None, # TODO: rename to scaling_factor
34
34
  in_channels: Optional[int] = None,
35
35
  latent_channels: Optional[int] = None,
36
- **kwargs: Dict[str, Any],
36
+ **kwargs: Any,
37
37
  ):
38
38
  """
39
39
  Args:
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import Any, Dict, Optional, Tuple
15
+ from typing import Any, Optional, Tuple
16
16
 
17
17
  from ....configuration_utils import RBLNModelConfig
18
18
  from ....transformers import RBLNCLIPTextModelConfig, RBLNCLIPTextModelWithProjectionConfig
@@ -38,7 +38,7 @@ class RBLNStableDiffusionControlNetPipelineBaseConfig(RBLNModelConfig):
38
38
  sample_size: Optional[Tuple[int, int]] = None,
39
39
  image_size: Optional[Tuple[int, int]] = None,
40
40
  guidance_scale: Optional[float] = None,
41
- **kwargs: Dict[str, Any],
41
+ **kwargs: Any,
42
42
  ):
43
43
  """
44
44
  Args:
@@ -178,7 +178,7 @@ class RBLNStableDiffusionXLControlNetPipelineBaseConfig(RBLNModelConfig):
178
178
  sample_size: Optional[Tuple[int, int]] = None,
179
179
  image_size: Optional[Tuple[int, int]] = None,
180
180
  guidance_scale: Optional[float] = None,
181
- **kwargs: Dict[str, Any],
181
+ **kwargs: Any,
182
182
  ):
183
183
  """
184
184
  Args:
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import Optional
15
+ from typing import Any, Optional
16
16
 
17
17
  from ....configuration_utils import RBLNModelConfig
18
18
  from ....transformers import RBLNT5EncoderModelConfig
@@ -41,7 +41,7 @@ class RBLNCosmosPipelineBaseConfig(RBLNModelConfig):
41
41
  num_frames: Optional[int] = None,
42
42
  fps: Optional[int] = None,
43
43
  max_seq_len: Optional[int] = None,
44
- **kwargs,
44
+ **kwargs: Any,
45
45
  ):
46
46
  """
47
47
  Args:
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import Any, Dict, Optional, Tuple
15
+ from typing import Any, Optional, Tuple
16
16
 
17
17
  from ....configuration_utils import RBLNModelConfig
18
18
  from ....transformers import RBLNCLIPTextModelWithProjectionConfig, RBLNCLIPVisionModelWithProjectionConfig
@@ -37,7 +37,7 @@ class RBLNKandinskyV22PipelineBaseConfig(RBLNModelConfig):
37
37
  img_width: Optional[int] = None,
38
38
  height: Optional[int] = None,
39
39
  width: Optional[int] = None,
40
- **kwargs: Dict[str, Any],
40
+ **kwargs: Any,
41
41
  ):
42
42
  """
43
43
  Args:
@@ -148,7 +148,7 @@ class RBLNKandinskyV22PriorPipelineConfig(RBLNModelConfig):
148
148
  *,
149
149
  batch_size: Optional[int] = None,
150
150
  guidance_scale: Optional[float] = None,
151
- **kwargs: Dict[str, Any],
151
+ **kwargs: Any,
152
152
  ):
153
153
  """
154
154
  Initialize a configuration for Kandinsky 2.2 prior pipeline optimized for RBLN NPU.
@@ -226,7 +226,7 @@ class RBLNKandinskyV22CombinedPipelineBaseConfig(RBLNModelConfig):
226
226
  prior_text_encoder: Optional[RBLNCLIPTextModelWithProjectionConfig] = None,
227
227
  unet: Optional[RBLNUNet2DConditionModelConfig] = None,
228
228
  movq: Optional[RBLNVQModelConfig] = None,
229
- **kwargs: Dict[str, Any],
229
+ **kwargs: Any,
230
230
  ):
231
231
  """
232
232
  Initialize a configuration for combined Kandinsky 2.2 pipelines optimized for RBLN NPU.
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import Any, Dict, Optional, Tuple
15
+ from typing import Any, Optional, Tuple
16
16
 
17
17
  from ....configuration_utils import RBLNModelConfig
18
18
  from ....transformers import RBLNCLIPTextModelConfig
@@ -37,7 +37,7 @@ class RBLNStableDiffusionPipelineBaseConfig(RBLNModelConfig):
37
37
  sample_size: Optional[Tuple[int, int]] = None,
38
38
  image_size: Optional[Tuple[int, int]] = None,
39
39
  guidance_scale: Optional[float] = None,
40
- **kwargs: Dict[str, Any],
40
+ **kwargs: Any,
41
41
  ):
42
42
  """
43
43
  Args:
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import Any, Dict, Optional, Tuple
15
+ from typing import Any, Optional, Tuple
16
16
 
17
17
  from ....configuration_utils import RBLNModelConfig
18
18
  from ....transformers import RBLNCLIPTextModelWithProjectionConfig, RBLNT5EncoderModelConfig
@@ -40,7 +40,7 @@ class RBLNStableDiffusion3PipelineBaseConfig(RBLNModelConfig):
40
40
  height: Optional[int] = None,
41
41
  width: Optional[int] = None,
42
42
  guidance_scale: Optional[float] = None,
43
- **kwargs: Dict[str, Any],
43
+ **kwargs: Any,
44
44
  ):
45
45
  """
46
46
  Args:
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import Any, Dict, Optional, Tuple
15
+ from typing import Any, Optional, Tuple
16
16
 
17
17
  from ....configuration_utils import RBLNModelConfig
18
18
  from ....transformers import RBLNCLIPTextModelConfig, RBLNCLIPTextModelWithProjectionConfig
@@ -38,7 +38,7 @@ class RBLNStableDiffusionXLPipelineBaseConfig(RBLNModelConfig):
38
38
  sample_size: Optional[Tuple[int, int]] = None,
39
39
  image_size: Optional[Tuple[int, int]] = None,
40
40
  guidance_scale: Optional[float] = None,
41
- **kwargs: Dict[str, Any],
41
+ **kwargs: Any,
42
42
  ):
43
43
  """
44
44
  Args:
@@ -70,8 +70,6 @@ class RBLNDiffusionMixin:
70
70
  _submodules = []
71
71
  _optional_submodules = []
72
72
  _prefix = {}
73
- _rbln_config_class = None
74
- _hf_class = None
75
73
 
76
74
  @staticmethod
77
75
  def _maybe_apply_and_fuse_lora(
@@ -114,14 +112,14 @@ class RBLNDiffusionMixin:
114
112
  @classmethod
115
113
  def get_rbln_config_class(cls) -> Type[RBLNModelConfig]:
116
114
  # Lazily loads and caches the corresponding RBLN model config class.
117
- if cls._rbln_config_class is None:
115
+ if "_rbln_config_class" not in cls.__dict__ or cls._rbln_config_class is None:
118
116
  rbln_config_class_name = cls.__name__ + "Config"
119
117
  cls._rbln_config_class = get_rbln_config_class(rbln_config_class_name)
120
118
  return cls._rbln_config_class
121
119
 
122
120
  @classmethod
123
121
  def get_hf_class(cls):
124
- if cls._hf_class is None:
122
+ if "_hf_class" not in cls.__dict__ or cls._hf_class is None:
125
123
  hf_cls_name = cls.__name__[4:]
126
124
  library = importlib.import_module("diffusers")
127
125
  cls._hf_class = getattr(library, hf_cls_name, None)
@@ -138,7 +136,7 @@ class RBLNDiffusionMixin:
138
136
  lora_ids: Optional[Union[str, List[str]]] = None,
139
137
  lora_weights_names: Optional[Union[str, List[str]]] = None,
140
138
  lora_scales: Optional[Union[float, List[float]]] = None,
141
- **kwargs: Dict[str, Any],
139
+ **kwargs: Any,
142
140
  ) -> "RBLNDiffusionMixin":
143
141
  """
144
142
  Load a pretrained diffusion pipeline from a model checkpoint, with optional compilation for RBLN NPUs.
@@ -230,6 +228,7 @@ class RBLNDiffusionMixin:
230
228
  create_runtimes=rbln_config.create_runtimes,
231
229
  optimize_host_mem=rbln_config.optimize_host_memory,
232
230
  activate_profiler=rbln_config.activate_profiler,
231
+ timeout=rbln_config.timeout,
233
232
  ):
234
233
  model = super().from_pretrained(pretrained_model_name_or_path=model_id, **kwargs)
235
234
 
@@ -35,20 +35,10 @@ _import_structure = {
35
35
  }
36
36
 
37
37
  if TYPE_CHECKING:
38
- from .autoencoders import (
39
- RBLNAutoencoderKL,
40
- RBLNAutoencoderKLCosmos,
41
- RBLNVQModel,
42
- )
38
+ from .autoencoders import RBLNAutoencoderKL, RBLNAutoencoderKLCosmos, RBLNVQModel
43
39
  from .controlnet import RBLNControlNetModel
44
- from .transformers import (
45
- RBLNCosmosTransformer3DModel,
46
- RBLNPriorTransformer,
47
- RBLNSD3Transformer2DModel,
48
- )
49
- from .unets import (
50
- RBLNUNet2DConditionModel,
51
- )
40
+ from .transformers import RBLNCosmosTransformer3DModel, RBLNPriorTransformer, RBLNSD3Transformer2DModel
41
+ from .unets import RBLNUNet2DConditionModel
52
42
  else:
53
43
  import sys
54
44
 
@@ -209,6 +209,7 @@ class RBLNAutoencoderKL(RBLNModel):
209
209
  tensor_type="pt",
210
210
  device=device_val,
211
211
  activate_profiler=rbln_config.activate_profiler,
212
+ timeout=rbln_config.timeout,
212
213
  )
213
214
  for compiled_model, device_val in zip(compiled_models, device_vals)
214
215
  ]
@@ -200,6 +200,7 @@ class RBLNAutoencoderKLCosmos(RBLNModel):
200
200
  tensor_type="pt",
201
201
  device=device_val,
202
202
  activate_profiler=rbln_config.activate_profiler,
203
+ timeout=rbln_config.timeout,
203
204
  )
204
205
  for compiled_model, device_val in zip(compiled_models, device_vals)
205
206
  ]
@@ -165,6 +165,7 @@ class RBLNVQModel(RBLNModel):
165
165
  tensor_type="pt",
166
166
  device=device_val,
167
167
  activate_profiler=rbln_config.activate_profiler,
168
+ timeout=rbln_config.timeout,
168
169
  )
169
170
  for compiled_model, device_val in zip(compiled_models, device_vals)
170
171
  ]