tensorflow의 fit 함수는 학습을 진행하는 과정을 다루는 가장 중요한 함수입니다. 이번 실습에서는 fit 함수의 매개변수들을 채워 넣으면서 학습 과정을 조절해보겠습니다. 지시사항에 적힌 조건을 참고하여 fit 함수를 완성하세요.
아래 매개변수의 설명을 참고하여 fit 함수를 완성하고 학습을 진행하세요.
x_train 과 y_train을 사용합니다.100으로 설정합니다.11epoch부터 시작하여 20 epoch까지 학습합니다.x_val, y_val을 사용합니다.50, step은 10으로 설정합니다.5 epoch마다 수행합니다.이번 실습에서는 직접 콜백함수를 작성하여 학습과정에 사용해보겠습니다. 지시사항에 따라 3개의 함수를 구현하시면 됩니다.
tf.keras.callbacks.Callback를 상속받아 제작합니다.callbacks는 콜백함수들의 리스트를 입력 받습니다. 따라서 생성한 인스턴스를 리스트로 묶어서 전달하세요.MyCallback에 3개의 함수를 추가하세요.on_train_begin(self, logs=None) 함수가 호출됩니다."Train begin"이 출력되도록 코드를 작성하세요on_epoch_begin(self, epoch, logs=None) 함수가 호출됩니다."%depoch begin"가 출력되도록 코드를 작성하세요."%d"에는 현재 epoch이 출력되도록 합니다.on_epoch_end(self, epoch, logs=None) 함수가 호출됩니다."%depoch end"가 출력되도록 코드를 작성하세요."%d"에는 현재 epoch이 출력되도록 합니다.Tensorflow.keras에 내장된 콜백함수들을 사용하면 학습과정을 컨트롤하는 다양한 기능들을 사용할 수 있습니다. 이번 실습에서는 내장 콜백함수 중 과적합이 일어나기 전에 학습을 멈추는 EarlyStopping과 주기적으로 모델을 저장하는 ModelCheckpoint을 학습 코드에 추가해보겠습니다. 지시사항에 따라 코드를 완성하세요.
tf.keras.callbacks.EarlyStopping에 정의되어 있습니다.monitor 값은 'val_loss'로 설정합니다.mode는 auto로 설정합니다.verbose는 결과를 출력하도록 1로 설정합니다.patience는 2로 설정합니다.tf.keras.callbacks.ModelCheckpoint에 정의되어 있습니다.filepath는 "./chkpnt/{epoch:04d}.ckpt"로 설정합니다.monitor는 EarlyStopping 과 같이 검증시 loss값으로 설정합니다.mode 역시 자동으로 설정되도록 합니다.verbose는 1로 설정합니다.save_best_only를 설정하세요save_weights_only를 설정하세요.save_freq를 설정하세요cb_earlystop와 cb_chkpnt를 리스트로 묶어 fit 함수의 callbacks 매개변수로 전달하세요.이번 실습에서는 모델이 학습하는 동안 텐서보드(Tensorboard)를 이용해 시각화하는 방법을 실습하겠습니다. 모델은 2개의 RNN Layer와 1개의 Dense Layer로 구성되어 있습니다. 지시사항을 보고 코드를 완성하고 Tensorboard를 통해 학습 과정을 분석해보세요.
학습에 필요한 모델과 데이터는 스켈레톤 코드를 통해 제공해드립니다. 아래 정보들을 참고하여 콜백함수를 정의하고 fit 함수에 전달하세요.
tf.keras.callbacks.TensorBoard입니다.log_dir은 logs로 설정합니다.tb에 저장하세요tb를 callbacks로 전달하세요callbacks는 콜백함수들을 전달하는 매개변수입니다. 따라서 정의한 콜백함수를 리스트로 묶어서 전달해야 합니다.