Theano 기반 딥 러 닝 (Deep Learning) 프레임 워 크 Keras 학습 수필 - 10 - 리 턴
Callbacks (리 셋 함수) 는 모델 훈련 기간 에 지정 한 단계 에서 호출 되 는 함수 입 니 다.리 턴 함 수 를 통 해 모델 훈련 과정 에서 모델 내부 정보 와 통계 데 이 터 를 볼 수 있다.리 셋 함수 list 를 전달 하여 fit () 함수 에 전달 한 후 관련 리 셋 함 수 는 지정 한 단계 에서 호출 될 수 있 습 니 다.
1. Callbacks 기본 클래스
keras.callbacks.Callback()
속성:
방법:
2. 사용 가능 한 반전 함수
keras.callbacks.ModelCheckpoint(filepath,verbose=0, save_best_only=False)
사용 자 는 매번 epoch 이후 에 모델 데 이 터 를 저장 합 니 다.하면, 만약, 만약...best_only = True 는 최근 검증 오차 가 가장 좋 은 모델 데이터 가 저 장 됩 니 다.filepath 는 epoch 와 logs 의 키 로 구성 되 어 있 습 니 다.예 를 들 어 filepath = weights. {epoch: 02d} - {val loss:. 2f}. hdf 5 는 epoch 와 val 이 많이 저 장 됩 니 다.loss 정보의 파일;물론 어떤 경로 일 수도 있 습 니 다.
keras.callbacks.EarlyStopping(monitor='val_loss', patience=0, verbose=0)
모니터 가 더 이상 개선 되 지 않 을 때 훈련 을 멈 추 는 것 은 patience 를 통 해 알 수 있다.
3. 자신의 반전 함수 만 들 기
기본 클래스 인 keras. callbacks. Callback 을 확장 하여 일반적인 반전 함 수 를 만 들 수 있 습 니 다.리 셋 함 수 는 self. model 속성 을 통 해 훈련 model 과 연결 해 야 합 니 다.다음은 batch 훈련 후의 오차 율 을 저장 하 는 간단 한 반전 함수 입 니 다.
classLossHistory(keras.callbacks.Callback):
defon_train_begin(self, logs={}):
self.losses = []
defon_batch_end(self, batch, logs={}):
self.losses.append(logs.get('loss'))
4. 기록 손실률 사례 소개
#
classLossHistory(keras.callbacks.Callback):
defon_train_begin(self, logs={}):
self.losses = []
defon_batch_end(self, batch, logs={}):
self.losses.append(logs.get('loss'))
#
model = Sequential()
model.add(Dense(10, input_dim=784, init='uniform'))
model.add(Activation('softmax'))
model.compile(loss='categorical_crossentropy', optimizer='rmsprop')
#
history = LossHistory()
#
model.fit(X_train,Y_train, batch_size=128, nb_epoch=20, verbose=0, callbacks=[history])
#
print history.losses
'''
[0.66047596406559383, 0.3547245744908703,..., 0.25953155204159617, 0.25901699725311789]
'''
5. 리 셋 함수 (model checkpoints) 인 스 턴 스 소개
from keras.callbacks import ModelCheckpoint
model = Sequential()
model.add(Dense(10, input_dim=784, init='uniform'))
model.add(Activation('softmax'))
model.compile(loss='categorical_crossentropy', optimizer='rmsprop')
'''
epoch , , 。
'''
checkpointer =ModelCheckpoint(filepath="/tmp/weights.hdf5", verbose=1, save_best_only=True)
model.fit(X_train, Y_train, batch_size=128, nb_epoch=20, verbose=0, validation_data=(X_test, Y_test), callbacks=[checkpointer])
참고 자료:
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
caffe 데이터 구조 깊이 학습 (4) - blob 데이터 구조 blob. hpp 파일 상세 해석이 줄 은 shape 벡터 를 통 해 Blob 의 모양 을 바 꾸 는 또 다른 변형 함 수 를 정의 합 니 다. 이 줄 은 Blob 모양 의 함 수 를 읽 고 구성원 변수 shape 로 돌아 가 는 것 을 정의 합 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.