【问题标题】:Tensorflow maximum of three functionsTensorflow 最多三个函数
【发布时间】:2021-10-13 20:50:05
【问题描述】:

我有一个像这样的损失函数:max(f1,f2,f3) 其中 f1,f2 和 f3 是函数。如何在 tensorflow v1.15.0 中实现这一点? tf.maximum 函数只需要两个参数,所以我不能同时传递所有三个函数。

编写像 tf.maximum(tf.maximum(f1,f2),f3) 这样的嵌套 max 函数是正确的方法吗?

非常感谢。

【问题讨论】:

    标签: python tensorflow loss-function


    【解决方案1】:

    如果你想坚持使用 tensorflow,可以使用 reduce_max 代替 maximum,例如 tf.reduce_max([1, 2, 3])

    【讨论】:

    • 谢谢。我需要减少绝对最大值。写成 tf.reduce_max(tf.abs([1,2,3])) 对吗?
    • 函数tf.reduce_max([f1,f2,f3]) 在最小化错误方面的性能远低于tf.maximum(tf.maximum(f1,f2),f3)。知道为什么吗?
    • 好吧,我希望它们的表现类似,您可以尝试使用np.max() 代替tf.reduce_max() 吗?
    • 我在 tf.reduce_max 中传递 tensorflow 占位符,所以我不能真正使用 numpy.max()。
    • timeit_reduce_max = 28.74s; timeit_numpy = 10.99s, timeit_your_proposal = 25.51s 这是我在运行每个函数一百万次时得到的结果,我不确定我是否理解你为什么不能使用 numpy,但如果你总是只有这三个值你方法似乎已经足够好了。
    猜你喜欢
    • 1970-01-01
    • 2013-08-31
    • 2018-10-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 2017-06-14
    • 2023-03-26
    • 1970-01-01
    相关资源
    最近更新 更多