【機器學習PAI實踐十】深度學習Caffe框架實現影象分類的模型訓練

李博Garvin發表於2017-07-11

背景

我們在之前的文章中介紹過如何通過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個類別,分別是飛機、汽車、鳥、毛、鹿、狗、青蛙、馬、船、卡車。資料集截圖:
https://zos.alipayobjects.com/rmsportal/DcsApBuhSJyvCbuXdEra.png

目前這份資料已經內建在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格式的圖片進行格式轉換。
https://zos.alipayobjects.com/rmsportal/xQCXkhsruDWjUKgrzCVW.png

經過格式轉換,可以在自己的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實現影象分類”。

其它

程式碼下載:http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/52239/cn_zh/1496736657170/Caffe_cifar10.zip?spm=5176.doc52239.2.2.tMrTgQ&file=Caffe_cifar10.zip

免費體驗:阿里雲數加機器學習平臺

作者微信公眾號(與作者討論):

相關文章