291294878

2018-10-23   阅读量: 754

数据分析师 Python数据分析

Tensorflow变量基础?

扫码加入数据分析学习群

1、变量,是指给定一个初始值,后期可以重新赋值的一个数;

2、在tensorflow中的函数是tf.Variable,有11个参数,分别如下所示:
initial_value=None, 初始值,默认为空
trainable=True, 如果`True`,则默认值也将变量添加到图形中集合中
collections=None,图集合
validate_shape=True,是否允许变量shape发生变化
caching_device=None,指定缓存驱动
name=None,变量名称
variable_def=None,协议缓冲区。如果不是“无”,则重新创建变量对象及其内容,引用变量的节点在图中,必须已经存在。图形没有改变。`variable_def`和其他参数是互斥的。
dtype=None,变量数据类型
expected_shape=None,张量的shape,如果设置需要使得初始值符合该shape
import_scope=None,可选的字符串
constraint=None 约束条件
3、使用特征
变量必须初始化,初始化示例如下所示:
import tensorflow as tf
init=tf.global_variables_initializer()
sess=tf.Session()
sess.run(init)
sess.close()

4、常规用法
如下示例,可以只传入一个initial_value及一个名称“W”,至于initial_value的大小可以根据自己的算法进行调整,其他参数默认,则保存一个变量;

import tensorflow as tf
const=tf.Variable(1.0,name="W")
init=tf.global_variables_initializer()
sess=tf.Session()
sess.run(init)
print(sess.run(const))
结果如下所示:
1.0

5、重新赋值
变量可以被重新赋值,使用关键字assign,计数器示例如下所示

import tensorflow as tf
# 定义计数器
count=tf.Variable(0,name="counter")
counter=tf.add(count,tf.constant(1))
#重新赋值
updatecount=tf.assign(count,counter)
#变量初始化
init=tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
for i in range(10):
sess.run(updatecount)
print(sess.run(count))
结果如下所示:
打印1到10

6、优点及联合用法
1、在机器学习算法中的W和b如果使用Tensorflow定义算法,建议所有的参数变量使用Variable形式,不要使用常数形式,据经验表明,使用常量会使得程序效率变低;
2、常和以下兄弟函数联合使用
random_normal: 正太分布随机数,均值mean,标准差stddev
truncated_normal:截断正态分布随机数,均值mean,标准差stddev,保留[mean-2*stddev,mean+2*stddev]范围内的随机数
random_uniform:均匀分布随机数,范围为[minval,maxval]

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
17.3451 1 1 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子