阿里雲深度學習採坑記
原因
打算研究下AI,以便不那麼落後於這個時代,但是看了看,搞一個能支援AI演算法的顯示卡就要天文數字。所以找到了阿里雲的PAI平臺,打算跑跑自己寫的演算法,採坑無數,搞了兩天才搞定。
基本流程
阿里雲提供了官方的教程:如果打算把自己的深度學習程式碼到阿里雲PAI上執行的話,照著官方文件去試試: ofollow,noindex" target="_blank">https://help.aliyun.com/document_detail/49571.html?spm=a2c4g.11186623.6.570.1c3564f9tpM92k#讀OSSBucket
踩過的坑(需要注意事項)
資料檔案
自己寫的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的格式,進行上傳

關於如何在windows下面製作.tar.gz的方法: http://blog.sina.com.cn/s/blog_535b828801010cb6.html
一定要在tensorflow的節點前面先選擇一個讀OSS_bucket的節點:
具體如下
