logger 모듈 버그
Closed this issue · 10 comments
JungYT commented
현상
- eval_logger에 state만 저장할 때는 문제 없이 작동 (eval_logger.record(**info))
- DDPG의 actor와 critic의 DNN parameters 저장하는 코드를 추가
eval_logger.record(actor=agent.target_actor.parameters())
eval_logger.record(critic=agent.target_critic.parameters()) - 4번 째 에피소드 진행할 때 에러 발생. 사진을 보면 에러가 발생한 위치는 eval_logger.record(**info)로 state를 저장하는 곳
추측
사진을 보면 logger의 flush 함수에서 문제 발생
아마도 parameter를 저장하면서 한 번에 저장하는 데이터의 길이가 max_len을 넘어가면서 생기는 문제?
seong-hun commented
제 생각에는 데이터 타입이 현재 fym.logging
모듈에서 지원하지 않는것 같습니다.
예를 들어 None
값들은 저장이 안돼요.. (HDF5 파일 특성)
혹시 DNN parameters의 데이터 타입이 뭔지 알 수 있을까요?
JungYT commented
DNN parameter를 저장하는 logger를 별도로 만들어 저장한 결과 에러가 발생하지 않습니다. 데이터 타입의 문제는 아닌 것 같습니다.
JungYT commented
오잉 저장한거 불러오니까 {} 네? 다시 해보겠습니다.
seong-hun commented
JungYT commented
seong-hun commented
저녀석은 list()
를 씌워주면 될것 같군욥.. 혹은 PyTorch에 파라미터 값들을 딕셔너리로 내뱉는게 있었던거 같은데..
JungYT commented
pytorch 자체에서 지원하는 save를 사용하려고 합니다.
참고로, list() 씌우면 에러나네요
seong-hun commented
그게 맘 편할듯 ㅋㅋ state_dict
메소드도 에러나나요?
seong-hun commented
그냥 PyTorch 기능 쓰는게 편할것 같습니다.
JungYT commented