Tensorflow 102 - 이미지 분류(CNN)

다섯번째 딥러닝 2 - Conv2D

수업소개

컨볼루션에 대한 이해와 컨볼루션 레이어의 사용법을 익힙니다.

컨볼루션 필터의 역할을 중심으로 컨볼루션 레이어에 대한 이해를 합니다. 

컨볼루션 연산이 어떻게 이루어 지는지 확인해 봅니다. 

 

컨볼루션의 이해

필터의 이해

 실습

컨볼루션 연산

소스코드

colab |  backend.ai

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

###########################
# 데이터를 준비하고
(독립, 종속), _ = tf.keras.datasets.mnist.load_data()
독립 = 독립.reshape(60000, 28, 28, 1)
종속 = pd.get_dummies(종속)
print(독립.shape, 종속.shape)

###########################
# 모델을 만들고
X = tf.keras.layers.Input(shape=[28, 28, 1])
H = tf.keras.layers.Conv2D(3, kernel_size=5, activation='swish')(X)
H = tf.keras.layers.Conv2D(6, kernel_size=5, activation='swish')(H)
H = tf.keras.layers.Flatten()(H)
H = tf.keras.layers.Dense(84, activation='swish')(H)
Y = tf.keras.layers.Dense(10, activation='softmax')(H)
model = tf.keras.models.Model(X, Y)
model.compile(loss='categorical_crossentropy', metrics='accuracy')

###########################
# 모델을 학습하고
model.fit(독립, 종속, epochs=10)

###########################
# 모델을 이용합니다. 
pred = model.predict(독립[0:5])
pd.DataFrame(pred).round(2)

# 정답 확인
종속[0:5]

# 모델 확인
model.summary()

 

댓글

댓글 본문
  1. 솔나무
    저희 학과 교수님보다 설명을 더 잘해주셔서 감사합니다.
  2. songji
  3. Hotbrains
    컨볼루션을 통해 이미지에 있는 노이즈를 제거하고,
    히든 레이어를 통해 픽셀간 연관성을 만드는 작업을 하는 것 같군요.
    그렇게 보여진다는 느낌적인 느낌~. ^^;
  4. Hotbrains
    완료~ 감사합니다.
  5. 이덕규
    완료
  6. 마시모
    완료
  7. 처리
    이렇게 이해되기 쉽게 CNN에 입문시켜주다니 이선비님 복받으실 겁니다~
  8. 낭만코더
    감동이 느껴지는 수업이였습니다. 감사합니다
  9. 정효빈
    감사합니다!
  10. Mikiss
    와우! 명강의!!!
    정말 재미있어요^^
  11. nann
    완료
  12. 고고고고
    완료
  13. 소야
    졸업 한시간전까지 열공중인데.... 넘나 어렵네요.. 한계인가...ㅠ
  14. 제사마
    Done
  15. John
    완료
  16. 과거로의여행
    아~우~~~ 어렵네요...
    "컴퓨터는 입력된 이미지를 분류하기 위한 최적의 필터를 찾는 것이다."!!!
    강의를 여러번 반복해서 들어봐야 겠네요. ㅠㅠ...
    아자!아자!화이팅!!!
  17. Tyche
    컴퓨터가 찾은 필터를 이해할 수 없다는 게 너무 신기하면서도... 무섭기도 하고 그러네요.
  18. 여어엉
    각 필터는 Hidden Layer에서 가중치와 비슷한 역할을 한다고 보니 이해하기 편하네요
    완료
  19. VIBOT
    ok
  20. CrashOverride
    3일차 완료
  21. hoddigi
    완료
  22. hoddigi
    완료
  23. 완료
  24. Ray Seo
    완료~
  25. 안멘
    완료!
  26. briliant6424
    21/01/10 완료
    너무 신기하네요.....
  27. Kim Yumi
    잘 보았습니다!!
  28. 행여
    감사합니다~!♡
  29. ukmadang
    오우오우 이를 악물고 따라가고 있습니다 완료!
  30. 이선비
    구글에서 모두에게 제공하는 환경이니 다른 사람에게 물어보기 보다
    버전 확인 방법을 검색하여 직접 colab에서 확인하고,
    다른 사람을 위해 공유해 주시면 어떨까요? :)
    대화보기
    • 유니엘
      colab에서 사용하는 환경이 어떻게 되나요?
      tensorflow 2.4이고 python version, CUDA, cuDNN버젼이 각가 어떻게 되나요?
    • 미오끼
      설명이 이해가 쏙쏙 됩니당.
    • younghwani
      21.01.06 완료! 재밌습니다~
    • 오애이오
      그림으로 설명됐으면 좋겠다~하고 보고 있었는데 마지막에 연산 부분에서 알기 쉽게 설명해주셔서 좋았습니다! 동물도 선을 지각하는 부위?가 따로 있다고 알고있는데 거기서 아이디어를 얻은건지..만든 사람이 기발하다는 생각밖에 안드네요. 좋은 강좌 감사합니다.
    • 통준
      학습 완료!
    • noahhan
      어렵다!ㅠ
    버전 관리
    이선비
    현재 버전
    선택 버전
    graphittie 자세히 보기