본문 바로가기
ML | DL/Tensorflow

[keras] ValueError: Unknown optimizer: AdaBeliefOptimizer. Please ensure this object is passed to the `custom_objects` argument 에러해결

by Leeys 2022. 3. 19.
반응형

개발환경

 

- google colab

 

 

1. Problem

 

tensorflow keras를 사용하면서 optimizer를 custom에서 사용하고 학습한 모델을 'h5' 형태로 저장한 후

다시 load할 때 해당 에러가 발생했다.

 

2. Reason

 

tensorflow keras는 'h5' 형태로 모델을 저장할때

기존 라이브러리에 있는 optimizer나 activation function만 저장되기 때문

그렇기 때문에 custom해서 사용한 optimizer는 저장되지 않음

 

 

3. Solution

 

모델을 load 할 때  custom_objects key값에 optimizer name 그리고 value에 custom optimizer를 넣음

 model = tf.keras.models.load_model('./CNN-checkpoint.h5', custom_objects = {"AdaBeliefOptimizer":AdaBeliefOptimizer})

 

optimizer뿐만 아니라 activation function도 마찬가지로 똑같은 방법으로 해결가능하다.

반응형

댓글