Понимание входных размеров, SoftmaxWithLoss и меток в Caffe

Я пытаюсь использовать свою собственную обученную сеть со своими собственными данными из C ++. Я обучил и проверил сеть на «.jpg» данных с ImageData слои, а затем реализовали базовый пример caffe «ification.cpp «для передачи изображений через память один за другим. В результате мне нужно знать проб для 2 классов:
1 — объект,
2 — среда.

Мой входной слой для обычных целей выглядит так:

layer {
name: "data"top:  "data"top:  "label"type: "Input"input_param { shape: { dim: 1 dim: 3 dim: 256 dim: 256 }}
}

Выходные слои:

layer {
name: "fc6"top:  "fc6"type: "InnerProduct"bottom: "drop5"inner_product_param {
num_output: 2
weight_filler {
type: "xavier"std: 0.1
}
}
}

layer {
name: "prob"top:  "prob"type: "SoftmaxWithLoss"bottom: "fc6"bottom: "label"}

layer {
name: "accuracy"top:  "accuracy"type: "Accuracy"bottom: "fc6"bottom: "label"include {
phase: TEST
}
}

На этапе тестирования сеть достигла точности = 0,93, но теперь при регулярном использовании с C ++ я не могу понять какую-то базовую концепцию и получить ошибку при анализе модели.

Check failure stack trace:
...
caffe::SoftmaxWithLossLayer<>::Reshape()
caffe::Net<>::Init()
caffe::Net<>::Net()
...
Check failed: outer_num_ * inner_num_ == bottom[1]->count() (1 vs. 196608) Number of labels must match number of predictions; e.g., if softmax axis == 1 and prediction shape is (N, C, H, W), label count (number of labels) must be N*H*W, with integer values in {0, 1, ..., C-1}.

Хорошо, 1x3x256x256 = 196608, но зачем мне этот счетчик меток?
У меня есть файл «tags.txt», как в примере «ification.cpp «:

environment
object

Почему ярлыки! = Классы?
Что мне делать с SoftmaxWithLoss и входными размерами?

2

Решение

Вы не определили shape для метки, я предполагаю, что у вас есть только одна метка на изображение. таким образом

layer {
name: "data"top:  "data"top:  "label"type: "Input"input_param { shape: { dim: 1 dim: 3 dim: 256 dim: 256 }
shape: { dim: 1 dim: 1 }}  # one label per image
}
0

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

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

По вопросам рекламы [email protected]