vue之v-model基本使用
1766
2022-05-28
什么是昇騰社區的ModelZoo?
對于開發者來說,部署應用到Atlas設備,有一點是最為關鍵、最具有挑戰性的——模型的轉換,需要將Caffe或TensorFlow框架下的模型轉為專用的.om模型才可以。這一般是大家自己轉換,一旦遇到轉換失敗,可能就需要較長時間的調整了,為了減輕大家開發負擔,這里給大家介紹一下昇騰開發者社區的ModelZoo,這里有適配好的模型更有支持Ascend 910訓練的主流算法大家可以直接下載模型使用,去部署自己的項目,如果大家對模型有更好的要求,或有定制化的需求,還可以自己訓練,下載自己想用的算法就行了哦,非常方便。
為什么要遷移到ModelArts上?
昇騰社區的Modelzoo默認是在atlas800 9000的裸機上運行,當前ModelArts提供atlas800 9000的計算資源,如果沒有atlas800 9000的裸機,可以使用ModelArts運行這些算法。
下面以ModelZoo的VGG16為例展示如何遷移代碼到modelarts上運行
ModelZoo VGG16下載鏈接地址
https://www.huaweicloud.com/ascend/resources/modelzoo
首先看train.py這個入口腳本,modelarts使用OBS服務作為存儲介質,因此,需要將OBS上的數據下載到本地。
這里設置了real_data_url = '/c a c h e/imagenet'
云上d910的節點都會掛載/c a c h e這個目錄作為本次訓練作業的臨時存儲空間,此目錄對于單卡d910,大小為400GB的SSD,磁盤為nvme ssd,讀取速度 > 600MB/s,對于8卡d910存儲空間為3.5TB,磁盤為nvme ssd,讀取速度 > 600MB
sync_data方法是對于8卡d910節點的數據下載,因為會啟動8個進程,每個進程對應1塊npu,所以只需要有一個進程進行數據的下載即可,這里面是通過獲取環境變量DEVICE_ID來控制的,DEVICE_ID為0的進程進行數據的下載,下載成功以后,其他7個進程收到下載完成的信號,再一起往下走。
download_data方法是對于單卡d910資源進行數據下載的邏輯
main函數,通過rank size來確定當前是單卡還是多卡,如果是多卡rank_size > 1.此時走多卡邏輯
進入main函數首先調用的是parse_args,需要在parse_args代碼中添加如下代碼來完成適配。因為云上會傳入這兩個參數
下面是進行data_loader.py文件的適配
云上環境變量中沒有DEVICE_INDEX,可以使用RANK_ID或者DEVICE_ID進行替換,這里使用RANK_ID進行替換。
保存訓練結果到OBS可以通過如下方式進行保存,例如VGG中,chpt保存在了./result目錄下面,這是一個相對路徑,result目錄會被放到/home/work/workspace/device0,/home/work/workspace/device1下面,
每個進程會在/home/work/workspace目錄下面創建一個屬于自己的目錄,下面的代碼讓0號進程上傳ckpt到OBS
修改完這兩個文件就可以正常提交作業了。
VGG修改后的train.py代碼已經添加到附件,可以進行查看
注意:如果modelzoo的文檔里面說要使用imagenet數據集進行測試,那就代表要使用全量的imagenet數據集,不能只上傳少量數據進行測試,那樣會觸發bug。
RTF 是RANK_TABLE_FILE的縮寫
云上ModelArts在拉起進程之前會設置如下環境變量
DEVICE_ID: 使用?RTF?中記錄的?device_id?設置該值
RANK_ID: 使用?RTF?中記錄的?rank_id?設置該值
RANK_SIZE: 根據?RTF?中 device 的數目設置該值,例如 4 * D910,該值即為 4
HCCL_CONNECT_TIMEOUT:?HCCL?集合通信超時時間,默認配置為?1800?s
附件: train.zip 1.76KB 下載次數:8次
AI開發平臺ModelArts 遷移
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。