当前位置: 首页 > article >正文

深度学习(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.算子

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

。。。


http://www.kler.cn/a/610814.html

相关文章:

  • idea 没有 add framework support(添加框架支持)选项
  • matplotlib——南丁格尔玫瑰
  • 2.Excel :快速填充和拆分重组
  • 自动驾驶VLA模型技术解析与模型设计
  • Kotlin的语言特性及使用场景
  • DDD领域驱动设计详解-Java/Go/JS/Python语言实现
  • 一周掌握Flutter开发--7、包管理
  • 【自学笔记】ELK基础知识点总览-持续更新
  • 2、pytest核心功能(进阶用法)
  • QT Quick(C++)跨平台应用程序项目实战教程 4 — QML基本使用方法
  • fastapi下载图片
  • 大语言模型-2.2/3-主流模型架构与新型架构
  • C#基础学习(五)函数中的ref和out
  • Linux系统管理与编程11: DHCP中继服务部署
  • OpenGL ES 2.0与OpenGL ES 3.1的区别
  • 深度剖析 Spring 源码 性能优化:核心原理与最佳实践
  • 啸叫抑制(AFS)从算法仿真到工程源码实现-第八节-系统搭建
  • React 组件之间的通信
  • Sublime全局搜索快捷键Ctrl+Shift+F不能使用解决
  • 计算机二级WPS Office第六套WPS演示