訓練V2自定義鏡像遷移手冊
訓練V2版本和V1版本的最大區別在于:
訓練任務啟動的用戶指定必須是ma-user(linux用戶號1000)
訓練會自動同步任務指定的輸入、輸出目錄(此場景不涉及)
訓練界面大改版
一些增強功能:環境預檢、容錯重啟,訓練失敗分析,實時日志、日志搜索。
V2版本會持續迭代,而V1版本不會繼續適配新版本的軟件及硬件
在訓練V2版本使用自定義鏡像+SFS的場景時,為了保證ma-user用戶能正常啟動任務,我們需要對已經在V1上能正常運行的任務進行改造。
V1版本的鏡像改造參考博客:https://bbs.huaweicloud.com/blogs/285697
帶自定義鏡像功能的新版訓練界面:https://console.huaweicloud.com/modelarts/#/training
1. 容器鏡像修改
在歷史鏡像上增加必須的ma-user用戶并配置sudo權限。參考dockerfile如下:
FROM swr.cn-north-4.myhuaweicloud.com/${your_group}/${your_image_name}:${your_image_version} USER root RUN groupadd ma-group -g 1000 && \ useradd -d /home/ma-user -m -u 1000 -g 1000 -s /bin/bash ma-user && \ chmod 770 /home/ma-user && \ chmod 770 /root && \ # or silver bullet of files permission # chmod -R 777 /root && \ usermod -a -G root ma-user # install sudo and config RUN apt-get install -y sudo && \ awk 'BEGIN{print "Defaults !env_reset\nroot ALL=(ALL:ALL) ALL\n\nma-user ALL=(ALL) NOPASSWD:ALL\n%admin ALL=(ALL) ALL\n%sudo ALL=(ALL:ALL) ALL"}' > /etc/sudoers USER ma-user WORKDIR /home/ma-user
鏡像的構建和調試參考教程:https://bbs.huaweicloud.com/blogs/285590
2. 修改啟動訓練任務的代碼
cd /sfs/code && sudo bash -x start.sh && sleep 30
一般用戶都是root使用的,以ma-user啟動任務時會帶來一些困擾。包括:鏡像內部分文件權限不足,SFS Turbo盤權限不足&混亂等。
建議把所有訓練代碼流程全部包在start.sh里,并sudo直接切換到root執行。注意,sudo切換到root之后部分PATH的環境變量會丟失,請在start.sh里提前補全。
其他的,"/sfs/code"是客戶在SFS Turbo盤里的代碼目錄,請根據實際情況切換。"sleep 30"的目的是讓實時日志能多滯留30秒以便查看及分析,以應對某些情況下用戶只能查看實時日志的問題。可以刪除此句或者修改滯留時間,以便進行分析。
如需把日志保存到SFS盤,請參考文檔:https://bbs.huaweicloud.com/blogs/327056
3. 修改SFS Turbo盤的目錄權限(配置sudo權限后選做)
因為需要使得ma-user有讀寫權限,配合dockerfile配置增加root group的寫權限即可。在掛載SFS Turbo的Linux節點操作,參考命令:
# FS is root group by default. # If not, user can chwon back to 'root:root' first, or make sure 'ma-user' user has write & read permission. chmod g+w -R /mnt/sfs_turbo
訓練V2任務創建步驟:
打開新版訓練作業,鏈接如:https://console.huaweicloud.com/modelarts/#/training
創建作業:
創建參數如:
機器學習 鏡像服務
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。