TensorFlow 0.8 – Distributed!

오늘 구글은 텐서플로우의 0.8 버전 업데이트를 발표하였습니다. 이번 버전은 그 동안 텐서플로우의 단점으로 지적되어왔던 분산(distributed) 처리 기능을 추가한 것 입니다. 이전 포스트에서 미국 에너지부의 산하 연구기관인 PNNL에서도 텐서플로우의 분산처리 버전을 공개할 것이라고 발표했었는데 구글의 이번 발표로 기대감이 좀 줄어들게 되었습니다.

아래 그래프는 GPU 갯수를 늘려 분산처리를 했을 때 속도 향상에 대한 그래프입니다. PNNL에서 발표한 자료에서도 분산 처리를 한 만큼 선형적으로 성능이 향상되지는 않았습니다. 텐서플로우 0.8 버전에서도 GPU 코어수가 늘어남에 따라 대략 50% 정도 성능 향상에 수렴하는 것으로 보입니다.

image00

분산 처리를 위해 PNNL은 MPI(메세지 패싱 인터페이스)를 사용했다고 했는데 구글은 gRPC를 이용했다고 합니다. 그 외 눈에 띌만한 변경사항으로는 랜덤 포레스트(Random Forest) 알고리즘이 추가되었고 분리되어 개발되던 skflow가 텐서플로우 레파지토리 안으로 들어왔습니다. 따라서 skflow를 사용하시려면 Python의 import 문이 조금 바뀌게 됩니다.

from tensorflow.contrib.learn.python import learn

0.8 버전을 이용하여 텐서플로우 튜토리얼을 업데이트 하도록 하겠습니다.

텐서플로우 0.8 버전을 설치하시려면 파이썬 패키지 매니저인 pip 를 통해 손쉽게 업그레이드 하실 수 있습니다.

# for Linux
# Python 2.x and GPU
$ pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.8.0rc0-cp27-none-linux_x86_64.whl
# Python 2.x and CPU
$ pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0rc0-cp27-none-linux_x86_64.whl
# Python 3.x and GPU
$ pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.8.0rc0-cp34-cp34m-linux_x86_64.whl
# Python 3.x and CPU
$ pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0rc0-cp34-cp34m-linux_x86_64.whl

# for Mac
# Python 2.x
$ pip install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.8.0rc0-py2-none-any.whl
# Python 3.x
$ pip install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.8.0rc0-py3-none-any.whl

그외 주요 변경 사항은 아래 페이지에서 참고하실 수 있습니다.

https://github.com/tensorflow/tensorflow/releases/tag/v0.8.0rc0

(추가) 업그레이드가 아니고 텐서플로우를 처음 설치하시는 경우에는 pip 명령에서 ‘–upgrade’ 옵션을 빼셔야 합니다.

TensorFlow 0.8 – Distributed!”에 대한 2개의 생각

  1. 핑백: 텐서플로우 튜토리얼 – 1 | 텐서플로우 코리아 (TensorFlow Korea)

  2. 핑백: The Good, Bad & Ugly of TensorFlow | 텐서플로우 코리아 (TensorFlow Korea)

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중