pytorch 可以说是深度学习入门首选的框架,语法特点特别接近numpy,上手简单。作为一门流行的框架,总有它流行的原因,笔者认为这是pytorch框架的一些特色所决定的,以下内容来源笔者在入门学习中的体会,因此作文总结。
近期我简单入门了一下深度学习,对 pytorch 有了一定的掌握和认识,不得不感慨 pytorch 大法好,对深度学习新手特别友好,和numpy有着相似的语法特点,但有一些专门为深度学习设计的框架特色,以下结合个人所学和体会,得出以下两大特色:
- 声明张量矩阵,可以自动计算梯度,省去了许多计算代码;
- 快速搭建神经网络,提供简单易懂的模型算法接口
自动计算梯度
在 pytorch 中矩阵变量是以张量(tensor)来声明定义的,我们可以在声明张量的时候,决定该变量是否自动计算梯度。
以下给出简单的例子。
简单的线性模型 - 1
import torch
import torchvision
import torch.nn as nn
import numpy as np
import torchvision.transforms as transforms
x = torch.tensor(1., requires_grad = True)
w = torch.tensor(2., requires_grad = True)
b = torch.tensor(3., requires_grad = True)
print(x, w, b