-
(Tensorflow) valueerror:unknown layer : functional 에러 이유IT 지식 창고 2020. 9. 4. 18:46
아마 제목과 같은 에러가 발생하는 경우는 model(no weight)을 저장 후 다시 불러온 경우에 발생할 수 있는 에러입니다.
현재 Tensorflow 2.3이 릴리즈 되면서 발생하는 것 같은데, 2.3과 2.2에서 model을 json으로 저장할 경우 구조가 약간 달라서 발생하는 에러입니다.
만약, 2.3버전에서 model을 저장하여 2.2버전에서 load할경우 에러가 생기며, 2.2 버전에서 model을 저장한 후 2.3 버전에 load하는 것은 가능합니다. (하위호환은 가능하지만, 상위호환이 안됨)
2.3에서 모델을 저장할 경우
{"class_name": "Functional", "config": {"name": "functional_1", "layers": [{"class_name": "InputLayer" ...
2.2에서 모델을 저장할 경우
{"class_name": "Model", "config": {"name": "model_1", "layers": [{"name": "input_1", "class_name": "InputLayer" ...
class_name이 달라지고, name이 조금 씩 다릅니다. 문제는 앞의 이부분 뿐만 아니라 뒷 부분에도 달라지는 부분이 있어서 일일이 바꿔 load하기에는 무리가 있어보입니다.
2.3 버전에서 빨리 업데이트 되던지 그전까지는 각 버전에 맞춰 저장하고 load하시면 될 것 같습니다.
'IT 지식 창고' 카테고리의 다른 글
(albumentation) pytorch가 없다고 뜰 때 (3) 2020.09.08 Google Colaboratory Auto Drive Mount (자동 드라이브 마운트 ) (0) 2020.09.07 (albumentation) albumentation이 적용되지 않을 때 (0) 2020.09.03 (tensroflow) pyinstaller사용 후 tensorflow error 해결 (0) 2020.09.01 (keras) keras requires tensorflow 2.2 or higher. install tensorflow via pip install tensorflow Error 해결방법 (0) 2020.09.01 댓글