rnn 레이어에 있는 state는 저장이 안 되죠?
checkpoints 만들 때 best validation accuracy 있는 모델에 대해 model.get_weights()하고 .save_weights() 이거하는데
RNN 레이어에 있는 state가 저장이 됐는지 안 됐는지 기억이 안 나는데 검색해봐도 바로 안 나오네요
성의 없는 질문 죄송합니다 제가 직접 확인해봐야되는데 컴퓨터가 지금 training loop에 물려있어서 다른 파일로 실행해보기가 좀 그렇네요
답변 없으면 제가 이따 해보고 남는지 안 남는지 댓글에 남겨 놓을게요...
넹
serialize를 하고 어쩌고하면 optimizer의 lr까지도 저장이 되면서 원하는 경우에 resume training이 되는거 같은데, 내 경우에는 custom layer, loss, training loop도 custom인 경우라 그러기가 힘들어서 원하는 경우 모델을 만들고, set_weights()를 하고, optimizer에 loss 불러서 resume training을 하게끔 해야했는데 그 경우 RNN 레이어의 states가 문제였음. 그래서 callback 이용해서 .on_train_begin() 때 dict를 만들어서 model의 몇 번째 레이어가 RNN이고, 그 RNN의 states가 뭐인지 dict로 저장을 한 다음, .on_train_end() 때 dict를 저장하도록 했음.