如何使用 Accelerator 训练模型?

作者: huanghaosen110创建于 2024年6月4日更新于 2025年11月7日

因为官方实现的训练代码速度太慢,我使用了加速器来加速训练,但当我使用 mixed_precision="bf16" 时,前向传播运行正常,但在进行反向传播时总是会出现此错误。 文件 "E:\DeepLearningProject\Anti-DreamBooth-main2\train2.py", 第 233 行, 在 <module> 中 文件 "E:\DeepLearningProject\Anti-DreamBooth-main2\train2.py", 第 195 行, 在 trainUnet 中 文件 "E:\miniconda\envs\py310\lib\site-packages\accelerate\accelerator.py", 第 1853 行, 在 backward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\_tensor.py", 第 522 行, 在 backward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\autograd\__init__.py", 第 266 行, 在 backward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\autograd\function.py", 第 289 行, 在 apply 中 文件 "E:\DeepLearningProject\Anti-DreamBooth-main2\guided_diffusion\nn.py", 第 168 行, 在 backward 中 文件 "E:\DeepLearningProject\Anti-DreamBooth-main2\guided_diffusion\\\\unet.py", 第 304 行, 在 _forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\module.py", 第 1511 行, 在 _wrapped_call_impl 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\module.py", 第 1520 行, 在 _call_impl 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 310 行, 在 forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E:\miniconda\envs\py310\lib\site-packages\torch\nn\modules\conv.py", 第 306 行, 在 _conv_forward 中 文件 "E

内容来源: openai/guided-diffusion