深度学习(practice) Note.2

《神经网络与深度学习》第一章 实践基础 笔记

1.张量

1.1

定义:矩阵的扩展和延伸,高阶的矩阵。

用途:用来存放深度学习框架中的数据。

实例:1阶张量为向量,2阶张量为矩阵。可以有任意多的维度

规范:同一张量中所有元素的数据类型均相同

1.2创建

(1)通过指定的Python列表数据[2.0, 3.0, 4.0],创建一个一维张量。

(2)二维

即[  ]中包含两个一维

(3)以此类推,扩展到N维

注:任何一个维度的元素数量必须相同

1.2属性

Tensor.ndim:张量的维度,例如向量的维度为1,矩阵的维度为2。

Tensor.shape: 张量每个维度上元素的数量。

Tensor.shape[n]:张量第  n维的大小。第 n维也称为轴(axis)。

Tensor.size:张量中全部元素的个数。

创建一个四维张量,并打印出shapendimshape[n]size属性

1.2.2paddle.reshape接口来改变张量的形状。

reshape的其他注意

  • -1表示这个维度的值是从张量的元素总数和剩余维度推断出来的。有且只有一个维度可以被设置为-1。
  • 0表示实际的维数是从张量的对应维数中复制出来的,shape中0所对应的索引值不能超过张量的总维度。

1.2.3 paddle.unsqueeze将张量中的一个或多个维度中插入尺寸为1的维度 

1.2.4数据类型

用Tensor.dtype查看,未指定默认整型int64与浮点型float32

1.2.5设备位置

place来指定其分配的设备位置。

三种:CPU、GPU和固定内存

1.3张量与Numpy数组的互相转换

paddle.to_tensor()函数可以将Numpy数组转化为张量

通过Tensor.numpy()函数将张量转化为Numpy数组

1.4

张量的一些数学运算

逻辑运算

矩阵运算

广播机制

广播机制主要遵循如下规则(参考Numpy广播机制):

1)每个张量至少为一维张量。

2)从后往前比较张量的形状,当前维度的大小要么相等,要么其中一个等于1,要么其中一个不存在。

广播机制的计算规则

两个张量进行广播后的结果张量的形状计算规则如下:

1)如果两个张量shape的长度不一致,那么需要在较小长度的shape前添加1,直到两个张量的形状长度相等。

2) 保证两个张量形状相等之后,每个维度上的结果维度就是当前维度上较大的那个。

矩阵乘法函数的广播规则

1)如果两个张量均为一维,则获得点积结果。

2) 如果两个张量都是二维的,则获得矩阵与矩阵的乘积。

3) 如果张量x是一维,y是二维,则将x的shape转换为[1, D],与y进行矩阵相乘后再删除前置尺寸。

4) 如果张量x是二维,y是一维,则获得矩阵与向量的乘积。

5) 如果两个张量都是N维张量(N > 2),则根据广播规则广播非矩阵维度(除最后两个维度外其余维度)。比如:如果输入x是形状为[j,1,n,m]的张量,另一个y是[k,m,p]的张量,则输出张量的形状为[j,k,n,p]。

2.算子

是复杂模型的基底,是前向函数与反向函数的基本实现

。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值