Nuitka 打包pytorch图像分类代码

  首先还是得安装mingw64, 其实你不用安装,在运行Nuitka 命令的时候,他会自己安装合适的版本,就是有点龟速,如果一直下不了,可以自己根据显示的链接去github上面下载,还可能提示没得cache,方法和上面一样

  建议使用python创建虚拟环境,反正我用conda 配置环境 怎么打包都不成功,不信的可以去试试
安装的python3.8,然后使用python3.8创建虚拟环境venv,然后pip安装pytorch
pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 torchaudio==0.8.0 -f https://download.pytorch.org/whl/torch_stable.html
环境总结:
python 3.8
torch 1.8.0
Nuitka 0.6.15
下图是一路报的错,一个个解释
Nuitka 打包pytorch图像分类代码_第1张图片
第一个 :name ‘_C’ is not defined
我开始直接通过 pip install Nuitka 安装 最新的Nuitka,然后打包pytorch就报这个错误,问同事后版本降到 Nuitka 0.6.15,报错就解决了。
第二个 :DLL load failed while importing cv2: 找不到指定的模块。
下面的opencv也遇到点麻烦,和上面一样,开始通过pip直接安装,不能解决问题,通过降低版本到opencv-python
4.4.0.46,第二个问题解决
第三个:No module named ‘pynvml’
这个直接pip就好了,没啥意外
第四个:No module named ‘Crypto’
https://blog.csdn.net/DanielJackZ/article/details/104531615
直接,pip install pycryptodome,上面链接有解释。

nuitka --mingw64 --standalone --nofollow-import-to=torch --nofollow-import-to=numpy --nofollow-import-to=mmcv --nofollow-import-to=torchvision --nofollow-import-to=cv2 --nofollow-import-to=PIL --nofollow-import-to=Crypto --nofollow-import-to=imgviz --plugin-enable=torch --output-dir=out --onefile --windows-company-name=Eholly --windows-product-version=1.0.0 --windows-onefile-tempdir main.py
这是我使用的命令,大家可以作为参考,具体命令啥意思可以参考下面这篇文章:
https://zhuanlan.zhihu.com/p/133303836

20220906
最近打包遇到一个新问题,报错信息如下:
在这里插入图片描述
这个是因为在构建DataLoader时候使用了多进程(multiprocess),这个只需要在打包的时候加上
–plugin-enable=multiprocessing,就可以成功打包运行
在这里插入图片描述
这个在打包的时候也有提示:
在这里插入图片描述

好了, 好了,这是我花费1天时间探寻的秘密,做个记录分享一下!

你可能感兴趣的:(pytorch,分类,python)