【问题标题】: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。

标签: python tensorflow nlp seq2seq


【解决方案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
猜你喜欢
  • 2018-08-18
  • 2017-12-27
  • 2014-03-31
  • 2012-12-12
  • 2020-02-27
  • 2021-05-23
  • 2016-04-15
  • 2019-01-12
  • 2012-11-29
相关资源
最近更新 更多