카테고리 보관물: News

TensorFlow 1.9 Release

텐서플로 1.9 버전이 릴리즈되었습니다. tf.keras가 케라스 2.1.6 버전 스펙으로 업데이트되었습니다. 텐서플로의 튜토리얼도 케라스 기반으로 바뀌었네요. 텐서플로는 pip 로 손쉽게 설치할 수 있습니다. PyPI에 파이썬 3.6 버전의 리눅스용 휠wheel이 빠져 있습니다. 깃허브에 이슈가 등록되었으니 하루, 이틀 정도면 추가될 것 같습니다. “핸즈온 머신러닝”의 주피터 노트북도 모두 텐서플로 1.9에서 테스트하고 바뀌는 내용을 안내해 드리겠습니다.

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

(업데이트) 파이썬 3.6 버전의 리눅스 휠이 추가되었습니다.

TensorFlow 1.9.0 RC0, Keras 2.2.0 Release

텐서플로 1.9.0 RC0 버전이 릴리즈되었습니다. tf.keras가 케라스 2.1.6 버전 API로 업데이트되었습니다. tf.layers 하위 클래스들이 tf.keras.layers를 상속하도록 변경되었습니다. 텐서플로의 고수준 API와 케라스 API가 공통 분모를 가지게 되었다는 점이 흥미롭습니다.

그 외에도 버그 수정과 기능의 변화가 많이 있습니다. 자세한 내용은 릴리즈 노트를 참고하세요.  1.9.0 RC0 버전은 pip 명령으로 간단히 설치할 수 있습니다.

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

(업데이트) 텐서플로 1.9.0 RC1 버전이 릴리즈되었습니다.
(업데이트) 텐서플로 1.9.0 RC2 버전이 릴리즈되었습니다.

케라스 2.2.0 버전이 릴리즈되었습니다. Model 클래스를 리팩토링한 것이 가장 큰 변화같습니다. ModelSequential 클래스의 상속관계를 직관적으로 만들었습니다. 이전 버전까지는 Sequential 클래스에서 Model 클래스의 객체를 만들어 model 속성에 저장했습니다. 이제는 Model 클래스의 단순 상속 클래스이기 때문에 평범한 파이썬 클래스처럼 Model 클래스의 메서드를 참조할 수 있습니다. Sequential 클래스의 model 속성은 deprecated 됩니다. 이런 변경 덕택에 나만의 모델 클래스를 쉽게 서브 클래스로 만들 수 있습니다.

또 하나의 변경 사항은 모델의 fit(), predict(), evaludate() 메서드의 입력값으로 텐서플로의 텐서를 넣을 수 있습니다. 물론 텐서플로 백엔드일 경우에만 가능합니다. make_one_shot_iterator() 메서드 등으로 tf.Iterator 객체를 만들어 주입할 수 있습니다.

자세한 내용은 릴리즈 노트를 참고하세요. 케라스는 pip로 간단하게 설치할 수 있습니다.

$ pip install keras

핸즈온 머신러닝 & 회오리 파이썬

핸즈온 머신러닝‘ 도서의 1장과 2장 전체 내용을 블로그에 올렸습니다. 2장은 머신러닝 프로젝트를 진행하는 단계를 자세하게 소개하고 있어 다른 책과 비교하여 재미있게 읽을 수 있습니다. 공개를 허락해 주신 한빛미디어에 감사드리며 좀 더 일찍 올리지 못해 죄송합니다. 🙂

Python Data Science Handbook의 저자 제이크 반더플라스Jake VanderPlas가 공개한 A Whirlwind Tour of Python의 주피터 노트북을 번역하여 블로그에 올렸습니다. 이 책은 프로그래밍 경험이 있는 사람이 파이썬을 빠르게 배울 수 있도록 안내하고 있습니다. 제 깃허브의 노트북Colab을 활용하면 직접 실습을 해 볼 수 있습니다. 재미있게 읽어 주세요! 🙂

[핸즈온 머신러닝] 업데이트 안내해 드립니다.

핸즈온 머신러닝” 도서의 수정 사항에 대해 안내해 드립니다. 최근 원서 깃허브에 여러가지 내용이 추가 되어서 이를 번역서 깃허브에 반영하였습니다. 본문 내용에 영향이 있는 것은 에러타로 등록하였습니다. 도서를 구매하셨다면 꼭 확인 부탁드립니다. 주요한 변경 사항은 다음과 같습니다.

  • 7장의 연습문제 8, 9번의 답이 추가되었습니다.
  • 16장의 연습문제 8번의 답이 추가되었습니다.
  • 2장 3장에 범주형 변수의 인코딩을 위해 OrdinalEncoder와 OneHotEncoder를 사용하는 예가 추가되었습니다(사이킷런 0.20에 추가될 예정인 CategoricalEncoder가 두 개의 클래스로 리팩토링되었습니다). 그리고 두 클래스를 future_encoders.py 로 분리했습니다.
  • 2장에 신뢰 구간을 구하는 예가 추가되었습니다.
  • 7장에 XGBoost 예가 추가되었습니다.
  • 10장에 tf.contrib.learn 외에 tf.estimator를 사용한 예가 추가되었습니다.
  • 12장에 tf.data 를 사용한 예가 추가되었습니다.
  • 16장에 넘파이 배열을 사용한 재현 메모리 구현 예가 추가되었습니다.
  • tf.examples.tutorials.mnist 가 deprecated 될 예정이므로 Keras에 포함된 MNIST 함수를 사용하도록 바꾸었습니다.
  • 텐서보드를 주피터 노트북에 표현하기 위해 추가했던 코드를 tensorflow_graph_in_jupyter.py 파일로 분리했습니다.
  • 9장에 있던 자동 미분 예를 extra_autodiff.ipynb로 분리했습니다. 이 노트북의 번역을 완료하여 업데이트했습니다.

아직 번역하지 못한 extra 노트북이 여러개 남아 있습니다. 꾸준히 작업하고 있으니 조금만 기다려 주세요. 감사합니다!

TensorFlow 1.8.0 Release

텐서플로 1.8.0 버전이 릴리즈되었습니다. 눈에 띄이는 것은 그래디언트 부스팅 모델(BoostedTreesClassifier, BoostedTreesRegressor)이 estimator 아래 추가되어 사용하기 편리해진 것입니다. ‘핸즈온 머신러닝‘을 출간하자마자 모든 노트북을 다시 실행해야겠네요. 🙂

자세한 변경 내용은 릴리즈 노트를 참고하세요. 이전과 마찬가지로 pip 명령으로 간단히 설치할 수 있습니다.

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

PyTorch 0.4.0 Release

파이토치PyTorch 0.4.0 버전이 릴리즈되었습니다. 많은 기능이 추가되고 개선되었다고 합니다. 그중에서도 눈에 띄이는 것은 텐서(Tensor)와 변수(Variable)를 하나로 합친 것과 checkpoint 컨테이너입니다. checkpoint 컨테이너를 사용해 모델을 나누어 만들면 메모리가 부족하여 정방향에서 계산한 값을 유지하지 못할 경우 역전파를 위해 가까운 체크포인트에서부터 정방향 패스의 중간 값들을 다시 계산합니다. 수행시간은 느려지겠지만 메모리가 작은 GPU를 사용하는 경우에는 아주 반가운 소식입니다! 또 한가지는 드디어 윈도우즈 지원이 됩니다! 다만 윈도우즈는 파이썬 3.5와 3.6 만을 지원합니다.

더 자세한 변경사항은 릴리즈 노트를 참고하세요. 설치할 때 conda 대신에 pip를 사용할 수도 있습니다. 윈도우즈에서 pip로 설치할 경우는 wheel 패키지 경로를 직접 지정해 주어야 합니다.

# macOS (no GPU)
$ conda install pytorch torchvision -c pytorch

# Linux CUDA 8.0
$ conda install pytorch torchvision -c pytorch
# Linux CUDA 9.0
$ conda install pytorch torchvision cuda90 -c pytorch
# Linux CUDA 9.1
$ conda install pytorch torchvision cuda91 -c pytorch
# Linux CPU
$ conda install pytorch-cpu torchvision -c pytorch

# Windows CUDA 8.0
$ conda install pytorch -c pytorch
# Windows CUDA 9.0
$ conda install pytorch cuda90 -c pytorch
# Windows CUDA 9.1
$ conda install pytorch cuda91 -c pytorch
# Windows CPU
$ conda install pytorch-cpu -c pytorch
# pip를 사용할 때 wheel 경로
# 파이썬 3.5, CUDA 8.0: http://download.pytorch.org/whl/cu80/torch-0.4.0-cp35-cp35m-win_amd64.whl
# 파이썬 3.5, CUDA 9.0: http://download.pytorch.org/whl/cu90/torch-0.4.0-cp35-cp35m-win_amd64.whl
# 파이썬 3.5, CUDA 9.1: http://download.pytorch.org/whl/cu91/torch-0.4.0-cp35-cp35m-win_amd64.whl
# 파이썬 3.5, CPU: http://download.pytorch.org/whl/cpu/torch-0.4.0-cp35-cp35m-win_amd64.whl
# 파이썬 3.6, CUDA 8.0: http://download.pytorch.org/whl/cu80/torch-0.4.0-cp36-cp36m-win_amd64.whl
# 파이썬 3.6, CUDA 9.0: http://download.pytorch.org/whl/cu90/torch-0.4.0-cp36-cp36m-win_amd64.whl
# 파이썬 3.6, CUDA 9.1: http://download.pytorch.org/whl/cu91/torch-0.4.0-cp36-cp36m-win_amd64.whl
# 파이썬 3.6, CPU: http://download.pytorch.org/whl/cpu/torch-0.4.0-cp36-cp36m-win_amd64.whl
# Windows 공통
$ pip3 install torchvision

Colab 팁: 깃허브 노트북 바로 열기!

일전에 구글이 공개한 주피터 노트북 환경인 Colab에 대해 포스팅했었습니다. Colab은 구글 드라이브에 있는 노트북(ipynb) 파일을 읽어서 실행하고 결과를 다시 구글 드라이브로 저장할 수 있어 교육 목적이나 간단한 실습용으로 유용합니다. 다만 요즘 공개된 자료는 대부분 깃허브에 올리기 때문에 Colab을 잘 쓰지 않았는데요. Colab이 깃허브와 연동되네요! 🙂

사용하는 방법은 nbviewer에서 깃허브의 노트북 파일을  지정하는 것과 매우 유사합니다. 깃허브에 있는 ‘파이썬 라이브러리를 활용한 머신러닝’ 노트북 하나를 선택하면 브라우저 주소는 다음과 같습니다.

https://github.com/rickiepark/introduction_to_ml_with_python/blob/master/01-introduction.ipynb

이 주소에서 https://github.com 을 github로 바꾸고 https://colab.research.google.com/ 뒤에 붙여 주면 됩니다.

https://colab.research.google.com/github/rickiepark/introduction_to_ml_with_python/blob/master/01-introduction.ipynb

그럼 다음 그림처럼 Colab에서 깃허브 노트북을 가져와 실행해 볼 수 있습니다. 정말 편하네요! 실행한 결과는 깃허브에 저장할 수도 있고 자신의 구글 드라이브에 따로 저장할 수 있습니다. 이제 아이패드에서도 주피터 노트북으로 코딩을 할 수 있겠어요! 🙂

스크린샷 2018-04-19 오전 11.56.27

‘핸즈온 머신러닝’이 출간되었습니다.

b9267655530_lHands-On Machine Learning with Scikit-Learn & TensorFlow의 번역서 ‘핸즈온 머신러닝‘이 출간되었습니다!

그 동안 이 작업을 하면서 많은 것을 배웠습니다. 모쪼록 다른 누군가에게도 도움이 된다면 다행입니다.

원래 번역서 제목이 ‘사이킷런과 텐서플로를 활용한 머신러닝, 딥러닝 실무’ 정도로 예상되었는데 출간 직전에 ‘핸즈온 머신러닝’으로 변경되었습니다. 개인적으로는 단순하고 평소에도 부르는 이름이라 만족입니다. 🙂 혹시 이 책에 관해 궁금한 점 있으면 언제든지 댓글이나 메일 주세요.

마지막으로 책을 만드는 데 도움을 주신 많은 분들께 다시 한번 감사드립니다.

(저자 오렐리앙도 아주 기뻐하네요. ㅎ)

TensorFlow 1.8.0 RC0 Release

텐서플로 1.8.0 RC0 버전이 릴리즈되었습니다. 1.7.0 버전이 나온지 보름만이네요. 자세한 변경 내용은 릴리즈 노트를 참고하세요. 이전과 마찬가지로 1.8.0 RC0 버전은 pip 명령으로 간단히 설치할 수 있습니다.

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

(업데이트) 1.8.0 RC1 버전이 릴리즈되었습니다.

TensorFlow 1.7.0 Release

텐서플로 1.7.0 버전이 릴리즈되었습니다. RC 버전에서 소개되었던 기능과 큰 변화는 없는 것 같습니다. tf.contrib.learn 하위의 모든 모듈들이 삭제될 예정입니다. 자세한 내용은 깃허브 문서를 참고하세요. 버전 1.7.0의 자세한 변경 내용은 릴리즈 노트를 참고하세요.

1.7.0 버전은 pip 명령으로 간단히 설치할 수 있습니다.

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