在现实生活中,有时候我们写的程序需要发给小伙伴用,而小伙伴没有python,这时候我们需要将程序打包成exe文件发给小伙伴用。

今天讲下打包深度学习模型

打包一般要用到cmd命令行,要求cmd能执行python程序。

因为我们一般将程序放在文件夹里,然后cmd直接进入文件夹。

教程见链接:

cmd执行python程序,文件夹直接进入cmd程序

一.虚拟环境建立

我们需要通过虚拟环境解决打包exe过大的问题。

一般的模型如机器学习等,我们可以通过pipenv来建立虚拟环境。

使用pipenv建立虚拟环境解决python打包exe文件过大的问题(附打包带图标,多个py文件打包exe)

使用pipenv有个缺陷,就是无法更改python版本,至少我无法更改。

我们可以改用anaconda来建立虚拟环境。anaconda虚拟环境可以更改python版本

anaconda虚拟环境教程大全

虚拟环境下,对深度学习框架版本要求很低,如我的电脑上TensorFlow虚拟环境为1.5.0时可以运行,更高的版本显示错误。而在电脑上,我的tensorflow可以跑最新的版本。

python 与各深度学习版本对应关系见链接。自己参考然后在虚拟环境下安装合适的python版本和深度学习框架

python深度学习环境支撑列表 各版本对应关系,Keras,TensorFlow,pytorch ,caffe等。

二.带资源打包

对于深度学习模型,我们一般都是先训练保存。然后将保存的模型作为资源文件进行打包,教程参考前面链接。

注意事项:如我们不能像常规一样,将训练程序在电脑python3.7,keras=2.3下进行训练,然后把得到的模型.h5,放在虚拟环境下进行打包,而虚拟环境下的python=3.6,Keras不是2.3,是其他版本。深度学习不同版本框架保存的模型是不能共用的,否则会出现类似错误

在其他机器保存keras模型(.h5),load_model(~.h5)后报错【in from_config if ‘class_name’ not in config[0] or config[0][‘class_name’] == ‘Merge’:】

原因:两台机器Keras版本号不一致

所以我们需要将训练程序放在虚拟环境下进行训练,得到模型配置,然后将模型配置作为资源文件一起打包。

cmd 进入文件夹,文件夹进入虚拟程序,然后,cmd执行python程序。

cmd执行python程序,文件夹直接进入cmd程序

总结深度学习模型打包步骤

1.将训练程序和界面程序一起放在一个单独文件夹里,注意界面程序读取模型资源路径方法

2.cmd进入该文件夹,然后通过anaconda建立虚拟环境。

3.在虚拟环境下安装打包exe和程序相关的库,安装相关版本的python。

4.在虚拟环境下,进入python,执行训练程序,模型配置得到保存。

5.在虚拟环境下 将模型配置作为资源文件,和界面程序 一起打包。得到最终exe文件

我的一次成功打包结果示意图见下

电气专业的计算机萌新:余登武。写博文不容易。如果你觉得本文对你有用,请点个赞支持下,谢谢。

python打包成exe去cmd_完美起航-python打包exe之打包深度学习模型踩坑记录及其解决办法。...相关推荐

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

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

  2. Python打包工具Pyintealler打包py文件为windows exe文件过程及踩坑记录+实战例子

    Python打包工具Pyintealler打包py文件为windows exe文件过程及踩坑记录+实战例子 目录 Python打包工具Pyintealler打包py文件为windows exe文件过程 ...

  3. 用pyinstaller打包pytorch环境下的深度学习模型,实现通过exe程序实现界面显示模型的分类效果

    用pyinstaller打包pytorch环境下的深度学习模型,实现通过exe应用实现界面显示模型的分类效果 训练深度学习模型和界面显示,看我之前的博客,链接在下面: 通过残差网络实现CLFAR-10 ...

  4. 使用exe4j+inno setup打包exe文件踩坑记录

    一.前言 最近用Java给朋友写了一个截图工具和将所有图片生成pdf工具,但是由于朋友不是计算机行业的人员,如果为了使用java常见的运行方式运行工具,则还需要在电脑上安装jdk与jre,着实不方便. ...

  5. C++调用Python文件,TensorFlow和PyTorch构建的深度学习模型,无法使用GPU的情况分析。

    C++调用Python深度学习模型,包含TensorFlow和PyTorch等构造的模型,然后使用GPU出现问题.包含C++调用Python函数,C++加载模型到GPU,GPU内存占用过大,计算完毕内 ...

  6. 几乎完美安装! NVIDIA Jetson Nano B01 Ubuntu 18.04.3 LTS 的 ROS 安装和菜鸟的踩坑记录【会继续完善】

    几乎完美安装! NVIDIA Jetson Nano B01 Ubuntu 18.04.3 LTS 的 ROS 安装和菜鸟的踩坑记录 NVIDIA Jetson Nano B01技术规格 Ubuntu ...

  7. PyInstaller打包深度学习模型代码详细教程

    前言:由于工作需求,需要使用Pyinstaller库将Python脚本打包成exe文件,特此花几天时间查找资料,进行实验.将过程做个梳理,记录下来,方便自己和他人日后查询. 目录 一.安装PyInst ...

  8. python在通信中的应用_基于Redis的进程间通信——在C++里使用python的深度学习模型...

    本文主要是为进程间通信(特别是语言都不同的进程)提供一种新的思路本想法来源于RoboMaster比赛中的神符检测,神符是指一个9宫格的手写体数字(Mnist)或火焰体动态数字,需要用到机器学习或深度学 ...

  9. 吸烟行为检测系统(Python+YOLOv5深度学习模型+清新界面)

    摘要:吸烟行为检测软件用于日常场景下吸烟行为监测,快速准确识别和定位吸烟位置.记录并显示检测结果,辅助公共场所吸烟安全报警等.本文详细介绍吸烟行为检测系统,在介绍算法原理的同时,给出Python的实现 ...

  10. 一文搞懂如何使用ArcGIS API for Python训练深度学习模型

    一文搞懂如何使用ArcGIS API for Python训练深度学习模型 文章目录 一文搞懂如何使用ArcGIS API for Python训练深度学习模型 写在前面 一.ArcGIS API f ...

最新文章

  1. gelera mysql_基于Galera的MySQL高可用集群
  2. [BZOJ2693]jzptab
  3. 随机迷宫c语言实验报告,[原创]递归随机迷宫生成算法详解
  4. Linux系统日志及日志分析
  5. 从数据传输的角度辨析表单设计时的 get 和 post 提交方法
  6. 电脑上怎么扫二维码_微信里别人发给我的二维码怎么扫
  7. 中如何调取api_【技巧】不去腾讯公司也能调取微信交易流水清单
  8. 解决自动更新时 系统提示“某些设置由你的系统管理员管理”的方法
  9. libuv:多平台支持库-异步I / O
  10. 微软Office Online服务安装部署(二)
  11. creo管道设计教程_Creo7.0设计探索在管道设计的应用
  12. 《How to bake LightMap》
  13. 一用就会Cron表达式生成器
  14. 电信光猫获取超级账户和密码
  15. 微信小程序累计独立访客(UV)不低于 1000 是什么意思
  16. 计算机 去掉快捷方式箭头,桌面快捷键小箭头怎么去掉【图文介绍】
  17. 电脑计算机键盘没反应了怎么办,电脑键盘无法使用怎么办 键盘没反应解决办法...
  18. Cow Hopscotch G
  19. 轻量级封装DbUtilsMybatis之四MyBatis主键
  20. 六边形3d立体缩放动画js特效

热门文章

  1. 解决linux下访问https站点问题
  2. GTDer为何不再拖延了?
  3. 169、多数元素(python)
  4. 广东中学计算机课可教什么,广东实验中学课程设置如何?有什么特色?
  5. android Activity生命周期总结
  6. 重构Webpack系列之六 ---- 配置文件
  7. vue前期项目搭建所需要安装的插件,idea操作
  8. 关于Lambda表达式的简单理解,以及基础使用,仅限新手
  9. 眼图在通信系统中有什么意义_KT124煤矿调度通信系统和传统调度系统相比有什么优势...
  10. 搜索引擎html和css,CSS样式对搜索引擎排名的影响