当前位置:首页 » 《随便一记》 » 正文

【最简单解决办法】:module ‘tensorflow.compat.v1‘ has no attribute ‘contrib‘

23 人参与  2023年05月05日 08:09  分类 : 《随便一记》  评论

点击全文阅读


目录

出现错误界面

1.问题原因

2.解决办法

(1)在调用之前首先添加如下代码块并执行

(2)查找响应函数对应的函数调用前缀。

注:若出现错误也是LSTM预测,可直接复制如下代码:

最后问题解决,代码最后成功运行


anaconda下:

tensorflow版本:tensorflow2.3.0

python版本:python3.7

出现错误界面

 

1.问题原因

原因是tensorflow 2.0版本之后把contrib这个库取消了

2.解决办法

简单说法:到tensorflow官网查询相对应的函数调用方式即可。

(1)在调用之前首先添加如下代码块并执行

# import tensorflow as tf# tf.compat.v1.reset_default_graph()import tensorflow.compat.v1 as tftf.reset_default_graph()tf.compat.v1.disable_eager_execution()

(2)查找响应函数对应的函数调用前缀。

tensorflow官网TensorFlow (google.cn)

在搜索框直接输入对应函数即可。

以我的函数 DropoutWrapper为例:

直接输入红色框住部分的函数调用即可。

亲测 tf.compat.v1. 对绝大多数部分的函数都可以使用

涉及到tf调用函数的部分全部加上tf.compat.v1.  

最终问题解决,代码执行成功。

注:若出现错误也是LSTM预测,可直接复制如下代码:

def lstm_cell(size_layer):    return tf.compat.v1.nn.rnn_cell.LSTMCell(size_layer, state_is_tuple = False)    rnn_cells = tf.compat.v1.nn.rnn_cell.MultiRNNCell(            [lstm_cell(size_layer) for _ in range(num_layers)],            state_is_tuple = False,        )    self.X = tf.compat.v1.placeholder(tf.compat.v1.float32, (None, None, size))    self.Y = tf.compat.v1.placeholder(tf.compat.v1.float32, (None, output_size))    drop = tf.compat.v1.nn.rnn_cell.DropoutWrapper(            rnn_cells, output_keep_prob = forget_bias        )    self.hidden_layer = tf.compat.v1.placeholder(            tf.compat.v1.float32, (None, num_layers * 2 * size_layer)        )    self.outputs, self.last_state = tf.compat.v1.nn.dynamic_rnn(            drop, self.X, initial_state = self.hidden_layer, dtype = tf.compat.v1.float32        )    self.logits = tf.compat.v1.layers.dense(self.outputs[-1], output_size)    self.cost = tf.compat.v1.reduce_mean(tf.square(self.Y - self.logits))    self.optimizer = tf.compat.v1.train.AdamOptimizer(learning_rate).minimize(            self.cost        )        
def forecast():#此处为部分代码    tf.compat.v1.reset_default_graph()    modelnn = Model(        learning_rate, num_layers, df_log.shape[1], size_layer, df_log.shape[1], dropout_rate    )    sess = tf.compat.v1.InteractiveSession()    sess.run(tf.compat.v1.global_variables_initializer())    date_ori = pd.to_datetime(df.iloc[:, 0]).tolist()

最后问题解决,代码最后成功运行

 

 


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/60808.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1