2017-09-15 6 views
2

Keras 모델은 아무것도 배울 수 없으며 그 이유를 알 수 없습니다. 나는 심지어 트레이닝 세트 크기를 5 가지 요소로 줄 였고 모델은 아직 트레이닝 데이터에 적합하지 않습니다. 어떤 도움을 주시면 더 좋구요Keras 모델이 학습하지 않습니다.

model = Sequential() 
model.add(Conv1D(30, filter_length=3, activation='relu', input_shape=(50, 1))) 
model.add(Conv1D(40, filter_length=(3), activation='relu')) 
model.add(Conv1D(120, filter_length=(3), activation='relu')) 
model.add(Flatten()) 
model.add(Dense(1024, activation='relu')) 
model.add(Dense(256, activation='relu')) 
model.add(Dense(32, activation='relu')) 
model.add(Dense(1, activation='relu')) 
model.summary() 
model.compile(loss='mse', 
       optimizer=keras.optimizers.adam()) 


train_limit = 5 
batch_size = 4096 
tb = keras.callbacks.TensorBoard(log_dir='./logs/' + run_name + '/', 
    histogram_freq=0, write_images=False) 
tb.set_model(model) 
model.fit(X_train[:train_limit], y_train[:train_limit], 
      batch_size=batch_size, 
      nb_epoch=10**4, 
      verbose=0, 
      validation_data=(X_val[:train_limit], y_val[:train_limit]), 
      callbacks=[tb]) 
score = model.evaluate(X_test, y_test, verbose=0) 
print('Test loss:', score) 
print('Test accuracy:', score) 

: 여기 loss function visualized with TensorBoard

내 코드입니다!

답변

6

회귀 문제 인 것 같습니다. 한가지 주목할 점은 마지막 레이어에 여전히 ReLU 활성화 기능이 있다는 것입니다. 나는 마지막 층에서 ReLU를 꺼내는 것이 좋습니다.

관련 문제