Нужен совет по настройке параметров для CNN (последовательный) - PullRequest
0 голосов
/ 08 мая 2020

Есть ли какое-нибудь руководство, которому я могу следовать, чтобы помочь настроить CNN, используя последовательный метод? У меня есть набор данных из более чем 100 000 изображений из Kaggle, и я хочу разбить их на 25 различных групп.

Я понимаю, что мне нужно добавить слои Conv2D, MaxPooling2D, Flatten и Dense. Но я не уверен, сколько и какие параметры устанавливать. Я понимаю, что мне придется использовать метод проб и ошибок, пока я не добьюсь высокой точности, но сейчас я получаю точность 0%. Я нашел в Интернете следующий фрагмент кода, который работает для классификации из 10 категорий, и я пытаюсь понять, как его можно изменить с go на 25 групп.

model = Sequential()
model.add(Conv2D(32, (5, 5), activation='relu', input_shape=(200, 200, 1))) 
model.add(MaxPooling2D((2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu')) 
model.add(MaxPooling2D((2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D((2, 2)))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dense(10, activation='softmax'))

Мне просто нужен совет по любым ресурсам или советы по его настройке!

1 Ответ

0 голосов
/ 08 мая 2020

вы можете использовать эту архитектуру с небольшими изменениями. Поскольку у вас есть 25 категорий, ваш выходной слой должен иметь 25 единиц.

model.add(Dense(25, activation='softmax'))

ваша входная форма должна соответствовать размерам обучающего изображения. Поэтому вам нужно изменить эта строка в соответствии с вашим набором данных.

input_shape=(200, 200, 1)
...