본문 바로가기

AI/Python 오류 해결

[오류 해결/tensorflow] AttributeError: 'Adam' object has no attribute 'get_updates'

1. 오류

AttributeError: 'Adam' object has no attribute 'get_updates'

 

생각없이 같은 코드를 돌리다가 발생한 오류였습니다 ..

기존 개발 환경은 keras 및 tensorflow가 2.8 버전이었고, 새로운 환경이 2.15 버전이라 오류가 생긴 것으로 'get_updates'를 보자마자 예상이 되었습니다. 공식 문서를 확인해보니 optimizer의 업데이트가 있었다고 하네요!

 

 

2. keras 버전에 따른 코드 수정

- keras 2.8.0 버전

optimizer = tf.keras.optimizers.Adam(learning_rate=learning_rate)

 

 

- keras 2.15.0 버전

optimizer = tf.keras.optimizers.legacy.Adam(learning_rate=learning_rate)

 

.legacy를 넣어주면 간단하게 해결이 됩니다.

SGD를 사용할 때도 같은 오류가 발생할 수 있을듯하니 참고하면 될 것 같습니다.

 

3. 참고

https://www.tensorflow.org/api_docs/python/tf/keras/optimizers/legacy/Optimizer