태그 보관물: Keras

“GAN 인 액션”이 출간되었습니다.

GAN 인 액션“이 출간되었습니다! 284페이지 완전 컬러입니다! 🙂

이 책은 야쿠프 란그르와 블라디미르 보크의 아마존 베스트셀러인 <GANs In Action>의 번역서입니다.(아마존매닝)

좋은 책을 믿고 맡겨 주신 한빛미디어와 윤나리 편집자님께 감사드립니다. 무엇보다도 이 책을 기다려 주신 독자분들께 감사드립니다. 책을 읽는 내내 즐거운 여행이 되셨으면 좋겠습니다! 온라인/오프라인 서점에서 판매중입니다. Yes24알라딘, 교보문고한빛미디어

“케라스 창시자에게 배우는 딥러닝” 코드 TensorFlow 2 업데이트 안내

늦은 감이 있지만 <케라스 창시자에게 배우는 딥러닝> 책의 주피터 노트북을 텐서플로 2 기반으로 변경한 버전을 깃허브의 tf2 브랜치에 올렸습니다. 아쉽게도 몇 개의 노트북은 텐서플로 2와 호환되지 않아 부득이하게 tf.compat.v1.disable_v2_behavior() 를 사용했습니다.

텐서플로 2에 포함된 케라스 API를 사용하시는 경우에 조금 도움이 되셨으면 좋겠네요. 감사합니다! 🙂

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

케라스 2.4.0 버전이 릴리스되었습니다. 이전에 언급된 대로 keras-team/keras 레파지토리는 더이상 멀티 백엔드를 지원하지 않습니다. 2.4.0 버전은 기존 구현 코드를 모두 삭제하고 대신 tensorflow.keras로 리다이렉션합니다. 향후에는 tensorflow.keras 구현이 keras-team/keras로 옮겨올 것 같습니다.

제가 번역한 책 중에 케라스 멀티 백엔드 케라스 버전을 사용하는 책은 <케라스 창시자에게 배우는 딥러닝>과 <미술관에 GAN 딥러닝>입니다. 케라스를 최신 버전으로 업데이트하면 코드 결과가 크게 달라질 수 있습니다. 대신 케라스 2.2.4 버전을 사용하세요.

$ pip install keras==2.2.4

감사합니다!

TensorFlow 2.2의 사용자 정의 훈련 반복

텐서플로 2.2의 케라스 API에 train_step 메서드가 추가되었습니다. 이 메서드를 오버라이드하여 사용자 정의 훈련 반복을 케라스 모델 클래스에 통합하는 방법을 소개하는 짧은 영상을 만들었습니다. 재미있게 보세요! 🙂

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

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

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

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

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

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

keras.datasets.imdb.load_data() 오류

keras.datasets.imdb.load_data()는 pickle로 저장된 객체를 읽기 위해서 numpy.load() 함수를 사용합니다. 넘파이 1.16.3 버전에서 pickle 파일 허용 여부를 결정하는 allow_pickle 매개변수의 기본값이 True에서 False로 바뀌었습니다. 😦

이로 인해 imdb.load_data()에서 오류가 발생합니다. 재빠르게 텐서플로(#28102)와 케라스(#12714) 소스가 수정되었습니다만 imdb.load_data() 함수를 사용하려면 다음 버전이 릴리스될 때까지 넘파이 버전을 1.16.3 이전으로 유지하는 수 밖에 없을 것 같습니다.

매개변수 기본값에 너무 의지하지 말고 명시적으로 값을 지정하는 것이 좋다는 교훈을 다시 한 번 배웁니다. 🙂

관련 내용을 알려 주신 서* 님께 감사드립니다.

TensorFlow 2.0 Keras API Overview

이 글은 “Keras: Overview“을  번역한 것입니다. 이 글은 텐서플로 문서 깃허브에 머지되어 있습니다. 잘못된 점이 있으면 블로그를 통해 알려 주시거나 깃허브에 PR을 보내 주세요.

케라스: 빠르게 훑어보기

Note: 이 문서는 텐서플로 커뮤니티에서 번역했습니다. 커뮤니티 번역 활동의 특성상 정확한 번역과 최신 내용을 반영하기 위해 노력함에도 불구하고 공식 영문 문서의 내용과 일치하지 않을 수 있습니다. 이 번역에 개선할 부분이 있다면 tensorflow/docs 깃헙 저장소로 풀 리퀘스트를 보내주시기 바랍니다. 문서 번역이나 리뷰에 지원하려면 이 양식을 작성하거나 docs@tensorflow.org로 메일을 보내주시기 바랍니다.

tf.keras 임포트

tf.keras케라스 API 명세{:.external}의 텐서플로 구현입니다. tf.keras는 머신러닝 모델을 만들고 훈련하기 위한 고수준 API로서 텐서플로의 특수 기능을 모두 지원합니다. 여기에는 즉시 실행, tf.data 파이프라인(pipeline), Estimators가 포함됩니다. tf.keras를 이용하면 유연성과 성능을 손해보지 않고 텐서플로를 쉽게 사용할 수 있습니다.

tf.keras를 임포트하여 텐서플로 프로그램을 시작합니다:

!pip install -q pyyaml # pyyaml은 선택사항입니다.
from __future__ import absolute_import, division, print_function, unicode_literals

!pip install tf-nightly-gpu-2.0-preview
import tensorflow as tf

from tensorflow import keras

tf.keras는 케라스 API와 호환되는 어떤 코드라도 실행시킬 수 있지만 다음 사항을 유념하세요:

  • 최신 텐서플로 릴리스에 포함된 tf.keras 버전은 PyPI에 있는 최신 keras 버전과 같지 않을 수 있습니다. tf.keras.__version__을 확인해 보세요.
  • 모델의 가중치를 저장할 때 tf.keras는 기본적으로 체크포인트 포맷을 사용합니다. HDF5를 사용하려면 save_format='h5'로 설정하세요.

간단한 모델 만들기

Sequential 모델

케라스에서는 층(layer)을 조합하여 모델(model)을 만듭니다. 모델은 (일반적으로) 층의 그래프입니다. 가장 흔한 모델 구조는 층을 차례대로 쌓은 tf.keras.Sequential 모델입니다.

간단한 완전 연결(fully-connected) 네트워크(즉, 다층 퍼셉트론(multi-layer perceptron))를 만들어 보겠습니다.

from tensorflow.keras import layers

model = tf.keras.Sequential()
# 64개의 유닛을 가진 완전 연결 층을 모델에 추가합니다:
model.add(layers.Dense(64, activation='relu'))
# 또 하나를 추가합니다:
model.add(layers.Dense(64, activation='relu'))
# 10개의 출력 유닛을 가진 소프트맥스 층을 추가합니다:
model.add(layers.Dense(10, activation='softmax'))

여기에서 Sequential 모델을 어떻게 사용하는지 간단하지만 완전한 예제를 볼 수 있습니다.

Sequential보다 더 고수준의 모델을 구성하는 방법을 배우려면 다음을 참고하세요:
케라스 함수형 API 가이드
클래스 상속을 통하여 층과 모델을 밑바닥부터 만드는 방법

계속 읽기