카테고리 보관물: TensorFlow

“핸즈온 머신러닝” 주피터 노트북 업데이트 안내

핸즈온 머신러닝“의 3장, 11장 주피터 노트북이 조금 업데이트되었습니다.

  • 3장: 연습문제 3번의 답에 서포트 벡터 머신과 랜덤 포레스트의 결과를 박스 플롯(boxplot)으로 비교하는 셀이 추가되었습니다. 다음 스샷을 참고해 주세요.

  • 11장: SELU 활성화 함수에 대한 설명이 보강되었습니다. 다음 스샷을 참고해 주세요.


감사합니다! 🙂

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 버전이 릴리즈되었습니다.

케라스 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

New Coursera Specialization with Google

코세라Coursera에 새로운 전문 과정 Machine Learning with TensorFlow on Google Cloud Platform이 개설되었습니다. 이름에서 알 수 있듯이 구글과 함께 제작한 것 같습니다. 총 다섯 개의 강좌로 이루어져 있으며 구글 클라우드와 텐서플로에 촛점이 맞추어진 머신러닝 강좌입니다. 이상한 것은 개별 강좌에 무료 옵션(Audit)이 없다는 점입니다. 앞으로 모든 전문 과정이 이렇게 되는 것인지는 모르겠지만 상당히 아쉽네요. 😦 시도해 볼 수 있는 것은 7일 무료 체험이고 그 이후에는 한달에 $49를 지불해야 합니다.

앤드류 응 박사가 만든 deeplearning.ai 코스는 개별 강좌로 계속 무료 수강이 가능합니다. 혹시 영어가 부담이 되신다면 반가운 소식이 하나 있습니다.  edwith에서 카이스트 대학 자원봉사 학생들과 함께 이 강좌의 자막을 번역하고 있습니다! 저도 숟가락 얹고 있는데요. 아마 뜨거운 여름이 되면 edwith에서 만나 보실 수 있을 것 같습니다. 당연히 무료입니다. 🙂

(업데이트) Machine Learning with TensorFlow on Google Cloud 전문과정 중에 첫 번째 강의인 ‘How Google does Machine Learning‘는 무료로 수강이 가능합니다. 강의 등록 버튼을 누르고 중간에 조그만 글씨의 ‘무료 감사’ 링크를 선택하시면 됩니다. 다른 강의도 무료로 제공될지는 아직 확실하지 않네요. 이 정보는 skshin 님이 알려 주셨습니다.

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

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

  • 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

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

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

TensorFlow 1.7.0 RC0 Release

텐서플로 1.7.0 RC0 버전이 릴리즈되었습니다. 정말 빠르네요. 🙂

eager execution이 contrib에서 메인으로 올라왔고 custom_gradient, regex_replace와 같은 새로운 기능이 추가되었습니다. sqlite 데이터베이스에서 데이터를 읽을 수 있고 텐서보드 디버거 플러그인도 함께 포함되는 등 많은 기능이 추가되고 여러 버그가 수정되었네요. 조금 더 자세한 내용은 릴리즈 노트를 참고해 주세요. 1.7.0 RC0 버전은 다음과 같이 pip 명령으로 설치할 수 있습니다.

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

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

TensorFlow 1.6.0 Release

텐서플로 1.6.0 버전이 릴리즈되었습니다. 1.5.0 버전과 마찬가지로 pip로 설치되는 패키지는 CUDA 9, cuDNN 7에서 컴파일되었습니다. 업그레이드하기 전에 CUDA와 cuDNN을 확인해 주세요. 이전 버전에서 안내했던 것처럼 1.6.0 버전 부터는 CPU의 고급 명령을 활용하도록 컴파일 되어 있습니다. AVX 같은 명령을 지원하므로 조금 성능이 나아질 것으로 기대됩니다(아주 오래된 컴퓨터를 사용한다면 업그레이드에 주의하세요).

pip 명령으로 쉽게 설치 가능합니다.

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

제 맥북(2014년형)에서 1.5.0 버전과 1.6.0 버전의 고급 CPU 명령에 관한 경고를 비교해 보았습니다. 아직 AVX2, FMA는 지원하지 않네요. 🙂

스크린샷 2018-03-02 오전 11.31.22

1.5.0 버전

스크린샷 2018-03-02 오전 11.31.03

1.6.0 버전