습관을 애정한다

모두의 딥러닝(2판)-1장 요약

by 습관중독
# -*- coding: utf-8 -*-
# 코드 내부에 한글을 사용가능 하게 해주는 부분입니다.

# 딥러닝을 구동하는 데 필요한 케라스 함수를 불러옵니다.
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

# 필요한 라이브러리를 불러옵니다.
import numpy as np
import tensorflow as tf

# 실행할 때마다 같은 결과를 출력하기 위해 설정하는 부분입니다.
np.random.seed(3)
tf.random.set_seed(3)

# 준비된 수술 환자 데이터(외부 데이터셋)를 불러들입니다.
Data_set = np.loadtxt("../dataset/ThoraricSurgery.csv", delimiter=",")

# 환자의 기록과 수술 결과를 X와 Y로 구분하여 저장합니다.
X = Data_set[:,0:17]
Y = Data_set[:,17]

# 딥러닝 프로젝트를 '여행'으로 가정할 경우, 
# 텐서플로=비행기: 목적지까지 빠르게 이동시켜줌
# 케라스=파일럿: 비행기의 이륙 및 정확한 지점까지의 도착을 책임
# 딥러닝 구조를 결정합니다(모델을 설정하고 실행하는 부분입니다).
model = Sequential()
model.add(Dense(30, input_dim=17, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
# Sequential()=딥러닝의 구조를 한층한층 쉽게 쌓아올릴 수 있게 함
# model.add = 필요한 층을 차례로 추가. 여기선 2개의 층 쌓아올림.
# Dense='조밀하게 모여있는 조합'의 뜻. 각 층이 제각각 어떤 특성을 가질지 옵션을 설정.

# 딥러닝을 실행합니다.
model.compile(loss='mean_squared_error', optimizer='adam', metrics=['accuracy'])
model.fit(X, Y, epochs=100, batch_size=10)
# activation: 다음 층으로 어떻게 값을 넘길지 결정. relu() or sigmoid() 사용
# loss: 한번 신경망이 실행될 때마다 오차값을 추적하는 함수
# optimizer: 오차를 어떻게 줄여나갈지 정하는 함수

지금까지 본 딥러닝 책 중 가장 쉽다.
이보다 더 친절할 순 없다.
진도 슉슉 나가는 기분이 너무 좋다.
이거 언능 보고 강화학습도 '모두의 강화학습'으로 봐야겠다.
시작할 땐 '모두의'시리즈가 진리인 것 같다.

블로그의 정보

습관을 애정한다

습관중독

활동하기