TensorFlow 1.1.0 RC2 and Imperative Style

텐서플로우 1.1.0 버전의 RC2 가 릴리즈 되었습니다. 1.1.0 RC2 의 CPU, GPU 버전이 PYPI에 등록되어 있으므로 pip 명령으로 간단하게 설치할 수 있습니다. 텐서플로우 바이너리는 64bit 용이며 윈도우즈(파이썬 3.5)를 제외하고는 대부분의 파이썬 버전을 지원합니다. 만약 안정적인 버전의 텐서플로우를 설치하시려면 tensorflow==1.0.1 와 같이 텐서플로우 패키지 이름 뒤에 버전을 명시하면 됩니다.

$ pip install --upgrade tensorflow

$ pip install --upgrade tensorflow-gpu

텐서플로우 1.1.0 버전의 릴리즈 노트에는 없지만 contrib 폴더에 텐서플로우의 명령형(imperative) 스타일을 지원하는 라이브러리가 추가되어 있습니다. 요즘 많은 관심을 끌고 있는 파이토치(PyTorch)나 MXNet 등을 의식한 것일까요? 선언적(declarative)인 계산 그래프의 생성이 수면 아래로 내려가 샘플 코드를 보면 깔끔해진 것을 볼 수 있습니다.

import tensorflow.contrib.imperative as tf
x = tf.Variable(np.random.normal(size=[2, 2]), dtype=tf.float32)
y = tf.constant([[1, 2.]])
z = tf.matmul(y, x)
print(z)
array([[-1.231673  ,  3.14744973]], dtype=float32)

NumPy 사용하듯 텐서 계산을 할 수 있고 파이썬의 while, for, if 문을 사용해 계산 그래프를 만들 수 있습니다. 단점은 기본 텐서플로우보다 속도가 느려진다는 것과 모델을 훈련 시킬때 파이썬 반복문에 의해 그래프가 계속 자라나지 않도록 tf.step() 을 사용해야 합니다. 조금 더 자세한 예제는 깃허브를 참고하세요.

답글 남기기

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

WordPress.com 로고

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

Facebook 사진

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

%s에 연결하는 중

This site uses Akismet to reduce spam. Learn how your comment data is processed.