Python 将浮点列表转换为NumPy数组
我正在使用神经网络,我想在FPGA上实现它。我有一个关于MNIST的代码,我想用float32获得初始权重,然后在FPGA上用定点重新训练权重 我正在用python运行我的模拟。我正在寻找一种方法来进行这种转换Python 将浮点列表转换为NumPy数组,python,arrays,numpy,floating-point,Python,Arrays,Numpy,Floating Point,我正在使用神经网络,我想在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.
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)
使用
dtype=np.float32
将列表传递到np.array
,以指定32位浮点数作为数据类型:
np.array(your_list, dtype=np.float32)
使用
dtype=np.float32
将列表传递到np.array
,以指定32位浮点数作为数据类型:
np.array(your_list, dtype=np.float32)
我想把每一层的权重转换成定点表示,这样它就可以被重新训练。这个列表是什么变量?这真的是一张单子吗?还是numpy阵列?或者一些专门的
kereas
类型?你说的“定点”是什么意思?@hpaulj,输出是一个numpyarray@VivekKumar,我的意思是,我想让分数部分正好是16位,整数部分正好是4位。我不想使用浮点小数。我想把每一层的权重转换成定点表示,这样它就可以被重新训练。这个列表是什么变量?这真的是一张单子吗?还是numpy阵列?或者一些专门的kereas
类型?你说的“定点”是什么意思?@hpaulj,输出是一个numpyarray@VivekKumar,我的意思是,我想让分数部分正好是16位,整数部分正好是4位。我不想使用浮点小数,我想把每一层的权重转换成定点表示,这样它就可以被重新训练。我认为32号浮球不符合我的要求。我需要一个定点表示法。@AbhinavGoel好的,然后试试上面的方法。我想把每一层的权重转换成定点表示法,这样就可以对它进行重新训练。我认为32号浮球不符合我的要求。我需要一个定点表示法。@AbhinavGoel好的,然后试试上面的方法。