Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将浮点列表转换为NumPy数组_Python_Arrays_Numpy_Floating Point - Fatal编程技术网

Python 将浮点列表转换为NumPy数组

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.

我正在使用神经网络,我想在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)

使用
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好的,然后试试上面的方法。