Расчет евклидовой потери Caffe по изображению

Предполагая, что на выходе нейронной сети в кафе есть изображение размером w x h.
Предполагая также, что я использую размер партии размером N.

Правильно ли я предположить, что евклидова потеря, рассчитанная стандартным слоем кофе, суммирует возведенную в квадрат ошибку для всех значений w x h, укорененных в квадрат, а затем усредняет по размеру партии N?

То есть оно не усредняется по значениям w x h?

Спасибо.

PS: есть ли способ использовать математическую среду при переполнении стека?

1

Решение

Согласно коду, он не усредняется по значениям w x h, и квадратный корень также не используется. Он усредняется только по размеру партии N, а затем делится на 2.

  template <typename Dtype>
void EuclideanLossLayer<Dtype>::Forward_cpu(const vector<Blob<Dtype>*>&bottom,const vector<Blob<Dtype>*>& top) {
int count = bottom[0]->count();
caffe_sub(count,
bottom[0]->cpu_data(),
bottom[1]->cpu_data(),
diff_.mutable_cpu_data());
Dtype dot = caffe_cpu_dot(count, diff_.cpu_data(), diff_.cpu_data());
Dtype loss = dot / bottom[0]->num() / Dtype(2);
top[0]->mutable_cpu_data()[0] = loss;
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector