optimum-rbln 0.1.9__py3-none-any.whl → 0.1.11__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.
- optimum/rbln/__init__.py +37 -2
- optimum/rbln/__version__.py +1 -1
- optimum/rbln/diffusers/models/autoencoder_kl.py +36 -29
- optimum/rbln/diffusers/models/controlnet.py +56 -40
- optimum/rbln/diffusers/models/unet_2d_condition.py +40 -28
- optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet.py +22 -15
- optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py +22 -15
- optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl.py +23 -17
- optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl_img2img.py +24 -18
- optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py +22 -11
- optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py +22 -11
- optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py +24 -14
- optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py +24 -14
- optimum/rbln/modeling_alias.py +3 -3
- optimum/rbln/modeling_base.py +471 -231
- optimum/rbln/modeling_config.py +152 -77
- optimum/rbln/modeling_seq2seq.py +166 -77
- optimum/rbln/transformers/__init__.py +35 -1
- optimum/rbln/transformers/models/__init__.py +20 -1
- optimum/rbln/transformers/models/auto/__init__.py +14 -0
- optimum/rbln/transformers/models/auto/auto_factory.py +84 -0
- optimum/rbln/transformers/models/auto/modeling_auto.py +94 -0
- optimum/rbln/transformers/models/bart/__init__.py +1 -0
- optimum/rbln/transformers/models/bart/bart_architecture.py +189 -50
- optimum/rbln/transformers/models/bart/modeling_bart.py +106 -0
- optimum/rbln/transformers/models/bert/__init__.py +24 -0
- optimum/rbln/transformers/models/bert/modeling_bert.py +102 -0
- optimum/rbln/transformers/models/clip/__init__.py +1 -1
- optimum/rbln/transformers/models/clip/modeling_clip.py +127 -25
- optimum/rbln/transformers/models/decoderonly/decoderonly_architecture.py +28 -4
- optimum/rbln/transformers/models/decoderonly/modeling_decoderonly.py +302 -115
- optimum/rbln/transformers/models/dpt/modeling_dpt.py +21 -7
- optimum/rbln/transformers/models/gemma/modeling_gemma.py +1 -1
- optimum/rbln/transformers/models/gpt2/gpt2_architecture.py +4 -1
- optimum/rbln/transformers/models/gpt2/modeling_gpt2.py +1 -1
- optimum/rbln/transformers/models/llama/modeling_llama.py +1 -1
- optimum/rbln/transformers/models/llava_next/__init__.py +24 -0
- optimum/rbln/transformers/models/llava_next/modeling_llava_next.py +666 -0
- optimum/rbln/transformers/models/midm/midm_architecture.py +5 -1
- optimum/rbln/transformers/models/midm/modeling_midm.py +1 -1
- optimum/rbln/transformers/models/mistral/modeling_mistral.py +1 -1
- optimum/rbln/transformers/models/phi/__init__.py +24 -0
- optimum/rbln/transformers/models/phi/modeling_phi.py +69 -0
- optimum/rbln/transformers/models/phi/phi_architecture.py +406 -0
- optimum/rbln/transformers/models/t5/t5_architecture.py +92 -31
- optimum/rbln/transformers/models/wav2vec2/modeling_wav2vec2.py +17 -11
- optimum/rbln/transformers/models/whisper/generation_whisper.py +68 -0
- optimum/rbln/transformers/models/whisper/modeling_whisper.py +141 -105
- optimum/rbln/transformers/models/whisper/whisper_architecture.py +44 -17
- optimum/rbln/transformers/models/xlm_roberta/modeling_xlm_roberta.py +17 -14
- optimum/rbln/transformers/utils/rbln_quantization.py +48 -60
- optimum/rbln/utils/import_utils.py +36 -1
- optimum/rbln/utils/logging.py +82 -0
- optimum/rbln/utils/runtime_utils.py +33 -0
- optimum/rbln/utils/timer_utils.py +19 -0
- {optimum_rbln-0.1.9.dist-info → optimum_rbln-0.1.11.dist-info}/METADATA +8 -7
- optimum_rbln-0.1.11.dist-info/RECORD +93 -0
- {optimum_rbln-0.1.9.dist-info → optimum_rbln-0.1.11.dist-info}/WHEEL +1 -1
- optimum_rbln-0.1.11.dist-info/entry_points.txt +4 -0
- optimum_rbln-0.1.9.dist-info/RECORD +0 -78
- {optimum_rbln-0.1.9.dist-info → optimum_rbln-0.1.11.dist-info}/licenses/LICENSE +0 -0
optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py
CHANGED
@@ -18,6 +18,7 @@ from diffusers import StableDiffusionXLImg2ImgPipeline
|
|
18
18
|
|
19
19
|
from ....modeling_base import RBLNBaseModel
|
20
20
|
from ....transformers import RBLNCLIPTextModel, RBLNCLIPTextModelWithProjection
|
21
|
+
from ....utils.runtime_utils import ContextRblnConfig
|
21
22
|
from ...models import RBLNAutoencoderKL, RBLNUNet2DConditionModel
|
22
23
|
|
23
24
|
|
@@ -42,14 +43,27 @@ class RBLNStableDiffusionXLImg2ImgPipeline(StableDiffusionXLImg2ImgPipeline):
|
|
42
43
|
"""
|
43
44
|
export = kwargs.pop("export", None)
|
44
45
|
model_save_dir = kwargs.pop("model_save_dir", None)
|
45
|
-
|
46
|
-
|
46
|
+
rbln_config = kwargs.pop("rbln_config", None)
|
47
|
+
rbln_kwargs, _ = RBLNBaseModel.resolve_rbln_config(rbln_config, kwargs)
|
48
|
+
|
49
|
+
device = rbln_kwargs.get("device", None)
|
50
|
+
device_map = rbln_kwargs.get("device_map", None)
|
51
|
+
create_runtimes = rbln_kwargs.get("create_runtimes", None)
|
52
|
+
optimize_host_memory = rbln_kwargs.get("optimize_host_memory", None)
|
53
|
+
|
54
|
+
with ContextRblnConfig(
|
55
|
+
device=device,
|
56
|
+
device_map=device_map,
|
57
|
+
create_runtimes=create_runtimes,
|
58
|
+
optimze_host_mem=optimize_host_memory,
|
59
|
+
):
|
60
|
+
model = super().from_pretrained(pretrained_model_name_or_path=model_id, **kwargs)
|
47
61
|
|
48
62
|
if export is None or export is False:
|
49
63
|
return model
|
50
64
|
|
51
65
|
do_classifier_free_guidance = (
|
52
|
-
|
66
|
+
rbln_kwargs.pop("guidance_scale", 5.0) > 1.0 and model.unet.config.time_cond_proj_dim is None
|
53
67
|
)
|
54
68
|
|
55
69
|
vae = RBLNAutoencoderKL.from_pretrained(
|
@@ -60,27 +74,24 @@ class RBLNStableDiffusionXLImg2ImgPipeline(StableDiffusionXLImg2ImgPipeline):
|
|
60
74
|
rbln_unet_sample_size=model.unet.config.sample_size,
|
61
75
|
rbln_use_encode=True,
|
62
76
|
rbln_vae_scale_factor=model.vae_scale_factor,
|
63
|
-
**
|
64
|
-
**rbln_constructor_kwargs,
|
77
|
+
rbln_config={**rbln_kwargs},
|
65
78
|
)
|
66
79
|
text_encoder = RBLNCLIPTextModel.from_pretrained(
|
67
80
|
model_id=model_id,
|
68
81
|
subfolder="text_encoder",
|
69
82
|
export=True,
|
70
83
|
model_save_dir=model_save_dir,
|
71
|
-
**
|
72
|
-
**rbln_constructor_kwargs,
|
84
|
+
rbln_config={**rbln_kwargs},
|
73
85
|
)
|
74
86
|
text_encoder_2 = RBLNCLIPTextModelWithProjection.from_pretrained(
|
75
87
|
model_id=model_id,
|
76
88
|
subfolder="text_encoder_2",
|
77
89
|
export=True,
|
78
90
|
model_save_dir=model_save_dir,
|
79
|
-
**
|
80
|
-
**rbln_constructor_kwargs,
|
91
|
+
rbln_config={**rbln_kwargs},
|
81
92
|
)
|
82
93
|
|
83
|
-
batch_size =
|
94
|
+
batch_size = rbln_kwargs.pop("batch_size", 1)
|
84
95
|
unet_batch_size = batch_size * 2 if do_classifier_free_guidance else batch_size
|
85
96
|
|
86
97
|
unet = RBLNUNet2DConditionModel.from_pretrained(
|
@@ -94,8 +105,7 @@ class RBLNStableDiffusionXLImg2ImgPipeline(StableDiffusionXLImg2ImgPipeline):
|
|
94
105
|
rbln_use_encode=True,
|
95
106
|
rbln_vae_scale_factor=model.vae_scale_factor,
|
96
107
|
rbln_is_controlnet=True if "controlnet" in model.config.keys() else False,
|
97
|
-
**
|
98
|
-
**rbln_constructor_kwargs,
|
108
|
+
rbln_config={**rbln_kwargs},
|
99
109
|
)
|
100
110
|
|
101
111
|
if model_save_dir is not None:
|
@@ -114,7 +124,7 @@ class RBLNStableDiffusionXLImg2ImgPipeline(StableDiffusionXLImg2ImgPipeline):
|
|
114
124
|
"vae": ("optimum.rbln", "RBLNAutoencoderKL"),
|
115
125
|
"text_encoder": ("optimum.rbln", "RBLNCLIPTextModel"),
|
116
126
|
"unet": ("optimum.rbln", "RBLNUNet2DConditionModel"),
|
117
|
-
"text_encoder_2": ("optimum.rbln", "
|
127
|
+
"text_encoder_2": ("optimum.rbln", "RBLNCLIPTextModelWithProjection"),
|
118
128
|
}
|
119
129
|
model.register_to_config(**update_dict)
|
120
130
|
|
@@ -124,7 +134,7 @@ class RBLNStableDiffusionXLImg2ImgPipeline(StableDiffusionXLImg2ImgPipeline):
|
|
124
134
|
|
125
135
|
model.models = [vae.model[0], vae.model[1], unet.model[0], text_encoder.model[0], text_encoder_2.model[0]]
|
126
136
|
|
127
|
-
if
|
137
|
+
if optimize_host_memory is False:
|
128
138
|
model.compiled_models = [
|
129
139
|
vae.compiled_models[0],
|
130
140
|
vae.compiled_models[1],
|
optimum/rbln/modeling_alias.py
CHANGED
@@ -56,12 +56,12 @@ class RBLNBartForConditionalGeneration(RBLNModelForSeq2SeqLM):
|
|
56
56
|
|
57
57
|
|
58
58
|
class RBLNXLMRobertaForSequenceClassification(RBLNModelForSequenceClassification):
|
59
|
-
|
59
|
+
rbln_model_input_names = ["input_ids", "attention_mask"]
|
60
60
|
|
61
61
|
|
62
62
|
class RBLNRobertaForSequenceClassification(RBLNModelForSequenceClassification):
|
63
|
-
|
63
|
+
rbln_model_input_names = ["input_ids", "attention_mask"]
|
64
64
|
|
65
65
|
|
66
66
|
class RBLNRobertaForMaskedLM(RBLNModelForMaskedLM):
|
67
|
-
|
67
|
+
rbln_model_input_names = ["input_ids", "attention_mask"]
|