Abh*_*oel 3 python arrays floating-point numpy
我正在研究神经网络,我想在 FPGA 上实现它。我有一个在 MNIST 上运行的代码,我想使用 float32 获取初始权重,然后用定点在 FPGA 上重新训练权重。
我正在 python 中运行我的模拟。我正在寻找一种方法来进行这种转换
from keras.datasets import mnist
from keras.layers import Dense
from keras.models import Sequential
from keras.layers import Dropout
from keras.utils import np_utils
import matplotlib.pyplot as plt
(x, y), (X, Y) = mnist.load_data()
num = x.shape[1] * x.shape[2]
x = x.reshape(x.shape[0],x.shape[1]*x.shape[2]).astype('float32')
X = X.reshape(X.shape[0],X.shape[1]*X.shape[2]).astype('float32')
x = x/255
X = X/255
y = np_utils.to_categorical(y)
Y = np_utils.to_categorical(Y)
classes = y.shape[1]
def calc():
model = Sequential()
model.add(Dense(num, input_dim = num, init = 'normal', activation = 'relu'))
model.add(Dense(classes, init = 'normal', activation = 'softmax'))
model.compile(loss = 'categorical_crossentropy', optimizer = 'adam', metrics = ['accuracy'])
return model
model = calc()
model.fit(x, y, validation_data=(X, Y), nb_epoch=10, batch_size=200,
verbose=2)
scores = model.evaluate(X, Y, verbose=0)
print("Accuracy: ", scores)
Run Code Online (Sandbox Code Playgroud)
将列表传递给np.arraywithdtype=np.float32以指定 32 位浮点数作为数据类型:
np.array(your_list, dtype=np.float32)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11161 次 |
| 最近记录: |