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_predict.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
 
9
import os
10
import struct
11
import shutil
12
 
13
num_classes = 10
14
 
15
# the data, split between train and test sets
16
(x_train, y_train), (x_test, y_test) = mnist.load_data()
17
 
18
x_train = x_train.reshape(60000, 784)
19
x_test = x_test.reshape(10000, 784)
20
x_train = x_train.astype('float32')
21
x_test = x_test.astype('float32')
22
x_train /= 255
23
x_test /= 255
24
print(x_train.shape[0], 'train samples')
25
print(x_test.shape[0], 'test samples')
26
 
27
from keras.models import Model
28
from tensorflow.keras.models import load_model
29
import numpy as np
30
 
31
# -------------------------------------------------------
32
model = load_model('mnist_mlp.h5')
33
model.layers[-1].activation=None
34
 
35
temp_weights = [layer.get_weights() for layer in model.layers]
36
for i in range(len(temp_weights)):
37
    model.layers[i].set_weights(temp_weights[i])
38
 
39
# -------------------------------------------------------
40
model = Sequential()
41
model.add(Dense(128, activation='relu', input_shape=(784,)))
42
model.add(Dropout(0.1))
43
model.add(Dense(64, activation='relu'))
44
model.add(Dropout(0.1))
45
model.add(Dense(32, activation='relu'))
46
# model.add(Dropout(0.05))
47
model.add(Dense(16, activation='relu'))
48
# model.add(Dropout(0.2))
49
model.add(Dense(32, activation='relu'))
50
# model.add(Dropout(0.05))
51
model.add(Dense(64, activation='relu'))
52
model.add(Dropout(0.1))
53
model.add(Dense(num_classes))
54
 
55
model.summary()
56
 
57
model.compile(loss='sparse_categorical_crossentropy',
58
              optimizer='adam',
59
              metrics=['accuracy'])
60
 
61
# -------------------------------------------------------
62
for i in range(len(temp_weights)):
63
    model.layers[i].set_weights(temp_weights[i])
64
 
65
# -------------------------------------------------------
66
print(x_test.shape)
67
print(x_test[:4,:].shape)
68
 
69
print(model.predict(x_test[:4,:]))
70
 

powered by: WebSVN 2.1.0

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