tensroflow基础知识(五) tensor常量生成

tensorflow中的tensor常量

常量在深度学习中,经常用于变量Variable的初始化,常用的常量有随机常量、常数常量、全0、全1常量

1. 随机常量

在神经网络中,经常需要用随机常量来初始化一些变量,例如我们在初始化权重向量W时,经常要使用正态分布随机初始化。

常用的随机生成函数

1.1 正态分布

函数形式:

  • tf.random_normal(shape,mean=0.0,stddev=1.0,dtype=tf.float32,,name=None))

  • tf.truncated_normal(shape,mean=0.0,stddev=1.0,dtype = tf.float32,,name=None))

其中,参数含义:张量形状,平均值,标准差,数据类型

两个正态分布的区别是:
- tf.random_normal是普通的正态分布函数。
- tf.truncated_normal截断的正态分布函数。其生成的值遵循一个正态分布,但如果生成但随机值偏离平均值超过2个标准差,这个数会被重新随机分配。

1.2 均匀分布

函数形式:

  • tf.random_uniform(shape,minval=0,maxval=None,dtype=tf.float32)

参数的含义是:形状,最小值,最大取值,取值类型等

1.3 洗牌

经常用于讲训练集洗牌,避免同一分类下的样本紧紧挨在一起。

函数形式:

  • tf.random_uniform(shape,minval=0,maxval=None,dtype=tf.float32)

其参数含义是:形状,最小值,最大取值,取值类型等

  • tf.random_shuffle(shape,minval=0,maxval=None,dtype=tf.float32)
2. 常数常量
  • tf.constant(obj,shape)

其中,obj 可以是 list或者常数,生成各种类型的tensor。

a = tf.constant(np.arange(1, 13, dtype=np.int32),
                  shape=[2, 2, 3])  
  • tf.linspace(start, end, num)

其中,start代表起始的值,end表示结束的值,num表示在这个区间里生成数字的个数,生成的数组是等间隔生成的。start和end这两个数字必须是浮点数,不能是整数,如果是整数会出错的。

  • tf.range(start, end, alpha)

其中,start代表起始的值,end表示结束的值,alpha表示步长。

3. 全0、全1常量
3.1 生成与tensor相同shape的全0,全1 tensor矩阵
  • tf.zeros_like(tensor)

  • tf.ones_like(tensor)

3.2 全0,全1 的tensor 矩阵
  • tf.zeros(shape,dtype)

  • tf.ones(shape,dtype)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值