Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
renzhc
diffusers_dcu
Commits
d54622c2
Unverified
Commit
d54622c2
authored
Oct 31, 2025
by
Dhruv Nair
Committed by
GitHub
Oct 31, 2025
Browse files
[Modular] Allow custom blocks to be saved to `local_dir` (#12381)
update Co-authored-by:
YiYi Xu
<
yixu310@gmail.com
>
parent
df8dd778
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
7 additions
and
2 deletions
+7
-2
src/diffusers/modular_pipelines/modular_pipeline.py
src/diffusers/modular_pipelines/modular_pipeline.py
+1
-1
src/diffusers/utils/dynamic_modules_utils.py
src/diffusers/utils/dynamic_modules_utils.py
+6
-1
No files found.
src/diffusers/modular_pipelines/modular_pipeline.py
View file @
d54622c2
...
@@ -305,6 +305,7 @@ class ModularPipelineBlocks(ConfigMixin, PushToHubMixin):
...
@@ -305,6 +305,7 @@ class ModularPipelineBlocks(ConfigMixin, PushToHubMixin):
"cache_dir"
,
"cache_dir"
,
"force_download"
,
"force_download"
,
"local_files_only"
,
"local_files_only"
,
"local_dir"
,
"proxies"
,
"proxies"
,
"resume_download"
,
"resume_download"
,
"revision"
,
"revision"
,
...
@@ -331,7 +332,6 @@ class ModularPipelineBlocks(ConfigMixin, PushToHubMixin):
...
@@ -331,7 +332,6 @@ class ModularPipelineBlocks(ConfigMixin, PushToHubMixin):
module_file
=
module_file
,
module_file
=
module_file
,
class_name
=
class_name
,
class_name
=
class_name
,
**
hub_kwargs
,
**
hub_kwargs
,
**
kwargs
,
)
)
expected_kwargs
,
optional_kwargs
=
block_cls
.
_get_signature_keys
(
block_cls
)
expected_kwargs
,
optional_kwargs
=
block_cls
.
_get_signature_keys
(
block_cls
)
block_kwargs
=
{
block_kwargs
=
{
...
...
src/diffusers/utils/dynamic_modules_utils.py
View file @
d54622c2
...
@@ -254,6 +254,7 @@ def get_cached_module_file(
...
@@ -254,6 +254,7 @@ def get_cached_module_file(
token
:
Optional
[
Union
[
bool
,
str
]]
=
None
,
token
:
Optional
[
Union
[
bool
,
str
]]
=
None
,
revision
:
Optional
[
str
]
=
None
,
revision
:
Optional
[
str
]
=
None
,
local_files_only
:
bool
=
False
,
local_files_only
:
bool
=
False
,
local_dir
:
Optional
[
str
]
=
None
,
):
):
"""
"""
Prepares Downloads a module from a local folder or a distant repo and returns its path inside the cached
Prepares Downloads a module from a local folder or a distant repo and returns its path inside the cached
...
@@ -332,6 +333,7 @@ def get_cached_module_file(
...
@@ -332,6 +333,7 @@ def get_cached_module_file(
force_download
=
force_download
,
force_download
=
force_download
,
proxies
=
proxies
,
proxies
=
proxies
,
local_files_only
=
local_files_only
,
local_files_only
=
local_files_only
,
local_dir
=
local_dir
,
)
)
submodule
=
"git"
submodule
=
"git"
module_file
=
pretrained_model_name_or_path
+
".py"
module_file
=
pretrained_model_name_or_path
+
".py"
...
@@ -355,6 +357,7 @@ def get_cached_module_file(
...
@@ -355,6 +357,7 @@ def get_cached_module_file(
force_download
=
force_download
,
force_download
=
force_download
,
proxies
=
proxies
,
proxies
=
proxies
,
local_files_only
=
local_files_only
,
local_files_only
=
local_files_only
,
local_dir
=
local_dir
,
token
=
token
,
token
=
token
,
)
)
submodule
=
os
.
path
.
join
(
"local"
,
"--"
.
join
(
pretrained_model_name_or_path
.
split
(
"/"
)))
submodule
=
os
.
path
.
join
(
"local"
,
"--"
.
join
(
pretrained_model_name_or_path
.
split
(
"/"
)))
...
@@ -415,6 +418,7 @@ def get_cached_module_file(
...
@@ -415,6 +418,7 @@ def get_cached_module_file(
token
=
token
,
token
=
token
,
revision
=
revision
,
revision
=
revision
,
local_files_only
=
local_files_only
,
local_files_only
=
local_files_only
,
local_dir
=
local_dir
,
)
)
return
os
.
path
.
join
(
full_submodule
,
module_file
)
return
os
.
path
.
join
(
full_submodule
,
module_file
)
...
@@ -431,7 +435,7 @@ def get_class_from_dynamic_module(
...
@@ -431,7 +435,7 @@ def get_class_from_dynamic_module(
token
:
Optional
[
Union
[
bool
,
str
]]
=
None
,
token
:
Optional
[
Union
[
bool
,
str
]]
=
None
,
revision
:
Optional
[
str
]
=
None
,
revision
:
Optional
[
str
]
=
None
,
local_files_only
:
bool
=
False
,
local_files_only
:
bool
=
False
,
**
kwargs
,
local_dir
:
Optional
[
str
]
=
None
,
):
):
"""
"""
Extracts a class from a module file, present in the local folder or repository of a model.
Extracts a class from a module file, present in the local folder or repository of a model.
...
@@ -496,5 +500,6 @@ def get_class_from_dynamic_module(
...
@@ -496,5 +500,6 @@ def get_class_from_dynamic_module(
token
=
token
,
token
=
token
,
revision
=
revision
,
revision
=
revision
,
local_files_only
=
local_files_only
,
local_files_only
=
local_files_only
,
local_dir
=
local_dir
,
)
)
return
get_class_in_module
(
class_name
,
final_module
)
return
get_class_in_module
(
class_name
,
final_module
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment