【Python】Pytorch模型转NCNN模型

本文最后更新于:2025年6月29日 下午

前言

最近用Real-ESRGAN的时候遇到了个问题,别人预训练的模型都是Pytorch的.pth格式的模型,但NCNN打包的ESRGAN只能使用.param和.bin的NCNN模型,有没有办法转换

chaiNNer软件可以实现,而且很简单,但是这个软件比较折磨

下载

前往 github 下载对应版本的Release

下载完后运行会安装Python,但是这个下载安装不会经过系统代理,从而大陆地区绝对出现问题:#3043

这里我给了一个解决方案(英语不好,六级擦边过),从源代码手动下载Python,然后解压到软件内的python目录,重命名为python

但是这个Python是作为摆设的,因为我电脑有Python了,而且装有CUDA的torch,如果没有或者怕冲突的话建议还是继续使用我们刚刚复制的python作为虚拟环境。

此时进入就不会提示安装Python了,因为我们只做模型转换,ffmpeg的功能暂时用不上,他也会下载ffmpeg,就只能耐心等了,报错不用理,一样能够进入软件

安装依赖

使用内嵌Python

点这里打开

需要下载Pytorch和NCNN

可以展开查看具体版本,然后在软件内安装(一样不经过代理,所以建议本地安装)

使用系统Python

还是按照上面的方法,打开依赖的面板,然后自己的电脑手动安装pip install 包名==版本号

完成之后需要设置使用系统Python(需要设置环境变量,如果没有需要设置python路径)

使用GPU

转换

在左侧面板,Search搜索Load Model,选择Pytorch里面的,拖入工作流

然后选择转换器Convert to NCNN,连起来

最后保存为NCNN模型(Save Model,选择NCNN里面的)

第一步选择.pth的模型,最后一步设置保存的目录和名称

最后点击上面的运行,很快就转换完成了


【Python】Pytorch模型转NCNN模型
https://www.arirs.cn/posts/2481188/
作者
Ar-Sr-Na
发布于
2025年12月25日
许可协议