Я написал скрипт на Python, который вычисляет веса медианной частотной балансировки для каждого класса во время сегментации по пикселям. Затем я добавил Python Layer
к определению модели caffe
, которое отправляет веса в функцию потерь. Основываясь на этой ссылке, пользователь упоминает, что SoftmaxWithLoss
слой в caffe соответствует TensorFlow softmax_cross_entropy_with_logits
. Мой вопрос: как я могу отправить веса на слой SoftmaxWithLoss? Какие еще слои Loss можно использовать с median frequency balancing
? Я использовал InfoGainLoss
, но он не сходится. Ваша помощь очень ценится.
Какой уровень потерь можно использовать для балансировки медианной частоты? Как?
Ответы (1)
Если вы хотите взвесить "SoftmaxLoss"
(т. е. потерю перекрестной энтропии) в соответствии с классами, вам нужно "InfogainLoss"
.
Обратите внимание, что несколько месяцев назад в caffe был обновлен уровень информационного усиления: теперь он интегрирует "Softmax"
в расчет потерь для надежной оценки градиента.
person
Shai
schedule
19.01.2018
Спасибо за ваш комментарий, я применил
InfoGainLoss
, однако это чрезмерное сегментирование. Я не знаю, в чем причина. Мой другой вопрос заключается в том, что Softmax
не имеет никакого параметра, с помощью которого я могу передать веса, могу ли я объяснить больше? Спасибо
- person S.EB; 23.01.2018