运行Tensorflow序列到序列教程时出错

2024-04-19 07:35:01 发布

您现在位置:Python中文网/ 问答频道 /正文

按照序列到序列教程中的说明操作时,我收到以下错误消息: https://www.tensorflow.org/tutorials/seq2seq

当我跑的时候

python translate.py --data-dir [your data directory]

当脚本创建层时,我最终得到以下错误:

^{pr2}$

(下面是完整堆栈跟踪)

系统信息:

  • macOS 10.12.5版
  • Python 3.5.3
  • Tensorflow 1.2.0版
  • 在conda(4.3.21)内通过pip(9.0.1)安装Tensorflow

此外,WMT数据已经下载和处理。我下载了教程中指定的英法数据。在

任何帮助都将不胜感激。在

Preparing WMT data in /tmp
2017-06-16 09:28:44.185353: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2017-06-16 09:28:44.185383: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2017-06-16 09:28:44.185388: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
2017-06-16 09:28:44.185393: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.
Creating 3 layers of 1024 units.
Traceback (most recent call last):
 File "translate.py", line 322, in <module>
   tf.app.run()
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/site-packages/tensorflow/python/platform/app.py", line 48, in run
   _sys.exit(main(_sys.argv[:1] + flags_passthrough))
 File "translate.py", line 319, in main
   train()
 File "translate.py", line 178, in train
   model = create_model(sess, False)
 File "translate.py", line 136, in create_model
   dtype=dtype)
 File "/Users/<redacted>/models/tutorials/rnn/translate/seq2seq_model.py", line 179, in __init__
   softmax_loss_function=softmax_loss_function)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/site-packages/tensorflow/contrib/legacy_seq2seq/python/ops/seq2seq.py", line 1206, in model_with_buckets
   decoder_inputs[:bucket[1]])
 File "/Users/<redacted>/models/tutorials/rnn/translate/seq2seq_model.py", line 178, in <lambda>
  lambda x, y: seq2seq_f(x, y, False),
 File "/Users/<redacted>/models/tutorials/rnn/translate/seq2seq_model.py", line 142, in seq2seq_f
  dtype=dtype)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/site-packages/tensorflow/contrib/legacy_seq2seq/python/ops/seq2seq.py", line 848, in embedding_attention_seq2seq
  encoder_cell = copy.deepcopy(cell)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 166, in deepcopy
  y = copier(memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/site-packages/tensorflow/python/layers/base.py", line 476, in __deepcopy__
  setattr(result, k, copy.deepcopy(v, memo))
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 155, in deepcopy
  y = copier(x, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 218, in _deepcopy_list
  y.append(deepcopy(a, memo))
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 182, in deepcopy
  y = _reconstruct(x, rv, 1, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 297, in _reconstruct
  state = deepcopy(state, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 155, in deepcopy
  y = copier(x, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 243, in _deepcopy_dict
  y[deepcopy(key, memo)] = deepcopy(value, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 182, in deepcopy
  y = _reconstruct(x, rv, 1, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 297, in _reconstruct
  state = deepcopy(state, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 155, in deepcopy
  y = copier(x, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 243, in _deepcopy_dict
  y[deepcopy(key, memo)] = deepcopy(value, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 155, in deepcopy
  y = copier(x, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 218, in _deepcopy_list
  y.append(deepcopy(a, memo))
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 182, in deepcopy
  y = _reconstruct(x, rv, 1, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 297, in _reconstruct
  state = deepcopy(state, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 155, in deepcopy
  y = copier(x, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 243, in _deepcopy_dict
  y[deepcopy(key, memo)] = deepcopy(value, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 155, in deepcopy
  y = copier(x, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 218, in _deepcopy_list
  y.append(deepcopy(a, memo))
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 155, in deepcopy
  y = copier(x, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 223, in _deepcopy_tuple
  y = [deepcopy(a, memo) for a in x]
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 223, in <listcomp>
  y = [deepcopy(a, memo) for a in x]
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 155, in deepcopy
  y = copier(x, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 243, in _deepcopy_dict
  y[deepcopy(key, memo)] = deepcopy(value, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 182, in deepcopy
  y = _reconstruct(x, rv, 1, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 297, in _reconstruct
  state = deepcopy(state, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 155, in deepcopy
  y = copier(x, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 243, in _deepcopy_dict
  y[deepcopy(key, memo)] = deepcopy(value, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 182, in deepcopy
  y = _reconstruct(x, rv, 1, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 297, in _reconstruct
  state = deepcopy(state, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 155, in deepcopy
  y = copier(x, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 243, in _deepcopy_dict
  y[deepcopy(key, memo)] = deepcopy(value, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 182, in deepcopy
  y = _reconstruct(x, rv, 1, memo)
 File "/Users/<redacted>/anaconda/envs/tf/lib/python3.5/copy.py", line 306, in _reconstruct
  y.__dict__.update(state)
AttributeError: 'NoneType' object has no attribute 'update'

Tags: inpylibtflineanacondausersfile
2条回答

如果你只有一个桶的话,这个模型似乎能很好地工作。在等待bug被修复时,如果您只想看到一些初始结果,请在翻译.py,更改4个存储桶的列表: _铲斗=[(5,10),(10,15),(20,25),(40,50)] 只有一个桶,例如,_bucket=[(10,15)]。在

rncell的deepcopy似乎有问题,我们在github错误中跟踪它:https://github.com/tensorflow/tensorflow/issues/8191

另一方面,这里有一个新的TensorFlow seq2seq repo,这里有很多模型:https://github.com/google/seq2seq如果你只对结果感兴趣,而不是模型,那么我们这里有新的模型:https://github.com/tensorflow/tensor2tensor对于这个错误,任何情况下都很抱歉,请查看github bug页面以获取有关解决方案的更多详细信息。在

相关问题 更多 >