【问题标题】:feeding a convolutional neural network with variable sized inputs in tensorflow在张量流中输入具有可变大小输入的卷积神经网络
【发布时间】:2016-10-03 15:29:33
【问题描述】:

我正在尝试使用 feed_dict 参数将不同大小的 2d numpy 数组列表传递给卷积神经网络。

x = tf.placeholder(tf.float32, [batch_size, None, None, None]) y = tf.placeholder(tf.float32, [batch_size, 1]) optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost) optimizer.run(feed_dict={x: batch[0], y: batch[1], keep_prob: 0.5})

我收到以下错误:

ValueError: setting an array element with a sequence.

我知道 batch[0] 必须包含相同大小的数组。 我正在尝试找到一种使用可变大小的数组批量应用优化的方法,但是所有建议的解决方案都要求调整数组的大小,这在我的情况下是不可能的,因为这些数组不是图像并且包含不同大小的 DNA 片段(任何修改对数组的任何元素都会造成重要信息的丢失)

有人有想法吗?

【问题讨论】:

    标签: tensorflow


    【解决方案1】:

    提供的矩阵需要在行和列之间具有一致的大小。一行或一列的大小不能与任何其他大小不同。

    Matrix #1    Matrix #2
      1 2 3       1 2 3
      None        4 5 6
      None        7 8 9
    

    没有任何操作可以在 Matrix #1 上起作用,这基本上就是你所拥有的。如果您想输入可变尺寸矩阵(不同尺寸的 matices,但尺寸大小以行和列为单位)this 可以解决你的问题

    参数:

    shape:要馈送的张量的形状(可选)。如果形状是 未指定,您可以输入任何形状的张量。

    或者,如果您正在寻找稀疏张量(tf.sparse_placeholder() -- 未定义的元素设置为零),this question 可能会有所帮助。

    【讨论】:

      猜你喜欢
      • 2016-12-02
      • 1970-01-01
      • 1970-01-01
      • 2017-03-03
      • 1970-01-01
      • 2016-10-20
      • 2023-03-08
      • 2017-07-30
      • 2017-08-31
      相关资源
      最近更新 更多