Tensorflow 2.2.0-rc4 AttributeError:模块'tensorflow.compat.v1'在Spyder中没有属性'contrib'?
Posted
技术标签:
【中文标题】Tensorflow 2.2.0-rc4 AttributeError:模块\'tensorflow.compat.v1\'在Spyder中没有属性\'contrib\'?【英文标题】:Tensorflow 2.2.0-rc4 AttributeError: module 'tensorflow.compat.v1' has no attribute 'contrib' in Spyder?Tensorflow 2.2.0-rc4 AttributeError:模块'tensorflow.compat.v1'在Spyder中没有属性'contrib'? 【发布时间】:2021-02-17 11:33:36 【问题描述】:这是我在 Spyder 中的代码。
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
# Building the seq2seq model
def seq2seq_model(inputs, targets, keep_prob, batch_size, sequence_length, answers_num_words, questions_num_words, encoder_embedding_size, decoder_embedding_size, rnn_size, num_layers, questionswords2int):
encoder_embedded_input = tf.contrib.layers.embed_sequence(inputs,
answers_num_words + 1,
encoder_embedding_size,
initializer = tf.random_uniform_initializer(0, 1))
encoder_state = encoder_rnn(encoder_embedded_input, rnn_size, num_layers, keep_prob, sequence_length)
preprocessed_targets = preprocess_targets(targets, questionswords2int, batch_size)
decoder_embeddings_matrix = tf.Variable(tf.random_uniform([questions_num_words + 1, decoder_embedding_size], 0, 1))
decoder_embedded_input = tf.nn.embedding_lookup(decoder_embeddings_matrix, preprocessed_targets)
training_predictions, test_predictions = decoder_rnn(decoder_embedded_input,
decoder_embeddings_matrix,
encoder_state,
questions_num_words,
sequence_length,
rnn_size,
num_layers,
questionswords2int,
keep_prob,
batch_size)
return training_predictions, test_predictions
我使用的是 Ubuntu 18.04
$ python3
Python 3.8.3 (default, Jul 2 2020, 16:21:59) [GCC 7.3.0] :: Anaconda, Inc. on linux Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> tf.__version__ '
>>> 2.2.0-rc4'
我知道 tf.contrib
已从 TensorFlow 中删除
我在here 找到了一些解决方案,但无法解决问题
【问题讨论】:
【参考方案1】:最后我明白了在 tensorflow 2 和 contrib强>python 3.8。 在这里,我将我的 python 版本降级为 pythone 3.5 和 tensorflow 1.0。
这是我遵循的步骤
第一步:我已经用python 3.5版创建了一个新环境
conda create --name env1 pip python=3.5 parso=0.7
第二步:激活我的环境
conda activate env1
最后安装 tensorflow 1.0
pip install tensorflow==1.0
这对我有用。
【讨论】:
以上是关于Tensorflow 2.2.0-rc4 AttributeError:模块'tensorflow.compat.v1'在Spyder中没有属性'contrib'?的主要内容,如果未能解决你的问题,请参考以下文章
py_get_attr_impl(x,name,silent)中的R错误:AttributeError:模块'tensorflow'没有属性'placeholder'
from keras.preprocessing.text import Tokenizer报错:AttributeError: module ‘tensorflow.compat.v2‘ has..