2016-04-19 3 views
3

В реализации AlexNet в CAFFE, я увидел следующий слой в файле deploy.prototxt:Нужно ли определять слой отсечки в файле deploy.prototxt в caffe?

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 копируются в верхнюю память блобы данными, если его не на этапе обучения.

Смежные вопросы