tensorflow矩阵操作相关函数

(一)矩阵生成操作

def ones(shape, dtype=dtypes.float32, name=None)://创建一个形状为shape的矩阵 元素值都为1,默认元素类型float32

def zeros(shape, dtype=dtypes.float32, name=None)://创建一个形状为shape的矩阵 元素值都为0,默认元素类型float32

def ones_like(tensor, dtype=None, name=None, optimize=True)://创建一个和张量tensor形状一致的矩阵 元素值都为1

def zeros_like(tensor, dtype=None, name=None, optimize=True)://创建一个和张量tensor形状一致的矩阵 元素值都为0

def fill(dims, value, name=None): //创建一个形状大小为shape的tensor,其初始值为value,数据类型和value的数据类型保持一致


sess = tf.InteractiveSession()
x1 = tf.ones([2, 3], tf.int32)
print(sess.run(x1))
#[[1 1 1]
 #[1 1 1]]
x2 = tf.zeros([1, 2], tf.float32)
print(sess.run(x2))
#[[0. 0.]]
tensor=[[1, 2, 3], [4, 5, 6]] 
x3 = tf.ones_like(tensor) 
print(sess.run(x3))
#[[1 1 1]
 #[1 1 1]]
x4 = tf.zeros_like(tensor, tf.float32) 
print(sess.run(x4))
#[[0. 0. 0.]
 #[0. 0. 0.]]
x5 = tf.fill([2,2],1.0) 
print(sess.run(x5))
#[[1. 1.]
 #[1. 1.]]

def random_normal(shape,mean=0.0,stddev=1.0,dtype=tf.float32,seed=None,name=None) //正太分布随机数,生成一个shape形状的矩阵,均值mean,标准差stddev 。

def truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None) //截断正态分布随机数,生成一个shape形状的矩阵,均值mean,标准差stddev。和一般的正太分布的产生随机数据比起来,这个函数产生的随机数与均值的差距不会超过两倍的标准差。该函数对比random_normal,矩阵里面的元素不会离均值太远或者太近。举例,当输入参数mean = 0 , stddev =1时,使用tf.truncated_normal的输出是不可能出现[-2,2]以外的点的。

def random_uniform(shape,minval=0,maxval=None,dtype=tf.float32,seed=None,name=None) //均匀分布随机数,生成一个shape形状的矩阵,元素值范围为[minval,maxval]

sess = tf.InteractiveSession()
x1 = tf.random_normal(shape=[1,5],mean=0.0,stddev=1.0,dtype=tf.float32,seed=None,name=None)
print(sess.run(x1))
#[[-0.30120787 -0.0505796   1.1938052   0.19710326  0.5720447 ]]
x2 = tf.truncated_normal(shape=[1,5],mean=0.0,stddev=1.0,dtype=tf.float32,seed=None,name=None)
print(sess.run(x2))
#[[-0.5444954   0.8262541  -1.6569115   0.44797668 -1.3212199 ]]
x3 = tf.random_uniform(shape=[1,5], minval=1.0,maxval=2.0,dtype=tf.float32,seed=None,name=None)
print(sess.run(x3))
#[[1.1269865 1.9669617 1.6314322 1.1152394 1.7218542]]

(二)矩阵数据转换操作

tf.to_double(x, name=’ToDouble’) //将数据x转为64位浮点类型

tf.to_float(x, name=’ToFloat’) //将数据x转为32位浮点类型

tf.to_int32(x,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值