카테고리 보관물: TensorFlow

TensorFlow 1.4.0 Release

텐서플로 1.4.0 버전이 정식 릴리즈되었습니다. 이번 버전에서 tf.keras와 tf.data가 코어 API로 들어왔습니다. 이제 대기하고 있던 케라스 책들이 슬슬 나오기 시작할 것 같네요. 🙂

1.4.0 버전에 관한 좀 더 자세한 내용은 릴리즈 노트를 참고해 주세요. 텐서플로는 다음과 같이 pip 명령으로 간단히 설치할 수 있습니다.

$ pip install --upgrade tensorflow
$ pip install --upgrade tensorflow-gpu

TensorFlow Eager Execution

오늘 다이나믹 그래프를 지원하는 텐서플로의 Eager Execution 기능이 소개되었습니다. 올해 초에 명령형imperative 스타일의 기능이 텐서플로에 추가되었습니다(TensorFlow 1.1.0 RC2 and Imperative Style). 다음 버전인 1.5.0에서 이 기능이 빠지고 새롭게 Eager Execution으로 추가되는 것 같습니다.

텐서플로의 텐서는 연산 노드를 가리키는 핸들과 같았습니다(TF의 텐서와 상수, 변수, 플레이스홀더). Eager Execution에서 텐서는 데이터를 직접 포인팅합니다. 그래서 tf.Session을 시작하지 않고 직접 값을 얻을 수 있습니다.

>>> import tensorflow.contrib.eager as tfe
>>> tfe.enable_eager_execution()
>>> c = tf.constant(1)
>>> c
<tf.Tensor: id=0, shape=(), dtype=int32, numpy=1>

텐서 c를 확인해 보면 numpy 속성이 생긴 것을 알 수 있습니다.

>>> c.numpy()
1
>>> type(c)
EagerTensor
>>> type(c.numpy())
numpy.int32

Eager Execution은 NumPy와 호환성을 크게 높인 것 같습니다. 계산 그래프의 생성과 실행 단계가 구분되지 않으므로 파이썬의 조건문으로 계산 그래프를 동적으로 조직할 수 있습니다. 이외에도 그래디언트 계산과 동적 모델에 관한 기능들이 많이 추가되었습니다.

Eager Execution은 한번 설정하면 취소할 수 없어서 파이썬 세션을 새로 시작해야 합니다. 또 tf.data와 tf.layers 밑의 클래스를 사용해야 합니다. 아직 파이토치PyTorch 만큼은 자유도가 높아 보이지는 않지만 점점 다른 프레임워크의 장점을 흡수하는 모습은 기대가 됩니다. 텐서플로에 비하면 파이토치 사용자가 극히 적을 텐데도 상당히 의식하는 것 같습니다. 🙂

… we’re looking for feedback from the community to guide our direction.

텐서플로의 종전 API가 그랬듯이 Eager Execution도 향후에 상당히 변화가 많이 있을 것으로 예상됩니다. 좀 더 자세한 내용은 깃허브의 가이드 문서예제를 참고하세요.

Eager Execution을 사용해 보려면 다음 명령으로 텐서플로의 Nightly 빌드를 설치하면 됩니다.

$ pip install tf-nightly
$ pip install tf-nightly-gpu

TensorFlow 1.4.0 RC0 Release

텐서플로 1.4.0 RC0 버전이 릴리즈되었습니다. 1.4.0 버전에서 tf.contrib.data가 tf.data로 바뀌면서 텐서플로 코어로 들어왔습니다. 좀 자세한 내용은 릴리즈 노트를 참고해 주세요.

$ pip install --upgrade --pre tensorflow

$ pip install --upgrade --pre tensorflow-gpu

또 이제부터는 nightly 빌드가 PyPI로 제공됩니다! 깃허브 소스를 직접 컴파일하지 않아도 최신 패치의 텐서플로를 사용해 볼 수 있습니다.

$ pip install --upgrade tf-nightly 
$ pip install --upgrade tf-nightly-gpu

TensorFlow 1.3.0 Release

텐서플로 1.3.0 버전이 릴리즈되었습니다. 1.3.0 버전에 대한 자세한 내용은 릴리즈 노트를 참고해 주세요. 1.4.0 버전부터는 cuDNN 7를 사용해 패키징될 예정입니다. 텐서플로 1.3.0 버전은 이미 PyPI에 등록되어 있어 pip 명령으로 간단하게 설치할 수 있습니다.(tensorflow-gpu에는 macOS 버전이 없습니다)

$ pip install --upgrade tensorflow

$ pip install --upgrade tensorflow-gpu

Andrew Ng launch New DL Courses!

바이두에서 나온 앤드류 응이 세가지 프로젝트를 진행한다고 합니다. 그 중에 먼저 첫 번째로 선을 보이는 것deeplearning.ai로 예고했던 코세라의 Deep Learning Specialization 코스입니다! 파이썬과 텐서플로를 사용하는 이 커리큘럼은 총 다섯개의 코스로 이루어져 있습니다.

  1. Neural Networks and Deep Learning
  2. Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization
  3. Structuring Machine Learning Projects
  4. Convolutional Neural Networks
  5. Sequence Models

작년부터 시작한 코세라의 구독 모델이 적용되는 specialization으로 월 $49를 내고 빠른 속도(!)로 주파를 하면 Certificate를 받을 수 있습니다. 돈을 내지 않고 청강을 할 수도 있는데요. 각 코스의 링크로 직접 들어가서 Enroll을 하면 팝업 화면 아래 조그맣게 쓰인 Audit 링크를 누르시면 됩니다. 자세히는 아직 모르지만 전체 커리큘럼의 수준은 intermediate 정도로 보입니다.

deeplearningai

눈에 익은 책상과 모니터네요! 🙂

TensorFlow 1.3.0 RC2 Release

텐서플로 1.3.0 RC2 버전이 릴리즈되었습니다. 1.3.0 버전에 대한 자세한 내용은 릴리즈 노트를 참고해 주세요. 1.3.0 정식 릴리즈가 가까워진 것 같습니다. RC2 버전은 PyPI에 등록되어 있어 pip 명령에서 --pre 옵션으로 간단하게 설치할 수 있습니다.(tensorflow-gpu에는 macOS 버전이 없습니다)

$ pip install --upgrade --pre tensorflow

$ pip install --upgrade --pre tensorflow-gpu

TensorFlow 1.3.0 RC1 Release

텐서플로 1.3.0 RC1 버전이 릴리즈되었습니다. 1.3.0 버전에 대한 자세한 내용은 릴리즈 노트를 참고해 주세요. RC1 버전은 아직 PyPI에 등록되어 있지 않아 직접 wheel 파일을 다운받아 설치해야 합니다. 운영체제와 파이썬 버전별 파일은 아래를 참고해 주세요.

TensorFlow 1.3.0 RC0 Release

텐서플로 1.3 RC0 버전이 릴리즈되었습니다. 많은 기능이 추가되고 개선되었습니다. 자세한 내용은 릴리즈 노트를 참고해 주세요. 텐서플로 RC 버전은 pip 명령에서 --pre 옵션으로 설치할 수 있습니다.

$ pip install --upgrade --pre tensorflow

$ pip install --upgrade --pre tensorflow-gpu

얼마전부터 아나콘다에도 텐서플로 패키지가 포함되었습니다. 아직 최신 버전은 아니지만 간격이 점차 좁아질 거라고 기대해 봅니다.

$ conda search tensorflow
Fetching package metadata .........
tensorflow    1.1.0    np112py36_0    defaults
              1.1.0    np112py27_0    defaults
              1.1.0    np112py35_0    defaults
$ conda search tensorflow-gpu
Fetching package metadata .........
tensorflow-gpu    1.1.0    np112py36_0    defaults
                  1.1.0    np112py27_0    defaults
                  1.1.0    np112py35_0    defaults
$ conda install tensorflow

TensorFlow 1.2.1 Release

텐서플로 1.2.1 버전이 릴리즈되었습니다. 이번 릴리즈는 주로 버그 수정입니다. 특히 드롭아웃 비율을 텐서로 지정할 때 생기는 버그를 수정하였습니다.

1.2.1 버전도 pip 명령으로 간단하게 설치할 수 있습니다.

$ pip install --upgrade tensorflow
$ pip install --upgrade tensorflow-gpu
  • macOS: Python 2.7, 3.3, 3.4, 3.5, 3.6
  • Linux: Python 2.7, 3.3, 3.4, 3.5, 3.6
  • Windows: Python 3.5, 3.6

TensorFlow 1.2.0 Release

텐서플로우 1.2.0 버전이 릴리즈되었습니다. 1.2.0 버전부터 윈도우즈에서 파이썬 3.6을 지원하고 conv3d_transpose API 가 추가되는 등 여러 변화가 있습니다. RNNCell과 관련된 변경사항은 이전 포스트를 참고해 주세요. 1.2.0 버전에 인텔의 MKL 라이브러리가 텐서플로우에 추가되었다는 소식입니다(일명 MKL-DNN). GPU 없이 CPU만으로 쓰는 경우 어느 정도 성능 향상이 될 것 같습니다. 1.2.0 버전 이후에는 cuDNN 6.0이 기본으로 채택됩니다.

그 외 자세한 내용은 텐서플로우의 릴리즈 노트를 참고해 주세요. 1.2.0 버전이 이미 PyPI에 등록되어 있기 때문에 pip 명령으로 간단하게 설치할 수 있습니다.

$ pip install --upgrade tensorflow

$ pip install --upgrade tensorflow-gpu
  • macOS: Python 2.7, 3.3, 3.4, 3.5, 3.6
  • Linux: Python 2.7, 3.3, 3.4, 3.5, 3.6
  • Windows: Python 3.5, 3.6