아나콘다 텐서플로우 버전 다운그레이드 - anakonda tenseopeullou beojeon daungeuleideu

아나콘다 텐서플로우 버전 다운그레이드 - anakonda tenseopeullou beojeon daungeuleideu

아나콘다를 이용한 Tensorflow 설치

- 아나콘다가 설치되어 있는 상태에서 Tensorflow 설치하는 방법에 대해서 알아보자.

- 파이썬만 설치되어있는 경우에도 명령 프롬프트 창에서 비슷하게 설치할 수 있지만 아나콘다처럼 가상환경을 이용하기 위해서는 virtualenv를 따로 설치하여서 사용하여야 한다.

- 아나콘다 설치가 필요한 경우

설치 순서

- 아나콘다 프롬프트 실행.

- 아나콘다 버전은 2018.12 버전이다. 

pip 패키지 업그레이드

# 아나콘다에서 pip 패키지 업데이트할 

conda upgrade pip

# 명령 프롬프트에서 pip 패키지 업데이트할 경우

pip install upgrade

cs

- Tensorflow 설치 전 pip 패키지를 업그레이드 해준다.

- 업그레이드를 수행하지 않을 경우, 필요한 모듈에 문제가 생길 수도 있다.

가상환경 생성

- Tensorflow 설치를 위한 가상환경 생성

- Tensorflow 설치를 위해서는 Python 버전은 3.4, 3.5 or 3.6을 권장한다.(현재는 3.7버전도 지원을 하는 것으로 알고 있지만 혹시 몰라서 3.6을 다운로드 했다.) 

- y 입력 후 가상 환경 생성

가상 환경 활성화 후, Tensorflow 설치

#가상환경 활성화

(base)>>> activate 가상환경이름

# tensorflow 설치

(가상환경이름)>>> pip install tensorflow

cs

- 가상환경을 활성화한 후, 그 가상환경 안에서 Tensorflow를 설치한다.

파이썬 실행 후, 정상작동 확인

# 파이썬 실행

>>> python

import tensorflow as tf

# 노드 생성

hello = tf.constant("hello, TensorFlow!")

# 세션 생성

sess = tf.Session()

# 세션 실행

print(sess.run(hello))

# b'hello, Tensorflow'

# 출력시 앞에 b라는 글자가 뜨는데 Bytes String을 의미

cs

- 파이썬을 실행시킨 후 코드 실행  

DLL load failed 오류 발생

AVX(Advanced Vector Extensions)를 지원하지 않는 CPU를 사용할 경우, DLL 오류가 발생한다.

- Tensorflow 1.6 버전 이상 부터는 AVX사용을 기본적으로 탑재하고 있어서 생기는 문제.

# Tensorflow 버전 1.5로 다운그레이드

pip install tensorflow==1.5

cs

- 이럴 경우, Tensorflow 버전을 1.5 버전으로 다운드레이드 한다.

- 다운로드 후 다시 시도

- 문제 없이 실행되는 것을 확인할 수 있다.

  • 아나콘다 가상환경이 존재한다고 가정한다.

가상환경의 버전이 충돌하여 코드가 돌아가지 않는 경우 해결 방법은 여러가지가 있다.

시간이 있다면 가장 깔끔한 방법은 새로운 가상환경을 만들어서 문제가 생긴 라이브러리(tensorflow, pytorch)를 다시 설치하는 것이다.

하지만 문제가 생긴 가상환경을 부분적으로라도 고쳐보고 싶다면 해당 라이브러리를 다시 설치하기를 추천한다.

Anaconda prompt 창 실행
(base) C:\Users\jaykj>
conda activate tens(이름): 가상환경 접속
(base) C:\Users\jaykj>conda activate tens
conda list: 가상환경에 설치된 라이브러리 버전 확인, 충돌 라이브러리 버전 확인
(tens) C:\Users\jaykj>conda list
# packages in environment at C:\Users\jaykj\Anaconda3\envs\tens:
#
# Name                    Version                   Build  Channel
_tflow_select             2.2.0                     eigen         
.
.
.
tensorflow                2.1.0           eigen_py37hd727fc0_0
tensorflow-addons         0.12.1                   pypi_0    pypi
tensorflow-base           2.1.0           eigen_py37h49b2757_0
tensorflow-datasets       4.2.0                    pypi_0    pypi
tensorflow-estimator      2.4.0              pyhd54b08b_0
tensorflow-hub            0.11.0                   pypi_0    pypi
tensorflow-metadata       0.28.0                   pypi_0    pypi
tensorflow-model-optimization 0.5.0                    pypi_0    pypi
tensorflow-text           2.4.3                    pypi_0    pypi
.
.
.
(tens) C:\Users\jaykj>

다음과 같이 tensorflow와 tensorflow-estimator의 버전이 달라서 충돌이 일어났다.

pip install tensorflow=2.1.0 또는 conda install tensorflow=2.1.0: 주어진 버전의 텐서플로우로 다시 설치

둘 중에 뭘 이용하던지 가상환경에서 설치된다는 점에서는 차이가 없어 보인다.
지금 존재하는 tensorflow를 삭제할 필요 없다. 아나콘다가 알아서 처리해줌.

(tens) C:\Users\jaykj>pip install tensorflow=2.1.0

다시 conda list로 가상환경의 버전을 확인해보면

(tens) C:\Users\jaykj>conda list
# packages in environment at C:\Users\jaykj\Anaconda3\envs\tens:
#
# Name                    Version                   Build  Channel
_tflow_select             2.2.0                     eigen         
.
.
.
tensorflow                2.1.0           eigen_py37hd727fc0_0
tensorflow-addons         0.12.1                   pypi_0    pypi
tensorflow-base           2.1.0           eigen_py37h49b2757_0
tensorflow-datasets       4.2.0                    pypi_0    pypi
tensorflow-estimator      2.1.0              pyhd54b08b_0
tensorflow-hub            0.11.0                   pypi_0    pypi
tensorflow-metadata       0.28.0                   pypi_0    pypi
tensorflow-model-optimization 0.5.0                    pypi_0    pypi
tensorflow-text           2.4.3                    pypi_0    pypi
.
.
.
(tens) C:\Users\jaykj>

tensorflow-estimator의 버전이 2.1.0으로 다운그레이드 되었음을 확인할 수 있다.

실패한 해결방법들

  • tensorflow remove 후 다시 설치
    • 그냥 다른버전으로 새로 설치해도 이전 것이 지워지므로 제거할 필요 없음
  • tensorflow-estimator 2.1.0으로 다시 설치
    • 다시 설치해도 설치했다고만 뜰 뿐 버전은 계속 2.4.0으로 뜸
    • 애초에 tensorflow-~~ 들은 tensorflow를 다시 설치하거나 제거하면 따라서 관리되는 것으로 보임
  • 가끔 설치 과정에서 오류뜨는 경우 관리자 모드로 접속하면 해결되기도 함
    • anaconda prompt를 관리자 모드로 접속하면 됨