즐거운프로그래밍

[딥러닝] CNN 활용 맛보기 2

수수께끼 고양이 2023. 11. 1. 13:35
728x90
반응형

 

필터의 갯수를 줄이고 cifar10 데이터 셋 학습하기(cifar10으로 데이터 셋 바꾸기)

import tensorflow as tf

mnist=tf.keras.datasets.cifar10

(x_train, y_train),(x_test, y_test)=mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

model = tf.keras.Sequential([
    tf.keras.layers.InputLayer(input_shape=(28,28,1)),
    tf.keras.layers.Conv2D(32,(3,3),activation='relu', padding='same'),
    tf.keras.layers.MaxPool2D((2,2)),
    tf.keras.layers.Flatten(),
    tf.keras.layers.Dense(10,activation='softmax')
])

model.summary()

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

model.fit(x_train, y_train, epochs=5)

model.evaluate(x_test, y_test)

 

 

 


cifar100 데이터 셋 학습하기(cifar100으로 데이터 셋 바꾸기)

import tensorflow as tf

mnist=tf.keras.datasets.cifar100

(x_train, y_train),(x_test, y_test)=mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

model = tf.keras.Sequential([
    tf.keras.layers.InputLayer(input_shape=(32,32,3)),
    tf.keras.layers.Conv2D(32,(3,3),activation='relu', padding='same'),
    tf.keras.layers.Conv2D(64,(3,3),activation='relu', padding='same'),
    tf.keras.layers.MaxPool2D((2,2)),
    tf.keras.layers.Flatten(),
    tf.keras.layers.Dense(128,activation='relu'),
    tf.keras.layers.Dense(100,activation='softmax')
])

model.summary()

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

model.fit(x_train, y_train, epochs=5)

model.evaluate(x_test, y_test)

 

 

 


예제 1

import tensorflow as tf

mnist=tf.keras.datasets.mnist

(x_train, y_train),(x_test, y_test)=mnist.load_data()
x_test = x_test.reshape(10000,28,28,1)

model = tf.keras.Sequential([
    tf.keras.layers.InputLayer(input_shape=(28,28,1)),
    tf.keras.layers.Conv2D(64,(3,3),activation='relu', padding='same'),
    tf.keras.layers.Conv2D(128,(3,3),activation='relu'),
])

y_pred=model.predict(x_test[:1])

print(y_pred.shape)

 

 


예제 2

import tensorflow as tf

mnist=tf.keras.datasets.mnist

(x_train, y_train),(x_test, y_test)=mnist.load_data()
x_test = x_test.reshape(10000,28,28,1)

model = tf.keras.Sequential([
    tf.keras.layers.InputLayer(input_shape=(28,28,1)),
    tf.keras.layers.Dense(128,activation='relu')
])

y_pred=model.predict(x_test[:1])
print(y_pred.shape)

 

 

 


예제3

import tensorflow as tf

mnist=tf.keras.datasets.cifar10

(x_train, y_train),(x_test, y_test)=mnist.load_data()
x_test = x_test.reshape(10000,32,32,3)

model = tf.keras.Sequential([
    tf.keras.layers.InputLayer(input_shape=(32,32,3)),
    tf.keras.layers.Conv2D(64,(3,3),activation='relu',padding='same'),
    tf.keras.layers.Conv2D(128,(3,3),activation='relu'),
    tf.keras.layers.Flatten(),
    tf.keras.layers.Dense(128,activation='relu'),
    tf.keras.layers.Dense(10,activation='softmax')
])

y_pred=model.predict(x_test[:1])

print(y_pred.shape)

 

 

 

 

 

 

728x90
반응형