2017-12-29 56 views
0

신호 분류에 CNN을 사용하고 있습니다 (두 클래스 : 환자 및 제어). 조기 정지 사용 유효성 검사 오류가 중지 될 때까지 교육을 중지하고 싶습니다.. 나는 에 이것을 구현하기 위해 파이썬 코드을 쓸 수 없다. 나는 이것을 시도했지만 더 이상 진행할 수 없었다.CNN 교육 조기 종료

validation = cross_entropy.eval(feed_dict= {x:valid_x,y_:valid_y,keep_prob:1}) 
validation = np.append(validation,cross_entropy.eval(feed_dict= {x:valid_x,y_:valid_y,keep_prob:1})) 

누구든지 코드를 도와 줄 수 있습니까?

답변

1

당신은 keras.EarlyStopping를 사용할 수 있습니다

from keras.callbacks import EarlyStopping 
early_stopping = EarlyStopping(monitor='val_loss', patience=2) 
model.fit(x, y, validation_split=0.2, callbacks=[early_stopping]) 

이상적으로 val_loss 증가하지가 val_acc이 정체 될 때 때 훈련을 중지하는 것이 좋다. Kears는 val_acc가 향상 될 때 모델을 저장하기 때문에 필요할 때만 실행하고 중지하는 것이 좋습니다.

+0

감사합니다. Ganesh! 나는 model.fit에 입력을주는 방법을 이해하지 못한다. 기차 데이터 : train_x, train label : train_y, 유효성 검사 데이터 : valid_x 및 유효성 검사 레이블 : valid_y.I 아래의 Keras model.fit에서 구현되었지만 오류가 발생했습니다. 나는 백 엔드에서 tensorflow를 사용하고있다. 도와주세요. Model_info = model.fit (train_x, train_y, 유효성 검사 _ 데이터 = (유효 _x, 유효 _y), 콜백 = [초기 _ 정지]) NameError : '모델'이름이 정의되지 않았습니다. –

+0

신호는 시간 기반으로 제공됩니다. LSTM으로 RNN과 같은 것을 느껴보십시오. https://philipperemy.github.io/keras-stateful-lstm/에서보세요. 그렇다면 여전히 CNN이 필요한 경우이 예를 살펴보고 같은 결과를 얻었는지 확인하십시오 : https://github.com/keunwoochoi/kapre/blob/master/examples/example_codes.ipynb –