Я следую этому уроку здесь, чтобы выполнить классификацию изображений.
Ссылка: Keras классификация изображений
Код, на который я ссылаюсь: Функция узкого места
Проблема, с которой я сталкиваюсь:
1. В оригинальном уроке есть только два класса, но я пытаюсь сделать мультиклассовую классификацию.
Моя файловая структура выглядит так:
data
train
class1
class2
class3
class4
test
class1
class2
class3
class4
Следующий код в исходном коде предназначен для классификации двух классов.
train_labels = np.array(
[0] * (nb_train_samples / 2) + [1] * (nb_train_samples / 2))
validation_data = np.load(open('bottleneck_features_validation.npy'))
validation_labels = np.array(
[0] * (nb_validation_samples / 2) + [1] * (nb_validation_samples / 2))
Я понимаю, что для многоклассовой классификации я должен изменить ее на:
train_labels = np.array(
[0] * (class0_train_size) + [1] * (class1_train_size)+ [2] * (class2_train_size) + [3] * (class3_train_size))
validation_data = np.load(open('bottleneck_features_validation.npy'))
validation_labels = np.array(
[0] * (class0_test_size) + [1] * (class1_test_size)+ [2] * (class2_test_size) + [3] * (class3_test_size))
У меня вопрос о том, что мои тесты на поезд различаются для разных классов, поэтому мне сложно их жестко закодировать. Есть ли способ, которым я могу выделить их динамически на основе фактического количества изображений в папке вместо жесткого кодирования размера? Спасибо за вашу щедрую помощь!