
PyTorch
文章平均质量分 69
pytorch学习笔记与应用案例,主要是自然语言学习方面的知识。
饕餮&化骨龙
喜欢Python编程,热衷数据分析挖掘与网络爬虫
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
pytorch的数据可视化
pytorch的数据可视化需要先安装TensorBoard。如果使用Anaconda,则需要进入相应的虚拟环境安装该包。 pip install tensorflow-tensorboard==1.5.1 pip install tensorboard==1.14.0 注意,tensorboard的版本需要大于等于1.14.0,否则在pytorch环境下使用会报错。 下面以简单线性回归模型为例,使用线性回归模型进行经典的波士顿房价预测,并对训练损失过程进行可视化展示。 import torch impor原创 2022-01-11 09:32:42 · 1094 阅读 · 0 评论 -
pytorch模型的保存和加载
在训练深度学习模型的过程中,周期性地对模型做存档(Checkpoint)非常重要。一方面,深度模型的训练一般是一个长期的过程,训练过程中会出现各种问题,比如硬件错误或者断电等;另一方面,训练好的模型后需要对实际数据进行预测(Predict,或称为推理Inference),这时候就需要把模型的权重保存到硬盘中,方便后续直接调用模型进行预测。 1. 模块和张量的序列化及反序列化 pytorch的一系列方法,可以将torch.nn.Module和torch.tensor类等的实例转换成字符串,这些实例可以通过Py原创 2022-01-10 09:46:04 · 2262 阅读 · 0 评论 -
pytorch中的数据输入和预处理
1. 数据载入类 pytorch数据载入使用的是torch.utils.data.DataLoader类,该类的的签名如下。 from torch.utils.data import DataLoader DataLoader(dataset, batch_size=1, shuffle=False, sampler=None, batch_sampler=None, num_workers=0, collate_fn=None, pin_memory=Fa原创 2022-01-08 10:04:01 · 802 阅读 · 0 评论 -
pytorch的损失函数和优化器
1. 损失函数 pytorch的损失函数可以调用torch.nn.functional库中的函数,通过传入神经网络预测值和目标值来计算损失函数;也可以使用torch.nn中的模块,新建一个模块实例,通过调用相关的模块计算最终的损失函数。 训练数据一般是以迷你批次的形式输入神经网络,最后预测的值也是迷你批次的形式输出,但实际上损失函数的输出结果应该是一个标量张量。所以,对于迷你批次的归约,一种方法是对迷你批次的损失函数求和,另一种是对迷你批次的损失函数求平均。一般默认的是对迷你批次的损失函数求平均。 对于回归原创 2022-01-06 22:05:56 · 1936 阅读 · 0 评论 -
pytorch的计算图和自动求导机制
1. 自动求导机制 pytorch会根据就算过程自动生成动态图,然后可以根据动态图的创建过程进行反向传播,计算得到每个节点的梯度。在创建张量的时候设置requires_grad=True可以将该张量加入到计算图中。torch.autograd为pytorch的自动求导包,有torch.autograd.backward函数和torch.autograd.grad函数,其中torch.autograd.backward函数通过传入根节点张量,以及初始梯度张量(形状和当前张量相同),可以计算产生该该根节点所有对原创 2022-01-05 20:31:06 · 1184 阅读 · 0 评论 -
pytorch中张量的运算
在深度学习中,经常需要对张量做四则、线性变换和激活等。 1. 单个张量的函数运算 t = torch.rand(2, 2) # 产生一个3x3的张量 print(t) print(t.sqrt()) # 张量的平方根,张量内部方法 print(torch.sqrt(t)) # 张量的平方根,函数形式 print(t.sqrt_()) # 平方根原地操作 print(torch.sum(t)) # 所有元素求和 print(torch.sum(t, 0)) # 第0维元素求和 print(torc原创 2022-01-01 21:01:37 · 3121 阅读 · 0 评论 -
pytorch中张量的创建和维度的操作
张量的运算是深度学习的基本操作,深度学习框架的重要功能之一就是支持张量的定义与运算。 1. 张量的数据类型 数据 pytorch类型 CPU上的张量 GPU上的张量 32位浮点数 torch.float32torch.float torch.FloatTensor torch.cuda.FloatTensor 64位浮点数 torch.float64torch.double torch.DoubleTensor torch.cuda.DoubleTensor 16位浮点数 torch原创 2021-12-30 09:24:44 · 1748 阅读 · 0 评论 -
pytorch的辅助功能模块
1. torch.utils.bottleneck模块 torch.utils.bottleneck可以用来检查深度学习模型中的运行时间,从而可以找到导致性能瓶颈的那些模块,并优化那些模块的运行时间,进而优化整个深度学习模型的性能。 例: python -m torch.utils.bottleneck /path/to/source/script.py [args] 2. torch.utils.checkpoint模块 torch.checkpoint可以用来节约深度学习使用的内存。因为要进行梯度反传原创 2021-12-28 21:45:20 · 903 阅读 · 0 评论 -
pytorch的主要模块
1. torch模块 torch模块包含了一些pytorch的常用激活函数,如Sigmoid(torch.sigmoid)、ReLu(torch.relu)和Tanh(torch.tanh);同时也包含了pytorch张量的一些计算操作,如矩阵的乘法(torch.mm)、张量元素的选择(torch.select)。注意,该模块中计算的对象大多数是pytorch张量。 例: a = torch.randn(1,2,3,4,5) torch.numel(a) 2. torch.Tensor模块 torch.原创 2021-12-27 10:37:06 · 2706 阅读 · 0 评论 -
pytorch深度学习框架基础知识
1. 张量 在深度学习中,张量的计算是核心,一张迷你批次大小的图片可以看成四维的张量,一个迷你批次的文本可以看成二维张量或更高维度的张量。张量在内存中是从最后一个维度开始的连续排列的。张量可以支持每一个维度的长度,也支持四则运算,如加、减、乘、除等,另外,还支持变换维度。张量可以把某个维度分裂成两个维度,也可以把多个维度合并成一个维度。张量支持线性变换的操作(如卷积层和全连接层)和对每个元素的激活函数操作。 2. 计算图 一般来说,神经网络需要记录运算的过程,并构建计算图的方法。在深度学习中,目前存在静态图原创 2021-12-26 10:50:35 · 471 阅读 · 0 评论