手把手教你在昇騰平臺上搭建PyTorch訓練環(huán)境
PyTorch是業(yè)界流行的深度學習框架,用于開發(fā)深度學習訓練腳本,默認運行在CPU/GPU上。在昇騰AI處理器上運行PyTorch業(yè)務時,需要搭建異構(gòu)計算架構(gòu)CANN(Compute Architecture for Neural Networks)軟件開發(fā)環(huán)境,并安裝PyTorch 框架,從而實現(xiàn)訓練腳本的遷移、開發(fā)和調(diào)試。

下面帶大家了解如何在昇騰平臺上快速安裝驅(qū)動固件、CANN軟件及PyTorch框架。
環(huán)境檢查
在昇騰平臺上安裝驅(qū)動和固件前,首先需要檢查安裝環(huán)境的NPU是否正常在位,并確認操作系統(tǒng)版本與內(nèi)核版本是否滿足對應的版本配套要求。
以Atlas 800 訓練服務器(型號:9010)(昇騰AI處理器型號Ascend?910)為例,檢查NPU是否正常在位可執(zhí)行lspci | grep d801命令,如果服務器上有?N路NPU,回顯N行含“d801”字段,則表示NPU正常在位。
安裝驅(qū)動和固件
1. 創(chuàng)建驅(qū)動運行用戶HwHiAiUser。
2. 安裝驅(qū)動和固件。
在昇騰社區(qū)的“固件與驅(qū)動”下載頁面下載配套產(chǎn)品的固件驅(qū)動軟件,并上傳到服務器任意目錄,然后參考如下命令進行固件驅(qū)動軟件包的安裝,需要注意,需要以root用戶進行安裝。
a.為軟件包增加可執(zhí)行權(quán)限。
b.安裝驅(qū)動。
默認安裝路徑為“/usr/local/Ascend”,出現(xiàn)類似如下回顯信息,說明安裝成功。
您還可以通過執(zhí)行npu-smi info命令查看,出現(xiàn)類似如下信息,說明驅(qū)動加載成功。

c.安裝固件。
出現(xiàn)類型如下回顯信息,說明安裝成功。
3. 驅(qū)動固件安裝完成后,重啟系統(tǒng)。
安裝CANN軟件依賴
CANN軟件安裝過程需要下載相關(guān)依賴,請確保安裝環(huán)境能夠連接網(wǎng)絡,并已配置軟件源,以下步驟以root用戶操作為例。
1. 安裝第三方依賴
Ubuntu系統(tǒng)(Debian、UOS20、Linux等系統(tǒng)操作一致):
openEuler系統(tǒng)(EulerOS、CentOS、BCLinux等系統(tǒng)操作一致):
2. 安裝Python及其依賴
以安裝Python?3.7.5為例。
1)通過wget命令下載python3.7.5源碼包。
2)解壓縮源碼包
3)源碼編譯安裝Python。
以--prefix=/usr/local/python3.7.5路徑為例進行說明。執(zhí)行配置、編譯和安裝命令后,安裝包在/usr/local/python3.7.5路徑。
4)設置python3.7.5環(huán)境變量。
5)檢查是否安裝成功。
返回相關(guān)版本信息,則說明安裝成功。
6)安裝pip依賴。
安裝CANN開發(fā)套件包
1. 從昇騰社區(qū)“CANN”產(chǎn)品頁,根據(jù)操作系統(tǒng)架構(gòu)下載CANN開發(fā)套件包。
例如“Ascend-cann-toolkit_6.3.RC1_linux-x86_64.run”,并將其上傳到安裝環(huán)境任意目錄。
2. 安裝CANN開發(fā)套件包。
安裝完成后,若顯示如下信息,則說明軟件安裝成功:
xxx表示安裝的實際軟件包名。
安裝PyTorch
CANN軟件包安裝完成后,就可以進行PyTorch的安裝了。開發(fā)者可以選擇PyTorch 1.8.1或PyTorch 1.11.0版本,PyTorch安裝成功后再安裝APEX混合精度模塊。在安裝Pytorch前,需要先安裝以下依賴。
安裝PyTorch 1.8.1
1)安裝官方torch包。
x86_64架構(gòu)
aarch64架構(gòu)
2)安裝昇騰提供的PyTorch適配插件torch_npu。
x86_64架構(gòu)
aarch64架構(gòu)
?此處以5.0.rc1版本為例,實際請選擇CANN配套的PyTorch插件版本進行安裝。
3)安裝對應框架版本的torchvision。
4)驗證是否安裝成功。
如果輸出包含如下關(guān)鍵信息則說明PyTorch安裝成功。
安裝PyTorch 1.11.0
1)安裝官方torch包。
x86_64架構(gòu)
aarch64架構(gòu)
2)安裝昇騰提供的PyTorch適配插件torch_npu。
x86_64架構(gòu)
aarch64架構(gòu)
3)安裝對應框架版本的torchvision。
4)驗證PyTorch是否安裝成功。
如果輸出包含如下關(guān)鍵信息則說明PyTorch安裝成功。
安裝APEX混合精度模塊
APEX混合精度模塊是一個集優(yōu)化性能、精度收斂于一身的綜合優(yōu)化庫,可以提供不同場景下的混合精度訓練支持。
1.?安裝依賴,以CentOS與Ubuntu操作系統(tǒng)為例。
2. 獲取昇騰適配的APEX源碼以及原生APEX代碼。
3. 切換到原生APEX代碼對應分支。
4. 在昇騰適配APEX源碼目錄的scripts路徑下生成昇騰適配全量代碼。
5. 編譯生成昇騰適配的APEX二進制安裝包。
6. 安裝APEX。
86_64架構(gòu)
aarch64架構(gòu)
到此,PyTorch訓練環(huán)境就搭建完畢了,開發(fā)者可以將PyTorch網(wǎng)絡腳本遷移到昇騰平臺執(zhí)行訓練,使用昇騰平臺的強大算力。
關(guān)于更多文檔介紹,可以在昇騰文檔中心[1]查看,您也可在“昇騰社區(qū)在線課程[2]”板塊學習視頻課程,學習過程中的任何疑問,都可以在“昇騰論壇[3]”互動交流!
相關(guān)參考

相關(guān)推薦