美文网首页
Chapter 1.1_Tensor basic

Chapter 1.1_Tensor basic

作者: vincehxb | 来源:发表于2017-06-12 22:37 被阅读0次

Declaring Tensors

Tensor是computational graph的基本数据结构,下面对一些基本操作进行练习

1.定义一些  fixed number tensor

最简单的定义是用constant来实现,将普通的数据装换成tensor

假如我们需要固定值的tensor,比如全都是0或者都是1的,可以使用fill(dims,value,name=None)来实现

2. Tensors of similar shape

在numpy中经常会利用已经定义好的矩阵来定义一个新的矩阵(只是shape相同),在tensorflow中也有相似的操作.这里特别要注意的是加入我们想要同时运算a,b,c不应该是

with tf.Session() as sess:

         print(sess.run(a,b,c))

tf要求对于多个tensor输入,应该是用列表的形式

3. Sequence tensors

我们可以定义一些都固定间隔的tensor,就好像range或者是numpy.inespace一样

这里需要注意的是起始和终点数必须是浮点数num表示一共返回几个数(num必须为整数)。还要注意的是返回的列表首尾必定是start和stop.

tf.range函数和上面的函数非常的相似,唯一的不同就是定义的终止位不包含于返回值中.这里limit代表终止数,delta代表间隔。返回的值不包含limit,和python自带的range一样

4. Random tensors

random_uniform函数返回包括下线(minval)不包括上限(maxval)的列表,其中的数服从均匀分布


当然,我们初始化的时候更可能以正态分布抽取

假如我们不希望抽取的数离均值太远,那么我们可以用truncated_normal函数,它功能和上面的一样,但是假如抽取的数离mean大于两倍stddev的话将会被丢弃,重新抽取

tf.random_shuffle:比如我们的输入x是每一种动物的图片(N*D),但是每一类的图片都连续的存储,这样我们在抽取batch的时候就比较的麻烦。这个函数可以在第一维度搅乱顺序(注意只是第一维度!!!)

tf.random_crop:在数据增强中,经常有随机截取原图片来形成新的图片用来增广数据集。可以用这个函数实现

值得注意的是,random矩阵似乎是在运行sess的时候抽取值的,当我们run两次random矩阵的时候,结果是不一样的

结语:

上面的初始化定值tensor可以用来初始化变量,当然也可以用来运算

相关文章

网友评论

      本文标题:Chapter 1.1_Tensor basic

      本文链接:https://www.haomeiwen.com/subject/lulrqxtx.html