Tensorflow——变量

一、变量(Variable)的说明 

  • Tensorflow中,变量(Variable)是特殊的张量(Tensor),Variable是包含张量的内存缓冲。
  • 与其他张量不同,变量存在于单个sess.run() 调用的上下文之外,即变量存储是持久的张量,当训练模型时,用变量来存储和更新参数,
  • 变量的初始化必须在模型的其它操作运行之前先明确地完成,在调用op之前,所有变量都应该被显示的初始化。

二、代码实例

1、减法、加法的实现

  • 引入Tensorflow
import tensorflow as tf
  •  定义一个变量和常量
# 定义一个变量和常量
x = tf.Variable([1,2])
a = tf.constant([3,3])
  • 定义具体操作 
#定义一个减法op
#按shift+table键,可以查看函数的信息,按两次可以查看函数的详细信息
sub = tf.subtract(x,a)
#定义一个加法op
add = tf.add(x,sub)
  • 变量的初始化
#变量的初始化(一定要进行)
init = tf.global_variables_initializer()
  • 定义会话,调用op,实现相应的功能
#定义一个会话
with tf.Session() as sess:
    #执行变量的初始化
    sess.run(init)
    print(sess.run(sub))
    print(sess.run(add))
  • 结果

2、循环操作 

import tensorflow as tf
#创建一个变量初始化为0
state = tf.Variable(0, name = 'counter')
#创建一个op,作用是使state加1
new_state = tf.add(state,1)

#赋值操作op,tensorflow中不能使用直接赋值符号
update = tf.assign(state, new_state)

#变量的初始化
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))
  • 结果 

猜你喜欢

转载自blog.csdn.net/gaoyu1253401563/article/details/86002786