Facebook
From Morose Anoa, 2 Years ago, written in Plain Text.
This paste is a reply to Untitled from Speedy Pelican - go back
Embed
Viewing differences between Untitled and Re: Untitled
import numpy as np
import tensorflow as tf
import tensorflow.keras as keras
from tensorflow.keras import Sequential
from tensorflow.keras.layers import Conv2D, AvgPool2D, Flatten, Dense, Dropout


def load_train(path):
    x_train = np.load(path + 'train_features.npy')
    y_train = np.load(path + 'train_target.npy')
    x_train = x_train.reshape(x_train.shape[0],28,28,1)/255.0
    return x_train, y_train 
    
def create_model(input_shape):
    model = Sequential()
    model.add(Conv2D(filters = 32, kernel_size=(3,3),padding = 'same', activation = 'relu',input_shape=(28,28,1)))
    model.add(AvgPool2D(pool_size=(2, 2)))
    model.add(Conv2D(filters = 64, kernel_size=(3,3), activation = 'relu'))
    model.add(AvgPool2D(pool_size=(2, 2)))
    model.add(Conv2D(filters = 128, kernel_size=(3,3), activation = 'relu'))
    model.add(Flatten())
    model.add(Dense(units=100,activation = 'relu'))
    model.add(Dense(units=50,activation = 'relu'))
    model.add(Dense(units=30,activation = 'relu'))
    model.add(Dense(units=10,activation = 'softmax'))
    model.compile(loss='sparse_categorical_crossentropy', optimizer='adam', metrics=['acc'])
    return model
    
def train_model(model, train_data, test_data, batch_size=32, epochs=5,
                steps_per_epoch=None, validation_steps=None): 
    x_train, y_train = train_data
    x_test, y_test = test_data
    model.fit(train_data, validation_data=test_data,batch_size=batch_size, 
              epochs=epochs, steps_per_epoch=steps_per_epoch,validation_steps=validation_steps,
              verbose=2, shuffle=True)
    return model