From a02da7162593e74869c602135fdd2c9f246263fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=E7=9F=B3=E9=A1=B5?= Date: Tue, 27 May 2025 20:29:38 +0800 Subject: [PATCH 1/3] Adding device choice for npu --- src/diffusers/utils/torch_utils.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/diffusers/utils/torch_utils.py b/src/diffusers/utils/torch_utils.py index 053a3d99b9f9..6b8614726e40 100644 --- a/src/diffusers/utils/torch_utils.py +++ b/src/diffusers/utils/torch_utils.py @@ -17,8 +17,8 @@ from typing import List, Optional, Tuple, Union -from . import logging -from .import_utils import is_torch_available, is_torch_version +from . import logging, is_torch_npu_available +from .import_utils import is_torch_available, is_torch_npu_available, is_torch_version if is_torch_available(): @@ -166,6 +166,8 @@ def get_torch_cuda_device_capability(): def get_device(): if torch.cuda.is_available(): return "cuda" + elif is_torch_npu_available(): + return "npu" elif hasattr(torch, "xpu") and torch.xpu.is_available(): return "xpu" else: From 63c1f1ac7734a4b6916396fe2165799ed7458b63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=E7=9F=B3=E9=A1=B5?= Date: Tue, 27 May 2025 20:31:01 +0800 Subject: [PATCH 2/3] Adding device choice for npu --- src/diffusers/utils/torch_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/diffusers/utils/torch_utils.py b/src/diffusers/utils/torch_utils.py index 6b8614726e40..bb5674092d09 100644 --- a/src/diffusers/utils/torch_utils.py +++ b/src/diffusers/utils/torch_utils.py @@ -17,7 +17,7 @@ from typing import List, Optional, Tuple, Union -from . import logging, is_torch_npu_available +from . import logging from .import_utils import is_torch_available, is_torch_npu_available, is_torch_version From 98151a531432225ceb4e478ec384cf360b872120 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=E7=9F=B3=E9=A1=B5?= Date: Thu, 29 May 2025 16:03:30 +0800 Subject: [PATCH 3/3] [bugfix] Fix the bug that will automatically save model card for HiDream --- .../dreambooth/train_dreambooth_lora_hidream.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/examples/dreambooth/train_dreambooth_lora_hidream.py b/examples/dreambooth/train_dreambooth_lora_hidream.py index f368fb809e73..46a022733cab 100644 --- a/examples/dreambooth/train_dreambooth_lora_hidream.py +++ b/examples/dreambooth/train_dreambooth_lora_hidream.py @@ -1771,16 +1771,16 @@ def get_sigmas(timesteps, n_dim=4, dtype=torch.float32): free_memory() validation_prompt = args.validation_prompt if args.validation_prompt else args.final_validation_prompt - save_model_card( - (args.hub_model_id or Path(args.output_dir).name) if not args.push_to_hub else repo_id, - images=images, - base_model=args.pretrained_model_name_or_path, - instance_prompt=args.instance_prompt, - validation_prompt=validation_prompt, - repo_folder=args.output_dir, - ) if args.push_to_hub: + save_model_card( + (args.hub_model_id or Path(args.output_dir).name) if not args.push_to_hub else repo_id, + images=images, + base_model=args.pretrained_model_name_or_path, + instance_prompt=args.instance_prompt, + validation_prompt=validation_prompt, + repo_folder=args.output_dir, + ) upload_folder( repo_id=repo_id, folder_path=args.output_dir, @@ -1789,6 +1789,7 @@ def get_sigmas(timesteps, n_dim=4, dtype=torch.float32): ) images = None + del pipeline accelerator.end_training()