추천 글

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

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

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

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

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

감사합니다!!! 🙂

추천 글

“파이썬을 활용한 머신러닝 쿡북”이 출간되었습니다!

x9791162241950크리스 알본의 ‘Machine Learning with Python Cookbook’을 번역한 <파이썬을 활용한 머신러닝 쿡북>이 출간되었습니다. 200개의 레시피에 머신러닝 작업에 필요한 핵심을 잘 담아 놓았습니다.

508페이지 로 뽑아 주신 한빛미디어 출판사에 감사드립니다. 온라인/오프라인 서점(교보문고, Yes24)에서 판매 중입니다. 절판되기 전에 어서 주문하세요! 🙂

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 버전입니다. 🙂

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

GCP 노트북 인스턴스에서 virtualenv 사용하기

구글 클라우드의 AI 플래폼에서 제공하는 노트북 인스턴스를 사용하면 주피터 노트북 기반의 연구나 실험을 편리하게 수행할 수 있습니다. 이따금 한 인스턴스에서 여러 개의 virtualenv 운영하고 싶을 때가 있습니다. 이 글에서 virtualenv 환경을 만들어 주피터 노트북과 연결하는 간단한 방법을 안내하겠습니다.

노트북 인스턴스를 만든 다음 OPEN JUPYTERLAB을 클릭하면 다음과 같은 화면이 새창으로 열립니다.

default_jupyterhub.png

노트북 인스턴스는 기본적으로 파이썬 2와 파이썬 3의 노트북 환경을 제공합니다. 시스템 전역에 설치된 파이썬을 그대로 두고 가상 환경을 만들어 연결해 보겠습니다.

먼저 인스턴스에 접속해야 합니다. jupyterlab의 Terminal이나 cloud shell을 사용해 인스턴스에 접속할 수 있습니다. 이 jupyterlab은 jupyter 계정에 연결되어 있습니다. cloud shell에서 인스턴스의 jupyter 계정으로 접속하세요. 기본 계정으로 접속했다면 jupyter 계정으로 전환하세요.

가상 환경을 만들 프로젝트 디렉토리로 이동한 후 파이썬 3 기반의 가상 환경을 만들기 위해 다음과 같은 virtualenv 명령을 실행합니다.

$ virtualenv --python python3 env

이제 다음 명령으로 가상 환경을 활성화합니다. 환경을 활성화한 후에는 시스템에 독립적으로 원하는 파이썬 패키지를 마음껏 설치할 수 있습니다.

$ source env/bin/activate

이제 만든 환경을 주피터에 연결할 차례입니다. 시스템에서 기본적으로 제공하는 주피터 커널은 다음과 같습니다.

/usr/local/share/jupyter/kernels/python2/kernel.json
/usr/local/share/jupyter/kernels/python3/kernel.json

앞에서 만든 가상 환경을 커널에 추가하는 방법은 간단합니다. 먼저 루트로 계정을 바꾼 후 kernels 디렉토리로 이동하여 원하는 이름의 디렉토리를 하나 만듭니다.

# cd /usr/local/share/jupyter/kernels
# mkdir gdl

기존 커널의 kernel.json 파일 하나를 위에서 만든 디렉토리 아래로 복사합니다.

# cp python3/kernel.json ./gdl/

복사한 kernel.json 파일에서 display_name을 원하는 이름으로 바꾸어 줍니다. argv 키 아래 리스트의 첫 번째 항목을 앞에서 만든 가상 환경의 파이썬 실행 경로로 바꿉니다.

{
  "display_name": "gdl",
  "language": "python",
  "argv": [
    "/home/jupyter/your_project/env/bin/python3",
    "-m",
    "ipykernel_launcher",
    "-f",
    "{connection_file}"
  ]
}

kernel.json 파일을 저장한 다음 jupyterlab 창을 닫고 다시 OPEN JUPYTERLAB을 클릭하여 새 페이지를 엽니다. 이제 다음처럼 gdl 환경으로 실행할 수 있는 노트북과 콘솔 메뉴가 보일 것입니다.

add_new_env

노트북 인스턴스를 바꿔가며 작업하기 번거로운 경우 간단한 설정만으로 한 인스턴스 내에서 여러 개의 파이썬 가상 환경을 실험해 보세요! 🙂

“케라스 창시자에게 배우는 딥러닝” 1~3장 공개

keras_dl_b안녕하세요. 박해선입니다. <케라스 창시자에게 배우는 딥러닝> 1~3장을 드디어 모두 블로그에 올렸습니다. 이북이 출간되고 나서 바로 작업을 재촉했어야 됐는데 이런 저런 일들이 생기다 보니 조금씩 업데이트할 수 밖에 없었습니다. 그래로 너무 늦어졌습니다. ㅠ.ㅠ

비록 늦었지만 블로그에 올린 1~3장을 재미있게 보시면 기쁠 것 같습니다. 딥러닝에 대한 기본 설명과 케라스를 사용한 신경망 예제를 살짝 맛보실 수 있습니다. <머신 러닝 교과서>는 이북이 나오면 냉큼 올리도록 하겠습니다. 🙂

즐거운 하루 되세요! 감사합니다!