提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录一、直接创建二、间接创建
一、直接创建 tf.zeros([ ]) 方括号里填张量的形状,创建的张量每个元素值都为0tf.ones([ ]) 方括号里填张量的形状,创建的张量每个元素值都为1
import tensorflow as tfa = tf.zeros([2, 3]) #创建一个元素全为0的2行3列的张量b = tf.zeros([3]) #创建一个元素全为0的1行3列的张量c = tf.zeros([]) #创建一个标量,值为0d = tf,ones(a.shape)print(a)print(b)print(c)print(d)
tf.ones([]) 的用法类似,不多赘述。 并且这两个函数 默认会生成float型的数据
tf.fill(形状,指定值) 这个函数就更灵活一点,根据你传入的形状用指定值初始化该张量
x = tf.fill(a.shape, 2.8)y = tf.fill([2, 4], 4)print(x)print(y)
tf.randaom.uniform(shape, minval,maxval) 从给定的最小值到最大值之间均匀采样生成数据值
p = tf.random.uniform(a.shape, minval=0, maxval=1)print(p)
tf.random.normal(shape, mean, stddev) 指定mean为均值,stddev为方差tf.constant() 里面直接写数据
q = tf.constant(1) #生成一个标量w = tf.constant([2, 3]) #生成一个一行两列的向量e = tf.constant([[3, 4], [5, 6]]) #生成一个两行两列的矩阵print(q)print(w)print(e)
tf.range(上限) 返回从0到不包含该上限的整型一维向量
t = tf.range(9)print(t)
将该一维向量转化成onehot编码格式
t = tf.range(9)print(t)t = tf.one_hot(t, depth=10)print(t)
二、间接创建 tf.zeros_like(张量) 该函数只需要传进去一个张量参数即可,会自动根据传进去的张量的形状生成一个形状相同的新的张量并且值全为0tf.ones_like(张量) 作用类似代码如下(示例):
aa = tf.ones([2, 5])bb = tf.zeros_like(aa)print(bb)