keras에서 이미 정의된 모델을 가져와 학습할 경우
654
1 asked
안녕하세요.
영상을 보며, 테스트를 하다가 질문 몇개가 생겨서 글을 씁니다.
1.
학습을 진행하다가 다시 재학습을 할 때, train_step을 이용하면 영상과 같이 한다는 것은 이해했습니다.
그런데 케라스에서 미리 정의된 모델(ex. densenet)을 가져와서 학습을 할 경우에는 보통 model.fit을 사용해 학습하던데요.
그 때에는
checkpoint_save = tf.keras.callbacks.ModelCheckpoint(.....)
model.fit(x,y,... callbacks=checkpoint_save)
위와 같이 콜백 함수를 사용해 가중치를 저장하더라구요.
영상과는 다른 경우인 model.fit을 사용할 때, 다시 재학습을 하려면 어떤 식으로 해야 하나요.
> 알려주신대로,
ckpt = tf.train.Checkpoint(step=tf.Variable(0), model=model)
ckpt_manager = tf.train.CheckpointManager(ckpt, directory=checkpoint_directory, max_to_keep=5)
latest_ckpt = tf.train.latest_checkpoint(checkpoint_directory)
if latest_ckpt:
ckpt.restore(latest_ckpt)
이렇게 하면 불러와 지기는 할 것 같던데
model.fit으로 학습 하면 epoch가 다시 1부터 시작하더라구요.
그래서 이게 제대로 불러와서 재학습을 하는가 싶기도 하고요.
실제로 재학습이 된다고 해도 몇번째인지 알기도 힘들었습니다. 뭔가 깔끔한 방법이 있는지 궁금합니다.
2.
학습된 가중치를 불러올 때, 영상에서는 ckpt.restore를 썼는데요. model.load_weights와 다른 점은 같은 모델일 때 없는 것인가요.
항상 잘 듣고 있습니다. 감사합니다.
Answer 1
0
안녕하세요~. 반갑습니다.
1. beginner style 구현(Keras의 model fit 등을 사용)을 사용하실 경우 2.에서 말씀해주신 load_weights를 이용해서 체크포인트를 불러오시면 됩니다. (https://www.tensorflow.org/tutorials/keras/save_and_load?hl=ko 를 참조하세요.)
2. load_weights와 ckpt.resotre는 beginner style 구현이냐 expert style 구현이냐의 차이로 기능의 차이는 없습니다.
좋은 하루되세요.
감사합니다.
22강 코드 call()메서드 is_training -> model(x,False)로 호출시 밸류에러 참고
0
48
1
선형 회귀 모델에 대해서 질문 있습니다
0
256
2
tf.keras.model.reset_states()
0
746
2
[질문]colab환경에서 텐서보드(TensorBoard)를 이용해서 학습과정 시각화(Visualization)하기강의 관련 질문
0
505
2
[질문]colab환경에서 tf.train.CheckpointManager API를 이용해서 파라미터 저장하고 불러오기 실행에 대한 질문
0
287
2
colab에서 구동 가능한 char-rnn 코드 관련 질문
0
221
1
안녕하세요 파이썬이랑 tensorflow 정확한 버전 알수있을까요?
0
250
1
colab 환경에서 Autoencoder 구현하였으나 결과가 보이지 않는 분들 참고사항
0
211
1
Mnist 에 keras를 통해 softmax를 활용한 regerssion error 발생
0
2099
2
GRU 리셋게이트, 포겟게이트 질문
0
260
1
ANN 구현
0
348
1
char-rnn 코랩 에러 ... 못보나요,, cpus는 너무 느려서
0
590
1
ANN으로 Mnist 숫자분류기 코드질문
0
294
1
ppt 12p 질문
0
383
1
모델 코드 질문
0
370
1
코드 질문
0
280
1
ppt 10p
0
385
1
ppt 13p 추가 질문
0
258
1
ppt 9p 추가 질문
0
266
1
ppt 5p 질문
0
322
1
ppt 9p 질문
0
283
1
vanishing gradient
0
278
1
TensorFlow 2.0을 이용한 CIFAR-10 이미지 분류를 위한 CNN 구현 질문
0
260
1
텐서플로우 설치 오류
0
262
1

