생활코딩

Coding Everybody

코스 전체목록

닫기

부록2: 모델을 위한 팁

수업소개

BatchNormalization layer를 사용하여 보다 학습이 잘되는 모델을 만들어 봅니다.

강의 

 

소스코드

colab |  backend.ai

 보스턴 집값 예측

###########################
# 라이브러리 사용
import tensorflow as tf
import pandas as pd

###########################
# 1.과거의 데이터를 준비합니다.
파일경로 = 'https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/boston.csv'
보스턴 = pd.read_csv(파일경로)

# 종속변수, 독립변수
독립 = 보스턴[['crim', 'zn', 'indus', 'chas', 'nox', 
            'rm', 'age', 'dis', 'rad', 'tax',
            'ptratio', 'b', 'lstat']]
종속 = 보스턴[['medv']]
print(독립.shape, 종속.shape)

###########################
# 2. 모델의 구조를 만듭니다
X = tf.keras.layers.Input(shape=[13])
H = tf.keras.layers.Dense(8, activation='swish')(X)
H = tf.keras.layers.Dense(8, activation='swish')(H)
H = tf.keras.layers.Dense(8, activation='swish')(H)
Y = tf.keras.layers.Dense(1)(H)
model = tf.keras.models.Model(X, Y)
model.compile(loss='mse')

# 2. 모델의 구조를 BatchNormalization layer를 사용하여 만든다.
X = tf.keras.layers.Input(shape=[13])

H = tf.keras.layers.Dense(8)(X)
H = tf.keras.layers.BatchNormalization()(H)
H = tf.keras.layers.Activation('swish')(H)

H = tf.keras.layers.Dense(8)(H)
H = tf.keras.layers.BatchNormalization()(H)
H = tf.keras.layers.Activation('swish')(H)

H = tf.keras.layers.Dense(8)(H)
H = tf.keras.layers.BatchNormalization()(H)
H = tf.keras.layers.Activation('swish')(H)

Y = tf.keras.layers.Dense(1)(H)
model = tf.keras.models.Model(X, Y)
model.compile(loss='mse')

###########################
# 3.데이터로 모델을 학습(FIT)합니다.
model.fit(독립, 종속, epochs=1000)

아이리스 품종 분류

###########################
# 라이브러리 사용
import tensorflow as tf
import pandas as pd

###########################
# 1.과거의 데이터를 준비합니다.
파일경로 = 'https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/iris.csv'
아이리스 = pd.read_csv(파일경로)

# 원핫인코딩
아이리스 = pd.get_dummies(아이리스)

# 종속변수, 독립변수
독립 = 아이리스[['꽃잎길이', '꽃잎폭', '꽃받침길이', '꽃받침폭']]
종속 = 아이리스[['품종_setosa', '품종_versicolor', '품종_virginica']]
print(독립.shape, 종속.shape)

###########################
# 2. 모델의 구조를 만듭니다
X = tf.keras.layers.Input(shape=[4])
H = tf.keras.layers.Dense(8, activation='swish')(X)
H = tf.keras.layers.Dense(8, activation='swish')(H)
H = tf.keras.layers.Dense(8, activation='swish')(H)
Y = tf.keras.layers.Dense(3, activation='softmax')(H)
model = tf.keras.models.Model(X, Y)
model.compile(loss='categorical_crossentropy',
              metrics='accuracy')

###########################
# 2. 모델의 구조를 BatchNormalization layer를 사용하여 만든다.
X = tf.keras.layers.Input(shape=[4])

H = tf.keras.layers.Dense(8)(X)
H = tf.keras.layers.BatchNormalization()(H)
H = tf.keras.layers.Activation('swish')(H)

H = tf.keras.layers.Dense(8)(H)
H = tf.keras.layers.BatchNormalization()(H)
H = tf.keras.layers.Activation('swish')(H)

H = tf.keras.layers.Dense(8)(H)
H = tf.keras.layers.BatchNormalization()(H)
H = tf.keras.layers.Activation('swish')(H)

Y = tf.keras.layers.Dense(3, activation='softmax')(H)
model = tf.keras.models.Model(X, Y)
model.compile(loss='categorical_crossentropy',
              metrics='accuracy')
              
###########################
# 3.데이터로 모델을 학습(FIT)합니다.
model.fit(독립, 종속, epochs=1000)

 

댓글

댓글 본문
  1. 시아네스
    231110.
  2. kwaife
    완료
  3. ninefact
    완료
  4. Yu Han Noh
    완료
  5. Poroporo
    완료:)
  6. 완료
  7. 인간지능
    완료
  8. 김영환
    완료
  9. shg7271
    210729
  10. 조예인
    감사합니다.
  11. 나건
    완료
  12. amuronamie
    완료@
  13. Hotbrains
    완료~ 감사합니다.
  14. 이덕규
    완료
  15. songji
  16. 이성민
    완료~
  17. Naked Lunch
    야학 3기! 간단한 구조의 변경으로 획기적으로 변화되는 컴퓨터의 성능!
  18. 210721
  19. minkey
    야학3기 21.07.20 완료
  20. 엠제이
    잘 봤습니다. 고맙습니다.
  21. 정효빈
    감사합니다!
  22. jwoh
    21-05-06
  23. 장청룡
    20210315 완료
  24. 범벌
    완료
  25. 청춘낭비금물
    완료
  26. ericpark
    완료했습니다.
  27. Juni
    완료
  28. 조지아
    완료
  29. DreamComeTrue
    완료!
  30. 바이크
    완료
  31. agg98
    완료
  32. jeseung
    완료!
  33. 후니
    완료
  34. 손님입장
    완료
  35. nann
    완료
  36. Noah
    완료
  37. 차차caca
    완료!
  38. 고고고고
    완료
  39. 최수원
    완료!
  40. 먀린이
    완료
  41. 리코타
    완료
  42. 하하즐거운문
    감사합니다.
  43. 궉하
    완료!
  44. luckyo02
    완료
  45. forever04
    완료
  46. sunncho
    완료!
  47. John
    완료
  48. 소야
    감사합니다!
  49. 공부벌레는아니지만
    완료! 감사합니다
  50. wblee
    완료
버전 관리
이선비
현재 버전
선택 버전
graphittie 자세히 보기