안녕하십니까, 실습 환경인 Kaggle의 Tensorflow version이 강의를 만들었을 시점과 비교해서 많이 업그레이드 되었습니다.
이를 반영하여 실습 코드를 수정하였습니다. 변경 사항에 대한 내용을 공지 형식으로 영상으로 만드는 중인데, 예상보다 시간이 더 걸려서 먼저 수정 반영된 실습 코드 부터 업로드 하겠습니다. 변경 공지 영상도 곧 만들겠습니다.
기존 실습 코드를 이용하여 실습 시 오류가 발생한다면 새롭게 실습 코드를 다시 다운로드 하셔서 수행해 보시기 바랍니다.
아래는 변경이 적용된 내용에 대한 요약 설명 입니다. 감사합니다.
0. 공통
- Adam( ) 옵티마이저의 초기화 인자명이 lr에서 learning_rate로 변경.
- Sequence Dataset 클래스의 getitem() 메소드에서 학습과 테스트 시에 따라 Target값을 포함 또는 미포함하는 데이터세트로 반환 결과를 분리
- model.fit()의 인자로 Sequence Dataset으로 학습과 검증 데이터 세트 입력시 steps_per_epoch와 validation_steps 인자 제외.
1. Fashion_Mnist_Practice
- ModelCheckpoint의 save_weights_only=True 시 checkpoint 모델 파일명은 .weights.h5로 끝나는 형태가 되어야 함. False시에는 .keras로 끝나야 함.
- period는 save_freq로 변경됨. save_freq는 "epoch" 또는 정수값이 올 수 있는데, 정수값의 경우 epoch가 아니라 학습 batch 반복 횟수이며 적용시 오류 위험
2. Inception_Practice
- Tensorflow version up으로 Conv, Maxpooling 레이어 생성 인자인 name에 '/' 문자열이 입력되면 안됨. '_'로 수정함.
3. Learning_Rate_Scheduler
- model.optimizer.lr은 model.optimizer.learning_rate로 변환.
- y target 값 입력을 np.zeros(5)에서 np.zeros(5).reshape(5, -1)로 2차원 행태로 변환
- CosineDecay는 더 이상 experimental이 아니라 정식 scheduler로 등록됨. 따라서 experimental.CosineDecay는 optimizers.schedules.CosineDecay로 변경.
- Callback으로 구현한 Cosine Decay 및 Cosine Decay Restart 를 보너스 코드는 더 이상 유효하지 않습니다. tf.keras.backend.set_value 가 deprecated 되어서 더 이상 유효하지 않습니다.
4. Plant_Pathology
-GPU 메모리 해제를 위해 kernel 재 기동 시 소스코드 수행을 편리하게 하기 위해서 소스코드 재 배치.