在Lasagne / Theano,我需要一个4d numpy阵列用于4d Theano张量?

时间:2015-08-28 10:30:05

标签: python neural-network theano lasagne

我正在构建一个带有千层面的神经网络following the example from the github.我很好奇如何输入网络。在示例中,他们声明输入图层是4维,实际上它是theano tensor4。这是否意味着我必须给网络一个4维的numpy数组?这甚至可能吗?你如何从4 d的列表向量中构建一个?

1 个答案:

答案 0 :(得分:0)

在Lasagne提供的MNIST示例中,您需要输入4D张量。

一般来说,如果您的数据是二维的(例如图像),则输入的形状必须为(n_samples, n_channels, height, width)。在MNIST数据集中,n_channel为1(可能是其他内容,例如RGB图像为3),heightwidth均为28。

如果您的数据仅为1维,则必须输入形状为(n_samples, n_channel, n_features)的3D张量。

请注意,如果您想预测单个图像的标签((28,28)ndarray,如this question中所示,则可能会出现问题,因为您需要将输入设为4维。在这种情况下,您可以使用data = data[None, None, :, :]添加轴。