1. 程式人生 > >阿里雲深度學習採坑記

阿里雲深度學習採坑記

原因

打算研究下AI,以便不那麼落後於這個時代,但是看了看,搞一個能支援AI演算法的顯示卡就要天文數字。所以找到了阿里雲的PAI平臺,打算跑跑自己寫的演算法,採坑無數,搞了兩天才搞定。

基本流程

踩過的坑(需要注意事項)

資料檔案

自己寫的python程式碼本身讀取資料和儲存模型都在本地,可能做了硬編碼,如果要遷移到阿里雲,需要從OSS上讀寫檔案。那麼需要做下修改

1、 首先需要設定一個讓獲得阿里雲關於OSS配置的引數

if __name__ == '__main__':
        parser = argparse.ArgumentParser()
        parser.add_argument('--buckets', type=str, default='',help='input data path')
        parser.add_argument('--checkpointDir', type=str, default='',help='output model path')
        FLAGS, _ = parser.parse_known_args()

2、在程式中這樣獲得資料檔案和模型儲存的位置

tfrecords_file = os.path.join(FLAGS.buckets, "post_train.tfrecords")
        
        checkpoint_path = os.path.join(FLAGS.checkpointDir, 'model.ckpt')

關於編碼

這個搞了很久老失報錯有不合法程式碼,在每個檔案頭部加上# encoding: utf-8

檔案分目錄

這個問題也讓我抓狂很久,我寫的時候,比較隨意,把資料檔案,模型檔案和python寫一個資料夾下面了,到了阿里雲就很難跑起來。後來把程式碼放在一個單獨的資料夾,資料檔案一個資料夾,然後給checkpoint和模型單獨一個資料夾。

多程式碼檔案一定要打包

多個程式碼檔案,需要打包成.tar.gz的格式,進行上傳 配置圖片

一定要在tensorflow的節點前面先選擇一個讀OSS_bucket的節點:

具體如下