正态分布(Normal Distribution)和均匀分布(Uniform Distribution).
创建正态分布张量语句
tf.random.normal(shape,mean=0.0,stddev=1.0)
创建均匀分布张量语句,可以创建来自[minval,maxval]取件的均匀分布的张量。
tf.random.normal(shape,minval=0,maxval=None,dtype=tf.float32)
创建矩阵
x=tf.random.normal([2,4])tf.truncated.normal()和tf.random.normal()的区别
tf.truncated.normal()的选值在(μ-2σ,μ+2σ)之外。保证生成值都在均值附近。
tf.random.normal()的选值在(μ-2σ,μ+2σ)之内,服从正态分布
改变张量维度tensorflow中可以通过ndim, (N dimension),和shape成员的属性来获取张量的维度数和形状:
x.ndim,x.shape
通过tf.reshape(x,new_shape)改变张量的试图任意的改变。
4.2数值精度tf.constant(123,dtype=tf.int16)
tf.constant(123,dtype=tf.int32)
4.2.2类型转换tf.cast()函数转换
4.3待优化张量tf.Variable(a)函数可以将普通张量转化成待优化张量,
4.4创建张量 4.4.1从数组,列表对象创建tf.convert_to_tensor()可以创建新Tensor.
实际上,tf.constant()和tf.convert_to_tensor()都能够自动把Numpy数组或者Python列表类型数据类型转换成Tensor类型。
4.4.3创建自定义数值张量tf.fill([],-1) 创建全是-1的都标量
tf.fill([2,2],99)创建2行2列,元素全为99的矩阵
4.7.1改变视图 4.7.2增加删除张量的维度(1)增加维度
tf.expand_dims(x,axis)可在指定的axis轴前出入一个新的维度
x=tf.expand_dims(x,axis=2)
(2)删除维度
tf.squeeze(x,axis=0)
4.7.3交换维度利用perm=[0,3,1,2]的索引交换维度。
tf.transpose(x,perm=[0,3,1,2])
4.7.4复制数据tf.tile(x,multiples),multiples指定每个维度上面的复制倍数
tf.tile(n=b,multiples=[2,1])可以在axis=0的维度复制1次,axis=1的维度不复制。
4.8BoradCasting 4.9数学运算 4.9.1加减乘除运算整除:a//b
取余:a%b
4.9.2乘方运算平方:tf.square(x)
平方根:tf.sqrt(x)
4.9.3指数和对数的运算a的x平方:tf.pow(a,x)
: tf.exp(x)
: tf.math.log(x)
: tf.math.log(x)/tf.math.log(a)
4.9.4矩阵相乘运算a=tf.random.normal([4,3,28,32])
b=tf.random.normal([4,3,32,2])
批量形式的矩阵相乘:a@b
先自动扩展,再矩阵相乘
a=tf.random.normal([4,28,32])
b=tf.random.normal([32,16])
tf.matmul(a,b)
4.10前向传播实战


