【问题标题】:In Lasagne/Theano, do I need a 4d numpy array for a 4d Theano tensor?在 Lasagne/Theano 中,我是否需要一个 4d numpy 数组来存储 4d Theano 张量?
【发布时间】:2015-08-28 10:30:05
【问题描述】:

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

【问题讨论】:

  • 是的,如果你正在治疗,你需要给它一个 4D 输入。彩色图像。轴是图像索引、颜色、垂直、水平。如果你只有一张 RGB 图像,你应该给它形状(1, 3, h, w)
  • @ElliottMiller :提供的答案有帮助吗?

标签: python neural-network theano lasagne


【解决方案1】:

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

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

如果您的数据只有一维,那么您必须输入一个 3D 张量,形状为 (n_samples, n_channel, n_features)

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

【讨论】:

    猜你喜欢
    • 2017-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-15
    • 2020-12-02
    • 1970-01-01
    • 2021-04-18
    • 1970-01-01
    相关资源
    最近更新 更多