라인 과제테스트 때 사용했던 모델을 개선해보기 위해 실험을 진행하며 하루를 보냈다.
기존에 잘 되던 모델이 학습이 제대로 이루어 지지 않았다.
loss가 NaN이 되면서 전혀 학습이 되지 않았다.
이럴 경우 보통은 데이터에 이상한 값(nan 등)이 들어있었는데 확인해보았지만, 데이터는 정상이었다.
그럼 왜? 당시 tensorflow 2.51 으로 최신 버전을 사용했는데, HDF5Matrix를 사용하기 위해 2.31버전으로 다운그레이드 시킨 이후로 계속 발생해서, 이 버전차이 때문이 아닌가 하는 의심이 생겼다.
유사한 구조로 직접 구현했을때는 NaN이 발생하지 않는 것으로 보아 Autokeras 안에서 버전차이로 인해 무언가 문제가 생기는 듯했다. 아마도 multilabel encoding layer가 문제가 아닌가 싶다. 이 layer는 따로 구현시 사용하고 싶어도 어디존재하는 지 찾지 못해 실험을 따로 해보지는 못했다.
결국, multilabel encoding layer를 제외하고 구현해 학습에 성공했다. 성능이 조금 떨어지긴 했지만…
향후 할일!
☆multilabel encoding layer 정체 알아내기