创建tensor

创建tensor的方式非常非常的多,比如将numpy转换为tensor,或者将List喂给tensor,或者创建一个全是0和1的tenor或者随机化初始,如果W,b比较多的话我们就用random的方式随机化初始。几种方法如下:
创建tensor

通过Numpy或者list得到tensor

非常简单,使用tf.convert_to_tensor函数实现:
创建tensor
也可以是全0的数据:
创建tensor
也可以是list操作:
创建tensor

新建人为数值的tensor

tf.zero 将W,b全部初始化为0.有一点需要注意,tf.zero后面接的数据是shape不是data,上面的都是data

创建tensor
更高维度:
创建tensor
tf.zero_like 生成一个和你传入的参数形态一样的shape
创建tensor
同样的道理初始化全部为1,tf.ones
创建tensor
tf.fill 填充任意元素的值 需要写入填充的值

创建tensor
**使用normal来得到tensor的值,**随机分布服从于正太分布.参数中有mean以及stddev均值和方差两个参数需要你去指定,不指定就是N(0,1)的标准正太

创建tensor
数据会从这个指定的正太分布中取出,比如上图取出4次
.truncated_normal裁剪阶段的正太分布,再原来正太分布获取某一段元素。
创建tensor
使用.truncated_normal初始化往往比使用normal直接初始化性能要好一些。比如在遇到smgoid函数的时候。
.uniform均匀分布,一个初始化的值,从0到1之间采样,生成一个两行两均匀采样
创建tensor
看一个例子,随机打散
比如[64,28,28,3] 一个batch有64张照片,每张照片有28*28的像素,是RGB特色。64张图片,我们生成0~63的索引,我们就可以做到打散。
创建tensor
gather可以做到一一对应的关系。

tf.constant基本和convert_to_tensor相同
创建tensor
也是shape 参数逻辑一定要正确

典型应用

创建tensor
向量
创建tensor

看一个例子

创建tensor
如何用于自然语言
把每个单词转为向量 长度是对应的,比如你有一个句子,每个句子有80个单词,每个单词编码为长度为5的向量。比如你有B个句子,那么向量的shape就是[B,80,5]
创建tensor
一个例子对影评,判断好评还是差评
一个句子80个单词,25000个评价,每个单词100维编码 【25000,80,100】
创建tensor
图片
创建tensor
上面的是图像的shape 一定要对他非常敏感 每一个都有其特别含义。比如下面,一个【4,32,32,3】的图片经过一个卷积神经网络后 变为【4,32,32,16】
创建tensor
所谓的matelearn 多一个维度,任务的维度
创建tensor