1. 程式人生 > >【深度學習】基於caffe的表情識別(四):在Intel AI DevCloud上訓練模型

【深度學習】基於caffe的表情識別(四):在Intel AI DevCloud上訓練模型

一、註冊申請Intel AI DevCloud

  2.填寫註冊資訊:



  3.Submit提交,提交後會出現下面的介面:


  4.說明已經申請成功了,大概等2個工作日左右,會收到一封郵件,郵件長這樣:


  第一個紅框內的連結是使用教程,教你怎麼連線到devcloud,要仔細閱讀下。

  第二個紅框內是你的user name和node name,這個要記下來。

二、從本地linux連線到DevCloud

  1.下載Linux access key

    開啟剛剛那封郵件中的連結(我用紅框標註的),點選connect:


 

  向下找到Connecting from Linux or a Mac,點選那部分內容中的Linux access key,下載access key,如下圖:

  2.開啟命令列,配置config檔案。先輸入下面指令:

cd .ssh
ls
vim config

將你郵件中的下面這段內容(紅框內的)拷貝到config檔案中:

!!注:不要照著我的抄上去,因為每個人的使用者資訊不同,下載的金鑰也不同,根據你郵箱中的內容直接拷貝過去就行了。還是建議大家閱讀一下這個教程,寫的很詳細,我這裡也僅僅是將其翻譯一遍。

  3.修改系統檔案

  在命令列中輸入下圖中的指令,還是同上,以郵箱的內容為準,不要拷貝我的:

  4.登陸DevCloud

  在命令列中輸入下面指令(該指令就是登陸到DevCloud的指令,以後登陸都用這個指令):

ssh colfax

  顯示如下:

  說明我們已經成功登陸到了DevCloud!!

三、上傳檔案,提交任務,開始訓練

    現在我們已經登陸到了DevCloud,在這裡我們可以簡單地看做我們登陸到了另一臺linux主機,然而這臺主機的計算能力要遠遠大於我們的膝上型電腦。現在雖然登陸到了這臺主機,但是主機內是空的,沒有任何檔案,我們需要把我們本地已經建立好的,需要訓練用的檔案上傳到DevCloud。

  1.準備訓練所需檔案
    在這裡,我們需要準備5個用於訓練所必須的檔案,分別是訓練集和驗證集的lmdb檔案和均值檔案,我把它們放在了lmdb目錄下:

    還有網路結構檔案和訓練引數配置檔案,我把它放在了model目錄下:

    上面的這些檔案都是我們之前的文章中介紹過的,怎麼生成都講的很詳細,如果還有不清楚的,可以到本篇文章開頭的系列文章索引連結處檢視以前的文章。

  2.將檔案上傳到DevCloud
    首先我在DevCloud下建立了一個資料夾,名為faceR:

    接著再開啟一個命令列,在本地linux下輸入下面的檔案傳輸指令:

    其中,faceR/model是我的model目錄在本地的路徑,讀者需要更換成自己的model路徑,其次後面的u12067是我的使用者ID,讀者也需要更換自己的使用者ID。
    指令輸入完後等一會兒可以看到:

    說明檔案上傳成功,這時候可以在DevCloud下檢視是否已經有了這個資料夾:

    把lmdb目錄按照上面同樣的方法上傳過去,這裡就不再演示了。

  3.建立指令碼檔案
    在DevCloud的faceR目錄下建立一個指令碼檔案:

vim lanuch_training

    在指令碼檔案中加入下面內容:

    注意讀者需要根據自己的路徑做適當修改。

  4.修改網路結構和引數配置檔案的部分路徑。
在train_val.prototxt檔案中,需要修改下圖中紅框內的檔案路徑:

在facialnet_solver.prototxt檔案中需要修改:

把上圖紅色框出的路徑都修改成自己的路徑,需要注意的是最後一個路徑中的myfacialnet不是目錄,而是生成的快照名字,可以取任意名字。

  5.提交任務,開始訓練
     輸入下面指令,提交任務:

qsub lanuch_training

lanuch_training檔案是剛剛寫的指令碼檔案。

到這裡我們的任務就已經提交成功了,DevCloud現在就在幫我們訓練,本專案需要訓練20多分鐘,如果在筆記本上用CPU訓練,要一週多。

四、檢視任務

  1.檢視任務

    在訓練過程中,可以使用qstat指令檢視任務:


說明訓練還沒有完成。
如果輸入qstat指令後,如下圖這樣:

說明訓練已經完成,我們可以檢視訓練日誌以及訓練出的模型。

  2.檢視日誌和模型

    訓練完成後,在faceR目錄下,發現多了4個檔案:

    其中lanuch_training.e47394為訓練日誌,myfacialnet_iter_200000.caffemodel為最終的模型。

    檢視日誌後發現本次實驗的準確率在61%-62%之間,說明發生了過擬合,正常情況下該資料集下的準確率可以達到65%-70%之間,說明我們的網路模型還不夠好,需要調參或是擴大資料集,這是更深一步的工作,在這裡我不介紹如何調參等,因為本篇的目的是讓大家瞭解caffe開發深度學習模型的大概流程。

到這裡,我們本次實驗的重頭戲就已經結束了,訓練出了模型就可以進行下一步測試了,下一篇將會介紹。