Tensorflow 101

텐서플로우를 이용하여 가장 간단한 형태의 텐서플로우 코드를 작성하여 딥러닝을 구현해보는 딥러닝 기초 수업입니다.

Tensorflow 101 텐서플로우를 이용하여 가장 간단한 형태의 텐서플로우 코드를 작성하여 딥러닝을 구현해보는 딥러닝 기초 수업입니다.

네번째 딥러닝 - 신경망의 완성:히든레이어

수업소개

히든레이어와 멀티레이어의 구조를 이해하고, 히든레이어를 추가한 멀티레이어 인공신경망 모델을 완성해 봅니다. 

강의 

 

멀티레이어 신경망

 

실습 

 

소스코드

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(10, activation='swish')(X)
Y = tf.keras.layers.Dense(1)(H)
model = tf.keras.models.Model(X, Y)
model.compile(loss='mse')

# 모델 구조 확인
model.summary()

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

###########################
# 4. 모델을 이용합니다
print(model.predict(독립[:5]))
print(종속[:5])

###########################
# 모델의 수식 확인
print(model.get_weights())

아이리스 품종 분류

###########################
# 라이브러리 사용
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')

# 모델 구조 확인
model.summary()

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

###########################
# 4. 모델을 이용합니다
print(model.predict(독립[:5]))
print(종속[:5])

 

댓글

댓글 본문
  1. 청춘낭비금물
    완료
  2. ericpark
    완료했습니다.
  3. Juni
    완료
  4. 조지아
    완료
  5. DreamComeTrue
    완료!
  6. 바이크
    완료
  7. 완료
  8. jeseung
    완료!
  9. 후니
    완료
  10. 손님입장
    완료
  11. 완료
  12. 완료
  13. 차차caca
    완료!
  14. 고고고고
    완료
  15. 최수원
    완료!
  16. 먀린이
    완료....이번 내용은 좀 어렵네요...핳하
  17. 리코타
    완료
  18. 궉하
    완료!
  19. luckyo02
    완료
  20. 코티서처
    어려우면서도 신기하다
  21. 완료
  22. 소야
    신기해요!
  23. MacTechIN
    Swish 가 에러가 난다고 하는데 왜그럴까요?
  24. 김태균
    완료!
  25. 하하즐거운문
    어려웠지만 완료!
    종강 후 반복 청취해야겠어요
  26. 완료
  27. forever04
    완료
  28. 완료!
  29. 헤링
    완료
  30. 초보딥러닝
    완료
  31. 이선비
    머신러닝 야학 질문사이트에 관련한 질문과 답이 올라와 있어요. 링크로 답을 대신합니다. :)
    https://github.com......070
    대화보기
    • 오늘도 강의 잘 들었습니다. 그리고 궁금한 점이 있습니다.
      히든 레이어에서 노드(?)의 수는 임의의 숫자로 정하면 되나요?
      노드 수를 정하는데 다른 제약조건은 없나요?
      미리 답변에 감사드립니다.
    • 지니
      완료
    • 호호
      완료
    • ok
    • 제사마
      Done
    • 과거로의여행
      아~~~ 히든 레이어까지... 아싸! 완료!
    • 하지빠더
      완료
    • 이민지
      완료
    • 동글우디
      완료했숨돠!!
    • 완료~~
    • 윱윱
      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'])

      코드 4,5번째줄에 X가 아닌 H가 들어가야해요!
      대화보기
      • 여어엉
        hidden layer의 수를 정하는 의미를 생각해봐야겠네요
        완료
      • 박지웅
        완료
      • RickyU
        3번째&4번째 줄의 마지막 변수가 H가 되어야 합니다. 지금은 Input에서 레이어를 3번 생성해서 hidden layer가 하나만 생성된 것 같네요.
        대화보기
        • 공부벌레는아니지만
          완료! 감사합니다
        • 떡이
          X = tf.keras.layers.Input(shape=[4])
          H = tf.keras.layers.Dense(8, activation='swish')(X)
          H = tf.keras.layers.Dense(8, activation='swish')(X)
          H = tf.keras.layers.Dense(8, activation='swish')(X)
          Y = tf.keras.layers.Dense(3, activation = 'softmax')(H)
          model = tf.keras.models.Model(X, Y)
          model.compile(loss='categorical_crossentropy', metrics=['accuracy'])

          위 코드를 실행 시킨 뒤

          model.summary()

          로 모델을 확인 하면
          =================================================================
          input_4 (InputLayer) [(None, 4)] 0
          _______________________________________________________________
          dense_8 (Dense) (None, 8) 40
          _______________________________________________________________
          dense_9 (Dense) (None, 3) 27
          =================================================================
          이런식으로 히든레이어가 하나 밖에 뜨지 않는 것 같은데 정상인가요?
        • 슈팍스
          완료
        • sunncho
          완료!
        • 완료
        버전 관리
        이선비
        현재 버전
        선택 버전
        graphittie 자세히 보기