我正在使用Tensorflow后端在Keras上训练序列到序列模型,主要遵循教程here。
- 我在配备P100 GPU的IBM Power8计算机上使用TensorFlow v1.2.1
当它到达model.fit_generator()
行时,TensorFlow会抛出以下错误:
Object was never used (type <class 'tensorflow.python.ops.tensor_array_ops.TensorArray'>):
<tensorflow.python.ops.tensor_array_ops.TensorArray object at 0x3bfffc096dd8>
If you want to mark it as used call its "mark_used()" method.
我试着寻找未使用的操作/Tensor,但是没有找到。然后,我把每个操作/Tensor都标记为已使用,但是我仍然无法摆脱这个错误。
2条答案
按热度按时间i86rm4rw1#
通常,当tensorflow中的一些有状态操作从未传递到session.run或用作控件依赖项时,会触发此错误,这意味着一些更新将被静默丢弃,从而导致错误行为。也就是说,请尝试升级以查看故障是否是某些内部库而不是您的代码。
rdlzhqv92#
我在使用TensorArrays时遇到了这个错误,根据TensorArrays的官方文档:https://www.tensorflow.org/api_docs/python/tf/TensorArray
其中提到“注:应使用此函数的输出。如果未使用,将记录警告或可能引发错误。若要将输出标记为已使用,请调用其.mark_used()方法。”
因此,我在使用TensorArray的“write()”方法时遇到了这个错误。
后来以这种方式使用时得到解决: