从宽面条中获取输出(python深层神经网络框架)

2024-05-10 13:57:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我把名单装进去了_转化率来自意大利宽面条官方github的例子。在

在和,我想预测我自己的例子。我看到了”千层面.layers.get_output()“应该处理官方文档中的numpy数组,但它不起作用,我也不知道该怎么做。在

我的代码是:

if __name__ == '__main__':
    output_layer = main() #the output layer from the net
    exampleChar = np.zeros((28,28)) #the example I would predict
    outputValue = lasagne.layers.get_output(output_layer, exampleChar)
    print(outputValue.eval())

但它给了我:

^{pr2}$

我知道它需要一个4D张量,但我不知道如何修正它。在

你能帮我吗?谢谢


Tags: thegithublayeroutputget官方mainlayers
2条回答

正如您在错误消息中所写的,输入应该是一个4D张量,形状为(n_samples, n_channel, width, height)。在MNIST的情况下,n_channels是1,width和{}是28。在

但是你输入的是一个二维张量,形状是(28, 28)。您需要添加新的轴,可以使用exampleChar = exampleChar[None, None, :, :]

exampleChar = np.zeros(28, 28)
print exampleChar.shape 
exampleChar = exampleChar[None, None, :, :]
print exampleChar.shape

输出

^{pr2}$

注意:我认为您可以使用np.newaxis代替None来添加一个轴。而且exampleChar = exampleChar[None, None]也应该起作用。在

首先,尝试将一个“图像”传递到网络中,这样它就具有(256,256)的维度。在

但它需要一个三维数据列表,即图像,在ano中它被实现为4D张量。在

我看不到您的完整代码,您打算如何使用lasagne的接口,但如果您的代码编写正确,从我目前所看到的来看,我认为您应该首先将您的(256,256)数据转换为一个单通道图像,如(1,256,256),然后从使用更多(1,256,256)数据列表,例如[(1,256,256), (1,256,256), (1,256,256)],或者从这个例子中列出一个清单,比如[(1,256,256)]。 前者得到一个(3,1256256),后者是一个(1,1256256)4D张量,这将被宽面条界面接受。在

相关问题 更多 >