python-3.x - Tensorflow 2.2.0-rc4 AttributeError:模块'tensorflow.compat.v1'在Spyder中没有属性'contrib'?
问题描述
这是我在 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 中删除
我在这里找到了一些解决方案, 但无法解决问题
解决方案
最后我明白了在tensorflow 2和python 3.8中没有办法继续使用contrib。在这里,我将我的 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
这对我有用。
推荐阅读
- .net - EPPlus 返回数字而不是日期/字符串
- php - 如何跟踪 IPv4 地址以防止多选?
- sql - 如何在不使用 id 键的情况下“压缩”多个嵌套的 JSON 数组?
- python - 在对 epsilon 使用线性退火的 epsilon 贪心策略时测量情节奖励
- hybris - 使用 ImpEx 跨不同环境的动态 URL
- go - 如何为所有用户安装 golang 二进制文件
- aframe - 有没有办法拥有多个资产银行?
- node.js - 编辑 req.user 对象
- elasticsearch - 如何离线构建 ElasticSearch Docs
- javascript - 将字符串格式的矩阵转换为Javascript数组