作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在训练我的图表时尝试计算权重的熵,并将其用于正则化。这当然涉及 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/
我是一名优秀的程序员,十分优秀!