c++生成随机数_生成张量(Tensor)

1.3 生成张量

张量就是多维数组,张量的阶就是张量的维度。标量就是0阶张量,例如 s=1, s=2 and s=3. 它代表一个单独的数字。向量就是1阶张量。比如v=[1,2,3]。显而易见,2阶张量就是矩阵例如m=[[1,2,3],[4,5,6],[7,8,9]]。当张量的维度大于2时我们没有特意地取名而是直呼n维张量。我们可以判断张量的维度通过数' = '后面有多少个' [ '。TensorFlow有tf.int, tf.float, tf.bool 以及tf.string等数据类型。我们将编码演示如何生成张量。

import tensorflow as tfa = tf.constant([1, 5], dtype=tf.int64)print("a:", a)# 输出张量的所有信息print("a.dtype:", a.dtype)#输出数据类型print("a.shape:", a.shape)#多少个数字被','分开代表多少维张量
8b2fef9d7926a2207daeb4842e1a5628.png

Most of the time the data information is given by numpy. We can use tf.convert_to_tensor change it into tensor.

import tensorflow as tfimport numpy as npa = np.arange(0, 5)b = tf.convert_to_tensor(a, dtype=tf.int64)print("a:", a)print("b:", b)
0d08642ebbfd37c35136ceae07b83baa.png

使用tf.zero(维度)生成一个全为0的张量,用tf.one(维度)生成全为1的张量。用tf.fill(维度,n)生成全为n的张量。如果维度唯一,只需要在维度位置输入个数,否则用[n,m,...]填入维度。

import tensorflow as tfa = tf.zeros([2, 3])b = tf.ones(4)c = tf.fill([2, 2], 9)print("a:", a)print("b:", b)print("c:", c)
ff38355691ba6f9a21fdbf50a8580847.png

tf.random.normal(维度, 均值 , 标准差)可以用来生成符合正态分布的随机数。函数tf.random.truncated_normal(维度,均值,标准差)可以生成取值在μ-2σ之间μ+2σ的随机数

133665f11807274ba3d35ae206111fb6.png
import tensorflow as tfd = tf.random.normal([2, 2], mean=0.5, stddev=1)print("d:", d)e = tf.random.truncated_normal([2, 2], mean=0.5, stddev=1)print("e:", e)
903a8df2b8ba94435a30d9b0a3f07d30.png

tf.random.uniform(维度,最小值,最大值) 可以生成符合均匀分布的随机数。

import tensorflow as tff = tf.random.uniform([2, 2], minval=0, maxval=1)print("f:", f)
c690c3d31d77b49712101771ed7fee98.png
6100151cc50910414bc06cca768db9af.png

微信搜索:做梦当院士的李子哥

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值