<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
第一次嘗試用Pyinstaller打包Pytorch,碰見了很多問題,耗費了許多時間!想把這個過程中碰到的問題與解決方法記錄一下,方便後來者。
使用Pyinstaller打包流程可分為以下三步:
使用Pycharm開啟專案,點選Terminal,輸入以下命令:
pip install pyinstaller
請確保Terminal所在路徑為專案根目錄,以免在後續打包過程中找不到一些模組。圖中紅框內(pytorch)是我的專案所需要的虛擬環境。
編寫Hello World測試,新建test.py:
if __name__ == '__main__': print("Hello World!") while True: pass
在Terminal輸入以下命令,打包test.py:
pyinstaller -F test.py
回車執行,開始打包!在資料夾dist中找到test.exe程式,執行測試,沒報錯說明Pyinstaller安裝成功。
實際的專案一般是多檔案,打包過程遠比Hello World複雜多了。打包專案的核心要點有兩個:
關於.spec檔案設定詳見參考連結一,這裡不再贅述。需要注意的是,在測試階段,打包時應設定為-D模式,方便補齊dll。本文重點講dll及其依賴項的補齊。先安裝必備工具Dependens,通過這個工具,我們可以得到.dll檔案所需要的依賴項。在執行打包後的exe常常遇到以下的問題:
這提示我們系統缺少caffe2_nvrtc.dll或其對應的依賴項。
Dependencies的使用非常簡單,直接將.dll拖進去即可。這裡以torch_python.dll舉例
可以發現,缺少若干個dll檔案,補齊便可。通過上述方法,依樣畫葫蘆,基本可以解決關於dll報錯的問題。
但每次重新打包後,需要手動複製貼上dll檔案,很是麻煩,通過設定.spec檔案可簡化操作。以記事本方式開啟.spec,找到datas:
小括號內有兩個路徑,第一個路徑'kernel32.dll'表示原始資料路徑,存放kernel32.dll的路徑;第二路徑為'.'表示目標路徑,打包後原始資料存放的路徑。意思就是將第一路徑的東西在打包後,放在第二路徑上。需要注意的是,這邊我設定的是相對路徑,相對於.spec中的pathex
我使用的是pytorch的GPU版本,在新電腦上執行發現會報如下錯誤,應該是缺少cuda庫的緣故。
我的解決辦法簡單粗暴,直接拷貝cuda包到行動硬碟
每次到新的電腦,新增cuda到環境變數
建議在程式額外設定一個選項,可將網路切換成CPU推理,以便在其他電腦測試時,即使環境未設定成功,也可通過CPU推理驗證打包成功與否。最後,祝大家好運,打包成功那一刻是蠻喜悅的!
到此這篇關於Pyinstaller打包Pytorch框架所遇到的問題的文章就介紹到這了,更多相關Pyinstaller打包Pytorch 內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45