0
点赞
收藏
分享

微信扫一扫

基于时域卷积神经网络的时间序列异常检测(Python)

目录

1. 张量的创建

1.1 张量的基本概念

1.2 张量的基本创建

1.3 创建线性和随机张量

1.4 创建全01张量

1.5 张量的类型转换

1.6 小节

2. 张量的数值计算

2.1 张量基本运算

2.2 阿达玛积

2.3 点积运算

2.4 指定设备运算

2.5 小节

前言

PyTorch 是一个 Python 深度学习框架,学习PyTorch在当今深度学习领域至关重要。PyTorch以其动态计算图、易于使用的API和强大的社区支持,成为科研人员、数据科学家及工程师的首选框架。它不仅简化了模型设计、训练与部署流程,还极大地提高了实验效率和创新能力。掌握PyTorch,能够加速科研进度,促进项目落地,是在AI时代保持竞争力的关键技能之一。满满的都是干货,希望能帮助到大家!

1. 张量的创建

1.1 张量的基本概念

  1. PyTorch 是一个 Python 深度学习框架,它将数据封装成张量(Tensor)来进行运算。

  2. PyTorch 中的张量就是元素为同一种数据类型的多维矩阵。

  3. PyTorch 中,张量以 "类" 的形式封装起来,对张量的一些运算、处理的方法被封装在类中。

1.2 张量的基本创建

  1. torch.tensor 根据指定数据创建张量

  2. torch.Tensor 根据形状创建张量, 其也可用来创建指定数据的张量

  3. torch.IntTensor、torch.FloatTensor、torch.DoubleTensor 创建指定类型的张量

1.3 创建线性和随机张量

  1. torch.arange 和 torch.linspace 创建线性张量

  2. torch.random.init_seed 和 torch.random.manual_seed 随机种子设置

  3. torch.randn 创建随机张量

1.4 创建全01张量

  1. torch.ones 和 torch.ones_like 创建全1张量

  2. torch.zeros 和 torch.zeros_like 创建全0张量

  3. torch.full 和 torch.full_like 创建全为指定值张量

1.5 张量的类型转换

  1. tensor.type(torch.DoubleTensor)

  2. torch.double()

1.6 小节

在本小节中,我们主要学习了以下内容:

  1. 创建张量的方式

    1. torch.tensor 根据指定数据创建张量

    2. torch.Tensor 根据形状创建张量, 其也可用来创建指定数据的张量

    3. torch.IntTensor、torch.FloatTensor、torch.DoubleTensor 创建指定类型的张量

  2. 创建线性和随机张量

    1. torch.arange 和 torch.linspace 创建线性张量

    2. torch.random.init_seed 和 torch.random.manual_seed 随机种子设置

    3. torch.randn 创建随机张量

  3. 创建01张量

    1. torch.ones 和 torch.ones_like 创建全1张量

    2. torch.zeros 和 torch.zeros_like 创建全0张量

    3. torch.full 和 torch.full_like 创建全为指定值张量

  4. 张量元素类型转换

    1. tensor.type(torch.DoubleTensor)

    2. torch.double()

2. 张量的数值计算

2.1 张量基本运算

基本运算中,包括 add、sub、mul、div、neg 等函数, 以及这些函数的带下划线的版本 add_、sub_、mul_、div_、neg_,其中带下划线的版本为修改原数据。

2.2 阿达玛积

阿达玛积指的是矩阵对应位置的元素相乘. 可以使用乘号运算符、也可以使用 mul 函数来完成计算。

2.3 点积运算

点积运算要求第一个矩阵 shape: (n, m),第二个矩阵 shape: (m, p), 两个矩阵点积运算 shape 为: (n, p)。

  1. 运算符 @ 用于进行两个矩阵的点乘运算

  2. torch.mm 用于进行两个矩阵点乘运算, 要求输入的矩阵为2维

  3. torch.bmm 用于批量进行矩阵点乘运算, 要求输入的矩阵为3维

  4. torch.matmul 对进行点乘运算的两矩阵形状没有限定.

    1. 对于输入都是二维的张量相当于 mm 运算.

    2. 对于输入都是三维的张量相当于 bmm 运算

    3. 对数输入的 shape 不同的张量, 对应的最后几个维度必须符合矩阵运算规则

2.4 指定设备运算

PyTorch 默认会将张量创建在 CPU 控制的内存中, 即: 默认的运算设备为 CPU。我们也可以将张量创建在 GPU 上, 能够利用对于矩阵计算的优势加快模型训练。将张量移动到 GPU 上有两种方法:

  1. 使用 cuda 方法

  2. 直接在 GPU 上创建张量

  3. 使用 to 方法指定设备

2.5 小节

在本小节中,我们主要学习的主要内容如下:

  1. 张量基本运算函数 add、sub、mul、div、neg 等函数, add、sub、mul、div、neg_ 等 inplace 函数

  2. 张量的阿达玛积运算 mul 和运算符 * 的用法

  3. 点积运算:

    1. 运算符 @ 用于进行两个矩阵的点乘运算

    2. torch.mm 用于进行两个矩阵点乘运算, 要求输入的矩阵为2维

    3. torch.bmm 用于批量进行矩阵点乘运算, 要求输入的矩阵为3维

    4. torch.matmul 对进行点乘运算的两矩阵形状没有限定.

      1. 对于输入都是二维的张量相当于 mm 运算.

      2. 对于输入都是三维的张量相当于 bmm 运算

      3. 对数输入的 shape 不同的张量, 对应的最后几个维度必须符合矩阵运算规则

  4. 将变量移动到 GPU 设备的方法,例如: cuda 方法、直接在 GPU 上创建张量、使用 to 方法指定设备

举报

相关推荐

0 条评论