![](https://img-blog.csdnimg.cn/2a09271ee46e476e9bc606c0596a757f.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
PyTorch
文章平均质量分 69
pytorch学习笔记与应用案例,主要是自然语言学习方面的知识。
饕餮&化骨龙
喜欢Python编程,热衷数据分析挖掘与网络爬虫
展开
-
pytorch的数据可视化
pytorch的数据可视化需要先安装TensorBoard。如果使用Anaconda,则需要进入相应的虚拟环境安装该包。pip install tensorflow-tensorboard==1.5.1pip install tensorboard==1.14.0注意,tensorboard的版本需要大于等于1.14.0,否则在pytorch环境下使用会报错。下面以简单线性回归模型为例,使用线性回归模型进行经典的波士顿房价预测,并对训练损失过程进行可视化展示。import torchimpor原创 2022-01-11 09:32:42 · 996 阅读 · 0 评论 -
pytorch模型的保存和加载
在训练深度学习模型的过程中,周期性地对模型做存档(Checkpoint)非常重要。一方面,深度模型的训练一般是一个长期的过程,训练过程中会出现各种问题,比如硬件错误或者断电等;另一方面,训练好的模型后需要对实际数据进行预测(Predict,或称为推理Inference),这时候就需要把模型的权重保存到硬盘中,方便后续直接调用模型进行预测。1. 模块和张量的序列化及反序列化pytorch的一系列方法,可以将torch.nn.Module和torch.tensor类等的实例转换成字符串,这些实例可以通过Py原创 2022-01-10 09:46:04 · 2135 阅读 · 0 评论 -
pytorch中的数据输入和预处理
1. 数据载入类pytorch数据载入使用的是torch.utils.data.DataLoader类,该类的的签名如下。from torch.utils.data import DataLoaderDataLoader(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 · 716 阅读 · 0 评论 -
pytorch的损失函数和优化器
1. 损失函数pytorch的损失函数可以调用torch.nn.functional库中的函数,通过传入神经网络预测值和目标值来计算损失函数;也可以使用torch.nn中的模块,新建一个模块实例,通过调用相关的模块计算最终的损失函数。训练数据一般是以迷你批次的形式输入神经网络,最后预测的值也是迷你批次的形式输出,但实际上损失函数的输出结果应该是一个标量张量。所以,对于迷你批次的归约,一种方法是对迷你批次的损失函数求和,另一种是对迷你批次的损失函数求平均。一般默认的是对迷你批次的损失函数求平均。对于回归原创 2022-01-06 22:05:56 · 1765 阅读 · 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 · 1114 阅读 · 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 · 2838 阅读 · 0 评论 -
pytorch中张量的创建和维度的操作
张量的运算是深度学习的基本操作,深度学习框架的重要功能之一就是支持张量的定义与运算。1. 张量的数据类型数据pytorch类型CPU上的张量GPU上的张量32位浮点数torch.float32torch.floattorch.FloatTensortorch.cuda.FloatTensor64位浮点数torch.float64torch.doubletorch.DoubleTensortorch.cuda.DoubleTensor16位浮点数torch原创 2021-12-30 09:24:44 · 1596 阅读 · 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 · 684 阅读 · 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 · 2480 阅读 · 0 评论 -
pytorch深度学习框架基础知识
1. 张量在深度学习中,张量的计算是核心,一张迷你批次大小的图片可以看成四维的张量,一个迷你批次的文本可以看成二维张量或更高维度的张量。张量在内存中是从最后一个维度开始的连续排列的。张量可以支持每一个维度的长度,也支持四则运算,如加、减、乘、除等,另外,还支持变换维度。张量可以把某个维度分裂成两个维度,也可以把多个维度合并成一个维度。张量支持线性变换的操作(如卷积层和全连接层)和对每个元素的激活函数操作。2. 计算图一般来说,神经网络需要记录运算的过程,并构建计算图的方法。在深度学习中,目前存在静态图原创 2021-12-26 10:50:35 · 411 阅读 · 0 评论