update docs

This commit is contained in:
Artiprocher
2025-12-04 14:43:04 +08:00
parent 41e2b47e1d
commit 0e03797fd1
7 changed files with 30 additions and 16 deletions

View File

@@ -209,6 +209,13 @@ If you meet problems during installation, they might be caused by upstream depen
DiffSynth-Studio redesigns the inference and training pipelines for mainstream Diffusion models (including FLUX, Wan, etc.), enabling efficient memory management and flexible model training. DiffSynth-Studio redesigns the inference and training pipelines for mainstream Diffusion models (including FLUX, Wan, etc.), enabling efficient memory management and flexible model training.
> Before using model inference or training, you can configure the model download source via [environment variables](/docs/en/Pipeline_Usage/Environment_Variables.md). By default, this project downloads models from ModelScope. Users outside China can switch the download source to Hugging Face:
>
> ```python
> import os
> os.environ["DIFFSYNTH_DOWNLOAD_SOURCE"] = "huggingface"
> ```
### Image Synthesis ### Image Synthesis
![Image](https://github.com/user-attachments/assets/c01258e2-f251-441a-aa1e-ebb22f02594d) ![Image](https://github.com/user-attachments/assets/c01258e2-f251-441a-aa1e-ebb22f02594d)

View File

@@ -209,6 +209,13 @@ pip install diffsynth
DiffSynth-Studio 为主流 Diffusion 模型(包括 FLUX、Wan 等)重新设计了推理和训练流水线,能够实现高效的显存管理、灵活的模型训练。 DiffSynth-Studio 为主流 Diffusion 模型(包括 FLUX、Wan 等)重新设计了推理和训练流水线,能够实现高效的显存管理、灵活的模型训练。
> 在进行模型推理和训练前,可通过[环境变量](/docs/zh/Pipeline_Usage/Environment_Variables.md)配置模型下载源,本项目默认从魔搭社区下载模型,非中国用户可将模型下载源修改为 Huggingface
>
> ```python
> import os
> os.environ["DIFFSYNTH_DOWNLOAD_SOURCE"] = "huggingface"
> ```
### 图像生成模型 ### 图像生成模型
![Image](https://github.com/user-attachments/assets/c01258e2-f251-441a-aa1e-ebb22f02594d) ![Image](https://github.com/user-attachments/assets/c01258e2-f251-441a-aa1e-ebb22f02594d)

View File

@@ -11,7 +11,7 @@ class ModelConfig:
path: Union[str, list[str]] = None path: Union[str, list[str]] = None
model_id: str = None model_id: str = None
origin_file_pattern: Union[str, list[str]] = None origin_file_pattern: Union[str, list[str]] = None
download_resource: str = None download_source: str = None
local_model_path: str = None local_model_path: str = None
skip_download: bool = None skip_download: bool = None
offload_device: Optional[Union[str, torch.device]] = None offload_device: Optional[Union[str, torch.device]] = None
@@ -36,14 +36,14 @@ class ModelConfig:
else: else:
return self.origin_file_pattern return self.origin_file_pattern
def parse_download_resource(self): def parse_download_source(self):
if self.download_resource is None: if self.download_source is None:
if os.environ.get('DIFFSYNTH_DOWNLOAD_RESOURCE') is not None: if os.environ.get('DIFFSYNTH_DOWNLOAD_SOURCE') is not None:
return os.environ.get('DIFFSYNTH_DOWNLOAD_RESOURCE') return os.environ.get('DIFFSYNTH_DOWNLOAD_SOURCE')
else: else:
return "modelscope" return "modelscope"
else: else:
return self.download_resource return self.download_source
def parse_skip_download(self): def parse_skip_download(self):
if self.skip_download is None: if self.skip_download is None:
@@ -60,8 +60,8 @@ class ModelConfig:
def download(self): def download(self):
origin_file_pattern = self.parse_original_file_pattern() origin_file_pattern = self.parse_original_file_pattern()
downloaded_files = glob.glob(origin_file_pattern, root_dir=os.path.join(self.local_model_path, self.model_id)) downloaded_files = glob.glob(origin_file_pattern, root_dir=os.path.join(self.local_model_path, self.model_id))
download_resource = self.parse_download_resource() download_source = self.parse_download_source()
if download_resource.lower() == "modelscope": if download_source.lower() == "modelscope":
snapshot_download( snapshot_download(
self.model_id, self.model_id,
local_dir=os.path.join(self.local_model_path, self.model_id), local_dir=os.path.join(self.local_model_path, self.model_id),
@@ -69,7 +69,7 @@ class ModelConfig:
ignore_file_pattern=downloaded_files, ignore_file_pattern=downloaded_files,
local_files_only=False local_files_only=False
) )
elif download_resource.lower() == "huggingface": elif download_source.lower() == "huggingface":
hf_snapshot_download( hf_snapshot_download(
self.model_id, self.model_id,
local_dir=os.path.join(self.local_model_path, self.model_id), local_dir=os.path.join(self.local_model_path, self.model_id),
@@ -78,7 +78,7 @@ class ModelConfig:
local_files_only=False local_files_only=False
) )
else: else:
raise ValueError("`download_resource` should be `modelscope` or `huggingface`.") raise ValueError("`download_source` should be `modelscope` or `huggingface`.")
def require_downloading(self): def require_downloading(self):
if self.path is not None: if self.path is not None:

View File

@@ -34,6 +34,6 @@ Attention mechanism implementation method. Can be set to `flash_attention_3`, `f
Buffer size in disk mapping. Default is 1B (1000000000). Larger values occupy more memory but result in faster speeds. Buffer size in disk mapping. Default is 1B (1000000000). Larger values occupy more memory but result in faster speeds.
## `DIFFSYNTH_DOWNLOAD_RESOURCE` ## `DIFFSYNTH_DOWNLOAD_SOURCE`
Remote model download source. Can be set to `modelscope` or `huggingface` to control the source of model downloads. Default value is `modelscope`. Remote model download source. Can be set to `modelscope` or `huggingface` to control the source of model downloads. Default value is `modelscope`.

View File

@@ -69,11 +69,11 @@ os.environ["DIFFSYNTH_SKIP_DOWNLOAD"] = "True"
import diffsynth import diffsynth
``` ```
To download models from [HuggingFace](https://huggingface.co/), set [environment variable DIFFSYNTH_DOWNLOAD_RESOURCE](/docs/en/Pipeline_Usage/Environment_Variables.md#diffsynth_download_resource) to `huggingface`. To download models from [HuggingFace](https://huggingface.co/), set [environment variable DIFFSYNTH_DOWNLOAD_SOURCE](/docs/en/Pipeline_Usage/Environment_Variables.md#diffsynth_download_source) to `huggingface`.
```shell ```shell
import os import os
os.environ["DIFFSYNTH_DOWNLOAD_RESOURCE"] = "huggingface" os.environ["DIFFSYNTH_DOWNLOAD_SOURCE"] = "huggingface"
import diffsynth import diffsynth
``` ```

View File

@@ -34,6 +34,6 @@ DIFFSYNTH_MODEL_BASE_PATH="./path_to_my_models" python xxx.py
硬盘直连中的 Buffer 大小,默认是 1B1000000000数值越大占用内存越大速度越快。 硬盘直连中的 Buffer 大小,默认是 1B1000000000数值越大占用内存越大速度越快。
## `DIFFSYNTH_DOWNLOAD_RESOURCE` ## `DIFFSYNTH_DOWNLOAD_SOURCE`
远程模型下载源,可设置为 `modelscope``huggingface`,控制模型下载的来源,默认值为 `modelscope` 远程模型下载源,可设置为 `modelscope``huggingface`,控制模型下载的来源,默认值为 `modelscope`

View File

@@ -69,11 +69,11 @@ os.environ["DIFFSYNTH_SKIP_DOWNLOAD"] = "True"
import diffsynth import diffsynth
``` ```
如需从 [HuggingFace](https://huggingface.co/) 下载模型,请将[环境变量 DIFFSYNTH_DOWNLOAD_RESOURCE](/docs/zh/Pipeline_Usage/Environment_Variables.md#diffsynth_download_resource) 设置为 `huggingface` 如需从 [HuggingFace](https://huggingface.co/) 下载模型,请将[环境变量 DIFFSYNTH_DOWNLOAD_SOURCE](/docs/zh/Pipeline_Usage/Environment_Variables.md#diffsynth_download_source) 设置为 `huggingface`
```shell ```shell
import os import os
os.environ["DIFFSYNTH_DOWNLOAD_RESOURCE"] = "huggingface" os.environ["DIFFSYNTH_DOWNLOAD_SOURCE"] = "huggingface"
import diffsynth import diffsynth
``` ```