본문 바로가기
카테고리 없음

[Python] 오류 해결 AttributeError: module 'tensorflow.compat.v2.internal.tracking' has no attribute 'TrackableSaver' Error

by 북더기 2023. 9. 12.

[Python] 오류 해결 AttributeError: module 'tensorflow.compat.v2.internal.tracking' has no attribute 'TrackableSaver' Error

 

Python으로 tensorflow를 사용하는 모델링 코드를 작성하고 돌려보며 꾸준히 마주했던 에러..

numpy 에러와 그림자처럼 붙어다녔던 오류.. 정말 힘들었다.

 

우선 해당 오류는 tensorflow를 2.7.0 버전으로 업그레이드 하며 해결되었다.

※ module 에러라고 해서, 추가로 패키지를 설치하거나 import를 할 필요가 없다.

 

꼭 해당 버전이여야 하는 것은 아니나, 

numpy 관련 오류와 tensorflow 관련 오류는 해당 버전으로 업그레이드/다운그레이드 하며 픽스하니 모두 해결되었다.

[사용한 버전]
- python 3.8
- numpy 1.23.5
- tensorflow 2.7.0

아주 최신 버전의 python(ex. python 3.11) 을 사용하지 않는 이유는 별도로 없다.

그저 기존 개발 환경을 따라 사용했을 뿐이며..

 

Anaconda 가상환경에 설치한 것을 기준으로 업그레이드/다운그레이드 방법을 제공한다.

Python을 별도로 설치해서 사용 시에도 tensorflow 버전을 업데이트 후 사용할 수 있다. (pip 등 사용)

 

1. Anaconda Prompt에서 사용중인 conda 가상환경 활성화

conda activate <가상환경 명>

- 해당 명령어를 통해 가상환경을 활성화해준다. 현재 위치한 드라이브 앞에 (가상환경 명)이 표시되면 성공이다.

 

2. pip 또는 conda 명령어로 tensorflow 버전 업데이트

[pip 사용 시]

pip install --upgrade tensorflow==2.7.0

 

[conda 사용 시]

conda install -c conda-forge tensorflow==2.7.0

 

- 필자는 conda 사용할때마다 종속성끼리 충돌이 많아서 pip를 좀더 쓰는 편이다. 아래와 같이 설치함.

- 기존에 사용 중이던 2.6.0 제거 -> 2.7.0으로 업그레이드 완료

3. 버전 변경이 완료되었다면 코드 재 실행

모든 버전 및 패키지 간 호환성 문제가 해결되면 tensorflow 코드가 실행될 것이다.

별도의 문제가 발생한다면 다른 오류 디버깅이 필요함.

만약 numpy 메소드 사용 시 attributeerror 'numpy.ndarray' object has no attribute 'values’ Error가 발생한다면 아래 게시글을 참고해서 버전 변경하기를 권장한다.

https://dev-nh.tistory.com/23

 

[Python] 오류 해결 attributeerror 'numpy.ndarray' object has no attribute 'values’ Error

Python으로 tensorflow를 사용하는 모델링 코드를 작성하고 돌려보며 꾸준히 마주했던 에러.. 서버 컴퓨터에서 실행할 때는 되는데, 로컬 Python 가상환경에서 실행하려고 하면 또 안 된다. numpy 버전

dev-nh.tistory.com

 

도움이 되셨다면 공감 () 눌러주시면 감사드리겠습니다! 좋은 하루 되세요 :)