如何解决训练模型时,急切执行时不支持获取-值错误target_tensors参数
我尝试使用以下代码执行急切执行并禁用急切执行:
model = build_encoder_decoder()
final = build_refinement(model)
final.load_weights('/content/gdrive/My Drive/DIM/models/model.01-0.1296.hdf5')
for layer in final.layers:
layer.trainable = True
import tensorflow as tf
sgd = tensorflow.keras.optimizers.SGD(lr=1e-5,decay=1e-6,momentum=0.9,nesterov=True)
nadam = tensorflow.keras.optimizers.Nadam(lr=2e-5)
tensorflow.compat.v1.disable_eager_execution()
decoder_target = tensorflow.compat.v1.placeholder(dtype='float32',shape=(None,None,None))
# final.compile(optimizer=sgd,loss=alpha_prediction_loss)
final.compile(optimizer=sgd,loss=alpha_prediction_loss,target_tensors=[decoder_target],run_eagerly=False)
当我尝试执行它时,出现以下错误:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-43-912314147d95> in <module>()
----> 1 final.compile(optimizer=sgd,run_eagerly=False)
1 frames
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training.py in _validate_compile(self,optimizer,metrics,**kwargs)
2489 if kwargs.pop('target_tensors',None) is not None:
2490 raise ValueError(
-> 2491 'target_tensors argument is not supported when executing eagerly.')
2492 invalid_kwargs = set(kwargs) - {
2493 'experimental_steps_per_execution','sample_weight_mode'
ValueError: target_tensors argument is not supported when executing eagerly.
我尝试按照在StackOverflow和其他站点上找到的某些方法禁用急切执行,但我一直收到此错误。 有人可以告诉我我要去哪里哪里以及如何纠正这个问题吗?
解决方法
您正在使用哪个版本的tensorflow?您不需要在2.x版中使用eager_execution
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。