Skip to content

Commit bfdffbe

Browse files
add xformers 0.0.16 warning message (huggingface#2345)
* add xformers 0.0.16 warning message * fix version check to check whole version string
1 parent 770d3b3 commit bfdffbe

File tree

5 files changed

+37
-0
lines changed

5 files changed

+37
-0
lines changed

examples/dreambooth/train_dreambooth.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -660,6 +660,13 @@ def load_model_hook(models, input_dir):
660660

661661
if args.enable_xformers_memory_efficient_attention:
662662
if is_xformers_available():
663+
import xformers
664+
665+
xformers_version = version.parse(xformers.__version__)
666+
if xformers_version == version.parse("0.0.16"):
667+
logger.warn(
668+
"xFormers 0.0.16 cannot be used for training in some GPUs. If you observe problems during training, please update xFormers to at least 0.0.17. See https://huggingface.co/docs/diffusers/main/en/optimization/xformers for more details."
669+
)
663670
unet.enable_xformers_memory_efficient_attention()
664671
else:
665672
raise ValueError("xformers is not available. Make sure it is installed correctly")

examples/dreambooth/train_dreambooth_lora.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
from accelerate.logging import get_logger
3232
from accelerate.utils import ProjectConfiguration, set_seed
3333
from huggingface_hub import HfFolder, Repository, create_repo, whoami
34+
from packaging import version
3435
from PIL import Image
3536
from torch.utils.data import Dataset
3637
from torchvision import transforms
@@ -681,6 +682,13 @@ def main(args):
681682

682683
if args.enable_xformers_memory_efficient_attention:
683684
if is_xformers_available():
685+
import xformers
686+
687+
xformers_version = version.parse(xformers.__version__)
688+
if xformers_version == version.parse("0.0.16"):
689+
logger.warn(
690+
"xFormers 0.0.16 cannot be used for training in some GPUs. If you observe problems during training, please update xFormers to at least 0.0.17. See https://huggingface.co/docs/diffusers/main/en/optimization/xformers for more details."
691+
)
684692
unet.enable_xformers_memory_efficient_attention()
685693
else:
686694
raise ValueError("xformers is not available. Make sure it is installed correctly")

examples/text_to_image/train_text_to_image.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -417,6 +417,13 @@ def main():
417417

418418
if args.enable_xformers_memory_efficient_attention:
419419
if is_xformers_available():
420+
import xformers
421+
422+
xformers_version = version.parse(xformers.__version__)
423+
if xformers_version == version.parse("0.0.16"):
424+
logger.warn(
425+
"xFormers 0.0.16 cannot be used for training in some GPUs. If you observe problems during training, please update xFormers to at least 0.0.17. See https://huggingface.co/docs/diffusers/main/en/optimization/xformers for more details."
426+
)
420427
unet.enable_xformers_memory_efficient_attention()
421428
else:
422429
raise ValueError("xformers is not available. Make sure it is installed correctly")

examples/text_to_image/train_text_to_image_lora.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
from accelerate.utils import ProjectConfiguration, set_seed
3434
from datasets import load_dataset
3535
from huggingface_hub import HfFolder, Repository, create_repo, whoami
36+
from packaging import version
3637
from torchvision import transforms
3738
from tqdm.auto import tqdm
3839
from transformers import CLIPTextModel, CLIPTokenizer
@@ -449,6 +450,13 @@ def main():
449450

450451
if args.enable_xformers_memory_efficient_attention:
451452
if is_xformers_available():
453+
import xformers
454+
455+
xformers_version = version.parse(xformers.__version__)
456+
if xformers_version == version.parse("0.0.16"):
457+
logger.warn(
458+
"xFormers 0.0.16 cannot be used for training in some GPUs. If you observe problems during training, please update xFormers to at least 0.0.17. See https://huggingface.co/docs/diffusers/main/en/optimization/xformers for more details."
459+
)
452460
unet.enable_xformers_memory_efficient_attention()
453461
else:
454462
raise ValueError("xformers is not available. Make sure it is installed correctly")

examples/textual_inversion/textual_inversion.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -583,6 +583,13 @@ def main():
583583

584584
if args.enable_xformers_memory_efficient_attention:
585585
if is_xformers_available():
586+
import xformers
587+
588+
xformers_version = version.parse(xformers.__version__)
589+
if xformers_version == version.parse("0.0.16"):
590+
logger.warn(
591+
"xFormers 0.0.16 cannot be used for training in some GPUs. If you observe problems during training, please update xFormers to at least 0.0.17. See https://huggingface.co/docs/diffusers/main/en/optimization/xformers for more details."
592+
)
586593
unet.enable_xformers_memory_efficient_attention()
587594
else:
588595
raise ValueError("xformers is not available. Make sure it is installed correctly")

0 commit comments

Comments
 (0)