之前学习了如何打包,如何建立虚拟环境打包,以及如何带资源打包exe.

python打包成exe 可执行文件 。教程
使用pipenv建立虚拟环境解决python打包exe文件过大的问题(附打包带图标,多个py文件打包exe)
python将资源文件一起打包进exe 讲解(有算例)

今天在此打包资源文件基础上,学习如何打包sklearn模型。
sklearn是机器学习模型,当在现实生活中,我们有时需要跑模型,而神经网络需要的包更多,程序编写也更复杂。在仅仅是为了解决问题时,我们常常倾向于选择sklearn机器学习模型。
但是打包sklearn模型时常常出现各种错误。
我总结下我打包时出现的错误及其解决方法。

问题1:from sklearn.externals import joblib 失败 cannot import name joblib

也许你在打包后运行exe文件出现这个问题,那是因为你在安装程序所需要的库时,sklearn一般是默认最新的,而最新的skleran中已经没有joblib。

这是因为joblib已经从sklearn中移除了,可以直接改为 import joblib
注意改原始程序中的模型保存与加载代码,
改为joblib
joblib使用方法

import joblib
#将训练的模型保存到磁盘(value=模型名) 默认当前文件夹下
joblib.dump(filename=‘xx.model’)
model1 = joblib.load(filename=“xx.model”)

问题2:ImportError: No module named ‘sklearn.utils.cython_blas’

打开.spec文件

添加hiddenimports=[‘cython’, ‘sklearn’, ‘sklearn.utils._cython_blas’ ],

问题3:pyinstaller 打包后运行exe程序出现的"ModuleNotFindError"
问题如图所示:
我在程序中使用的是svm程序,然后运行显示没有这个包。

首先,使用pyinstaller 打包生成".spec" 文件
接下来,使用文本编辑器打开".spec"文件,在 hiddenimport=[] 部分添加缺少的module

-hidden-import 应用需要的包,但是没有被打包进来,这里的错误是最多的,因为一般是第三方包隐式调用其他包,然后打包出来的程序显示Fate Error不能运行。需要自己再添加进去,

如图所示:图中导入是贝叶斯模型,因为我后面模型改用贝叶斯啦,非svm
如果是svm,解决方法同图。

然后使用pyinstaller 生成新的exe程序:

pyinstaller xx.spec

打包教程见上面给的链接
在解决这三个问题后,我的示范算例最后结果

可以运行

深度学习打包教程
python打包exe之打包深度学习模型踩坑记录及其解决办法。


电气工程的计算机萌新:余登武。如果你觉得本文对你有用,请点个赞支持下,谢谢。

python打包exe 之打包sklearn模型中的各种坑及其解决方法。相关推荐

  1. Python 爬虫中国知网论文过程中遇到的坑及解决办法

    假期,老师给布置了 Python 爬虫中国知网论文的任务,目前实现了登录和搜索功能,先写一下遇到的坑和解决办法吧. Python 爬虫中国知网论文过程中遇到的坑及解决办法 一. selenium 模块 ...

  2. CocoaPods更新过程中出现的坑及解决方法

    CocoaPods更新过程中出现的坑及解决方法 参考文章: (1)CocoaPods更新过程中出现的坑及解决方法 (2)https://www.cnblogs.com/hero11223/p/1071 ...

  3. 开发微信小程序 中遇到的坑 及解决方法

    开发微信小程序 中遇到的坑 及解决方法 参考文章: (1)开发微信小程序 中遇到的坑 及解决方法 (2)https://www.cnblogs.com/feiye512/p/6070052.html ...

  4. python打包exe之打包深度学习模型踩坑记录及其解决办法。

    在现实生活中,有时候我们写的程序需要发给小伙伴用,而小伙伴没有python,这时候我们需要将程序打包成exe文件发给小伙伴用. 今天讲下打包深度学习模型 打包一般要用到cmd命令行,要求cmd能执行p ...

  5. pyinstaller打包文件及warn文件中许多missing module 的解决方法

    python2.7下使用pyinstaller打包文件及warn文件中许多missing module 的解决方法 注:pyinstaller不属于python执行的包,需要在cmd命令行下使用. 1 ...

  6. sklearn模型中random_state参数的意义

    sklearn模型中random_state参数的意义 random_state 意义 使用情况 random_state 意义 例如:在sklearn可以随机分割训练集和测试集(交叉验证),只需要在 ...

  7. Unity3d中模型导入轴向不对的解决方法

    Unity3d中模型导入轴向不对的解决方法 参考文章: (1)Unity3d中模型导入轴向不对的解决方法 (2)https://www.cnblogs.com/Sakya00/p/3231483.ht ...

  8. Driver not loaded Driver not loaded(QT打包后在别人的电脑上运行出现这个错误)解决方法

    Driver not loaded Driver not loaded(QT打包后在别人的电脑上运行出现这个错误)解决方法 出现这个错误,导致的原因有很多,所以不妨先试试我找的这种解决方法,我也是试过 ...

  9. antimalware service executable占用内存过高_Win10系统svchost.exe进程占用内存和网速过高的解决方法...

    我们在使用Windows10系统的过程中,不少用户一旦发现电脑异常,例如异常卡顿,就会查看一下任务管理器,是否有进程过高占用了CPU.内存.网络等,而在任务管理器中发现了一个名称为"svch ...

最新文章

  1. 路由器互联端口处于不同网段的路由方法和原理
  2. 数组-在Shell脚本中的基本使用介绍
  3. python手机版下载3.7.2-qpython手机版下载
  4. Karush-Kuhn-Tucker (KKT条件)
  5. 【JVM】JVM指令集总结
  6. 中国坚果脱壳机行业市场供需与战略研究报告
  7. 项目管理:CocoaPods建立私有仓库
  8. go语言渐入佳境[10]-function
  9. 2008 r2彻底删除 server sql_SQL Server 2008 r2 完全卸载方法分享
  10. 使用DirectoryEntry进行 IIS 操作
  11. 深度学习在时空数据的应用
  12. java课题研究方法和技术途径_开题报告中的拟采取的研究方法技术路线和技术关键...
  13. 树莓派python编程入门与实战_树莓派Python编程入门与实战 PDF 下载
  14. ubuntu系统20.04 无线网卡QCA6174 wifi不存在或找不到解决方法 红米笔记本
  15. xp无法搜索计算机,windows xp系统笔记本电脑搜索不到无线信号的解决方法
  16. linux 分卷压缩及解压缩
  17. 八戒,别以为你站在路灯下就是夜明猪了
  18. Solr单机版安装【实战】
  19. Cameralink转VGA接口转换模块
  20. 使用 Packer 构建虚拟机镜像踩的坑

热门文章

  1. mysql 十八哥_十八哥Mysql笔记之基础篇
  2. Java实现接收数组参数
  3. spring配置过滤器,报错 com.skynet.filter.GrantFilter cannot be cast to javax.servlet.Filter
  4. 牛客题霸 NC18 顺时针旋转矩阵
  5. C/C++程序设计IDE推荐
  6. mybatis的mapper.xml文件中含有中文注释时运行出错,mybatis配置优化和别名优化 mybatis配置之映射器说明
  7. Java后端学习路线【哔哩哔哩网站】【Java基础、SSM框架、Maven、Mysql、Idea的使用、Springboot、Sprinfcloud、设计模式】
  8. Android-Universal-Image-Loader 框架使用
  9. 一周刷题记录 | WebMisc
  10. 什么才是多线程安全的