當前位置:
首頁 > 科技 > 用英偉達Jetson Nano運行PyTorch&Fast.ai

用英偉達Jetson Nano運行PyTorch&Fast.ai

原作 Interogativ

郭一璞 編譯

量子位 報道 | 公眾號 QbitAI

英偉達Jetson Nano,作為老黃家最便宜的硬體,只要99美元。

看到便宜就想撿,拿到手裡怎麼玩?

造機器人、造小車、在家裡DIY一個語音控制的窗帘,都得先裝輪子。

如果你使用的框架是PyTorch,那你最好再裝一個Fast.ai。

Fast.ai是在PyTorch上非常好用的深度學習庫,來自MOOC平台Fast.ai,只要一個API,就包含了所有常見的深度學習應用。

那麼,拿到Jetson Nano之後,如何把輪子部署上去呢?一位名叫Interogativ的用戶就把用它運行PyTorch 1.0和Fast.ai 1.0的攻略發在了Fast.ai的論壇上,量子位全文編譯如下:

英偉達Jetson Nano,配備了ARM Cortex A57處理器和4G內存,CUDA和PyTorch兩者都可以在上面運行,這塊開發板有難以置信的價值。

當然,你也可以用它來運行截至2019年4月最新最好的PyTorch和Fast.ai版本,這裡是攻略。本攻略僅適用於Python 3,如果你沒有Linux經驗,不知道如何使用SSH,不知道IP網路的原理或者IP地址是什麼,不建議用本攻略來安裝。

軟硬體準備

1、花99美元買一塊英偉達Jetson Nano,現在國內已經可以買到了,當然,價格會比99美元(665人民幣)要貴一點。

2、一張64G的Micro SD卡,確保它是class 10或者更高級別。

SD卡速度等級,來自SD協會網站

3、USB鍵盤,就台式機上那種。

4、2.5Amp電源線,帶一個Micro-USB插頭。

5、一個HDMI或者DisplayPort連接線顯示器

6、連網:乙太網網線,無線路由器或者HUB,這塊板子沒有本機無線支持,所以請確保你能用有線網路

7、能插Micro SD卡的PC,不能插SD卡的話你還需要準備讀卡器。

setup_swapfile.sh

fastai_jetson.sh

setup_jupyter.sh

jetson_headless.sh

jupyter_notebook_config.py

當然,得記住你的存儲路徑。

可以開箱啦

你的新板子到貨之後,無視裡面自帶的紙架,找一些防靜電的泡沫塑料,其他的防靜電的材料也行,把你的板子放上去。

去文末傳送門裡複製英偉達開發者網站Jetson Nano開發套件指南的鏈接到瀏覽器打開,按照裡面寫的一步一步操作,確保:

1、下載帶有SD卡映像的Nvidia zip文件。

2、按照說明把這些文件裝到SD卡里。

3、將SD卡插入Nano,插上USB鍵盤、顯示器和網線。

4、開機,接受各種許可協議之類的。

5、設置用戶名密碼,別忘了。

聯網之後

1、在網路設置里找到你Nano的IPV4地址,記下來,或者如果你懂IP網路的話,設置一個固定的IP地址。

2、用PC終端程序打開與Jetson Nano的SSH會話。

3、用文件傳輸軟體把之前下載的zip文件傳到Nano的用戶主目錄下。

4、通過SSH把你的PS和Nano的IP地址連起來。

5、從控制台或通過SSH連接,為剛剛下載的腳本設置執行許可權:

設置交換文件

Nano只有4GB的RAM(GPU共享),你需要設置一個交換文件,如果已經有了就跳過此步驟。你可以從終端會話中運行setup_swapfile.sh:

確保這一步只進行一次,因為腳本里沒寫檢查是否已設置,你可以執行以下操作檢查是否設置了交換文件:

這時候你就應該看到創建了一個8GB的交換文件。

安裝PyTorch和Fast.ai

如果這會兒你就想安裝標準的Fast.ai和PyTorch,那就裝吧,反正裝不上。

這會兒,標準的pip命令根本沒法用,但是如果你只是運行fastai_jetson.sh腳本,就可以把倆都裝上。這個過程需要幾個小時,所以不用屏住呼吸。

安裝Jupyter筆記本

安裝好Fast.ai後,它會告訴你:

這是因為Jupyter安裝不會導出運行所需的shell變數。所以現在,關閉所有終端、SSH會話等,從圖形界面重啟Nano。重啟完了就從圖形界面打開終端,然後:

1、確保您下載的jupyter_notebook_config.py文件位於Nano的主目錄中。

2、運行./setup_jupyter.sh。

這也得一陣兒,所以這裡也不用屏住呼吸。

此腳本的最後一步需要Jupyter密碼,記住:

不是Jupyter登錄密碼!

不是Jupyter登錄密碼!

不是Jupyter登錄密碼!

就是設置一個單獨的密碼,你可以用這個密碼在你網路上的任何PC上登錄Jupyter筆記本,設置好密碼後記住它。

默認的Jupyter筆記本安裝只能從控制台或圖形界面登錄,之前下載的修改後的jupyter_notebook_config.py文件和腳本安裝可以從你網路上的任何計算機登錄。

運行Jupyter筆記本的話,需要打開終端或SSH實例並運行:

如果它沒有運行,可能是因為你沒有退出後再次登錄。

好了,現在你可以運行PyTorch和Fast.ai了。

但如果你像我一樣,你不需要在Nano上使用圖形界面,並且想把所有內存都拿來跑程序的話,就接著往下看。

關於Python,Pip和VirtualEnv

一些有經驗的Python用戶習慣於虛擬環境(virtualenv,conda),它要求您在安裝或運行軟體之前激活「source activate」,我們現在還沒安裝,其中一個副作用是pip和Python命令將在活動環境中自動運行Python 3或pip 3。

你必須用pip3和Python3分別運行pip和Python。因此,如果你正在運行一些使用!python xyz的筆記本,除非你將代碼更改為!python3 xyz,否則它將無效。

存儲空間不是一切,但絕對非常重要:

過去,比如說2010年,4GB的內存很大。如果不在這塊板子上跑GPU,那就足以讓筆記本電腦運行良好(8 GB的交換文件有很大幫助)。但是你要想跑CUDA,那就沒法在交換磁碟上運行,因此它佔滿了4GB的每個位元組。

所以,為了省下一些存儲空間,放棄圖形界面吧,通過SSH用遠程控制台操作。

現在,如果你準備好了,就找到最後一個腳本jetson_headless.sh,運行它,卸載圖形界面,還能順帶清除300多M的不必要的軟體包。

運行之後,重新啟動,你就能擁有Nano控制台訪問許可權,現在機器只佔用了大約378M的內存,留下了3.6G左右的空間可以運行PyTorch和Fast.ai。

1、運行

2、重啟,用SSH連接Nano。

最後說明一下,本文發布的2019年4月,這種方法是可以安裝PyTorch 1.0和Fast.ai 1.0的,如果以後版本更新了或者需要裝別的東西,歡迎去原文git repo~

傳送門

攻略原文:

https://forums.fast.ai/t/share-your-work-here/27676/1274

Tera Term

https://ttssh2.osdn.jp/index.html.en

WinSCP

https://winscp.net/eng/docs/lang:chs

英偉達開發者網站Jetson Nano開發套件指南

https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit

活動報名|多模態視頻人物識別

訂閱AI內參,獲取AI行業資訊

加入社群

量子位AI社群開始招募啦,量子位社群分:AI討論群、AI 行業群、AI技術群;

歡迎對AI感興趣的同學,在量子位公眾號(QbitAI)對話界面回復關鍵字「微信群」,獲取入群方式。(技術群與AI 行業群需經過審核,審核較嚴,敬請諒解)

喜歡就點「好看」吧 !


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 量子位 的精彩文章:

用C+實現強化學習,速度不亞於Python,這裡有個框架可用
DeepMind綜述無監督學習:通用智能路上的踏腳石,讓AI更聰明

TAG:量子位 |