原因:
if tf.equal(self.optimizer.iterations % log_freq, 0):
pass
tensorflow版本:1.15.0
由于python的if语句是通过bool类型判断的,而tf.equal()返回的是Tensor张量类型,所以报错
解决:
myflag = tf.cond(tf.equal(self.optimizer.iterations % log_freq, 0), lambda: True, lambda: False)
if myflag:
pass
这篇博客讨论了在使用TensorFlow 1.15.0时遇到的一个问题,即在Python if语句中使用tf.equal()导致的错误。原因是tf.equal()返回的是Tensor类型而非bool。为了解决这个问题,作者提出了一个解决方案,即利用tf.cond()函数将Tensor转换为布尔值进行判断,从而避免了错误的发生。
2万+





