阿里雲的參考文檔:https://help.aliyun.com/document_detail/49571.html
在文檔裏提供了caffe的一個案例,利用Caffe實現mnist的數據訓練。準備的數據源可以在“深度學習案例代碼及數據下載”頁找到Caffe數據下載並解壓。要訓練自己的圖片,還是遇到了不少的問題。
第一,下載圖片集,主要參考點擊打開鏈接http://www.cnblogs.com/denny402/p/5083300.html
第二,生成可用的圖片列表清單文件。在examples下面創建一個myfile的文件夾,來用存放配置文件和腳本文件。然後編寫一個腳本create_filelist.sh,用來生成train.txt和test.txt清單文件。
# sudo mkdir examples/myfile # sudo vi examples/myfile/create_filelist.sh
編輯此文件,寫入如下代碼,並保存
#!/usr/bin/env sh DATA=data/re/ MY=examples/myfile
echo "Create train.txt..." rm -rf $MY/train.txt for i in 3 4 5 6 7 do find $DATA/train -name $i*.jpg | cut -d '/' -f4-5 | sed "s/$/ $i/">>$MY/train.txt done echo "Create test.txt..." rm -rf $MY/test.txt for i in 3 4 5 6 7 do find $DATA/test -name $i*.jpg | cut -d '/' -f4-5 | sed "s/$/ $i/">>$MY/test.txt done echo "All done"
然後,運行此腳本
# sudo sh examples/myfile/create_filelist.sh
成功的話,就會在examples/myfile/ 文件夾下生成train.txt和test.txt兩個文本文件,裏面就是圖片的列表清單。
可以看到test.txt這個列表清單文件裏保存的是圖片的路徑,爲了能使用阿里的雲服務器,把圖片也上傳到了oss,所以需要再編寫一個腳本文件,將文件中的路徑(test/)替換爲在阿里雲上圖片存放的路徑(imagestt/owndataset-classify/data-test/)
# sudo gedit examples/myfile/takeplace.sh
插入:
# /usr/bin/env sh MY=examples/myfile echo "Create takeplace_test.txt..." rm -rf $MY/takeplace_test.txt sed 's#test/#imagestt/owndataset-classify/data-test/#g' $MY/test.txt >>$MY/takeplace_test.txt echo "Done..."
takeplace_test.txt是替換路徑後的txt文件,主要使用linux命令sed,參考上一篇博客: linux sed 批量替換字符串
運行這個腳本文件,生成takeplace_test.txt文件。# sudo sh examples/myfile/takeplace.sh第三,上傳相應的圖片集data-test,圖片列表清單文件takeplace_test.txt,訓練所需的模型描述文件train_val.prototxt和超參數設置文件solve.prototxt。其中,outputlist爲空文件夾,作爲輸出oss目錄,如下圖所示:
注意:這裏的模型描述文件train_val.prototxt和超參數設置文件solve.prototxt,文件裏的路徑要修改,可參看阿里的文檔。
第四,新建空白實驗,再選中格式轉換組件-1,進行參數設置,圖片列表文件oss路徑:oss://imagestt.oss-cn-shanghai-internal.aliyuncs.com/owndataset-classify/takeplace_test.txt
輸出路徑:oss://imagestt.oss-cn-shanghai-internal.aliyuncs.com/owndataset-classify/outputlist/
第五,可以直接點擊運行了。
第六,拖一個Caffe組件,再選中組件,進行參數設置:oss://imagestt.oss-cn-shanghai-internal.aliyuncs.com/owndataset-classify/solver.prototxt
第七,右擊caffe組件,執行到此處。