【機器學習PAI實踐十】深度學習Caffe框架實現影象分類的模型訓練
背景
我們在之前的文章中介紹過如何通過PAI內建的TensorFlow框架實驗基於Cifar10的影象分類,文章連結:https://yq.aliyun.com/articles/72841。使用Tensorflow做深度學習做深度學習的網路搭建和訓練需要通過PYTHON程式碼才能使用,對於不太會寫程式碼的同學還是有一定的使用門檻的。本文將介紹另一個深度學習框架Caffe,通過Caffe只需要填寫一些配置檔案就可以實現影象分類的模型訓練。
關於PAI的深度學習功能開通,請務必提前閱讀https://help.aliyun.com/document_detail/49571.html
文末提供了相關下載連結。
資料介紹
本文使用的資料是開源資料集cifar10,這份資料是一份對包含6萬張畫素為32*32的彩色圖片,這6萬張圖片被分成10個類別,分別是飛機、汽車、鳥、毛、鹿、狗、青蛙、馬、船、卡車。資料集截圖:
目前這份資料已經內建在PAI提供的公共資料集中,以jpg格式儲存。任何PAI的使用者都可以在深度學習元件的資料來源OSS路徑中直接輸入,
* 測試資料: oss://dl-images.oss-cn-shanghai-internal.aliyuncs.com/cifar10/caffe/images/cifar10_test_image_list.txt
* 訓練資料:oss://dl-images.oss-cn-shanghai-internal.aliyuncs.com/cifar10/caffe/images/cifar10_train_image_list.txt
如圖:
格式轉換
目前PAI上的Caffe框架只支援特定的格式,所以需要首先將jpg格式的圖片進行格式轉換。
經過格式轉換,可以在自己的OSS路徑下生成如下檔案,訓練資料和測試資料各一份。
需要記錄對應的OSS路徑用於net檔案的填寫,假設路徑名分別是:
訓練資料data_file_list.txt:bucket/cifar/train/data_file_list.txt
訓練資料data_mean.binaryproto:bucket/cifar/train/data_mean.binaryproto
測試資料data_file_list.txt:bucket/cifar/test/data_file_list.txt
測試資料data_mean.binaryproto:bucket/cifar/test/data_mean.binaryproto
Caffe配置檔案
Net檔案編寫,對應上文格式轉換生成的路徑:
Solver檔案編寫:
執行
將編輯好的Solver檔案和Net檔案全部傳到OSS上,拖動caffe訓練元件如圖,在Sovler檔案路徑上選擇OSS上提交的Solver檔案,執行即可。
生成的圖片分類model檔案可以在OSS對應路徑下檢視,可以用以下模型進行圖片分類
日誌檢視可以參照本文開頭提供的“Tensorflow實現影象分類”。
其它
作者微信公眾號(與作者討論):