【问题标题】:In Tensorflow, how can I select the minimum tensor among a few tensors?在 Tensorflow 中,如何在几个张量中选择最小张量?
【发布时间】:2018-06-22 02:19:18
【问题描述】:

根据 Tensorflow API,我知道我可以沿特定轴 reduce_min 或 reduce_max。我还可以选择两个张量中的最小张量,如下所示。

min = tf.minimum(x, y)

但是,我想知道如何在一组张量中选择最小张量。张量中是否有min或max之类的函数?

非常感谢!

【问题讨论】:

    标签: python tensorflow


    【解决方案1】:

    你可以stack所有张量然后使用reduce_min

    a = tf.constant([3])
    b = tf.constant([2])
    c = tf.constant([1])
    
    with tf.Session() as sess:
       print(tf.reduce_min(tf.stack([a,b,c]),0).eval())
    #[1]
    

    【讨论】:

    • 好吧,如果只有三个变量,这正是解决这个问题的方法。但是,如果我从深度神经网络的输出中获得 20 个变量。我认为这并不容易。
    • @Sean,我敢肯定您收到的输出一定是以某种形式整理过的。大多数情况下,它将是一个列表(比如 vars),在这种情况下,您可以轻松地堆叠整个列表,指定相应的轴。如果它不是一个列表,那么必须有一种方法可以轻松地将它们全部整理到一个列表中。
    • 是的,你是对的。我以列表的形式收集了输出。
    • 然后使用tf.reduce_min(tf.stack(List),0)
    猜你喜欢
    • 1970-01-01
    • 2019-11-12
    • 2017-12-23
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多