基于TensorFlow常量、序列以及随机值生成实例
TensorFlow生成常量、序列和随机值
生成常量
tf.constant()这种形式比较常见,除了这一种生成常量的方式之外,像Numpy一样,TensorFlow也提供了生成集中特殊的常量的函数:
tf.zeros(shape,dtype=tf.float32,name=None)
三个参数的意思显而易见,返回指定形状的全零张量
tf.zeros_like(tensor,dtype=None,name=None,optimizer=True)与函数的名字一致,传入一个张量,最后返回一个张量,与传入的张量拥有一样的形状和数据类型,也可以自己传入dtype指定数据类型
tf.ones()和tf.ones_like()与之前的函数对应一致
tf.fill(shape,value,name=None)返回填满指定输入的数值的张量,例如:
tf.fill([2,3],9)
返回的张量就是:
[[999] [999]]
生成序列
tf.linspace(start,stop,num,name=None)
函数名称与Numpy中序列的函数一样,只是参数部分进行了简化,前两个参数分别指定了开始和结束的值,num指定了要生成的数量,最后则是名称,例如:
a=tf.linspace(1.0,10.0,10,name='lin1')
输出:
[1.2.3.4.5.6.7.8.9.10.]
tf.range(start,limit,delta,dtype=None,name=None)
例如:
a=tf.range(1,5,1)
输出:
[1234]
随机张量
随机值在TensorFlow中很重要,很多情况下的初始值往往会随机值,常用的随机值生成函数如下:
生成均匀分布的随机张量
#调用格式 random_uniform( shape, minval=0, maxval=None,#最大值以及最小值 dtype=tf.float32, seed=None,#指定种子 name=None )
#例如 a=tf.random_uniform([2,3],minval=1.0,maxval=5.0,dtype=tf.float32)
#输出 [[4.4586984.0914864.3704953] [3.8938272.79518222.2381153]]
生成服从正态分布的随机张量
#调用格式 random_normal( shape, mean=0.0,#均值 stddev=1.0,#标准差 dtype=tf.float32, seed=None, name=None )
a=tf.random_normal([2,3],mean=3.0,stddev=1.0,dtype=tf.float32)
[[3.651991.8799062.1775374] [1.60418881.5037722.704612]]
生成服从截断正态分布的随机张量
#调用格式 tf.truncated_normal( shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None ) [[4.4774142.97670752.377511] [2.70833924.26398372.497882]]
这个函数与正态分布的函数使用时一样的,只是增加了“截断”也就是限制每个元素的取值,如果其平均值大于2个标准差的值将被丢弃并重新选择。
以上这篇基于TensorFlow常量、序列以及随机值生成实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。