배우고 나누는 사람

모두에게 더 넓고 더 깊은 세상을 향해

도서 탐톡

케라스 창시자에게 배우는 딥러닝

Jeongwon Seo 2023. 1. 24. 02:37

 

600페이지가 넘는 두꺼운 책을 드디어 끝내게 되었네요. 뭐 그래봐야 파이썬 스크립트가 많은 부분을 차지하고 있기 때문에 실제로 책을 읽는다는 느낌은 들지 않았지만요. 

 

책을 구입하지 않더라도 아래의 블로그에서 대부분의 내용 확인 가능합니다.

https://subinium.github.io/Keras/

 

케라스 창시자에게 배우는 딥러닝

케라스 창시자에게 배우는 딥러닝

subinium.github.io

관련 예제 코드는 아래 깃헙 사이트에서 다운로드 가능합니다.

https://github.com/gilbutITbook/006975

 

GitHub - gilbutITbook/006975: 케라스 창시자에게 배우는 딥러닝

케라스 창시자에게 배우는 딥러닝. Contribute to gilbutITbook/006975 development by creating an account on GitHub.

github.com

 

제가 머리가 안좋아서 그런 것 일수도 있지만 어느 정도 배경지식이 없으면 이해하기 힘든 책이라 생각 드네요. 그래도 다양한 예제들과 합성곱, 시계열, 생성모델 등 딥러닝에 관한 전반적인 내용을 파악할 수 있는 책인데요. 예제를 조금만 수정하면 실제로 한번 해볼 만한 것들이 있어 굉장히 좋은 것 같네요. 그래도 유용하게 사용하기 위해선 최신 기법들을 추가하거나 모델 자체를 크기 바꿔야 요구되는 정확도에 근접할 수 있겠네요. 특히 RNN이나 LSTM, GAN 등에 사용되는 책의 예제들은 정확도가 낮고 몇 가지 조언들은 주어지지만 잘 모르는 사람이 막 수정하기엔 어려움이 있을 거라 생각되네요. 좀 더 나은 예제들(최신기법 일부 반영)이 수록되어 있으면 더 좋지 않았을까 하는 아쉬움이 남습니다. 

 

 

버전이 맞지 않아서 예제 코드가 잘 구동되지 않는 경우가 있네요. 케라스와 같은 파이썬 패키지들이 주요 업데이트를 할 때마다 책을 살 수도 없는 노릇이고요. 저는 꼭 하다가 잘 안되거나 막히면 집중이 흐트러지더라고요. 여튼 StackOverflow 같은 곳에서 찾아가면서 수정해서 사용해야 예제를 직접 실습해 볼 수 있을 듯합니다. 제가 하다가 막혀서 수정한 부분들은 아래 남겨 놓을게요.

 

23.1.12 기준 수정

만약 구글 콜랩(Colab)을 사용한다면, 먼저 자신의 구글 드라이브에 "datasets" 디렉토리 전부를 업로드해놓고 아래와 같이 사용함으로 언제든 인터넷 환경만 구축이 되어있다면 파일에 접근하고 예제를 실습할 수 있음

from google.colab import drive
drive.mount('/content/gdrive', force_remount=True)

 

5.2 소규모 데이터셋에서 밑바닥부터 컨브넷 훈련하기

 

아래 에러 메시지 발견

AttributeError: module 'keras.preprocessing.image' has no attribute 'load_img'
from keras.preprocessing import image
위의 코드를 아래처럼 변경
from tensorflow.keras.preprocessing import image

 

6.1.2 단어 임베딩 사용하기

 

from keras import preprocessing

x_train = preprocessing.sequence.pad_sequences(x_train, maxlen=maxlen)
x_test = preprocessing.sequence.pad_sequences(x_test, maxlen=maxlen)

위의 코드 혹은 부분을 아래처럼 변경

from keras.utils import pad_sequences

x_train = pad_sequences(x_train, maxlen=maxlen)
x_test = pad_sequences(x_test, maxlen=maxlen)

 

8.5 적대적 신경 생성망

 

(x_train, y_train), (_, _) = keras.datasets.cifar10.load_data()

위를 아래처럼 수정

import tensorflow.keras as tk
(x_train, y_train), (_, _) = tk.datasets.cifar10.load_data()

 

위의 5.2에서 발견된 것과 같은 에러 발견, 같은 방식으로 처리

AttributeError: module 'keras.preprocessing.image' has no attribute 'load_img'

 

그 외

One-hot hasing : 단어를 임의의 인덱스에 매칭을 시킴. 같은 단어는 같은 인덱스로 매칭이 되지만 역으로 인덱스를 안다고 단어를 역으로 추적할 수는 없음. 만약 해싱 공간의 차원이 충분히 크지 않다면 해싱 충돌(다른 단어가 같은 해싱 인덱스를 가지게 됨)이 일어남. 

 

아무쪼록 요즘 아주 핫(hot)한 딥러닝에 대해 좀 더 친숙하게 다가갈 수 있었던 책이었음은 분명하네요. 겹치는 부분이 있겠지만 다음 책으로 "Hands-on Machine Learning with Scikit-Learn, Keras & TensorFlow"를 읽고 리뷰해 보면 좋을 것 같아요.

 

728x90
반응형

'도서 탐톡' 카테고리의 다른 글

[도서 리뷰] 초한전  (0) 2023.03.24