Я хочу использовать в моей модели слой потерь InfogainLoss
. Но у меня возникают трудности с его определением.
-
Есть ли какой-нибудь учебник/пример использования слоя
INFOGAIN_LOSS
? -
Должен ли вход этого уровня, вероятности класса, быть выходным слоем
SOFTMAX
, или достаточно ввести "верх" полностью связанного слоя?
INFOGAIN_LOSS
требуется три входа: вероятности класса, метки и матрица H
.
Матрица H
может быть предоставлена либо как параметры слоя infogain_loss_param { source: "fiename" }
.
Предположим, что у меня есть python script, который вычисляет H
как numpy.array
формы (L,L)
с dtype='f4'
(где L
- количество меток в моей модели).
-
Как преобразовать мой
numpy.array
в файлbinproto
, который может быть представлен какinfogain_loss_param { source }
для модели? -
Предположим, что я хочу, чтобы
H
предоставлялся как третий вход (внизу) на уровень потерь (а не как параметр модели). Как я могу это сделать?
Определить ли я новый уровень данных, который "сверху"H
? Если это так, не будут ли увеличиваться данные этого уровня на каждой обучающей итерации, например, данные обучения будут увеличиваться? Как я могу определить несколько несвязанных входных "данных" слоев, и как известно, что caffe читает из уровня подготовки/тестирования "данных" после партии, тогда как из уровня данныхH
он знает, что читает только один раз для всех учебный процесс?