如何在张量流中迭代变长张量?

时间:2017-03-30 09:46:27

标签: tensorflow neural-network deep-learning

我想构建一个图表来接受可变大小的图像。因此,在最后一个转换层之后,我想迭代每个像素并将该向量馈送到softmax层。然后计算它们的平均值。

看起来像这样:

last_max_pool = tf.nn.max_pool(...)

output = tf.reshape(last_max_pool, [batch_size, None, channels])

results = []
for one_batch in output:
    result = []
    for pixel in one_batch:
        result.append(tf.nn.softmax(tf.matmul(pixel, W_sf) + B_sf))
    result = tf.reduce_mean(result)
    results.append(result)

但是如何在tensorflow中构建这样的图形呢?

1 个答案:

答案 0 :(得分:0)

我认为您不需要循环,而是可以将last_max_pool重塑为[None, channels]

output = tf.reshape(last_max_pool, [None, channels])
softmax = tf.nn.softmax(tf.matmul(output, W_sf) + B_sf)
final_output = tf.reduce_mean(results)