TensorFlow常量、序列以及随机值生成

导读:本篇文章讲解 TensorFlow常量、序列以及随机值生成,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

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)

返回的张量就是:

[[9 9 9]
 [9 9 9]]

生成序列

  • 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)

输出:

[1 2 3 4]

随机张量

随机值在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.458698  4.091486  4.3704953]
 [3.893827  2.7951822 2.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.65199   1.879906  2.1775374]
 [1.6041888 1.503772  2.704612 ]]
  • 生成服从截断正态分布的随机张量
# 调用格式
tf.truncated_normal(
    shape,
    mean=0.0,
    stddev=1.0,
    dtype=tf.float32,
    seed=None,
    name=None
)

[[4.477414  2.9767075 2.377511 ]
 [2.7083392 4.2639837 2.497882 ]]

这个函数与正态分布的函数使用时一样的,只是增加了 “截断” 也就是限制每个元素的取值,如果其平均值大于 2 个标准差的值将被丢弃并重新选择 。

以上~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/116731.html

(0)
seven_的头像seven_bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!