TensorFlow之张量声明

TensorFlow之张量声明

      TensorFlow的主要数据结构是张量,它用张量来操作计算图。在TensorFlow里可以把变量或者占位符声明为张量。首先,需要知道如何创建张量。

1.开始

    创建一个张量,声明其为一个变量。TensorFlow在计算图中可以创建多个图结构。在这里需要指出,在TensorFlow中创建一个张量,并不会立即在计算图中增加什么只有把张量赋值给一个变量或占位符,TensorFlow才会把此张量增加到计算图中。

2.创建张量的主要方法

(1)固定张量:

1)创建指定维度的零张量:

zero_tsr = tf.zeros([row_dim,col_dim])

2)创建指定维度的单位张量:

ones_tsr = tf.ones([row_dim,col_dim])

3)创建指定维度的常数填充张量:

filled_tsr = tf.fill([row_dim,col_dim],42)

4)用已知常数张量创建一个张量:

constant_tsr = tf.constant([1,2,3])

(2)相似形状的张量:

新建一个与给定的tensor类型大小一致的tensor,其所有元素为0或者1,使用方式如下:

zeros_simiar = tf.zeros_like(constant_tsr)
ones_simiar = tf.ones_like(constant_tsr)

(3)序列张量

1)TensorFlow可以创建指定间隔的张量。下面的函数的输出与range()函数和numpy()函数的linspace()函数的输出相似:

linear_tsr = tf.linspace(start=0,stop=1,start=3)

返回的张量是[0.0,0.5,1.0]序列。注意,上面的函数结果中最后一个值是stop值,另外一个rang()函数使用方式如下:

integer_seq_tsr = tf.range(star=6,limit=15,delta=3)

返回的张量是[6,9,12]。注意,这个函数结果不包括limit值。

integer_seq_tsr = tf.range(star=6,limit=15,delta=3)

(4)随机张量

1)tf.random_uniform()函数生成均匀分布的随机函数:

randunif_tsr = tf.random_uniform([row.dim,col.dim],minval=0,maxval=1)

注意,这个随机均匀分布从minval(包含minval值)开始到maxval(不包含maxval值)结束,即(minval<=x<maxval)。

2)tf.random_normal()函数生成正态分布的随机数:

random_tsr = tf.random_normal([row_dim,col_dom],mean=0.0,stddev=1.0
3)tf.truncated_normal()函数生成带有指定边界的正太分布的随机数,其正太分布的随机数位于指定均值(期望)到两个标准差之间的区间:
runcnorm_tsr = tf.truncated_normal([row_dim,col_dim],mean=0.0,stddev=1.0)

4)张量数组的随机化:

shuffled_output = tf.random_shuffle(input_tensor)
cropped_output = tf.random_crop(input_tensor,crop_size)

5)张量的随机剪裁:

cropped_image = tf.random_crop(my_image,[height/2,width/2,3])


 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值