pyinstaller打包pytorch程序的一系列问题
程序员文章站
2024-03-22 16:10:16
...
工程路径
python程序打包成exe,是楼主实习阶段遇到一个问题。服务器上面没有python环境。
因为是图像处理方面的工作,需要用到深度学习框架,pytorch,需要调用torchvision中的resnet模型。但是这个时候,遇到很多问题。
1.包打得起来,但是没有办法运行,报错,仔细分析报错结果是,torchvision 引用的时候出错了,查明这个问题,楼主用了最笨的方法,就是尽可能的删除我不需要的文件,然后一个一个包拿出来打,告诉我还是告诉我错误。
import numpy as np
# from torchvision import models
import torchvision
import time
def easy():
resnet = torchvision.models.resnet18(pretrained=True)
return resnet
if __name__=='__main__':
for i in range(100):
resnet = easy()
print(resnet)
time.sleep(2)
这个问题,我后来查明是torchvision 版本过高,降低torchvision版本,
pip uninstall torchvision
pip install torchvision ==0.2.2.post3所以这里我采用的方法pyinstaller -F server.py ,我的程序都是绝对路径,所以我模仿我的路径,在服务器上建立一个相应的路径,将工程和exe考进去。
解决这个问题之后,告诉我no module named utils.utils
pyinstaller -F server.py --hidden-import= utils.utils(这里没有单引号,搞死我了)就能打包成功了,然后将路径模仿在服务器上复制过去,例如我的工程是D:\\personSearch\personSearch\,所以我在服务器上模拟了这个路径将工程放到里面,说是有-D的方法等,目前还没研究,如果有时间的,楼主再更新一篇没那么笨的方法