日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

發布時間:2024/9/30 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python打包exe之打包深度学习模型踩坑记录及其解决办法。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在現實生活中,有時候我們寫的程序需要發給小伙伴用,而小伙伴沒有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等。

二.帶資源打包

python將資源文件一起打包進exe 講解(有算例)

對于深度學習模型,我們一般都是先訓練保存。然后將保存的模型作為資源文件進行打包,教程參考前面鏈接。

注意事項:如我們不能像常規一樣,將訓練程序在電腦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 之打包sklearn模型中的各種坑及其解決方法。


電氣專業的計算機萌新:余登武。寫博文不容易。如果你覺得本文對你有用,請點個贊支持下,謝謝。

總結

以上是生活随笔為你收集整理的python打包exe之打包深度学习模型踩坑记录及其解决办法。的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。