我正在用千层面构建一个神经网络,并按照 github 上的示例进行操作。我很好奇如何准确地输入网络。在示例中,他们声明输入层是 4 维,实际上它是一个 theano tensor4。这是否意味着我必须给网络一个 4 维 numpy 数组?这甚至可能吗?您将如何从 4 d 列表向量构建一个?
问问题
450 次
1 回答
0
在 Lasagne 提供的 MNIST 示例中,您需要输入一个 4D 张量。
一般来说,如果您的数据是二维的(例如图像),则输入的形状必须是(n_samples, n_channels, height, width)
. 在 MNIST 数据集中n_channel
是 1(可能是其他东西,例如 3 用于 RGB 图像),并且height
都是width
28。
如果您的数据只有一维,那么您必须输入一个 3D 张量,形状为(n_samples, n_channel, n_features)
。
请注意,如果您想预测单个图像的标签 ((28, 28) ndarray 就像在这个问题中一样,这可能会有问题,因为您需要将输入设为 4 维。在这种情况下,您可以使用添加轴data = data[None, None, :, :]
。
于 2015-08-28T11:37:48.033 回答