二-Variable的使用

import tensorflow 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.Session() as sess:

    sess.run(init)

    print(sess.run(sub))

print(sess.run(add))

 

注意:

1tensorflow中要使用变量Variable的话,必须先对它进行初始化操作,否则会报错

2 tf.global_variables_initializer() 是对全局的Variable进行初始化

 

 

第二个程序(输出自增1):

#创建一个变量初始化为0

state=tf.Variable(0,name='counter')

#创建一个op,作用是使state1

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))

#print(state)

    for _ in range(5):

        sess.run(update)

        print(sess.run(state))

注意:

1上面注释的print(state),如果执行,会这样输出:
<tf.Variable 'counter_4:0' shape=() dtype=int32_ref>

而如果执行print(sess.run(state)),会输出: 0

可以看到区别了

 

2如果执行print(update),会这样输出:

Tensor("Assign_3:0", shape=(), dtype=int32_ref)

可以这样理解tensorflow的语句:

语句中等号 = 左边是一定是输出的数据(tensor或者Variable),而且一定与等号右边的tf函数内的参数有某种数值关系。另外,想操控任何数据必须通过建立操作节点op。实际上tensorflow有两个阶段,一个是计算图的构建阶段(构建数据和操作节点),一个是整个计算图的执行阶段。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值