用 PyTorch 走进深度学习

使用 PyTorch 的深度学习入门

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

深度学习无处不在!

一个地球周围环绕多种语言的插图

使用 PyTorch 的深度学习入门

深度学习无处不在!

一个地球、多语言与自动驾驶汽车的插图

使用 PyTorch 的深度学习入门

深度学习无处不在!

一个地球、多语言、自动驾驶与医疗诊断的插图

使用 PyTorch 的深度学习入门

深度学习无处不在!

一个地球、多语言、自动驾驶与医疗诊断的插图

使用 PyTorch 的深度学习入门

什么是深度学习?

一个洋葱图,展示深度学习是机器学习的子集

一个小型神经网络的示意图

使用 PyTorch 的深度学习入门

什么是深度学习?

一个洋葱图,展示深度学习是机器学习的子集

一个多层神经网络的示意图

使用 PyTorch 的深度学习入门

深度学习网络

$$

  • 受人脑学习方式启发

一幅研究大脑的人的插图

使用 PyTorch 的深度学习入门

深度学习网络

$$

  • 受人脑学习方式启发
  • 神经元 ➜ 神经网络
  • 模型需大量数据
  • 至少十万级数据点

研究大脑并聚焦神经元的插图

使用 PyTorch 的深度学习入门

PyTorch:深度学习框架

$$

$$

  • 最流行的框架之一
  • 原由 Meta AI 开发,现归属 Linux 基金会
  • 直观且易用
  • 与 NumPy 相似

 

PyTorch 标志

使用 PyTorch 的深度学习入门

PyTorch 张量(tensor)

$$

  • Tensor:
    • 类似数组或矩阵
    • 神经网络的基石

$$

import torch

my_list = [[1, 2, 3], [4, 5, 6]] tensor = torch.tensor(my_list) print(tensor)
tensor([[1, 2, 3],
        [4, 5, 6]])
使用 PyTorch 的深度学习入门

张量属性

  • 形状(shape)
my_list = [[1, 2, 3], [4, 5, 6]]
tensor = torch.tensor(my_list)
print(tensor.shape)
torch.Size([2, 3])
  • 数据类型(dtype)
print(tensor.dtype)
torch.int64
使用 PyTorch 的深度学习入门

张量运算入门

形状兼容

a = torch.tensor([[1, 1], 
                  [2, 2]])

b = torch.tensor([[2, 2], 
                  [3, 3]])
  • 加法/减法
print(a + b)
tensor([[3, 3],
        [5, 5]])

形状不兼容

a = torch.tensor([[1, 1], 
                  [2, 2]])

c = torch.tensor([[2, 2, 4], 
                  [3, 3, 5]])
  • 加法/减法
print(a + c)
RuntimeError: The size of tensor a
(2) must match the size of tensor b (3) 
at non-singleton dimension 1
使用 PyTorch 的深度学习入门

按元素相乘

a = torch.tensor([[1, 1], 
                  [2, 2]])
b = torch.tensor([[2, 2], 
                  [3, 3]])
print(a * b)
tensor([[2,  2],
        [6, 6]])
使用 PyTorch 的深度学习入门

矩阵乘法

矩阵乘法

使用 PyTorch 的深度学习入门

矩阵乘法

突出显示的矩阵乘法

$$

  • $1 \cdot 2 + 1 \cdot 3 = 5$

$$

  • 通过加法与乘法来处理数据并学习模式
使用 PyTorch 的深度学习入门

让我们来练习!

使用 PyTorch 的深度学习入门

Preparing Video For Download...