
深度学习
文章平均质量分 51
slamdunkofkd
这个作者很懒,什么都没留下…
展开
-
matplotlib完美论文画图
深度学习论文写作画图必备原创 2022-03-26 14:41:54 · 6135 阅读 · 0 评论 -
pytorch多gpu训练报错:RuntimeError: Caught RuntimeError in replica 0 on device 0.
在进行图卷积多gpu训练的时候,报了这样的错误。最开始版本的代码使用的是:nn.DataParallel 来进行多gpu训练。但是其缺点也很明显,对于其维护较差,优点就是只用一行代码。首先为什么会产生这样的错误,在于gcn对于weight和bias使用了parameter 关键词,在parallel中,无法做到对parameter的并行,导致了一些问题。后来痛定思痛,决定替换DataParallel 为DistributedDataParallel,可参考下面链接1。然而,没有那么顺原创 2021-11-30 11:45:03 · 13459 阅读 · 2 评论 -
【推荐算法面试】auc,precision,recall,accuracy记录
面试中被问到指标之间的差异,回答的不太好,记录一下。首先是四个指标的定义,之后再记录他们的差异性。precision:被预测为正样本中,真实的正例所占的比例。--医学病情诊断,诊断不能出错,可以看这一指标。recall:真实的正样本中,被预测为正样本所占的比例。--灾害监测(“宁可错杀一百,不可放过一人”)accuracy:预测正确的比例,包括了正样本被预测正确和负样本被预测正确。 真实正样本 真实负样本 总和 预测正样本 30 10 40原创 2021-09-07 14:29:46 · 385 阅读 · 0 评论 -
完美解决pytorch多线程问题:Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing
在pytorch,dataloader里设置了num_workers > 1的时候, 会出现这个错误。一般网上https://blog.youkuaiyun.com/qazwsxrx/article/details/116806358解决方法,加上一行设定。然而,我这里如果加上这行代码,会导致代码卡死在dataloader里面。后面发现,代码里面设定了这样的几行。if cuda: torch.set_default_tensor_type('torch.cuda.FloatTen.原创 2021-08-13 10:59:44 · 14564 阅读 · 7 评论 -
轻松解决keras model.fit key error:not in index
在自定义了模型后,进行model.fit 训练的时候会有如下error。KeyError: '[169329] not in index'在之前版本的keras里面是不可以直接用pandas的数据来进行训练的,需要使用np.array转化,本人遇到这个问题是在keras==2.0.6的情况下。https://stackoverflow.com/questions/33564181/keras-gru-nn-keyerror-when-fitting-not-in-index之后,将原创 2021-07-27 12:06:49 · 1101 阅读 · 0 评论 -
ImportError: _C.cpython-37m-x86_64-linux-gnu.so: undefined symbol:_ZN3c107Warning4warnENS_14SourceL
ImportError: /home/xyf/dataset/anaconda3/envs/distort_19/lib/python3.7/site-packages/torchvision/_C.cpython-37m-x86_64-linux-gnu.so: undefined symbol: _ZN3c107Warning4warnENS_14SourceLocationENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE原来的虚拟环境是 t原创 2021-06-21 23:13:41 · 4658 阅读 · 0 评论 -
集成学习 && adaboost 学习笔记
集成学习方法分为 boosting,bagging,stacking。boosting(提升):先训练一个模型,在提高那些模型判断错的数据的权重,然后在进行训练。这样得到t个模型,之后在对这t个模型进行整合。bagging(装袋):进训练集随机采样,采出n个采样集。boostrap采样方法:每次取一个sample,取完放回接着采样。采集到和原数据集大小一样停止,用n个不同这样的采样出的数据集进行训练,得到了n个不同的弱学习器。random forest是bagging方法的一个变种,与原来从原创 2021-04-22 15:10:55 · 112 阅读 · 0 评论 -
wide&deep 阅读笔记
introduction给定一个query,推荐系统任务就是在数据库里找到相关的items,然后对召回的items根据确定的目标属性进行rank排序。推荐系统的一个目标,就是同时达到memorization和generalization。memorization可以被定义为去学习items和features之间的关系,同时探索在历史数据上他们之间的相互联系。局限性较强。generalization(泛化性)可以被定义为这种联系的可信度,新特征是否能符合这种联系。比较有多样性。推荐系统概览原创 2021-04-22 10:44:32 · 233 阅读 · 0 评论 -
记录新的激活函数和一些tricks
最近看efficientnet代码,发现一些操作不太一样,包括之前看mobv3的代码也是,记录一下这些操作。首先是swish激活函数,efficientnet里面使用了swish激活函数。函数的过程如下,看代码里面设置beta为1。对应的代码如下:# An ordinary implementation of Swish functionclass Swish(nn.Module): def forward(self, x): return x * to.原创 2021-03-24 16:45:29 · 1553 阅读 · 1 评论 -
目标检测阅读总结(一)之RCNN以及NMS
开始看目标检测方面论文,里面有很多经典,会在这儿记录下论文中的优点和代码中的问题,也会把别人blog比较好的观点总结。阅读顺序差不多按照:https://github.com/amusi/awesome-object-detectionR-CNN...原创 2021-02-23 11:08:51 · 467 阅读 · 0 评论 -
RuntimeError: The size of tensor a (2) must match the size of tensor b (5) at non-singleton dimensio
RuntimeError: The size of tensor a (2) must match the size of tensor b (5) at non-singleton dimension 0在跑一个网络训练的时候,使用nn.CosineEmbeddingLoss时遇到该报错。我的输入两个大小维度是一致的,都是[5,5],为两个矩阵。loss计算过程是当作第一个维度为batch的,所以这里的loss会出问题。最后用.view(1,-1)解决问题,把第一维变为batchsize的原创 2020-09-12 17:35:36 · 15646 阅读 · 2 评论 -
【视频算法解析二】I3D
paper原文是“Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset”,链接如:https://arxiv.org/abs/1705.07750。Introduction网络是在Kinetics数据集上提出得,Human Action Video dataset,里面有400个 action classes,平均每个有400clips。本文提出了一个Two-Stream Inflated3D ConvNet,由.原创 2020-09-04 18:37:09 · 2761 阅读 · 0 评论 -
【视频算法解析一】C3D卷积
开始学习视频理解方面,会在这儿记录看到的论文总结。原创 2020-08-10 17:59:35 · 2114 阅读 · 0 评论 -
pytorch实现多进程的时候出现的BUG:OMP: Error #13: Assertion failure at z_Linux_util.cpp(2361).
在跑强化学习A3C的代码时候,用到python和pytorch的多进程,但是遇到这样的bug。OMP: Error #13: Assertion failure at z_Linux_util.cpp(2361). │··································OMP: Hint Please s.原创 2020-06-11 19:00:48 · 1572 阅读 · 0 评论 -
【轻量级网络系列三】MobileNetV2: Inverted Residuals and Linear Bottlenecks论文总结
摘要本文将介绍一种新型的适合移动端的网络MobileNetV2,在最近众多的tasks和benchmarks上都取得了最好的表现。它是建立在一种倒转的残差结构上面的,其中的短路连接建立在thin bottleneck layers之间。中间的扩展层使用lightweight depthwise convolutions来对特征进行过滤来提升网络非线性能力。特别的是,我们发现去除狭窄层的非线性能力对于表现特征的能力是重要的。最后,我们的方法允许对于输入输出域去耦,这对于后面的研究分析提供了一个很轻便的网原创 2020-06-08 10:35:40 · 418 阅读 · 0 评论 -
【轻量级网络系列二】ShuffleNet:An Extremely Efficient Convolutional Neural Network for Mobile Devices论文总结
前言ShuffleNet是被设计来手机设备上(这种算力比较有限,一般在10-150MFLOPs左右)。这里的FLOPs:全称floating point operations per second,意指每秒浮点运算次数,可以大致理解为算力评估的一个标准。ShuffleNet利用了pointwise group convolution and channel shuffle操作来达到减小计算量的效果。现在的CNN模型所取到很好的结果上,FLOPs往往达到十亿次,本论文探求一种在保持FLOPs在10-.原创 2020-05-14 17:00:00 · 421 阅读 · 0 评论 -
【轻量级网络系列一】MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications论文总结
前言MobileNet是谷歌设计用来给手机以及嵌入式设备上的视觉应用的一种网络,在此之前大家设计的小网络通常只考虑了网络的size够不够小,并没有考虑网络的速度。而MobileNet正是保留了大网络的精度以及具有较小的size和较快的speed的一种网络。MobileNet主要是构建在depthwise separable convolution模块上,此模块首次出现是在Ieception model中。还有一种获得小网络的方法是在之前预训练的模型上进行收缩,分解以及压缩。还有一种方法是用知识蒸馏的方法原创 2020-05-10 23:36:31 · 341 阅读 · 0 评论 -
记录HighEr-Resolution Network for Image Demosaicing and Enhancing 论文中Ensemble Strategy
Ensemble Strategy整体策略(ensemble strategy)是用在测试阶段,根据作者提供的实验数据可以看到,有着明显涨点的能力,也不需要去做什么过多额外的工作。ensemble strategy分为self-ensemble strategy和epoch-ensemble strategy两种。这两种方法本质上都是在求相近图片的平均。首先,self-ense...原创 2020-04-19 23:07:12 · 677 阅读 · 0 评论 -
【CV面试必会】深度学习网络之DenseNet以及其对应pytorch代码
区别对比DenseNet的架构和ResNet的架构经常会在面试中被拿来比较,所以写了两篇博客记录一下。首先,我们看一下两者的主要区别,即是在对于特征处理上,一个是相加,一个是通道上拼接,如下图(图来自李沐的动手学深度学习)。DenseNetDenseNet主要的部分由Dense Block和Transition Layer构成,前者Dense Block即为上图的右边部...原创 2020-04-18 22:52:37 · 648 阅读 · 0 评论 -
【CV面试必会】深度学习网络之Resnet以及其对应pytorch代码
Resnet是He 等人在2015年提出的网络。用来解决在之前的一些网络,在网络层数增多时,反而其在训练集上error表现下降的现象。这种现象并不是由于过拟合导致的,因为在过拟合的时候,应该是train效果很好,test的效果很差。下图即为Resnet的两个核心结构,左边的图是在Resnet18/34使用的短路结构,这时的Resnet block使用两个3*3卷积,并add输入X。...原创 2020-04-10 00:09:51 · 1127 阅读 · 0 评论 -
linux screen常用命令总结
1.screen -S yourname 创建一个新的screen。2.screen -ls 看当前用户screen涉及到的的列表。3.screen -r session(具体可以用第二条命令获得),恢复之前detached的screen。4.screen -d session 将一个处在Attached状态下的screen变为detached的状态,这样你才可以接着访问。为什么会...原创 2020-04-01 20:53:01 · 528 阅读 · 0 评论 -
深度学习一行代码使用matplotlib画出特征彩色图的color map
import matplotlib.pyplot as pltimg = plt.imread('result_1.jpg')sc = plt.imshow(img, cmap = plt.cm.jet)# 设置cmap为RGB图plt.colorbar()# 显示色度条plt.show()首先,先读取自己的图片。之后设置cmap的方式,在用plt.colorbar()来显示色度...原创 2020-03-26 10:58:57 · 1217 阅读 · 0 评论 -
安装pytorch thop模块的BUG解决
如果大家的pip install没有问题,直接使用pip install thop即可。但是博主使用pip 安装得时候出现问题。我的user权限并不是和root一样,但是pip3 install 直接就安装到了/usr的目录下,这导致我的conda虚拟环境无法读取其中的库。个人猜测可能是软连接的时候路径有错误,应该软连接自己的user下的pip3 lib。但由于急着安装好thop来看自己模...原创 2020-03-25 16:11:10 · 10329 阅读 · 2 评论 -
RuntimeError: CUDA error: an illegal memory access was encountered 错误解决方案
RuntimeError: CUDA error: an illegal memory access was encountered首先,大家先检查自己的网络的参数是否有问题,如果参数有问题会导致此问题。其次,博主遇到一个情况。在单GPU下开启时,eval阶段会报这种错误。torch.nn.DataParallel(net,device_ids=[0])在net eval之前加...原创 2020-03-04 16:34:42 · 32343 阅读 · 10 评论 -
记录一个pytorch训练过程中的奇怪错误(解决) psroialign
先写下错误原因和出现的时候,暂时没有解决,等到解决了来补充解决方案 ret = torch._C._nn.smooth_l1_loss(expanded_input, expanded_target, _Reduction.get_enum(reduction))RuntimeError: reduce failed to synchronize: an illegal memory ac...原创 2020-03-01 12:32:23 · 1871 阅读 · 0 评论 -
ps roialign,def pspool,roialign调试中一些参数理解
对于这三种池化方式,给的c++代码都没有去检查输入数据的channel 和输出之间的关系。但是如果我们不去人为限制的话,在训练过程中会出现,loss变为inf,nan等行为,会出现在第一个epoch几个batch之后。这三种关系应该是这样的:ps roialign input channel = alignsize*alignsize*output channeldefpspool...原创 2020-03-01 12:23:05 · 414 阅读 · 0 评论