2015-09-23 4 views
4

Я пытаюсь запустить Caffe Experiment.I я, используя следующий слой потери в моем Train.prototxt,что параметр «сверху» в CAFFE

layer { 
    name: "loss" 
    type: "SoftmaxWithLoss" 
    bottom: "ip2" 
    bottom: "label" 
    include { 
    phase: TRAIN 
    } 
} 

Я вижу следующую конфигурацию отображается, когда обучение запускается,

I0923 21: 19: 13,101313 26423 net.cpp: 410] потери < - IP2
I0923 21: 19: 13,101323 26423 net.cpp: 410] потери < - этикетки
I0923 21: 19: 13.101339 26423 n et.cpp: 368] Потеря -> (автоматический)

Я не указал параметр top в слое потерь.
Что именно означает автоматический (потеря -> (автоматический))?

Заранее благодарен!

ответ

7

Уровни кофе, включая слои потерь, производят Blob (4-D массивы) в качестве вывода их вычислений. Если вы не установите имя Blob через параметр top, соответствующий «Blob» будет добавлен в «выход» сети.

Это означает, что если вы вызываете метод Net::forward(), он вернет список Blobs, то есть те, которые являются неограниченными, для ввода для другого уровня.

Когда вы вызываете инструмент обучения Caffe, он автоматически печатает на экране такие Blobs. Таким образом, вы можете следить за потерей или точностью во время обучения.

+0

Могу ли я узнать, что произойдет, если blob добавится к выводу сети явно. – subha

+0

Например, когда вы тренируетесь в сети, как в своем вопросе, капля будет напечатана на экране. Вы увидите что-то вроде «Итерация 0», «потеря = 0,699334» и «Тест чистый выход № 0: потеря = 0,831318 (* 1 = 0,831318 потери)' –

+0

Я понял ... Большое вам спасибо за помощь, которую вы сделали. – subha

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