2-2变量学习笔记-解决问题module ‘tensorflow‘ has no attribute ‘global_variables_initializer‘

1.出现该错误时:AttributeError: module ‘tensorflow’ has no attribute ‘global_variables_initializer’
import tensorflow as tf
改为import tensorflow.compat.v1 as tf
因为tensorflow版本的问题,2.0与1.0不同

2.tensorflow中在使用变量时需要进行初始化

init=tf.global_variables_initializer()

3.运行以下代码报错

import tensorflow.compat.v1 as tf
x=tf.Variable([1,2])
a=tf.constant([3,3])
#增加一个减法op
sub=tf.subtract(x,a)
#增加一个加法op
add=tf.add(x,sub)

init=tf.global_variables_initializer()

with tf.compat.v1.Session() as sess:
    sess.run(init)
    print(sess.run(sub))
    print(sess.run(add))

AttributeError Traceback (most recent call last)
in
8 init=tf.global_variables_initializer()
9
—> 10 with tf.compat.v1.Session() as sess:
11 sess.run(init)
12 print(sess.run(sub))

AttributeError: module ‘tensorflow_core.compat.v1.compat’ has no attribute ‘v1’

解决方法:将第二个代码块中的.compat.v1删去
4.以下代码是一个循环自加的过程

#创建一个变量初始化为0
state=tf.Variable(0,name="counter")
#创建一个op,作用是使state加1
new_value=tf.add(state,1)
#赋值op
update=tf.assign(state,new_value)
#变量初始化
init=tf.global_variables_initializer()

with tf.Session() as sess:
    sess.run(init)
    print(sess.run(state))
    for _ in range(5):
        sess.run(update)
        print(sess.run(state))

得到输出:
0
1
2
3
4
5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值