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.13.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.13.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 패키지 버전을 맞춰 주서거나 설정을 변경해 주시면 됩니다.
자세한 텐서플로우 실행 오류 또는 경고와 관련해서는 다음 글을 참고해 주시기 바랍니다.

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

본문 내용 인용시에는 출처를 밝혀 주시기 바랍니다.