from tensorflow.keras.layers import Input, Conv2D, MaxPooling2D
from tensorflow.keras.models import Model
from tensorflow.keras.optimizers import Adam
from tensorflow.keras.losses import Categorical Crossentropy
from tensorflow.keras.metrics import Accuracy
input_tensor = Input(shape(28,28,1))
c1 = Conv2D(filters=32, kernel_size = 3, strides = 1, padding = 'same', activation='relu')(input_tensor)
c2 = Conv2D(filters=64, kernel_size = 3, strides = 1, padding = 'same', activation='relu')(c1)
c2 = MaxPooling2D(2)(c2)
c3 = Flatten()(c2)
h = Dense(100,activation='relu')(c3)
output = Dense(10, activation = 'softmax')(h)
model = Model(inputs = input_tensor, output = output)
model.compile(optimizer=Adam(0.01), loss='categorical_crossentropy', metrics=['accuracy'])
curve = model.fit(x=xtrain,y=ytrain,batch_size=128,epochs=30,validation_data=(xval,yval))
model.evaluate(xtest,ytest, batch_size=128, verbose=1)
#plt.plot(curve.history['accuracy'], label='Train')
#plt.plot(curve.history['val_accuracy'], label = 'Validation')
#plt.legend()
#plt.title('Learning curve')
'Machine Learning' 카테고리의 다른 글
[ML] Deep SHAP (DeepLIFT를 중심으로) (0) | 2021.04.15 |
---|---|
[ML] Data shuffling Effects (0) | 2020.12.23 |
[ML] XAI, Model Interpretability (0) | 2020.11.27 |