gpt4 book ai didi

python - Tensorflow:如何将 NaN 转换为数字?

转载 作者:太空狗 更新时间:2023-10-29 21:21:51 25 4
gpt4 key购买 nike

我在训练我的图表时尝试计算权重的熵,并将其用于正则化。这当然涉及 w*tf.log(w),并且随着我的权重发生变化,其中一些权重必然会进入导致返回 NaN 的区域。

理想情况下,我会在图表设置中包含一条线:

w[tf.is_nan(w)] = <number>

但是 tensorflow 不支持那样分配。我当然可以创建一个操作,但这行不通,因为我需要它在整个图的执行过程中发生。我迫不及待地等待图形执行然后“修复”我的权重,这必须是图形执行的一部分。

我无法在文档中找到与 np.nan_to_num 等效的内容。

有人有想法吗?

(由于显而易见的原因,添加 epsilon 不起作用)

最佳答案

我认为您需要使用 tf.select。

w = tf.select(tf.is_nan(w), tf.ones_like(w) * NUMBER, w); #if w is nan use 1 * NUMBER else use element in w

更新:TensorFlow 1.0 有 deprecated tf.select 支持与 Numpy 兼容 tf.where .

关于python - Tensorflow:如何将 NaN 转换为数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38527722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com