seq2seq_model.py AttributeError: 'NoneType' object has no attribute 'update'



#### tensorflow/TensorFlow_seq2seq_tutorial-master/translate/translate.py的运行出现一下错误:

AttributeError: 'NoneType' object has no attribute 'update'

```
Traceback (most recent call last):
  File "/Users/mac/Desktop/wgz/python/tensorflow/TensorFlow_seq2seq_tutorial-master/translate/translate.py", line 300, in <module>
    tf.app.run()
  File "/anaconda/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 48, in run
    _sys.exit(main(_sys.argv[:1] + flags_passthrough))
  File "/Users/mac/Desktop/wgz/python/tensorflow/TensorFlow_seq2seq_tutorial-master/translate/translate.py", line 293, in main
    self_test()
  File "/Users/mac/Desktop/wgz/python/tensorflow/TensorFlow_seq2seq_tutorial-master/translate/translate.py", line 277, in self_test
    5.0, 32, 0.3, 0.99, num_samples=8)
  File "/Users/mac/Desktop/wgz/python/tensorflow/TensorFlow_seq2seq_tutorial-master/translate/seq2seq_model.py", line 165, in __init__
    softmax_loss_function=softmax_loss_function)
  File "/anaconda/lib/python2.7/site-packages/tensorflow/contrib/legacy_seq2seq/python/ops/seq2seq.py", line 1209, in model_with_buckets
    decoder_inputs[:bucket[1]])
  File "/Users/mac/Desktop/wgz/python/tensorflow/TensorFlow_seq2seq_tutorial-master/translate/seq2seq_model.py", line 164, in <lambda>
    lambda x, y: seq2seq_f(x, y, False),
  File "/Users/mac/Desktop/wgz/python/tensorflow/TensorFlow_seq2seq_tutorial-master/translate/seq2seq_model.py", line 144, in seq2seq_f
    dtype=dtype)
  File "/anaconda/lib/python2.7/site-packages/tensorflow/contrib/legacy_seq2seq/python/ops/seq2seq.py", line 851, in embedding_attention_seq2seq
    encoder_cell = copy.deepcopy(cell)
  File "/anaconda/lib/python2.7/copy.py", line 174, in deepcopy
    y = copier(memo)
  File "/anaconda/lib/python2.7/site-packages/tensorflow/python/layers/base.py", line 655, in __deepcopy__
    setattr(result, k, copy.deepcopy(v, memo))
  File "/anaconda/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/anaconda/lib/python2.7/copy.py", line 230, in _deepcopy_list
    y.append(deepcopy(a, memo))
  File "/anaconda/lib/python2.7/copy.py", line 174, in deepcopy
    y = copier(memo)
  File "/anaconda/lib/python2.7/site-packages/tensorflow/python/layers/base.py", line 655, in __deepcopy__
    setattr(result, k, copy.deepcopy(v, memo))
  File "/anaconda/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/anaconda/lib/python2.7/copy.py", line 230, in _deepcopy_list
    y.append(deepcopy(a, memo))
  File "/anaconda/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/anaconda/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/anaconda/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/anaconda/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/anaconda/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/anaconda/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/anaconda/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/anaconda/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/anaconda/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/anaconda/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/anaconda/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/anaconda/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/anaconda/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/anaconda/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/anaconda/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/anaconda/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/anaconda/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/anaconda/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/anaconda/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/anaconda/lib/python2.7/copy.py", line 230, in _deepcopy_list
    y.append(deepcopy(a, memo))
  File "/anaconda/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/anaconda/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/anaconda/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/anaconda/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/anaconda/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/anaconda/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/anaconda/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/anaconda/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/anaconda/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/anaconda/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/anaconda/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/anaconda/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/anaconda/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/anaconda/lib/python2.7/copy.py", line 230, in _deepcopy_list
    y.append(deepcopy(a, memo))
  File "/anaconda/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/anaconda/lib/python2.7/copy.py", line 237, in _deepcopy_tuple
    y.append(deepcopy(a, memo))
  File "/anaconda/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/anaconda/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/anaconda/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/anaconda/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/anaconda/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/anaconda/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/anaconda/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/anaconda/lib/python2.7/copy.py", line 343, in _reconstruct
    y.__dict__.update(state)
AttributeError: 'NoneType' object has no attribute 'update'
```






解决这个问题的方法是:将tensro升级到最新的tendorflow的1.4版本,但是还会出现


```
AttributeError: 'NoneType' object has no attribute 'update'
```
解决办法请参考:

``` #
将seq2seq_model.py中134行的
 def seq2seq_f(encoder_inputs, decoder_inputs, do_decode):
            return tf.contrib.legacy_seq2seq.embedding_attention_seq2seq(
                encoder_inputs,
                decoder_inputs,
                cell,
                num_encoder_symbols=source_vocab_size,
                num_decoder_symbols=target_vocab_size,
                embedding_size=size,
                output_projection=output_projection,
                feed_previous=do_decode,
                dtype=dtype)


改变为:
def seq2seq_f(encoder_inputs,decoder_inputs,do_decode):
tmp_cell = copy.deepcopy(cell)
return tf.contrib.legacy_seq2seq.embedding_attention_seq2seq(
encoder_inputs,
decoder_inputs,tmp_cell,
num_encoder_symbols = source_vocab_size,
num_decoder_symbols = target_vocab_size,
embedding_size = size,
output_projection = output_projection,
feed_previous = do_decode,dtype = dtype 

```








  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对于问题AttributeError: module 'tensorflow.compat.v1' has no attribute 'contrib',您可以尝试使用以下解决方法来修复seq_loss.py文件: 1. 确保您使用的是最新版本的TensorFlow。可以通过运行以下命令来升级TensorFlow: ``` pip install --upgrade tensorflow ``` 2. 检查您的代码中是否使用了`import tensorflow.contrib`的方式导入模块。在最新版本的TensorFlow中,`contrib`模块已被移除。您可以尝试将这行代码替换为`import tensorflow`。 3. 如果您的代码中使用了`tf.contrib`下的特定函数或类,您可以尝试在最新版本的TensorFlow中找到替代方法或模块。 对于问题AttributeError: module 'tensorflow.keras.utils' has no attribute 'multi_gpu_model',您可以尝试使用以下解决方法来解决: 1. 确保您使用的是最新版本的TensorFlow。可以通过运行以下命令来升级TensorFlow: ``` pip install --upgrade tensorflow ``` 2. 检查您的代码中是否使用了`tensorflow.keras.utils.multi_gpu_model`。在最新版本的TensorFlow中,此函数已被移除。您可以尝试使用TensorFlow的分布式训练功能来替代此函数。 对于问题AttributeError: 'Tensor' object has no attribute 'model.normalization.groups',根据您提供的引用,找不到具体的解决方案。这个错误可能是由于使用了过时的TensorFlow版本或特定的模块/函数/类不存在导致的。建议您升级TensorFlow到最新版本,并检查代码中的相关部分是否存在拼写错误或其他错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值