這是《使用亞馬遜雲服務器EC2做深度學習》系列的第四篇文章。
(一)申請競價實例 (二)配置Jupyter Notebook服務器 (三)配置TensorFlow (四)配置好的系統鏡像
配置深度學習的環境是一個非常繁瑣的過程。它要求你對Linux命令有一定地了解,與此同時各種深度學習庫、驅動更新十分頻繁,有可能明天教程里的安裝腳本就不管用了。
AMI
AMI就是解決方法。AMI是可以直接在EC2啟動的系統鏡像,有的系統鏡像已經配置好了使用GPU的深度學習環境,這樣啟動實例后,你就可以直接運行程序了。
AMI有幾種。你可以自己創建AMI,這樣你需要自己支付存儲AMI鏡像的費用,如果你頻繁地需要使用你已經配置好的環境,這是一個不錯的選擇。
付費AMI
第二種是awsmarketplace上需要付費的AMI。如果你使用這種鏡像,除了為實例付費以外,你還需要為鏡像付費。付費的AMI更新頻繁,你可以找到包含最近配置的深度學習庫的鏡像。
bitfusion就是一個深度學習鏡像的提供商。不同的實例,鏡像的使用費有所差異。對於g2.2xlarge實例,需要為TensorFlow鏡像額外支付$0.065/h。
1) bitfusion提供了包括TensorFlow、Torch、Caffe、Theano幾乎所有主流深度學習庫的鏡像。注:bitfusion已經提供TensorFlow1.0的鏡像了。
https://aws.amazon.com/marketplace/seller-profile?id=3b372560-86bf-4e3d-9ec0-016892a64bed
2) Amazon官方提供的深度學習鏡像。官方提供的鏡像價格十分昂貴,g2.2xlarge鏡像的費用遠遠超過競價實例的費用:
https://aws.amazon.com/marketplace/pp/B01M0AXXQB?qid=1475211685369&sr=0-1&ref_=srh_res_product_title
社區AMI
第三種是社區AMI,是免費的。當然不付費,你就不能要求太高。除了更新不那么頻繁以外,與付費的AMI沒有什么區別。
你可以在AMI一欄,點擊使用自定義AMI > 選擇community AMIs > 搜索深度學習庫的名字,比如tensorflow。
注意搜索到的AMI有可能是需要付費的AMI,而且從表面上難以甄別,不過需要付費的AMI通過這種方式啟動實例會識別。這就是是為什么需要社區的力量,大家一起來判斷哪些社區的AMI質量不錯,下面我會提供一些我找到的。大家可以留言你們找到的好的AMI。
TensorFlow AMI
上面介紹了如何搜索社區AMI,這里提供了一些我找到的不錯的社區AMI。
1) 關鍵字udacity-dl。環境:anaconda3, tensorflow1.0
2) 關鍵字DataScienceLab_1.0。環境:Install cuda;cudnn;anaconda2; tensorflow;keras;theano;pytorch;mxnet;caffe;lasagne
3)關鍵字TFAMI,Github主頁可以找到鏡像的信息。
如果Python的發行版是Anaconda,有可能不同的庫安裝在的不同的環境下。通過conda env list命令可以列出系統中所有的環境,然后source activate **就可以啟動環境。