월간 보관물: 2017 10월

New Jupyter Environment: Colaboratory

구글이 회사 내부에서 사용하고 있던 주피터 노트북의 커스텀 버전인 Colaboratory를 공개하였습니다. Colaboratory는 연구와 교육의 목적으로 개발되었다고 합니다. https://colab.research.google.com에 접속하면 샘플 노트북이 로드되는데요. 주피터 커널이 연결되어 있지 않은 상태입니다. 커널을 연결하기 위해서 권한을 요청하면 하루 정도 지나서 메일로 승인이 되었다는 안내를 받을 수 있습니다.

Colab에서 노트북을 생성한 후에 구글 드라이브에 저장을 할 수가 있습니다. 또한 구글 드라이브에서 새 문서 버튼을 통해 Colab 노트북을 직접 만들 수도 있습니다. 또 로컬 컴퓨터에 있는 주피터 노트북을 업로드해서 다른 사람과 공유할 수도 있습니다. 막다운markdown과 라텍LaTex도 물론 지원됩니다. 또 좀 더 편리한 텍스트 셀을 제공하고 있습니다.

스크린샷 2017-10-26 오전 11.40.12

Colab 노트북의 최대 크기는 20M까지입니다. Python 2.7만 지원하고 R이나 Scala는 아직 지원하고 있지 않습니다. 재미있는 것은 대부분의 파이썬의 과학 패키지는 최신 버전을 유지하고 있는데 텐서플로와 Scikit-Learn의 버전이 좀 뒤쳐져 있네요. 하지만 스터디나 튜토리얼 세션 등에는 유용하게 사용될 수 있을 것 같습니다. 🙂

스크린샷 2017-10-26 오전 10.58.27

New libraries: PlaidML & Coach

block_diagram

올해 4월 OpenCL 기반의 딥러닝 라이브러리를 개발하기 시작한 Vertex.AI에서 어제 Nvidia, AMD, Intel의 OpenGL 호환 GPU를 지원하는 PlaidML공개하였습니다. PlaidML은 단독으로 사용되기 보다는 케라스Keras의 백엔드backend로 고안되었습니다. 딥러닝 라이브러리 후발 주자이고 벤처 회사 입장에서 새로운 API를 전파하는 것보다 케라스의 백엔드가 더 나은 선택일지 모르겠습니다.  PlaidML은 현재 0.1 RC 버전으로 리눅스와 파이썬 2.x를 지원합니다. 하지만 앞으로 macOS, 윈도우즈Windows 운영체제를 지원한다고 합니다. 또 텐서플로TensorFlow와 파이토치PyTorch, 딥러닝4jdeeplearning4j와 호환되게 한다고 하는데 구체적으로 어떤 의미인지 확인되지 않았습니다. 아직까지는 CNN만을 지원하고 있고 곧 RNN도 추가될 예정입니다. PlaidML은 pip 명령으로 설치 가능합니다.

$ pip install plaidml plaidml-keras

PlaidML을 사용하는 간단한 예는 깃허브 README 파일을 참고하세요.

인텔 너바나NervanaNNP 발표가 채 잊혀지기도 전에 이번에는 새로운 강화학습 라이브러리 Coach발표하였습니다. Coach는 강화학습 분야의 여러 SOTA 알고리즘을 구현했으며  OpenAI Gym, RoboschoolViZDoom 환경을 지원합니다. 그리고 시각화와 디버깅을 위한 대시보드dashboard를 함께 제공합니다.

PlaidML와 Coach 모두 깃허브에 소스가 공개되어 있습니다. 요즘은 오픈소스 xxx를 발표했습니다란 말이 무색합니다. 오픈소스가 아니면 뭐하러 발표를 하냐는 말을 할 정도이니까요. 🙂

Intel Nervana Neural Network Processors(NNP)

intel-nervana-chip-2-showcase

인텔에서 인수한 너바나Nervana와 함께 새로운 딥러닝 칩을 연말에 공개한다고 발표하였습니다. 일명 너바나 뉴럴 네트워크 프로세서(NNP)입니다. 이 칩은 온전히 딥러닝을 위하여 고안되었으며 아직 어떤식으로 공개될지는 미지수입니다. 하지만 글의 마지막 코멘트로 미루어 보아 페이스북과 함께 협업을 하고 있는 것으로 보입니다. 그렇다면 파이토치PyTorch나 카페2Caffe2에서 이 칩을 지원하지 않을까 생각이 듭니다. 적절한 가격으로 좋은 성능을 낸다면 텐서플로에서 지원할지가 큰 화두가 될 것 같습니다.

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