#neural-network #nan #training-data #loss-function #sampling
Вопрос:
каждый.
Пока я обучал нейронную сеть с обучающим набором данных из 40000 объектов, у меня возникли проблемы, связанные с тем, что функция потерь была равна Nan в каждую эпоху. После выборки набора данных, используя 50% его, эта проблема больше не возникала. Мне было интересно, как размер обучающих данных повлияет на эту настройку. Для проведения тренинга я использовал следующую функцию:
def train_test_net_notLinearCDF(X,y,coefficient,test_input):
# Neural network
model = Sequential()
model.add(Dense(80, activation="relu", input_dim=X.shape[1]))
model.add(Dense(20, activation="tanh"))
model.add(Dense(1, activation="linear"))
opt_adam = Adam(clipvalue=0.5)
model.compile(loss='mean_squared_error', optimizer=opt_adam)
history = model.fit(X, y, epochs=100, validation_split = 0.2,batch_size=32)
fig1 = plt.gcf()
plt.plot(history.history['loss'])
plt.plot(history.history['val_loss'])
plt.suptitle('MSE de treino e Validação ' coefficient)
plt.ylabel('MSE')
plt.xlabel('Epoch')
plt.legend(['Train', 'Val'], loc='upper left')
plt.show()
fig1.savefig('losses_varying_alpha_' coefficient '.png', dpi=300)
y_pred = model.predict(test_input)
return y_pred
Заранее спасибо.