패션 MNIST
(train_input, train_target), (test_input, test_target) = keras.datasets.fashion_mnist.load_data()
import matplotlib.pyplot as plt
fig, axs = plt.subplots(1, 10, figsize=(10,10))
for i in range(10):
axs[i].imshow(train_input[i], cmap='gray_r')
axs[i].axis('off')
plt.show()
unique 확인
import numpy as np
print(np.unique(train_target,return_counts=True))
딥러닝 라이브러리
심층신경망 만들기
dense1 = keras.layers.Dense(100, activation='sigmid', input_shape=(784,))
dense2 = keras.layers.Dense(10, activation='softmax')
층을 여러개 추가하는 방법도 있음 = Dense() 클래스 > Sequential()에서 바로 하는 것
model = keras.Sequential([
keras.layers.Dense(100, activation='sigmid', input_shape=(784,) , name='hidden'),
keras.layers.Dense(10, activation='softmax', name='output)
], name='패션 MNIST model')
모델에 .add()로 원하는 만큼 추가 가능
model = keras.Sequential()
model.add(keras.layers.Dense(100, activation='sigmid', input_shape=(784,) , name='hidden'))
model.add(keras.layers.Dense(10, activation='softmax', name='output))
model.add(keras.layers.Dense(10, activation='softmax', name='output))
확인해볼 명령어
model.summary()
훈련하는 것은 동일
model.compile(loss='sparse_categorial_crossentropy', metrics='accuracy')
model.fit(tranin_scaled, train_target, epochs=5)
Flatten()을 사용하여 추가
model=keras.Sequential()
model.add(keras.layers.Flatten(input_shape=(238,28), name='flatten'))
model.add(keras.layers.Dense(100, activation='sigmid', input_shape=(784,) , name='hidden'))
model.add(keras.layers.Dense(10, activation='softmax', name='output))
ps. 앙상블 알고리즘 vs 심층신경망