欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

pyinstaller打包pytorch程序的一系列问题

程序员文章站 2024-03-22 16:10:16
...

pyinstaller打包pytorch程序的一系列问题

工程路径

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的方法等,目前还没研究,如果有时间的,楼主再更新一篇没那么笨的方法

相关标签: pyinstaller的方法