본문 바로가기

Machine Learning

Tensorflow CNN

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