python打包深度學習模型為exe可執行檔案
阿新 • • 發佈:2021-01-22
技術標籤:深度學習神經網路tensorflow
(轉發的(原文連結https://blog.csdn.net/qq_35756383/article/details/110850920),自己試過了,這個方法可以用,這個打包之前弄了好久總是出問題。)
因為打包後的exe檔案是包含了所有環境配置的,接收到檔案的客戶端無需下載環境依賴,直接執行即可。因此為了使exe檔案儘可能的小,需要在乾淨的虛擬環境中打包。
虛擬環境可用anaconda、virtualenv等,也可直接在pycharm中新建虛擬環境,在此不做贅述。
安裝pyinstaller
在虛擬環境下執行下列命令即可:
-
pip install pywin32-ctypes
-
pip install PyInstaller
-
pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz
打包程式
在打包前確保你的整個程式程式碼只需要執行一個python檔案即可呼叫,並對該python檔案進行打包:(這個步驟可以檢視pyinstaller,更多引數的含義)
pyinstaller -F xx.py
會生成dist/build/xx.spec3個新檔案,dist目錄下的exe即為打包後的exe檔案:
將xx.spec和build檔案都刪除,把dist下的xx.exe放到與xx.py同級目錄下。
拷貝整個工程程式碼檔案到其他機器上,雙擊exe檔案即可執行。(這裡把這個exe拿出來放在任意位置雙擊就可以運行了,好像是打包時候把這些依賴項都打包進去了,最後的exe檔案特別大。)
關於這個打包問題:
1、自己打包的cpu環境相對容易打包,並且放在其他電腦(沒有配置過深度學習環境)上也可以執行,就是預測速度很慢。
2、GPU環境的話,目前在自己電腦上可以,還沒試那些沒有環境的電腦,估計是不太行的。