본문 바로가기



기타 기술/시스템 설정

딥러닝 서버 환경 구축(3): 텐서플로우 2.x 와 아나콘다-주피터노트북의 문제점

 

 

지난 글에서 시스템에 아나콘다를 설치하고 텐서플로우를 위한 가상환경을 만들었습니다.

가장 기본적인 예제인 MNIST 예제를 GPU 모드를 이용해서 돌려보았는데 잘 동작하더군요.

 

그런데 한 가지 문제가 생겼습니다.

좀 느리지만 편하게 작업을 하기 위해서 아나콘다로 구성한 가상환경에서 주피터 노트북을 실행시켰더니 텐서플로우를 인식하지 못하더군요.

 

일반적으로 이런 경우 아나콘다의 가상환경에서 nb_conda 라는 패키지를 설치해주면 제대로 인식하기 시작합니다.

가상환경의 상태가 주피터 노트북의 환경까지 제대로 전달되지 못하기 때문이라서 해당 패키지를 설치해주면 잘 동작합니다.

그런데 여기서 주의해야 할 점이 있군요.

주피터 노트북에서 파일을 새로 생성할 때, 예전에는 그냥 파이썬3을 선택해서 생성하였고 아무런 문제 없이 사용할 수 있었습니다만 지금은 제대로 인식하지 못하는 경우가 많습니다.

이런 경우, 파일을 생성할 때 아래의 화면에서 보듯이 직접 해당 가상환경을 선택하여 생성하면 제대로 동작을 합니다.

그리고 그냥 파이썬3을 선택하여 파일을 만들었을때는 텐서플로우의 인식을 성공한 경우에도 다음 코드로 넘어가면 또 문제가 발생하기 시작했습니다.

AttributeError: module 'tensorflow' has no attribute '__version__'
AttributeError: module 'tensorflow' has no attribute 'keras'

등과 같은 오류들이 나타나기 시작하더군요.

예전에 사용했을때는 전혀 보지 못했던 현상입니다.

여러 가지로 확인해보고 검색해 보았더니 텐서플로우 2.x 버전으로 들어오면서 종종 발생하는 문제라고 합니다.

해결방법으로 제시된 것이 텐서플로우를 1.x 버전으로 다운그레이드 하라는 것입니다.

 

제 경우에는 이 때에도 파일 생성 시 가상환경을 직접 지정해 주니까 제대로 동작을 하더군요.

뭔가.. 각 패키지들이 서로 궁합이 맞지 않는지 조금 삐걱거리는 모습을 보여서 그냥 명령줄과 비주얼스튜디오코드 같은 가벼운 범용 IDE를 사용하는 것이 좋을지... 살짝 고민이 되는 시기입니다.

 

 

 

 

반응형