擅长:python、mysql、java
<p>如果在转换为图形模式的代码中使用python short-circuit<code>and</code>运算符,则大多数情况下会导致不良行为或错误,因为python short-circuit<code>and</code>运算符不能重载。要对张量执行元素和运算,请使用<code>tf.math.logical_and</code></p>
<p>此外<code>tf.where</code>在这里是不必要的,而且速度可能较慢。首选掩蔽。示例代码:</p>
<pre><code>@tf.function
def better_loss(y_true,y_pred):
loss = tf.square(y_true - y_pred)
# ignore elements where BOTH y_true & y_pred < 0.1
mask = tf.cast(tf.logical_or(y_true >= 0.1, y_pred >= 0.1) ,tf.float32)
loss *= mask
return tf.reduce_sum(loss) / tf.reduce_sum(mask)
</code></pre>