2016-04-19 89 views
3

在朱古力的AlexNet實現,我看到deploy.prototxt文件中的以下層:從神經網絡是否需要在caffe的deploy.prototxt中定義丟棄層?

layer { 
    name: "drop7" 
    type: "Dropout" 
    bottom: "fc7" 
    top: "fc7" 
    dropout_param { 
    dropout_ratio: 0.5 
    } 
} 

現在輟學的核心思想是隨機掉落單元(與它們的連接一起)期間訓練。

這是否意味着我可以簡單地從deploy.prototxt中刪除此圖層,因爲此文件僅用於測試期間?

回答

9

是的。測試過程中不需要脫落。

即使您包含一個丟失圖層,在測試過程中也沒有什麼特別的事情發生。見差直傳的源代碼:

if (this->phase_ == TRAIN) { 
    // Code to do something 
    } else { 
    caffe_copy(bottom[0]->count(), bottom_data, top_data); //Code to copy bottom blob to top blob 
    } 

如在源代碼中看到的那樣,底部blob數據是如果它不是在訓練階段複製到頂部blob數據存儲器。

相關問題