본문 바로가기
AI/머신러닝

ML - TensorFlow 설치(Anaconda)

by Guardy 2020. 7. 6.
728x90
반응형

Tensorflow는 다음 환경에서 지원된다. - 출처 

TensorFlow

시스템에 TensorFlow를 설치하는 방법을 알아봅니다. pip 패키지를 다운로드하거나 Docker 컨테이너에서 실행하거나 소스에서 빌드합니다. 지원되는 카드에서 GPU를 사용 설정합니다.

www.tensorflow.org

 

tensorflow 지원환경

 

TensorFlow는 PIP을 이용하여 설치해줄 수 있다.

우선 python version이 맞는지 확인을 하자 터미널에 Python3 --version을 검색하자 

 

3.8.3인 것이 확인..

 

python 3.8의 경우 TensorFlow가 지원하지 않으므로 다운그레이드 해야한다.

다운그레이드하는 방법이 복잡하여 필자는 삭제 후 재설치하였다..

 

다시 돌아와서 우리는 virtualenv를 사용할 예정이다.

가상환경을 쓰는 이유는 새로운 프로젝트를 만들 때마다 모듈이 필요할텐데, 모든 프로젝트에 대해 계속해서 모듈을 설치하다보면 모듈끼리 충돌이 일어날 수 있기 때문이다. 

 

virtualenv(가상환경)을 사용하는 방법은 간단하다.

1. pip으로 virtualenv를 설치해준다

pip3 install -U pip virtualenv

2. Python 인터프리터를 선택하고 저장할 venv 디렉터리를 만들어 새로운 가상 환경을 만든다.

virtualenv --system-site-packages -p python3 ./venv 

설치를 하려고 했는데, 역시나 에러가 발생한다. Visual Studio Code Powershell에서 다음과 같이 에러가 발생한다.

 

PS C:\Users\dk112\onedrive\바탕 화면\DEV> virtualenv --system-site-packages -p python3 ./venv
virtualenv : 'virtualenv' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오.

 

해결법을 찾아보니 window powershell에서는 virtualenv를 다른 방식으로 사용한다. 

python -m venv example

cd example

Scripts\activate.bat

이렇게 하면 가상환경이 활성화된 것이다. 이 상태에서 설치를 해주면 된다.

pip install --upgrade tensorflow

설치가 다 되었다면 설치가 제대로 되었는지 확인해보자.

python -> import tensorflow를 하면 역시나 에러가 뜬다.

ImportError: Could not find the DLL(s) 'msvcp140.dll or msvcp140_1.dll'. TensorFlow requires that these DLLs be installed in a directory that is named in your %PATH% environment variable.

 

이때 해결법은 https://www.microsoft.com/ko-kr/download/details.aspx?id=48145에서 패키지를 다운받아 해결할 수 있다고 했는데 여전히 해결되지 않았다

anaconda가 tensorflow와 호환이 잘된다해서 싹다지우고 anaconda를 설치하였다.

 

anaconda를 이용하여 tensorflow사용하기

 

1. 다시 처음으로 돌아가 virtualenv를 깔아준다.

conda create -n venv

2. virtualenv를 activate해준다.

conda activate venv

3. tensorflow를 설치한다.

conda install tensorflow

4. 설치가 완료되었으면 확인한다.

python

import tensorflow as tf

a = tf.zeros((2,1))

5. 에러가 안뜬다면 정상적으로 설치된 것이다.

 

이상 힘들게 tensorflow를 깔아보았다...

728x90
반응형