擅长:python、mysql、java
<p>损失函数中不能有<code>if</code>语句,因为它没有梯度。<br/>
尝试用此代码替换它。此循环的功能与<code>if</code>语句相同</p>
<pre><code>def custom_loss(y_actual,y_pred):
tupl = np.shape(y_actual)
flag = tf.compat.v1.math.is_nan(y_actual)
y_actual = y_actual[tf.compat.v1.math.logical_not(flag)]
y_pred = y_pred[tf.compat.v1.math.logical_not(flag)]
tensordiff = tf.compat.v1.math.reduce_sum(tf.compat.v1.math.square(y_actual-y_pred))
for x in range(min(len(tupl),4)-1):
tensordiff /= tupl[x]
return tensordiff
</code></pre>