#python #conv-neural-network
#питон #conv-нейронная сеть
Вопрос:
Пытаюсь обучить модель, но она останавливается в конце обучения первой эпохи. Попробовал добавить time.sleep(0.1), но это не сработало. Код :
X_train, X_test, y_train , y_test = train_test_split(data, labels, test_size = 0.2 , random_state = 42)
print(X_train.shape, X_test.shape, y_train.shape, y_test.shape)
y_train = to_categorical(y_train,43)
model = Sequential()
model.add(Conv2D(filters=32, kernel_size = (5,5), activation= 'relu', input_shape = X_train.shape[1:]))
model.add(Conv2D(filters=32, kernel_size = (5,5), activation= 'relu'))
model.add(MaxPool2D(pool_size= (2,2)))
model.add(Dropout(rate= 0.25))
model.add(Conv2D(filters=64, kernel_size = (3,3), activation= 'relu'))
model.add(Conv2D(filters = 64, kernel_size = (3,3) , activation = 'relu'))
model.add(MaxPool2D(pool_size=(2,2)))
model.add(Dropout(rate=0.25))
model.add(Flatten())
model.add(Dense(256, activation = 'relu'))
model.add(Dropout(rate = 0.5) )
model.add(Dense(43, activation = 'softmax'))
model.compile(loss= 'categorical_crossentropy', optimizer = 'adam' , metrics = ['accuracy'])
epochs = 15
history = model.fit(X_train, y_train, batch_size=32, epochs=epochs,verbose = 1 ,validation_data=(X_test, y_test))
time.sleep(0.1)
model.save("my_model.h5")
ошибка :
Epoch 1/15
980/981 [============================>.] - ETA: 0s - loss: 0.4359 - accuracy: 0.8742
ValueError Traceback (most recent call last)
<ipython-input-8-aa8cc327989f> in <module>
1 epochs = 15
----> 2 history = model.fit(X_train, y_train, batch_size=32, epochs=epochs,verbose = 1,validation_data=(X_test, y_test))
3 time.sleep(0.1)
4 model.save("my_model.h5")
Комментарии:
1. Это полное сообщение об ошибке?
2. Нет ~ AppDataRoamingPythonPython38site-packagestensorflowpythonkerasenginetraining.py в _method_wrapper(self, *аргументы, ** kwargs) 106 определение _method_wrapper(self, * аргументы, ** kwargs): 107 если не self._in_multi_worker_mode(): # pylint: отключить=защищенный доступ —> 108 метод возврата (self, * аргументы, **kwargs) 109 110 #
run_distribute_coordinator
уже работает внутри.
Ответ №1:
Решена проблема, ошибка заключалась в том, что метки в y_test не были преобразованы в одну горячую кодировку.
Изменения: добавлена эта строка
y_test = to_categorical(y_test, 43)