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

SciPy 2017

파이썬 과학 컴퓨팅 컨퍼런스인 SciPy 2017이 텍사스주 오스틴에서 지난 10~16일에 열렸습니다. 올해에도 풍성한 토크튜토리얼 동영상이 유투브에 공개되었습니다. 이 중에 눈에 띄는 몇 개를 골라 보았습니다.

이 외에도 다양한 주제에 대한 여러 동영상이 많이 올라와 있습니다. 전체 리스트를 확인해 보세요.

NYU 조경현 교수의 Intro. to ML 강의 노트

뉴욕 대학교의 조경현 교수가 머신러닝 커리큘럼인 Introduction to Machine Learning을 위해 작성한 강의 노트를 깃허브에 공개하였습니다. 이 강좌는 올 봄 뉴욕대학교의 학부생을 위해 열렸습니다. 강의 노트의 제목 ‘Brief Introduction to Machine Learning without Deep Learning’으로 알 수 있듯이 딥러닝을 제외한 머신러닝의 핵심을 담았습니다. 깃허브에는 파이썬 도구를 이용한 연습문제와 주피터 노트북, 숙제도 포함되어 있습니다! 또 블로그에서 강의 노트를 작성하게 된 경위와 참고할만한 자료도 같이 소개하고 있습니다. 이 강의 노트는 pdf 62 페이지로 탐독하기에 아주 적당한 것 같습니다. 🙂

홍대 머신러닝 스터디 모집합니다. ^^

홍대 근처에 머신러닝에 관심있는 사람들과 함께 공부할 수 있는 자그마한 스터디 모임을 만들려고 합니다. 이 모임의 첫 목표는 “파이썬 라이브러리를 활용한 머신러닝” 도서를 완주하는 것으로 삼았습니다. 참여에는 아무런 조건도 필요치 않습니다. 자세한 내용은 밋업 이벤트를 참고해 주세요. 🙂

Hongdae Machine Learning Study

Seoul, KR
5 Members

홍대 근처에서 머신러닝을 공부하는 모든 분들을 환영합니다. 이 스터디 그룹에서는 “파이썬 라이브러리를 활용한 머신러닝”(한빛미디어, 2017)을 완주하기 위해 자료를 준비하고 있습니다. 함께 공부하고 이야기를 나누고 싶은 모든 분들에게 열려 있습니다.자격 조건: 남녀노소 또는 LGBT, 한국어 능통. 지켜야할 …

Next Meetup

“파이썬 라이브러리를 활용한 머신러닝”의 1장 소개, 2장 지도 학습

Tuesday, Jul 25, 2017, 7:00 PM
1 Attending

Check out this Meetup Group →

 

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

TensorRT, NNabla, deeplearning.ai, CMU AI and Naver

NVIDIA가 딥러닝 인퍼런스inference 전용 라이브러리인 TensorRT 2를 공개하였습니다. TensorRT 1에서 제공했던 카페Caffe와 텐서플로TensorFlow까지 지원을 확대했습니다. 곧 TensorRT 3 버전도 선보일 거라는 군요. TensorRT는 데비안 패키지로 제공되며 NVIDIA 개발자 계정이 있으면 다운받을 수 있습니다. 조금 더 자세한 내용은 릴리즈 노트를 참고하세요.

소니Sony(네 우리가 아는 소니가 맞습니다:)가 오픈소스 뉴럴 네트워크 라이브러리 NNabla를 공개했습니다. @.@ 여러 사람들이 당황하는 것을 보아서는 확실히 의외인 것 같습니다. NNabla는 파이토치PyTorch나 다이넷DyNet처럼 다이나믹 컴퓨테이션 그래프를 지원하며 준수한 API를 가지고 있다고 회자되고 있습니다. NNabla가 쟁쟁한  공룡들 사이에서 얼마나 자리를 잡을지 궁금합니다. 소스 코드는 깃허브에서 볼 수 있습니다.

앤드류 응Andrew Ng이 바이두 리서치를 떠나서 Drive.ai에 합류했다는 소식입니다. Drive.ai는 앤드류의 부인이 하고 있는 자율 주행 관련 회사입니다. 앤드류가 바이두를 떠났을 때 여러 사람들이 Drive.ai에 합류할 것이라는 예상을 했었죠. 앤드류는 이와는 별개로 새로운 프로젝트 deeplearning.ai 를 런칭한다고 공개했습니다. 8월에 본 모습을 드러내겠지만 ‘Explore the frontier of AI’, ‘Hope will help many of you’ 와 같은 문구를 봐서는 조금 공익적인 프로젝트가 아닐까 내심 기대해 봅니다.

애플에 합류한 러슬랜 살라쿠디노프Ruslan Salakhutdinov 교수가 있는 카네기 멜론 대학이 응집력있는 연구를 위해 CMU AI를 설립한다고 발표했습니다. 토론토 대학, 몬트리올 대학, 스탠포드 대학 등 연구소도 경쟁인 것 같습니다.

그리고 네이버가 제록스 유럽 연구소를 인수했다는 뉴스도 있습니다. 부디 그들만의 리그가 되지 않기를 바랄 뿐입니다.

‘파이썬 라이브러리를 활용한 머신러닝’ 1, 2장

번역서 “파이썬 라이브러리를 활용한 머신러닝“의 1장과 2장의 내용을 담은 파이썬 머신러닝 페이지를 올렸습니다! 공개를 허락해 주신 한빛미디어에 다시 한번 감사의 말씀을 드립니다.

이 책의 1장과 2장은 지도 학습에 관련된 scikit-learn의 주요 클래스들을 다루고 있습니다. 여러 사람에게 유용한 자료가 되었으면 좋겠습니다. 최대한 출판된 책과 동일하게 포스트를 만들었는데 혹시 에러타가 있다면 언제든지 알려 주세요. 그럼 재미있게 읽어 주세요! 🙂

‘파이썬 라이브러리를 활용한 머신러닝’ 출간

b6119391002_lscikit-learn의 코어 개발자이자 배포 관리자인 안드레아스 뮐러Andreas Mueller와 매쉬어블의 데이터 과학자인 세라 가이도Sarah Guido가 쓴 ‘Introduction to Machine Learning with Python‘를 번역한 ‘파이썬 라이브러리를 활용한 머신러닝‘을 출간하였습니다.

출간 직전에 원서가 새로 릴리즈되어서 한바탕 소동을 벌이기는 등 이런 저런 일들이 오랜 작업 기간동안 생겼던 것 같습니다. 추운 겨울에 시작한 일을 한 여름이 되어서야 내놓게 되었네요. 책은 출간이 새로운 시작인 것 같습니다. 에러타나 궁금한 점 등 어떤 이야기도 괜찮습니다. 도서 페이지에 있는 양식을 통해 자유롭게 보내 주세요.

그리고 혹, 서점에 가시면 잘 보이는 곳으로 옮겨놔 주세요! 🙂

(업데이트) 번역서의 1장, 2장 전체를 블로그에 공개할 예정입니다. 공개를 허락해 주신 한빛미디어에 깊이 감사드립니다. 원고를 정리해서 올릴려면 1주일 정도 걸릴 것 같습니다. 😀

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

Urban Sound Classification Update

(업데이트)아래 훈련 세트와 테스트 세트를 사용하여 간단한 모델을 만들어 보았습니다. 훈련 데이터에서 62.8%(주피터 노트북 참고), 테스트 세트에서 56.5%(주피터 노트북 참고) 정확도를 얻었습니다. 나중에라도 구글 클라우드를 쓸 기회가 있으면 파라미터 탐색 범위를 늘려서 한번 시도해 보겠습니다. ^^

(업데이트)이 글에서 작업한 훈련 세트와 테스트 세트의 분류가 잘못되었습니다. 테스트 세트와 훈련 세트가 같은 소리의 샘플을 가지고 있습니다(문제점을 찾아주신 최근우님께 감사드립니다). 예를 들면 한 강아지로 부터 몇 개의 소리가 녹음되어 있습니다. 이런 경우에 이 소리가 훈련 세트와 테스트 세트로 나뉘어져 들어가면 정확한 추정이 되지 못합니다. 새로운 데이터는 완전히 새로운 강아지의 목소리일 것이기 때문입니다. 이와 비슷한 경우의 예로는 의료 영상 같은 분야입니다. 한 환자의 영상이 테스트 세트에 섞여 들어가면 과도하게 낙관적인 추정을 얻게됩니다. UrbanSound8K의 사운드 추출 데이터를 레이블이 섞어지 않도록 scikit-learn의 GroupShuffleSplit를 사용하여 훈련 세트와 테스트 세트로 나누어 깃허브에 올려 놓았습니다. 이 데이터셋으로 도전해 보도록 하겠습니다. 🙂

UrbanSound8K 데이터를 이용해 10가지의 소리를 분류하는 Urban Sound Classification의 코드를 텐서플로우 1.1 버전에 맞추어 업데이트했습니다. 이전과 달라진 점은 레이어의 노드를 증가시켰고, 텐서플로우의 매트릭스 연산자를 사용하지 않고 조금 더 상위 API인 dense, softmax_cross_entropy_with_logits 등을 사용한 것과 기본적인 경사 하강법 말고 0.0001의 학습속도로 Adam 옵티마이저를 사용한 점 등입니다. 여러번 하이퍼파라미터 튜닝을 하기 위해 특성 데이터를 훈련용과 테스트용으로 나누어 놓고 작업을 시작했습니다.

urban_sound_train

훈련은 Urban Sound Classification-Train.ipynb 파일에, 테스트는 Urban Sound Classification-Test.ipynb 에 있습니다. 학습 결과는 훈련 데이터에서 92.6%, 테스트 데이터에서 92.8% 입니다. 결과를 보아서는 확실히 언더피팅 상태로 보입니다. 훈련 데이터에서 조금 더 성능을 끌어올릴 여지가 있을 것 같지만 다른 일들 때문에 여기서 일단 멈추었습니다. 나누어진 훈련 데이터와 학습된 파라미터는 깃허브에서 볼 수 있습니다.