Как обучить сеть VGG, если в одном учебном примере присутствуют несколько классов?
Недавно я переключился на TFlearn, чтобы получить некоторые расчеты по точности моей сети для классификации изображений и создания самых современных результатов. Я использую этот точный файл из TFlearn, за исключением набора данных. Я хотел воспроизвести точность для набора данных VOC2007, загрузил все изображения и основную информацию и написал функцию, которая создает 4-мерный тензор, содержащий все изображения, и двухмерный тензор, содержащий все индексы классов. Их формы [?, 224, 224, 3] и [?, 20] соответственно. Теперь я заметил, что индексы классов не являются однозначными метками, но несколько классов могут присутствовать на одном изображении. Так как TFlearn позволяет присутствовать более чем одному классу, сеть работает очень плохо (точность ~30%, и да, я изменил количество выходных классов). Интересно, как обойти эту проблему. Должен ли я разрешить только один класс на изображение? Но затем, если в изображении есть два класса, и я правильно классифицирую его по второму классу, это будет правильным обнаружением, которое я бы ошибочно классифицировал как ошибку. Есть ли какой-то вариант, который мне не хватает? Я не вижу опции "one-hot" или чего-то подобного (как в наборе данных oxflowers).
Спасибо за вашу помощь!