글쓴이 보관물: 박해선

GDE Summit + TensorFlow World를 다녀와서

올해 봄 ML GDE가 되고 나서 처음 구글 행사에 초청을 받아 다녀왔습니다. GDE 서밋은 전 세계 GDE(Google Developer Expert)를 초청하는 행사입니다. 웹, 안드로이드, 클라우드, 머신러닝 등 다양한 분야에서 많은 GDE들이 활동하고 있습니다.

GDE는 구글을 대표하거나 구글 제품의 홍보 대사가 아닙니다. 각 분야에서 구글 제품을 사용하는 개발자들을 돕고 구글 제품에 대해 다양한 의견을 제시하는 봉사자이자 전문가 집단입니다. 구글은 GDE의 활동을 지원하고 개인의 역량을 높일 수 있도록 돕고 있습니다.

IMG_0963.JPG

이 중에서도 머신러닝 GDE들의 숫자가 가장 크게 늘어나고 있습니다. 머신러닝 분야 자체가 성장하고 있기도 하지만 머신러닝 GDE들이 정말 활발히 활동하는 것 같습니다. 다른 분야와 다르게 컴퓨터 과학 뿐만 아니라 다양한 이력을 가진 GDE들이 많았습니다. 분야별 토론에서도 머신러닝 GDE들은 끝까지(!) 가장 활발하게 토론을 이어갔습니다. 때로는 날카로운 비판도 서슴치 않았습니다.

하지만 단지 비판이나 의견 제시에 끝나지 않습니다. 세부 토론을 거쳐 그 자리에서 개발자들을 도울 수 있는 아이디어를 내고 스스로 조직화할 계획을 세웠습니다. 놀랍지 않은가요? 이 자리에 참여할 수 있다는 것만으로도 정말 큰 영광입니다. 혹시 여러분이 구글러로부터 GDE를 해보라고 추천받는다면 두 번 생각할 것도 없습니다. IT 분야에서 가장 멋진 경험을 시작할 수 있는 기회가 생긴 것입니다. 🙂

올해 처음 열린 TensorFlow World 컨퍼런스는 오라일리가 주관하는 행사입니다. 이 컨퍼런스는 GDE 서밋이 끝나고 바로 다음날 이어서 서니베일 근처의 호텔에서 진행되었습니다. 감사하게도 일부 머신러닝 GDE들에게 컨퍼런스를 참여할 수 있는 기회가 제공되었습니다.

IMG_0922.jpg

텐서플로 월드에서 많은 세션이 열렸습니다. 머신러닝 파이프라인을 위한 TensorFlow Extended(TFX), 웹 브라우저 기반의 머신러닝 작업을 위한 TensorFlow.js, 안드로이드는 물론 아두이노와 IoT 기기를 위한 TensorFlow Lite에 대한 내용이 많았습니다. 앞으로 많은 스토리가 등장할 분야임에 틀림없는 것 같습니다. 텐서플로 월드에서 열린 일부 세션은 유튜브에서 볼 수 있습니다.

텐서플로 월드는 총 4일 동안 진행되었습니다. 1,2일차에는 교육, 튜토리얼, 컨트리뷰터 서밋이 열렸습니다. 저는 TensorFlow.js, Swift for TensorFlow 튜토리얼과 컨트리뷰터 서밋에 참가했습니다. 튜토리얼은 오전, 오후에 각 3시간씩 진행되었습니다. TensorFlow.js 튜토리얼은 단순히 코드랩을 따라하는 형식으로 진행되었기 때문에 아쉬웠습니다. Swift for TensorFlow는 스위프트 언어 자체와 텐서플로를 모두 다루어야 했기 때문에 시간이 절대적으로 부족했습니다.

텐서플로 문서 번역에 기여한 기회로 텐서플로 컨트리뷰터 서밋에도 참여했습니다. 다양한 SIG 그룹에 대해 자세히 알 수 있었습니다. 또 텐서플로 문서 관리자인 빌리와도 반갑게 인사를 나누고 인증샷을 찍었죠(생각보다 훨씬 키가 크더군요)!

IMG_1027.JPG

컨트리뷰터 서밋에서 “I contribute to TensorFlow” 배지를 나누어 주어서 백팩에 자랑스럽게 붙였습니다. 돌아오는 비행기에서 짐을 넣을 자리가 부족해 승무원이 옆 자리 칸에 올려 주었는데 나중에 확인해 보니 검은 배지가 사라졌습니다! ㅠ.ㅠ 아마도 공간이 부족해서 가방을 밀어 넣다 보니 떨어져서 어딘가에 굴러다닐 것으로 생각되었습니다. 찾지 못하면 너무 아쉬울 것 같았습니다.

도착 몇 시간을 남겨 놓고 승객들이 모두 내리면 같이 찾아보자고 승무원에게 부탁했습니다. 그런데 한 승무원이 바닥에 떨어진 배지를 본 것 같다며 주위 바닥을 모두 샅샅이 뒤져서 찾아 주었습니다! 정말 어찌나 고맙던지요!

IMG_5552.JPG

몸은 피곤했지만 (집에 와서 14시간을 잤습니다 @.@) 정말 큰 동기부여를 얻은 좋은 기회였습니다. 같이 참석했던 다른 GDE들을 보면서 부족함을 많이 느꼈습니다. 그렇다고 너무 주눅들거나 겁낼 필요는 없습니다. 항상 발전해 가는 과정 자체가 즐거움이니까요! 😀

‘미술관에 GAN 딥러닝’이 출간되었습니다!

x9791162241080

데이비드 포스터David Foster가 쓴 아마존 베스트셀러 ‘Generative Deep Learning’를 번역한 ‘미술관에 GAN 딥러닝‘이 출간되었습니다.

이 책은 생성 모델링 분야에서 주목받는 최신 딥러닝 기술을 소개합니다. 이 책에 담긴 예제를 만들어 보면서 작동 원리를 터득할 수 있습니다. 특히 짧은 우화를 사용하여 어렵게 느껴질 수 있는 알고리즘을 쉽고 재미있게 설명해 줍니다. 저자의 스토리텔링 기술이 정말 탁월합니다.

이 책이 다루고 있는 모델은 오토인코더, 변이형 오토인코더, DCGAN, WGAN, WGAN-GP, Cycle GAN, Neural Style Transfer, LSTM, Encode-Decoder 모델, 질문-대답 생성기, MuseGAN, World Model, Transformer 등입니다. 이 책과 함께 흥미로운 생성 모델의 세계로 탐험을 떠나 보시죠! 🙂

온라인 서점에서 예약 판매중입니다! [교보문고] [Yes24]

감사합니다!!!

GDE Summit 2019

올해 구글 Machine Learning GDE가 된 후 처음으로 초청을 받아 GDE Summit에 참가했습니다. 처음이라 모든게 낯설지만 고참(!)들의 귀뜸으로 무사히 하루를 보냈습니다. 샌프란시스코의 날씨는 확실히 화창하고 맑습니다. 먼거리를 이동한터라 초저녁만 되면 졸음이 쏟아지네요. 졸음을 참고 몇 글자 남깁니다.

전 세계에서 400명이 넘는 GDE가 모였습니다. 한국에서도 다섯 분이 참여하셨습니다. 그 중에 머신러닝 GDE는 두 명입니다. 다른 분들은 여러 사정상 함께하지 못해 아쉬웠습니다.

IMG_0883

GDE 행사의 세세한 내용은 규정상 자세히 언급할 수 없어서 아쉽습니다. 키노트를 마치고 각 기술 분야별 세션이 이어졌습니다. 핸즈온 머신러닝의 저자 오렐리앙 제롱도 싱가폴 머신러닝 GDE로 참석했습니다. 처음 만났지만 그동안 주고 받은 이메일 때문인지 익숙하게 인사를 나누었습니다. 온라인에서와 마찬가지로 보자마자 인보이스(?) 보내라고 다그치네요. ㅎㅎ

그리고 인증샷! GDE Summit에서도 오렐리앙은 당연 인싸 중 한명이었습니다! 🙂

IMG_4740

제가 들고 있는 책은 핸즈온 머신러닝의 2판입니다. 기대해 주세요! 😀

TensorFlow 1.15.0 Release, Keras 2.3.1 Release

TensorFlow 1.15.0 버전이 릴리스되었습니다. 알려진 것처럼 1.15.0 버전은 텐서플로의 마지막 1.x 버전입니다. 1.15.0 버전부터 tensorflow 패키지가 CPU와 GPU를 모두 지원합니다. 시스템에 GPU가 장착되어 있으면 기본적으로 GPU 모드로 작동합니다. 다운로드 크기 때문에 CPU 버전으로 설치하려면 tensorflow-cpu 패키지를 설치하세요. tensorflow-gpu 패키지도 아직 제공합니다.

# for CPU and GPU
$ pip install --upgrade tensorflow==1.15.0
# only GPU
$ pip install --upgrade tensorflow-gpu==1.15.0
# only CPU
$ pip install --upgrade tensorflow-cpu==1.15.0

텐서플로 1.15.0 버전은 compat.v2 모듈 아래 텐서플로 2.0 기능을 완전히 구현하였습니다. 1.x 기능은 compat.v1 모듈로 참조할 수 있습니다. 1.x와 2.0 버전 변화에 따른 영향을 최소화하려면 두 모듈을 사용하여 코드를 만드세요. 케라스 모델의 save() 메서드의 기본 저장 포맷이 텐서플로의 SavedModel 포맷으로 바뀌었습니다. 또 케라스 층에서 float32가 기본이 됩니다.

또 케라스 2.3.0 버전의 버그를 수정한 2.3.1 버전이 릴리스되었습니다.

TensorFlow 2.0.0 Release!!!

텐서플로 2.0이 릴리스되었습니다! 예상보다 정식  버전이 빨리 나왔네요. 텐서플로 2.0에 대한 소개는 이펙티브 텐서플로 2.0릴리스 노트를 참고하세요.

텐서플로 2.0 버전은 pip 명령으로 설치할 수 있습니다.

# for cpu
$pip install --upgrade tensorflow
# for gpu
$pip install --upgrade tensorflow-gpu

코랩(Colab)은 아직 1.14.0 버전입니다. 🙂

“Do it! 딥러닝”이 출간되었습니다.

공지: 홍대 머신러닝 스터디에서 <Do it! 딥러닝 입문> 스터디를 진행합니다! 

x9791163031093Do it! 딥러닝 입문“이 출간되었습니다! 이 책은 번역서가 아니라 제가 직접 쓴 책입니다! 🙂

알고리즘 공식을 유도하고 직접 파이썬으로 구현해 보면서 딥러닝에 숨겨진 실체를 흥미진진하게 파헤칩니다. 또 텐서플로를 사용해 실전 딥러닝 구현 감각을 익히도록 돕습니다. 좋은 출판사의 도움을 받아 훌륭한 일러스트와 알찬 내용으로 꾸몄습니다. 딥러닝을 어떻게 시작할지 막막하다면 이 책을 자신있게 권해드립니다.

온라인/오프라인 서점에서 판매중입니다. [교보문고] [Yes24]

감사합니다!!! 🙂

Keras 2.3.0 Release

케라스 2.3.0 버전이 릴리스되었습니다. 케라스 2.3.0은 텐서플로 2.0 버전을 지원합니다. 하지만 아직 즉시 실행(eager execution)은 지원하지 않습니다. 이 기능이 필요하면 tf.keras를 사용하세요. 2.3.x 버전이 멀티 백엔드를 지원하는 마지막 케라스 구현입니다. 대신 tf.keras를 사용하세요.

케라스는 pip 명령으로 설치할 수 있습니다.

$ pip install --upgrade keras

TensorFlow 1.15.0 RC0, 2.0.0 RC1 Release

TensorFlow 1.15.0 RC0 버전이 릴리스되었습니다. 알려진 것처럼 1.15.0 버전은 텐서플로의 마지막 1.x 버전입니다. 1.15.0 버전부터 tensorflow 패키지가 CPU와 GPU를 모두 지원합니다. 시스템에 GPU가 장착되어 있으면 기본적으로 GPU 모드로 작동합니다. 다운로드 크기 때문에 CPU 버전으로 설치하려면 tensorflow-cpu 패키지를 설치하세요. 하지만 아직 tensorflow-gpu 패키지도 제공합니다.

# for CPU and GPU
$ pip install --upgrade tensorflow==1.15.0rc0
# only GPU
$ pip install --upgrade tensorflow-gpu==1.15.0rc0
# only CPU
$ pip install --upgrade tensorflow-cpu==1.15.0rc0

텐서플로 1.15.0 버전은 compat.v2 모듈 아래 텐서플로 2.0 기능을 완전히 구현하였습니다. 1.x 기능은 compat.v1 모듈로 참조할 수 있습니다. 1.x와 2.0 버전 변화에 따른 영향을 최소화하려면 두 모듈을 사용하여 코드를 만드세요.

TensorFlow 2.0.0 RC1 버전이 릴리스되었습니다. 10월 텐서플로 월드 전에 정식 버전이 릴리스될 것 같습니다. 제가 텐서플로 월드에 직접 참석합니다. TensorFlow Lite, Swift for TensorFlow 튜토리얼과 재미있는 여러 세션을 들을 예정입니다. 인증샷과 함께 도움되는 후기를 올리겠습니다. 🙂

텐서플로 2.0 RC1 버전도 pip 명령으로 설치할 수 있습니다.

# for CPU
$ pip install --upgrade tensorflow==2.0.0rc1
# for GPU
$ pip install --upgrade tensorflow-gpu==2.0.0rc1

(업데이트) TensorFlow 1.15.0 RC1이 릴리스되었습니다.

(업데이트) TensorFlow 1.15.0 RC2가 릴리스되었습니다.

(업데이트) TensorFlow 2.0.0 RC2가 릴리스되었습니다.

TensorFlow 2.0.0 RC0 Release

드디어 텐서플로 2.0의 Release Candidate가 나왔습니다. 혹시 10월에 열리는 텐서플로 월드에서 정식 버전이 릴리스되지 않을까 기대해 봅니다. 텐서플로 2.0에 대한 소개는 이펙티브 텐서플로 2.0릴리스 노트를 참고하세요.

텐서플로 2.0 RC0 버전은 pip 명령으로 설치할 수 있습니다.

# for cpu
$pip install --upgrade tensorflow=2.0.0rc0
# for gpu
$pip install --upgrade tensorflow-gpu=2.0.0rc0

텐서플로 1.15.0 버전에서는 CPU 버전과 GPU 버전이 통합될 예정입니다. 설치시 다운로드 용량이 부담되는 경우에는 tensorflow-cpu 를 설치할 수 있습니다.

Keras 2.2.5 Release

케라스 2.2.5 버전이 릴리스되었습니다.

ResNet101, ResNet152를 비롯하여 새로운 애플리케이션이 많이 추가되었습니다. evaluatepredict 메서드에 콜백 함수를 사용할 수 있습니다. fit 메서드에 validation_freq 매개변수가 추가되었습니다. 에포크 마다 무조건 검증 세트에 대한 계산을 수행하지 않고 적절한 간격을 두고 계산할 수 있습니다. *_generator 메서드를 사용하는 대신 fit, evaluate, predict 메서드에 파이썬 제너레이터를 주입할 수 있습니다.

이번이 텐서플로 1.x를 지원하는 2.2.x의 마지막 릴리스입니다. 2.3 버전부터는 텐서플로 2.0을 지원합니다. 텐서플로 2.0을 지원하면서 많은 기능이 바뀌기 때문에 API가 바뀔 가능성이 높습니다. 케라스는 2.3 버전을 마지막으로 tf.keras로 완전 이전될 예정입니다.

텐서플로 1.15 버전이 릴리스될 예정입니다. enable_v2_behavior로 v2.0 기능을 활성화하면 케라스 2.3.0 스펙을 사용하고 그렇지 않으면 2.2.4 스펙을 사용합니다. 더불어 곧 텐서플로 2.0 RC 버전이 릴리스될 예정입니다. 혹시 텐서플로 월드에는 정식 버전이?? 🙂

더 자세한 내용은 릴리스 노트를 참고하세요. 케라스 2.2.5 버전은 pip 명령으로 설치할 수 있습니다.

$pip install --upgrade keras