首页 > 解决方案 > 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 中删除

我在这里找到了一些解决方案, 但无法解决问题

标签: python-3.xtensorflowjupyter-notebookanacondaspyder

解决方案


最后我明白了在tensorflow 2python 3.8中没有办法继续使用contrib。在这里,我将我的 python 版本降级为pythone 3.5tensorflow 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

这对我有用。


推荐阅读