修复笔记:SkyReels-V2 项目中的 torch.cuda.amp.autocast 警告和错误
#工作记录
一、问题描述
在运行项目时,出现以下警告和错误:
FutureWarning: `torch.cuda.amp.autocast(args...)` is deprecated. Please use `torch.amp.autocast('cuda', args...)` instead.with torch.cuda.amp.autocast(dtype=pipe.transformer.dtype), torch.no_grad():
...
TypeError: set_autocast_enabled(): argument 'enabled' (position 2) must be bool, not str
二、受影响的文件和行号
-
文件:
F:\PythonProjects\SkyReels-V2\skyreels_v2_infer\pipelines\text2video_pipeline.py
-
行号:第 86 行和第 93 行
-
原代码
with torch.cuda.amp.autocast(dtype=self.transformer.dtype), torch.no_grad():
-
三、修复过程
1. 查找相关代码
在项目中查找使用 torch.cuda.amp.autocast
的代码片段。
2. 修改代码
根据警告提示,将 torch.cuda.amp.autocast
替换为 torch.amp.autocast
,并正确设置参数。
3. 测试修改后的代码
重新运行 generate_video.py
脚本,确认警告是否消失。
四、修改后的代码
-
text2video_pipeline.py
文件第 86 行with torch.amp.autocast(device_type='cuda', dtype=self.transformer.dtype), torch.no_grad():
五、验证修改
完成上述修改后,重新运行项目以确保所有问题都已解决:
python generate_video.py --resolution 540P