tensorflow代码TypeError:*:'int'和'Flag'不支持的操作数类型

Posted

技术标签:

【中文标题】tensorflow代码TypeError:*:\'int\'和\'Flag\'不支持的操作数类型【英文标题】:tensorflow code TypeError: unsupported operand type(s) for *: 'int' and 'Flag'tensorflow代码TypeError:*:'int'和'Flag'不支持的操作数类型 【发布时间】:2018-08-25 00:57:02 【问题描述】:

BATCH_QUEUE_MAX = 100

self._data_path = data_path
self._vocab = vocab
self._hps = hps
self._single_pass = single_pass

# Initialize a queue of Batches waiting to be used, and a queue of Examples waiting to be batched
self._batch_queue = Queue.Queue(self.BATCH_QUEUE_MAX)
self._example_queue = Queue.Queue(self.BATCH_QUEUE_MAX * self._hps.batch_size);

这段代码突然不能运行了。因为tensorflow变成了1.6版本?

【问题讨论】:

,它显示 ValueError: The 'mode' flag must be one of train/eval/decode,但我提供了 arg。 【参考方案1】:

这些标志的 API 发生了变化。基本上,您必须在每个实例之后编写 .value,例如 self._hps.batch_size.value

【讨论】:

还有一个问题, tf.app.flags.DEFINE_string('mode', 'train', 'must be one of train/eval/decode') ,当我想运行代码时,它表明 ValueError: The 'mode' flag must be one of train/eval/decode, 但我提供了 arg。 同样的问题。您想访问标志的值,因此您必须评估该标志的 .value。 感谢您的回答!当我在 'train' 模式下运行代码时,它显示 'SummarizationModel' 对象没有属性 '_train_op' 和 'INFO:tensorflow:Error 报告给 Coordinator: Attempted to使用封闭的Session'。你知道问题吗?tensorflow1.6关于train_op或者sess或者supervisor还有其他变化吗? 我不知道问题所在。对我来说,它在应用我向您描述的更改后起作用。请为此打开另一个问题。 AttributeError: 'SummarizationModel' 对象没有属性 '_train_op',现在它变成了错误,我的代码是 tf.device("/gpu:0"): self._train_op = optimizer.apply_gradients (zip(grads, tvars), global_step=self.global_step, name='train_step') 'train_op': self._train_op

以上是关于tensorflow代码TypeError:*:'int'和'Flag'不支持的操作数类型的主要内容,如果未能解决你的问题,请参考以下文章

构建神经网络 [TensorFlow 2.0] 模型子类化 - ValueError/TypeError

Tensorflow Slim:TypeError:预期 int32,得到的列表包含类型为“_Message”的张量

导入 TensorFlow 时出错。 TypeError:预期字节,找到描述符

TensorFlow:TypeError:不允许使用 `tf.Tensor` 作为 Python `bool`

Tensorflow 错误:TypeError:__init__() 得到了一个意外的关键字参数“dct_method”[关闭]

TypeError:无法将值 dtype('<M8[ns]') 转换为 TensorFlow DType