R에서 텐서플로우 설치 방법


R에서 텐서플로우 설치 방법
R에서 Tensorflow 패키지 설치 방법을 알려드리도록 하겠습니다. 독립적인 가상 실행환경인 virtualenv에서 Python 패키지등을 추가 설치하여 R에서 실행될 수 있도록 연동할 수 있는 방법을 함께 설명드립니다.

설치준비

R 기본 패키지가 설치되어 있다는 가정하에 설명드리도록 하겠습니다.
설명은 우분투를 기반으로 설명드리지만, 다른 환경에서도 크게 차이는 없을 것이라 생각됩니다.

R에서 사용되는 텐서플로우 패키지는 R 인터페이스를 통해서 텐서플로우의 Python API를 호출하는 방식입니다. 따라서 아래의 명령어로 Python 패키지들을 설치해 주시고 pip 를 업그레이드해 주시기 바랍니다.

$ sudo apt-get install python python-pip python-virtualenv
$ sudo pip install --upgrade pip

만약 시스템 영역이 아니고, 사용자 홈디렉터리에 텐서플로우 R패키지가 설치되도록 하기 위해서는 아래와 같이 먼저 설정해 주시기 바랍니다.

$ mkdir -p $HOME/R/lib
$ echo 'R_LIBS="'$HOME'/R/lib"' >>  $HOME/.Renviron

그리고 다음과 같은 내용의 R 스크립트 파일을 생성해서 실행해 주시면 R 텐서플로우 인터페이스 패키지가 설치되게 됩니다.

install.packages('tensorflow')

텐서플로우 설치

위의 단계에서 R의 텐서플로우 인터페이스 패키지가 설치되었으며, 실제 설치명령어를 실행하여 텐서플로우가 설치되도록 합니다.
아래와 같은 내용의 R 스크립트 파일을 생성한 뒤에 실행합니다.

library('tensorflow')
install_tensorflow()

만약 GPU를 지원하는 텐서플로우를 설치하고자하실 경우 다음과 같이 install_tensorflow()함수를 호출합니다.

install_tensorflow(version = "gpu")

그리고 특정 버전을 설치하실 경우 다음과 같이 version 값을 지정하면서 install_tensorflow() 함수를 호출 할 수 있습니다.

install_tensorflow(version = "1.14.0")

최신 안정화 버전이 이니고, 개발버전을 설치하고자 하실 경우 다음과 같이 version 값을 지정하면서 설치할 수도 있습니다.

install_tensorflow(version = "nightly")      # cpu version
install_tensorflow(version = "nightly-gpu")  # gpu version

만약 install_tensorflow() 함수로 텐서플로우 설치가 실패한다면 아래와 같이 환경을 만든다음 직접 텐서플로우 빌드 한다음 설치하실 수도 있습니다. 텐서플로우 소스코드 빌드 등의 설치방법은 다음글을 참고해 주시기 바랍니다.

$ mkdir ~/.virtualenvs
$ virtualenv ~/.virtualenvs/r-tensorflow
Running virtualenv with interpreter /usr/bin/python2
New python executable in /home/ubuntu/.virtualenvs/r-tensorflow/bin/python2
Also creating executable in /home/ubuntu/.virtualenvs/r-tensorflow/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.

텐서플로우 소스코드 빌드 방법

텐서플로우 실행환경

위의 내용에서 install_tensorflow() 함수를 호출하면 텐서플로우를 포함하여 기본 패키지 등이 설치됩니다.
virtualenv 이용하여 독립된 Python의 가상환경이 만들어지는데, 위치는 사용자 홈 디렉토리의 .virtualenvs/r-tensorflow 에 생성됩니다.

아래의 명령어로 독립된 Python 가상 환경에 접속하도록 하겠습니다.

$ . ~/.virtualenvs/r-tensorflow/bin/activate
(r-tensorflow) ubuntu@34af6eb46775:~$ 

위의 명령어를 실행하면 다음과 같이 r-tensorflow 환경에 접속이 됩니다. pip 명령어를 이용하여 필요한 추가 패키지를 설치 할 수 있습니다.

(r-tensorflow) ubuntu@34af6eb46775:~$ pip show tensorflow
Name: tensorflow
Version: 1.14.0
Summary: TensorFlow is an open source machine learning framework for everyone.
Home-page: https://www.tensorflow.org/
Author: Google Inc.
Author-email: opensource@google.com
License: Apache 2.0
Location: /home/ubuntu/.virtualenvs/r-tensorflow/lib/python2.7/site-packages
Requires: grpcio, mock, protobuf, gast, wheel, absl-py, backports.weakref, termcolor, six, enum34, numpy, tensorboard, setuptools, astor
Required-by: 

virtualenv 환경에서 빠져 나가기 위해서는 아래와 같이 deactivate 명령어를 실행하면 됩니다.

(r-tensorflow) ubuntu@34af6eb46775:~$ deactivate

텐서플로우 예제

다음과 같은 내용의 텐서플로우 실행 예제를 작성합니다.

library(tensorflow)

sess <- tf$Session()

hello <- tf$constant('Hello, TensorFlow!')
sess$run(hello)

그리고 위의 파일을 실행한 결과는 아래와 같습니다.

$ Rscript tensorflow.R 
[1] "Hello, TensorFlow!"

텐서플로우를 실행시 오류 또는 경고가 나타날 경우, 위의 텐서플로우의 실행환경에 접속 후 Python 패키지 버전을 맞춰 주서거나 설정을 변경해 주시면 됩니다.
자세한 텐서플로우 실행 오류 또는 경고와 관련해서는 다음 글을 참고해 주시기 바랍니다.

텐서플로우 실행 오류 경고 해결 방법

( 본문 인용시 출처를 밝혀 주시면 감사하겠습니다.)