Translate

2018년 7월 5일 목요일

윈도우 10에 아나콘다를 이용해 텐서플로 설치하기 + R에 텐서플로 설치





 윈도우 10에 텐서플로를 설치해서 머신 러닝 관련 개발을 진행할 순 있지만, 생각보다 여러 가지 문제가 발생할 수 있습니다. 저의 경우도 여러 번의 삽질을 겪고 난 후 의외로 단순한 문제로 설치가 되지 않았다는 사실을 깨달았습니다. 텐서플로 (CPU 버전)을 설치하기 위해서 아나콘다 프롬프트 및 주피터 노트북에 pip install tensorflow를 아무리 입력해도 설치가 되지 않아 아나콘다를 재설치하고 여러 가지 해봤으나 의외의 삽질로 인해 설치가 되지 않았던 것입니다. 





 이 문제를 해결하기 위해 우선 아나콘다 최신 버전을 설치한 후 아나콘다 프롬프트 (Anaconda prompt)를 윈도우 메뉴에서 찾아 작동시킵니다. 아나콘다 설치 및 R 설치는 앞서 포스트를 참조해 주십시요. 




 아나콘다 프롬프트에 pip install tensorflow 입력하기에 앞서 업데이트가 필요합니다. 

 conda update -n base conda 

 conda update --all


 위의 코드는 파이썬 및 패키지 업데이트 코드입니다. 업데이트가 이뤄지면 아래와 같은 화면이 나옵니다. 그리고 pip install tensorflow를 입력하면 CPU 버전의 텐서플로가 설치되기 시작합니다. 








ipython을 프롬프트 창에서 실행시켜 에러가 없으면 설치가 잘 진행된 것입니다. 마지막으로 import tensorflow as tf 했을 때 문제 없이 진행되면 마무리입니다. 


 상세한 설명은 아래 텐서플로 블로그에서 얻을 수 있습니다. 



 이 상태에서 텐서플로를 사용해도 되지만, R 스튜디오에서 R 개발 환경과 통합해서 사용할 수 있습니다. 데이터 분석에 있어 파이썬 이상으로 널리 사용되는 것이 R 언어인 만큼 R에서도 텐서플로를 사용할 수 있게 지원하고 있습니다. 다만 우선 파이썬을 설치하고 텐서플로 역시 설치된 상태여야 합니다. 참고로 윈도우 텐서플로는 무조건 파이썬 3.5 이상 버전만 지원하므로 2.7 같은 옛날 버전은 사용할 수 없습니다. 


 devtools 패키지를 설치한 상태에서 아래 코드로 설치할 수 있습니다. 


devtools::install_github("rstudio/tensorflow")
Sys.setenv(TENSORFLOW_PYTHON="/usr/bin/python")
library(tensorflow)


  그런데 실제로 해보니 계속해서 에러가 발생했습니다. 




> devtools::install_github("rstudio/tensorflow")
Downloading GitHub repo rstudio/tensorflow@master
Installing tensorflow
Downloading GitHub repo rstudio/reticulate@master
WARNING: Rtools is required to build R packages, but no version of Rtools compatible with R 3.4.3 was found. (Only the following incompatible version(s) of Rtools were found:3.5)

Please download and install Rtools 3.4 from http://cran.r-project.org/bin/windows/Rtools/.
Installing reticulate
"C:/PROGRA~1/R/R-34~1.3/bin/x64/R" --no-site-file --no-environ --no-save --no-restore --quiet CMD INSTALL  \
  "C:/Users/jjy05/AppData/Local/Temp/RtmpWYCTTj/devtools26c429394df8/rstudio-reticulate-8b5d928" --library="C:/Program Files/R/R-3.4.3/library" --install-tests 


 원인을 찾기 위해 한참 헤메다가 원인을 발견했습니다. R 3.4.3 버전에 맞는 Rtools 가 설치되지 않았던 것입니다. R 3.4에서는 Rtools 3.4 버전만 지원 가능하므로 Rtools 3.5를 제거한 후 3.4 버전을 설치하자 설치가 이뤄졌습니다. 정상 설치가 이뤄지면 tensorflow가 패키지 형태로 설치되면서 여러 가지 설치가 진행될 것입니다. 이후 아래 메세지가 나와야 정상입니다. 


> Sys.setenv(TENSORFLOW_PYTHON="/usr/bin/python")
> library(tensorflow)
 

 정상적으로 설치가 됐다면 아래 코드를 실행시켜 결과를 얻을 수 있을 것입니다. 

sess = tf$Session()
hello <- constant="" ello="" span="" tensorflow="" tf="">
sess$run(hello)


> sess = tf$Session()
> hello <- constant="" ello="" span="" tensorflow="" tf="">
> sess$run(hello)
b'Hello, TensorFlow!'

 TensorFlow for R에 대해서는 아래에서 정보를 얻을 수 있습니다. 


댓글 없음:

댓글 쓰기