我正在构建一个带有千层面的神经网络following the example from the github.我很好奇如何输入网络。在示例中,他们声明输入图层是4维,实际上它是theano tensor4。这是否意味着我必须给网络一个4维的numpy数组?这甚至可能吗?你如何从4 d的列表向量中构建一个?
答案 0 :(得分:0)
在Lasagne提供的MNIST示例中,您需要输入4D张量。
一般来说,如果您的数据是二维的(例如图像),则输入的形状必须为(n_samples, n_channels, height, width)
。在MNIST数据集中,n_channel
为1(可能是其他内容,例如RGB图像为3),height
和width
均为28。
如果您的数据仅为1维,则必须输入形状为(n_samples, n_channel, n_features)
的3D张量。
请注意,如果您想预测单个图像的标签((28,28)ndarray,如this question中所示,则可能会出现问题,因为您需要将输入设为4维。在这种情况下,您可以使用data = data[None, None, :, :]
添加轴。