OpenCores
URL https://opencores.org/ocsvn/keras_to_fpga/keras_to_fpga/trunk

Subversion Repositories keras_to_fpga

[/] [keras_to_fpga/] [trunk/] [src/] [mnist_mlp/] [mnist_mlp_model.py] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 qaztronic
#
2
from __future__ import print_function
3
 
4
import keras
5
from tensorflow.keras.datasets import mnist
6
from tensorflow.keras.models import Sequential
7
from tensorflow.keras.layers import Dense, Dropout
8
import sys
9
 
10
# -------------------------------------------------------
11
sys.path.insert(0, '../../scripts')
12
import qaz_util as qaz
13
 
14
# -------------------------------------------------------
15
batch_size = 128
16
num_classes = 10
17
epochs = 20
18
 
19
# -------------------------------------------------------
20
(x_train, y_train),(x_test, y_test) = qaz.load_mnist()
21
x_train = x_train.reshape(60000, 784)
22
x_test = x_test.reshape(10000, 784)
23
 
24
# -------------------------------------------------------
25
# # convert class vectors to binary class matrices
26
# y_train = keras.utils.to_categorical(y_train, num_classes)
27
# y_test = keras.utils.to_categorical(y_test, num_classes)
28
 
29
# -------------------------------------------------------
30
model = Sequential()
31
model.add(Dense(128, activation='relu', input_shape=(784,)))
32
model.add(Dropout(0.1))
33
model.add(Dense(64, activation='relu'))
34
model.add(Dropout(0.1))
35
model.add(Dense(32, activation='relu'))
36
# model.add(Dropout(0.05))
37
model.add(Dense(16, activation='relu'))
38
# model.add(Dropout(0.2))
39
model.add(Dense(32, activation='relu'))
40
# model.add(Dropout(0.05))
41
model.add(Dense(64, activation='relu'))
42
model.add(Dropout(0.1))
43
model.add(Dense(num_classes, activation='softmax'))
44
 
45
# -------------------------------------------------------
46
model.summary()
47
 
48
model.compile(loss='sparse_categorical_crossentropy',
49
              optimizer='adam',
50
              metrics=['accuracy'])
51
 
52
history = model.fit(x_train, y_train,
53
                    batch_size=batch_size,
54
                    epochs=epochs,
55
                    verbose=1,
56
                    validation_data=(x_test, y_test))
57
score = model.evaluate(x_test, y_test, verbose=0)
58
print('Test loss:', score[0])
59
print('Test accuracy:', score[1])
60
 
61
# -------------------------------------------------------
62
model.save('mnist_mlp.h5')
63
model.summary()
64
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.