1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
| from tensorflow import keras from tensorflow.python.keras.layers import Dense, Dropout, Activation, Flatten, Conv1D, MaxPool1D import matplotlib.pyplot as plt import numpy as np import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
dataset_path = 'dataset.npy'
dense_num = 6
model_file = 'model/cnn_6traffic_model.h5'
data = np.load(dataset_path, allow_pickle=True) x_train, y_train, x_test, y_test = np.array(data[0]), np.array(data[1]), np.array(data[2]), np.array(data[3]) print(x_train.shape, y_train.shape)
X_train = x_train.reshape(-1, 784, 1)
X_test = x_test.reshape(-1, 784, 1)
model = keras.models.Sequential()
model.add(Conv1D(32, 3, activation='relu', input_shape=(784, 1), padding="same"))
model.add(MaxPool1D(pool_size=3, strides=3))
model.add(Conv1D(64, 3, strides=1, activation='relu', padding='same'))
model.add(MaxPool1D(pool_size=3, strides=3))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(1024))
model.add(Activation('relu'))
model.add(Dropout(0.4))
model.add(Dense(dense_num))
model.add(Activation('softmax'))
model.summary()
sgd = keras.optimizers.SGD(lr=0.01, decay=1e-4, momentum=0.9, nesterov=True) model.compile(optimizer='sgd', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
history = model.fit(X_train, y_train, epochs=10, batch_size=1000, verbose=1, validation_data=[X_test, y_test]) model.save(model_file) print(history.params)
|