![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
PyTorch
文章平均质量分 71
以PyTorch官方教程为基础,学习PyTorch使用方法
长命百岁️
这个作者很懒,什么都没留下…
展开
-
【UCAS自然语言处理作业二】训练FFN, RNN, Attention机制的语言模型,并计算测试集上的PPL
训练前馈神经网络,循环神经网络,注意力机制语言模型,并计算测试集PPL原创 2023-11-25 21:39:39 · 814 阅读 · 0 评论 -
如何计算文本的困惑度perplexity(ppl)
本文关注在Pytorch中如何计算困惑度ppl, 为什么能用cross-entropy loss 代表ppl。原创 2023-07-31 15:34:31 · 6292 阅读 · 0 评论 -
torch.nn.Embedding
torch.nn.Embedding原创 2023-03-25 15:52:31 · 528 阅读 · 0 评论 -
torch.bmm()
pytorch函数torch.bmm介绍原创 2023-03-24 10:34:38 · 229 阅读 · 0 评论 -
transformers库中的.from_pretrained()
Transformers库中的预训练模型加载函数.from_pretrained()原创 2022-12-28 22:34:53 · 16006 阅读 · 15 评论 -
Python reduce函数
【Python】reduce函数原创 2022-11-06 22:23:53 · 295 阅读 · 0 评论 -
Datasets与IterableDatasets
【Pytorch】Datasets与IterableDatasets区别原创 2022-11-04 12:05:01 · 1462 阅读 · 1 评论 -
torch.nn.Conv2d介绍
文章目录卷积的计算流程常用参数介绍输入输出的尺寸代码卷积的计算流程N 是 batch_sizeC 是 channel,其实就是 feature map 的层数(维度)H 是一层 feature map 的高W 是一层 feature map 的宽通俗点说,输出的每一层由一个卷积核负责,这个卷积核对输入的所有特征值进行卷积操作(对应位置点乘再相加),并求和计算方式如下图所示:因为 N 是 batch,所以输入和输出的 N 是对应的,我们可以不用关注weight(Coutj,k)we原创 2022-05-05 20:45:17 · 1678 阅读 · 0 评论 -
torch.nn.functional.interpolate介绍
文章目录基本概念参数基本概念torch.nn.functional.interpolate(input, size=None, scale_factor=None, mode='nearest', align_corners=None, recompute_scale_factor=None, antialias=False)作用:将输入上采样或降采样到给定的 size 或 scale_factor=使用的插值算法由 mode 决定,可以选择通用:area, nearest-exact原创 2022-05-04 23:15:25 · 2267 阅读 · 0 评论 -
PyTorch repeat() 函数
文章目录1.官方讲解2.例子2.1.repeat dims的维度与 tensor 维度相同2.2.repeat dims的维度大于 tensor 维度1.官方讲解Tensor.repeat(*sizes) → [Tensor]将 tensor 沿着指定维度复制。不同于 expand(),该函数复制了 tensor 的数据,而不是只返回 tensor 的一个视图。关于 expand() ,详情可见 PyTorch expand() 函数_长命百岁️的博客-CSDN博客参数:sizes (torch原创 2022-04-12 21:01:20 · 1787 阅读 · 0 评论 -
PyTorch expand() 函数
文章目录1.官方解释2.例子2.1.扩展到更大维度2.2.添加新的维度1.官方解释Tensor.expand(*sizes) -> Tensor:对一个张量进行扩张返回的是一个 tensor 的 view,在 view 中,tensor 的单个维度(大小是 1 的维度)可以被扩展成更大的值,比如 size(1, 4) -> size(5, 4)关于一个 tensor 的 view,详情可见 tensor的存储方式 + view() rehape() resize_() 区别_长命百岁️原创 2022-04-12 20:29:33 · 1894 阅读 · 2 评论 -
tensor的存储方式 + view() reshape() resize_() 区别
文章目录1.前言2.tensor 的存储方式2.1.基本知识2.1.1官方文档2.2.tensor 的stride() 和 storage_offset() 属性2.2.1 stride()2.2.2 storage_offset()3.view(),reshape(),resize_()之间的关系3.1.view()3.2.reshape()3.2.1.tensor的连续性3.3.resize_()3.3.1.数据多的时候3.3.2.数据少的时候3.3.3.处理不连续数据4.总结1.前言在使用 exp原创 2022-04-11 23:17:57 · 3134 阅读 · 2 评论 -
Pytorch 中 gather 函数讲解
文章目录官方解读分析小例子官方解读分析该函数的功能为:沿着 dim 指定的轴收集值torch.gather(input, dim, index, out=None) → Tensor Gathers values along an axis specified by dim. For a 3-D tensor the output is specified by: out[i][j][k] = input[index[i][j][k]][j][k] # dim=0原创 2022-04-09 23:49:01 · 1224 阅读 · 0 评论 -
Dataset & DataLoader
基本概念处理数据样本的代码(数据集代码)可能会变得混乱且难以维护,理想情况下,我们希望数据集代码与模型训练代码解耦,以获得更好的可读性和模块化。PyTorch提供两个数据元:torch.utils.data.DataLoaderDataLoader在Dataset周围包装一个可迭代对象,以方便访问数据torch.utils.data.DatasetDataset存储数据样本和它们对应的label允许您使用预加载的数据集以及您自己的数据。PyTorch域库提供了一系列预加载数据集原创 2022-04-01 10:24:59 · 1052 阅读 · 0 评论 -
Pytorch model.train()
文章目录1.前言2.作用及原因2.1.Batch Normalization2.1.1训练时的BN层2.1.2测试时的BN层2.2.Dropout3.总结1.前言在使用Pytorch进行模型的训练和测试时,我们总能在训练部分的最前面看到model.train(),在测试部分最前面看到model.eval()。这两种语法起到什么作用呢?对BN 和 Dropout 的介绍,可参考 Dropout & Batch Normolization_长命百岁️的博客-CSDN博客2.作用及原因主要是对B原创 2022-03-27 11:13:00 · 12240 阅读 · 5 评论 -
Dropout & Batch Normolization
Regularization无正则项的模型结果training Accuracy:0.9478text Accuracy:0.915可以看到测试集的准确度小于训练集的准确度(https://s3.bmp.ovh/imgs/2021/10/cc65ea6438bb6f94.png#pic_center)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v0BbO7yv-1634740860153)(C:\Users\nishiyu\AppData\Roam原创 2021-10-20 22:44:31 · 952 阅读 · 0 评论 -
使用BERT + Bi-LSTM + CRF 实现命名实体识别
文章目录1.前言2.数据预处理2.1本地查看数据转换后的结果3.构建数据集4.数据集分割5.模型架构5.1模型初始化5.2前向传播过程6.模型训练6.1训练一个epoch6.2训练所有epoch6.3evaluate函数7.整体训练过程1.前言本文主要分析本次实验的代码,讲解主要流程和代码含义,而关注参数的选择和模型的选择后续可能还会更新 model 的原理如果有问题,欢迎评论或私聊讨论若分析过程出现错误,请及时指正,谢谢2.数据预处理原始标注:对句子中的每个字标注上一个标签,可以简单地原创 2022-03-26 23:59:52 · 16194 阅读 · 47 评论 -
PyTorch查看和指定GPU
文章目录1.查看GPU1.1.查看当前GPU是否可用1.2.查看GPU数量1.3.返回GPU名字1.4.返回当前设备索引2.指定GPU2.1.使用`CUDA_VISIBLE_DEVICES`2.1.1.在终端中指定2.1.2.代码中指定2.2.使用函数`set_device`1.查看GPU1.1.查看当前GPU是否可用#cuda是否可用torch.cuda.is_available() # 返回 True 则可用, 返回 False 则不可用1.2.查看GPU数量# 返回gpu数量torc原创 2022-03-25 23:15:17 · 7730 阅读 · 0 评论 -
PyTorch模型的保存与加载
模型的保存与加载首先,需要导入两个包import torchimport torchvision.models as models保存和加载模型参数PyTorch模型将学习到的参数存储在一个内部状态字典中,叫做state_dict。这可以通过torch.save方法来实现。我们导入预训练好的VGG16模型,并将其保存。我们将state_dict字典保存在model_weights.pth文件中。model = models.vgg16(pretrained=True)torch.save(原创 2022-03-07 20:48:04 · 3872 阅读 · 0 评论 -
torch.flatten与torch.nn.flatten
torch.nn.flattentorch.nn.flatten是一个类,作用为将连续的几个维度展平成一个tensor(将一些维度合并)参数为合并开始的维度,合并结束的维度(维度就是索引,从 0 开始)开始维度默认为 1。因为其被用在神经网络中,输入为一批数据,第 0 维为batch(输入数据的个数),通常要把一个数据拉成一维,而不是将一批数据拉为一维。所以torch.nn.Flatten()默认从第一维开始平坦化。结束维度默认为 -1,也就是一直合并到最后一维默认参数情况x =原创 2022-01-24 21:26:11 · 7157 阅读 · 1 评论 -
pytorch自动求导机制
Torch.autograd在训练神经网络时,我们最常用的算法就是反向传播(BP)。参数的更新依靠的就是loss function针对给定参数的梯度。为了计算梯度,pytorch提供了内置的求导机制 torch.autograd,它支持对任意计算图的自动梯度计算。计算图是由节点和边组成的,其中的一些节点是数据,一些是数据之间的运算计算图实际上就是变量之间的关系tensor 和 function 互相连接生成的一个有向无环图Tensors,Function,计算图考虑最简单的例子,一个一层的原创 2022-01-24 00:02:20 · 4020 阅读 · 1 评论 -
Tensor
前言本文主要介绍pytorch中tensor的基本知识tensor与numpy中的ndarray类似,只是前者可以使用GPU进行加速tensor初始化从data中data = [[1, 2],[3, 4]]x_data = torch.tensor(data)ndarray -> tensornp_array = np.array(data)x_np = torch.from_numpy(np_array)tensor -> tensor新的tensor会保持原有t原创 2022-01-21 15:20:33 · 901 阅读 · 0 评论 -
torch.unsqueeze与torch.squeeze
unsqueeze扩充数据维度,在从0开始的指定位置上增加一维(维度为1)x = torch.rand(2,3)y = torch.unsqueeze(x, 1)y = torch.unsqueeze(y, 0)print(x.shape)print(y.shape)>>torch.Size([2, 3])>>torch.Size([1, 2, 1, 3])squeeze维度压缩,在从0开始的指定位置上,去掉维数为1的的维度若不指定参数,删除所有为 1 的原创 2022-01-18 12:42:32 · 1135 阅读 · 0 评论 -
np.arange
返回一段顺序的数字序列,类型为 ndarray。arange共有三个参数,分别表示起点(默认为0),终点,步长(默认为1)若只指定一个参数,则表示终点(不包括终点数字)x = np.arange(10)print(x)>>[0 1 2 3 4 5 6 7 8 9]若只指定两个参数,则表示起点和终点x = np.arange(3,10)print(x)>>[3 4 5 6 7 8 9]若指定三个参数,则表示起点,终点,步长x = np.arange原创 2022-01-18 10:45:23 · 1142 阅读 · 0 评论