#工作记录
一、问题描述
在运行项目时,出现以下报错:
torch._dynamo.exc.BackendCompilerFailed: backend='inductor' raised:
AssertionError:
Set TORCH_LOGS="+dynamo" and TORCHDYNAMO_VERBOSE=1 for more information
You can suppress this exception and fall back to eager by setting:
import torch._dynamo
torch._dynamo.config.suppress_errors = True
二、受影响的文件和行号
-
文件:
F:\PythonProjects\SkyReels-V2\generate_video.py
-
行号:第 156 行
-
原代码:
video_frames = pipe(**kwargs)[0]
-
三、修复过程
1. 抑制错误并回退到急切执行模式
在代码中添加以下内容,抑制 torch._dynamo
的错误并回退到急切执行模式。
2. 测试修改后的代码
重新运行 generate_video.py
脚本,确认报错是否消失。
四、修改后的代码
-
generate_video.py
文件开头部分:import torch._dynamo torch._dynamo.config.suppress_errors = True
完整的代码片段如下:
import argparse
import gc
import os
import random
import time
import torch._dynamo
torch._dynamo.config.suppress_errors = True
import imageio
import torch
from diffusers.utils import load_image
from skyreels_v2_infer.modules import download_model
from skyreels_v2_infer.pipelines import Image2VideoPipeline
from skyreels_v2_infer.pipelines import PromptEnhancer
from skyreels_v2_infer.pipelines import resizecrop
from skyreels_v2_infer.pipelines import Text2VideoPipeline
#其他代码
六、总结
通过上述步骤,成功抑制了 torch._dynamo
的错误并回退到急切执行模式。这允许项目继续运行,同时避免了复杂的编译问题。