CogVideo
CogVideo copied to clipboard
训练后convert_weight_sat2hf保存的ckpt再直接用diffusers载入,出视频会变糊?
System Info / 系統信息
5b模型有这个问题,2b好像没有
Information / 问题信息
- [ ] The official example scripts / 官方的示例脚本
- [X] My own modified scripts / 我自己修改的脚本和任务
Reproduction / 复现过程
- 全量训练
- 用convert_weight_sat2hf脚本转换ckpt
- 用pipe = CogVideoXPipeline.from_pretrained(model_path, torch_dtype=torch.bfloat16).to("cuda")载入模型并推理即可复现
- 改成以下载入方式效果正常: transformer = CogVideoXTransformer3DModel.from_pretrained(f'{model_path}/transformer', torch_dtype=torch.bfloat16, use_safetensors=False) pipe = CogVideoXPipeline.from_pretrained('THUDM/CogVideoX-5b', transformer=transformer, torch_dtype=torch.bfloat16, use_safetensors=False).to("cuda")
根据表现,疑似vae在保存过程中丢失精度?
Expected behavior / 期待表现
期望convert_weight_sat2hf转换后直接用CogVideoXPipeline.from_pretrained载入即可使用
请问你是如何用convert_weight_sat2hf脚本转换ckpt的,我2b是可以转的,5b会报错。我似乎该修改某些层的通道配置?但我不知道在哪里修改
请问你是如何用convert_weight_sat2hf脚本转换ckpt的,我2b是可以转的,5b会报错。我似乎该修改某些层的通道配置?但我不知道在哪里修改
这个我们之后更新,转换脚本已经升级了,适配了diffusers 0.30.1
请问你是如何用convert_weight_sat2hf脚本转换ckpt的,我2b是可以转的,5b会报错。我似乎该修改某些层的通道配置?但我不知道在哪里修改
这个我们之后更新,转换脚本已经升级了,适配了diffusers 0.30.1
期待更新!
我这里稍微改了下
感谢,我用你的修改成功转好了模型,同样遇到了视频变模糊的问题。但我认为这个不是vae导致的,5b模型的vae和2b模型应该没有不同,我更倾向于transformer finetune崩了,但具体原因不清楚,loss也很正常...
我这里稍微改了下
感谢,我用你的修改成功转好了模型,同样遇到了视频变模糊的问题。但我认为这个不是vae导致的,5b模型的vae和2b模型应该没有不同,我更倾向于transformer finetune崩了,但具体原因不清楚,loss也很正常...
但正如我提到的,换了一种载入方式后,正常了。。。是否是vae也只是我的猜测,我没做进一步实验,其实可以试试分别载入各个部分做个对照看
使用现在的代码呢?vae应该是不会动的啊
System Info / 系統信息
5b模型有这个问题,2b好像没有
Information / 问题信息
- [ ] The official example scripts / 官方的示例脚本
- [x] My own modified scripts / 我自己修改的脚本和任务
Reproduction / 复现过程
- 全量训练
- 用convert_weight_sat2hf脚本转换ckpt
- 用pipe = CogVideoXPipeline.from_pretrained(model_path, torch_dtype=torch.bfloat16).to("cuda")载入模型并推理即可复现
- 改成以下载入方式效果正常: transformer = CogVideoXTransformer3DModel.from_pretrained(f'{model_path}/transformer', torch_dtype=torch.bfloat16, use_safetensors=False) pipe = CogVideoXPipeline.from_pretrained('THUDM/CogVideoX-5b', transformer=transformer, torch_dtype=torch.bfloat16, use_safetensors=False).to("cuda")
根据表现,疑似vae在保存过程中丢失精度?
Expected behavior / 期待表现
期望convert_weight_sat2hf转换后直接用CogVideoXPipeline.from_pretrained载入即可使用
transformer = CogVideoXTransformer3DModel.from_pretrained(f'{model_path}/transformer', torch_dtype=torch.bfloat16, use_safetensors=False) pipe = CogVideoXPipeline.from_pretrained('THUDM/CogVideoX-5b', transformer=transformer, torch_dtype=torch.bfloat16, use_safetensors=False).to("cuda") 这个命令加载不起来吧, 保存的文件格式safetensors?

我这里稍微改了下