일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 야학
- 데이터베이스 개론
- pandas
- 딥러닝
- 데이터베이스
- MySQL
- 파이썬
- 카카오클라우드스쿨2기
- 데이터베이서
- flatten
- Database
- Java
- 개발자
- 생활코딩 머신러닝야학
- 머신러닝
- LeNet
- 판다스
- 이것이 자바다
- Python
- JavaScript
- tensorflow
- reshape
- CNN
- 머신러닝야학
- 머신러닝(딥러닝)
- 생활코딩
- 연산자
- 생활코딩 데이터베이스
- Today
- Total
IT's 우
생활코딩 머신러닝야학_Tensorflow 102 - 이미지 분류(CNN)/ 다섯번째 딥러닝 완성 - LeNet 본문
생활코딩 머신러닝야학_Tensorflow 102 - 이미지 분류(CNN)/ 다섯번째 딥러닝 완성 - LeNet
디우 2021. 1. 19. 23:10Lenet - 5 모델을 완성하고, CIFAR10 이미지 학습 진행
- LeNet
밑의 그림은 CNN모델 중에서 손글씨 이미지를 학습한 Yann LeCun교수의 Lenet - 5이다.
- LeNet 구성코드
# 1. 과거의 데이터를 준비합니다.
(독립, 종속), _ = tf.keras.datasets.mnist.load_data()
독립 = 독립.reshape(60000, 28, 28, 1)
종속 = pd.get_dummies(종속)
print(독립.shape, 종속.shape)
# 2. 모델의 구조를 만듭니다.
X = tf.keras.layers.Input(shape=[28, 28, 1])
#padding='same' : Convolution의 결과인 특징맵의 사이즈가 입력 이미지와 동일하게 출력이 된다.
H = tf.keras.layers.Conv2D(6, kernel_size=5, padding='same', activation='swish')(X)
H = tf.keras.layers.MaxPool2D()(H)
H = tf.keras.layers.Conv2D(6, kernel_size=5, activation='swish')(H)
H = tf.keras.layers.MaxPool2D()(H)
H=tf.keras.layers.Flatten()(H)
H = tf.keras.layers.Dense(120, activation='swish')(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='scategorical_crossentropy', metrics='accuracy')
-실습 ( LeNet - 5 모델을 만들어보고, 모델에 Cifar10 이미지 학습시켜보기 )
1. Mnist로 LeNet 구성하기
-LeNet모델에 Cifar 10 학습시켜보기
-실습 전체 소스코드(Cifar 10)
###########################
# 라이브러리 사용
import tensorflow as tf
import pandas as pd
###########################
# 데이터를 준비합니다.
(독립, 종속), _ = tf.keras.datasets.cifar10.load_data()
종속 = pd.get_dummies(종속.reshape(50000))
print(독립.shape, 종속.shape)
###########################
# 모델을 완성합니다.
X = tf.keras.layers.Input(shape=[32, 32, 3])
H = tf.keras.layers.Conv2D(6, kernel_size=5, activation='swish')(X)
H = tf.keras.layers.MaxPool2D()(H)
H = tf.keras.layers.Conv2D(16, kernel_size=5, activation='swish')(H)
H = tf.keras.layers.MaxPool2D()(H)
H = tf.keras.layers.Flatten()(H)
H = tf.keras.layers.Dense(120, activation='swish')(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()
출처 : 생활코딩 www.opentutorials.org/module/5268/29792
'생활코딩 > 머신러닝(텐서플로우(python))' 카테고리의 다른 글
생활코딩 머신러닝야학_Tensorflow 102 - 이미지 분류(CNN) - 내 이미지 사용하기 (0) | 2021.01.20 |
---|---|
생활코딩 머신러닝야학_Tensorflow 102 - 이미지 분류(CNN)/ 다섯번째 딥러닝 3 - MaxPool2D (0) | 2021.01.18 |
생활코딩 머신러닝야학_Tensorflow 102 - 이미지 분류(CNN)/ 다섯번째 딥러닝 2 - Conv2D (0) | 2021.01.17 |
생활코딩 머신러닝야학_Tensorflow 102 - 이미지 분류(CNN)/ 다섯번째 딥러닝 1- Flatten (0) | 2021.01.16 |
생활코딩 머신러닝야학_Tensorflow 102 -이미지 분류(CNN)/ 데이터와 차원 (0) | 2021.01.15 |