![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pytorch
文章平均质量分 50
TBYourHero
to be your hero
展开
-
PyTorch 多进程分布式训练实战
以上就是我自己使用 PyTorch 多进程分布式训练的经验了,没有太多原理讲解,想看其实现原理直接网上搜就行,具体怎么用看我给的代码就会了。根据我的经验,直接将这些流程嵌入到已有代码中即可,对于一些处理、打印、TensorBoard 等等都交给 master,缺点就是只能反映部分,不能反映整体,算是目前的一些不足吧。我的训练环境主要是单机多卡,写这篇文章也是结合我自己的使用经验,所以肯定有很多地方没照顾到,但是以实践为主看完这篇文章就可以上手了。本文作者:murphypei。...转载 2022-08-17 10:51:08 · 2060 阅读 · 1 评论 -
python并行加速for循环 transform 加速
代码】python并行加速for循环 transform 加速。转载 2022-08-10 15:42:11 · 608 阅读 · 0 评论 -
多标签分类损失函数/精度 BCEWithLogitsLoss MultiLabelSoftMarginLoss BCELoss
多标签分类损失函数 BCEWithLogitsLoss MultiLabelSoftMarginLoss BCELoss原创 2022-06-22 15:56:35 · 2450 阅读 · 1 评论 -
马赛克数据增强 mosaic
马赛克数据增强转载 2022-06-21 09:53:46 · 4452 阅读 · 0 评论 -
深度学习19种损失函数
tensorflow和pytorch很多都是相似的,这里以pytorch为例。计算 output 和 target 之差的绝对值。参数:计算 output 和 target 之差的均方差。参数:当训练有 C 个类别的分类问题时很有效. 可选参数 weight 必须是一个1维 Tensor, 权重将被分配给各个类别. 对于不平衡的训练集非常有效。在多分类任务中,经常采用 softmax 激活函数+交叉熵损失函数,因为交叉熵描述了两个概率分布的差异,然而神经网络输出的是向量,并不是概率分布的形式。所转载 2022-06-20 13:10:05 · 1892 阅读 · 3 评论 -
pytorch详解
斯坦福大学博士生与 Facebook 人工智能研究所研究工程师 Edward Z. Yang 是 PyTorch 开源项目的核心开发者之一。他在 5 月 14 日的 PyTorch 纽约聚会上做了一个有关 PyTorch 内部机制的演讲,本文是该演讲的长文章版本。选自ezyang博客,作者:Edward Z. Yang,机器之心编译,参与:panda。大家好!今天我想谈谈 PyTorch 的内部机制。这份演讲是为用过 PyTorch并且有心为 PyTorch 做贡献但却被 PyTorch 那庞大的 C++转载 2022-06-20 13:08:18 · 1146 阅读 · 0 评论 -
预训练模型参数不匹配
(34条消息) strict=False 但还是size mismatch for []: copying a param with shape [] from checkpoint,the shape in cur_Adenialzz的博客-CSDN博客转载 2022-06-16 23:24:45 · 850 阅读 · 0 评论 -
使用pytorch和tensorflow计算分类模型的混淆矩阵
https://www.bilibili.com/video/BV1GV411C7AW?share_source=copy_web原创 2022-06-01 16:04:31 · 427 阅读 · 0 评论 -
pytorch dataloader的长度 epoch与iteration的区别
pytorch dataloader的长度pytorch中dataloader的大小将根据batch_size的大小自动调整。如果训练数据集有1000个样本,并且batch_size的大小为10,则dataloader的长度就是100。需要注意的是,如果dataset的大小并不能被batch_size整除,则dataloader中最后一个batch可能比实际的batch_size要小。例如,对于1001个样本,batch_size的大小是10,train_loader的长度len(train_loa转载 2022-05-24 15:32:33 · 1857 阅读 · 0 评论 -
使用pytorch获取bert词向量 将字符转换成词向量
转载保存:使用pytorch获取bert词向量_海蓝时见鲸_的博客-CSDN博客_获取bert词向量pytorch-pretrained-bert简单使用_风吹草地现牛羊的马的博客-CSDN博客_pretrained pytorch我的实现源码:from pytorch_pretrained_bert import BertModel, BertTokenizerimport numpy as np# 加载bert的分词器tokenizer = BertTokenizer.f原创 2022-05-16 22:28:27 · 3614 阅读 · 2 评论 -
Pytorch的DataLoader, DataSet, Sampler之间的关系
一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系 - marsggbo - 博客园 (cnblogs.com)极力推荐,看原文,这里笔者是做个笔记,避免丢失以下内容都是针对Pytorch 1.0-1.1介绍。很多文章都是从Dataset等对象自下往上进行介绍,但是对于初学者而言,其实这并不好理解,因为有的时候会不自觉地陷入到一些细枝末节中去,而不能把握重点,所以本文将会自上而下地对Pytorch数据读取方法进行介绍。1|0自上而下理解三者关系转载 2022-05-14 21:53:14 · 438 阅读 · 0 评论 -
pytorch dataloader加载多个数据集 | 解决一个batch包含base和novel数据
问题:要求取一批数据batch=[novel,base]来自两个数据集,且对两个数据集的组织不同,对base随机抽取,对novel按照小样本设定抽取调研:Pytorch在一个Batch内加载两个大小不等的Dataset_Tinet-的博客-CSDN博客_pytorch合并两个dataset第一个方法:对于两个数据集dataset,分别定义各自的sample策略,分别由dataloader加载,在读取dataloader时候用迭代器分别读取两个loader的数据在使用Pytorc.转载 2022-05-13 17:37:22 · 8110 阅读 · 0 评论 -
pytorch nn.DataParallel 测试时,用在读入模型参数之后
Missing key(s) in state_dict: "module.features.0.weight", "module.features.0.bias", ....Unexpected key(s) in state_dict: "features.0.weight", "features.0.bias", ...nn.DataParallel是pytorch使用多gpu训练时所使用的方法,但是使用nn.DataParallel之后,模型的读取就会有所不同。最常见的情况就是使用的预训练.转载 2022-03-18 20:59:26 · 714 阅读 · 0 评论 -
pytorch载入预训练模型报错 只载入部分层
1.打印参数名称pytorch如何打印参数名及具体值 - 简书 (jianshu.com)2. 加载预训练模型报错RuntimeError: Error(s) in loading state_dict for ResNet: size mismatch for fc.weight: copying a param with shape torch.Size([1000, 512]) from checkpoint, the shape in current model is ...原创 2022-02-22 16:17:36 · 1121 阅读 · 0 评论 -
pytorch 报错inf nan
pytorch nan inf原创 2021-12-21 21:47:01 · 499 阅读 · 0 评论 -
pytorh的乘法
pytorch 乘法原创 2021-12-21 14:38:18 · 200 阅读 · 0 评论 -
PyTorch 中的 ModuleList 和 Sequential: 区别和使用场景
PyTorch 中的 ModuleList 和 Sequential: 区别和使用场景 - xiaopl的文章 - 知乎 https://zhuanlan.zhihu.com/p/64990232原创 2021-11-25 11:07:43 · 1653 阅读 · 0 评论 -
detectron2安装
文档:https://detectron2.readthedocs.io/tutorials/install.htmlpytordch1.6==cuda10.1安装命令python -m pip install detectron2 -f https://dl.fbaipublicfiles.com/detectron2/wheels/cu101/torch1.6/index.html原创 2021-04-22 15:55:04 · 186 阅读 · 0 评论 -
解决Anaconda pytorch无法下载或下载缓慢
第一步切换Anaconda下载源。# 添加清华源conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/conda config --set show_channel_urls yes#添加pytorch源co转载 2021-03-01 18:54:38 · 1129 阅读 · 1 评论 -
pytorch计算矩阵的迹
x=torch.rand(3,3)print(x)print(x.trace())#求矩阵的迹(对角线元素之和);print(x.diag())#对角线元素之和;print(x.inverse())#求矩阵的逆;print(x.triu())#求矩阵的上三角print(x.tril())#求矩阵的下三角;print(x.t())#矩阵的转置;y=torch.rand(3,1)print(x.mm(y))#矩阵乘法;...原创 2021-03-01 17:12:40 · 4079 阅读 · 0 评论 -
weight-decay与L2正则化差异
最近在看其他量化训练的一些代码、论文等,不经意间注意到有人建议要关注weight decay值的设置,建议设置为1e-4, 不要设置为1e-5这么小,当然,这个值最好还是在当下的训练任务上调一调。因为weight-decay 可以使参数尽可能地小,尽可能地紧凑,那这样权重的数值就不太可能出现若干个极端数值(偏离权重均值过大或过小)导致数值区间过大,这样求得的scale=(b-a)/255 会偏大,导致的结果就是大量数值较为接近的浮点数被量化到同一个数,严重损失了精度。关于weight-decay需.转载 2020-09-22 14:03:17 · 1328 阅读 · 1 评论 -
Pytorch:transforms的二十二个方法
文章目录一、 裁剪——Crop 1.随机裁剪:transforms.RandomCrop 2.中心裁剪:transforms.CenterCrop 3.随机长宽比裁剪 transforms.RandomResizedCrop 4.上下左右中心裁剪:transforms.FiveCrop 5.上下左右中心裁剪后翻转: transforms.TenCrop 二、翻转和旋转——Flip and Rotation 6.依概率p水平翻转transforms.RandomHoriz转载 2020-09-22 10:46:58 · 267 阅读 · 0 评论 -
pytorch调整序列顺序
用index下标指定,作变换a = torch.Tensor(3,4)index = [1,0,2]a = a[index]原创 2020-09-21 10:15:22 · 2885 阅读 · 0 评论 -
RuntimeError: derivative for floor_divide is not implemented
RuntimeError: derivative for floor_divide is not implemented指的是:pytorch还没有实现floor(取下运算),backward报错例子:logits = (dist // dist.median()) # 将值转换为01# 由:tensor([ 46.8038, 47.6287, 64.6071, 93.4675, 113.4134, 119.4478, 34.6805, 74.9144, 9.原创 2020-09-14 20:46:18 · 2421 阅读 · 0 评论 -
Pytorch下label的one-hot形式转换方法
Pytorch下label的one-hot形式转换方法https://blog.csdn.net/c2250645962/article/details/105704124转载 2020-09-14 20:13:32 · 1463 阅读 · 0 评论 -
SoftMarginLoss原理
1.triple_lossclass TripleLoss(object): """Modified from Tong Xiao's open-reid (https://github.com/Cysu/open-reid). Related Triplet Loss theory can be found in paper 'In Defense of the Triplet Loss for Person Re-Identification'.""" def _原创 2020-08-26 08:22:05 · 1975 阅读 · 1 评论 -
pytorch triple-loss
一、Triplet结构:triplet loss是一种比较好理解的loss,triplet是指的是三元组:Anchor、Positive、Negative:整个训练过程是:首先从训练集中随机选一个样本,称为Anchor(记为x_a)。 然后再随机选取一个和Anchor属于同一类的样本,称为Positive (记为x_p) 最后再随机选取一个和Anchor属于不同类的样本,称为Negative (记为x_n)由此构成一个(Anchor,Positive,Negative)三元组。二原创 2020-08-05 21:14:01 · 3529 阅读 · 0 评论 -
Triple loss
源码 class TripletLoss(nn.Module): """Triplet loss with hard positive/negative mining. Reference: Hermans et al. In Defense of the Triplet Loss for Person Re-Identification. arXiv:1703.07737. Imported from `<https://githu原创 2020-08-05 21:11:46 · 193 阅读 · 0 评论 -
pytorch数据抽样 随机取样
WeightedRandomSampler不放回只能用WeightedRandomSampler,其他都是放回取样只需将权重都设为1(or相同值)from torch.utils.data import WeightedRandomSampler,DataLoadera = torch.Tensor([1, 2, 3, 4, 5])dataloader = DataLoader(dataset=a, batch_size=4, # 组织成batch大小原创 2020-08-05 19:28:16 · 6465 阅读 · 0 评论 -
Pytorch不放回随机抽样
WeightedRandomSampler不放回只能用WeightedRandomSampler,其他都是放回取样只需将权重都设为1(or相同值)from torch.utils.data import WeightedRandomSampler,DataLoadera = torch.Tensor([1, 2, 3, 4, 5])dataloader = DataLoader(dataset=a, batch_size=4, # 组织成batc原创 2020-08-05 16:30:21 · 1998 阅读 · 0 评论 -
pytorch ignite详解
Ignite - pytorch的高级训练库介绍1 - 水中的鱼的文章 - 知乎 https://zhuanlan.zhihu.com/p/86793245原创 2020-08-04 16:44:44 · 708 阅读 · 0 评论 -
einsum爱因斯坦求和
https://zhuanlan.zhihu.com/p/74462893爱因斯坦求和约定(Einstein Notation)在数学中,爱因斯坦求和约定是一种标记法,也称为Einstein Summation Convention,在处理关于坐标的方程式时十分有效。简单来说,爱因斯坦求和就是简化掉求和式中的求和符号,即 [公式] ,这样就会使公式更加简洁,如Numpy是Python中的一个重要的科学计算库,支持大量的多维数组计算,并提供了大量的运算函数库。Numpy率先将爱因斯坦求和以扩展函数转载 2020-08-01 08:55:23 · 869 阅读 · 0 评论 -
anaconda安装tensorflow||pytorch
元学习论文总结||小样本学习论文总结2017-2019年计算机视觉顶会文章收录 AAAI2017-2019 CVPR2017-2019 ECCV2018 ICCV2017-2019 ICLR2017-2019 NIPS2017-2019安装前先创建相应环境,不然原路径会被覆盖。二,配置虚拟环境2.1 创建自己的虚拟环境learnconda create -n learn py...原创 2019-07-22 16:10:32 · 590 阅读 · 0 评论 -
pytorch调整学习率的lr_scheduler机制
有的时候需要我们通过一定机制来调整学习率,这个时候可以借助于torch.optim.lr_scheduler类来进行调整;一般地有下面两种调整策略:(通过两个例子来展示一下)两种机制:LambdaLR机制和StepLR机制;(1)LambdaLR机制:optimizer_G = torch.optim.Adam([{'params' : optimizer_G.parameters()...转载 2019-11-06 16:18:22 · 4704 阅读 · 0 评论 -
pytorch图像可视化
元学习论文总结||小样本学习论文总结2017-2019年计算机视觉顶会文章收录 AAAI2017-2019 CVPR2017-2019 ECCV2018 ICCV2017-2019 ICLR2017-2019 NIPS2017-2019一:安装Visdom模块pip install visdom二:启动服务器程序运行过程中保持服务器开启:python -m visdom.s...原创 2019-11-05 10:41:15 · 2146 阅读 · 0 评论 -
pytorch torch.view().expand().long()
print(torch.arange(0, n_class)) # n_class=60print(torch.arange(0, n_class).view(n_class, 1, 1)) # 变换形状view(x,y,z),xyz是维度print(torch.arange(0, n_class).view(n_class, 1, 1).expand(n_class, n_query,...原创 2019-10-31 17:00:51 · 3228 阅读 · 0 评论 -
x = x.view(x.size(0), -1) 的理解
view()函数的功能与reshape类似,用来转换size大小。x = x.view(batchsize, -1)中batchsize指转换后有几行,而-1指在不告诉函数有多少列的情况下,根据原tensor数据和batchsize自动分配列数。之前对于pytorch的网络编程学习都是大致理解每一层的概念,有些语法语句没有从原理上弄清楚,就比如标题的x = x.view(x.size(0), ...转载 2019-10-17 16:14:35 · 1262 阅读 · 0 评论 -
ResNet-18实现Cifar-10图像分类 pytorch
https://blog.csdn.net/sunqiande88/article/details/80100891这里的18指定的是带有权重的 18层,包括卷积层和全连接层,不包括池化层和BN层。下面先贴出ResNet论文中给出的结构列表。Resnet-allResnet-18'''ResNet-18 Image classfication for cifar-10 ...原创 2019-10-16 21:48:37 · 2332 阅读 · 1 评论 -
Pytorch model.train 和 model.eval
model.train() :启用 BatchNormalization 和 Dropoutmodel.eval() :不启用 BatchNormalization 和 Dropout参考:https://pytorch.org/docs/stable/nn.html?highlight=module%20eval#torch.nn.Module.eval两条语句有固定的使用场景。...原创 2019-10-16 16:44:11 · 204 阅读 · 0 评论 -
argparse中add_argument介绍
介绍add_argument:运行程序时,给定参数,通过调用给定的参数执行程序ArgumentParser.add_argument(name or flags…[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])name of flags ...原创 2019-10-16 15:36:06 · 497 阅读 · 0 评论