Tensorflow中常量、变量和占位符

常量

在TF中运算不会改变的单元,无需进行初始化操作的类型
创建语句:
constant_name = tf.constant(value)

变量

在TF运行过程中会改变的单元,需要进行初始化操作。定义后无需人工赋值,系统根据算法模型,训练优化过程中自动调整变量对应的数值。特殊情况中如需人工更新,变量赋值语句如需:
update_op = tf.assign(variable_to_be_updated, new_value)
创建语句:
name_variable = tf.Variable(value,name)
所有变量初始化语句:
init = tf.global_variables_initializer()
sess.run(init)

占位符

对于在定义时不知道数值的变量,只有当程序真正运行后才能根据输入得到的,可以用到占位符,创建如下:
tf.placeholder(dtype,shape=None,name=None)

#定义占位符,2行3列,每个元素类型为tf.float32
x=tf.placeholder(tf.float32,[2,3],name='x')

feed提交数据

创建含有占位符的计算图后,当在session中调用run(),placeholder必须通过feed_dict参数传递进去

import tensorflow as tf
a = tf.placeholder(tf.float32,name = 'a')
b = tf.placeholder(tf.float32,name = 'b')
c = tf.add(a,b,name='c')

init = tf.global_variables_initializer()
with tf.Session() as sess:
	sess.run(init)
	result = sess.run(c,feed_dict={a:3.0,b:4.0})
	print(result)

**以上内容来源:**浙江大学城市学院《深度学习应用开发Tensorflow实践》

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值