Nim*_*z14 7 python nan tensorflow
我正在尝试在训练我的图形时计算权重的熵并将其用于正则化.这当然涉及到w*tf.log(w),并且随着我的权重的变化,其中一些必然会进入导致NaN返回的区域.
理想情况下,我会在图表设置中包含一行:
w[tf.is_nan(w)] = <number>
Run Code Online (Sandbox Code Playgroud)
但tensorflow不支持这样的分配.我当然可以创建一个操作,但这不起作用,因为我需要在执行整个图形时发生它.我不能等待图表执行然后"修复"我的权重,必须是图执行的一部分.
我无法np.nan_to_num在文档中找到相应的内容.
有人有想法吗?
(由于显而易见的原因,添加epsilon不起作用)
cha*_*255 17
我认为你需要使用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
Run Code Online (Sandbox Code Playgroud)
更新: TensorFlow 1.0已弃用 tf.select,支持兼容Numpy tf.where.
| 归档时间: |
|
| 查看次数: |
6580 次 |
| 最近记录: |