自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (1)
  • 收藏
  • 关注

原创 数据挖掘可投CCF-A/B类会议时间线整理

数据挖掘可投会议时间线整理

2022-10-20 15:18:44 1322 1

原创 matplotlib完美论文画图

深度学习论文写作画图必备

2022-03-26 14:41:54 6059

原创 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 11620 2

原创 【推荐算法面试】auc,precision,recall,accuracy记录

面试中被问到指标之间的差异,回答的不太好,记录一下。首先是四个指标的定义,之后再记录他们的差异性。precision:被预测为正样本中,真实的正例所占的比例。--医学病情诊断,诊断不能出错,可以看这一指标。recall:真实的正样本中,被预测为正样本所占的比例。--灾害监测(“宁可错杀一百,不可放过一人”)accuracy:预测正确的比例,包括了正样本被预测正确和负样本被预测正确。 真实正样本 真实负样本 总和 预测正样本 30 10 40

2021-09-07 14:29:46 293

原创 完美解决pytorch多线程问题:Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing

在pytorch,dataloader里设置了num_workers > 1的时候, 会出现这个错误。一般网上https://blog.csdn.net/qazwsxrx/article/details/116806358解决方法,加上一行设定。然而,我这里如果加上这行代码,会导致代码卡死在dataloader里面。后面发现,代码里面设定了这样的几行。if cuda: torch.set_default_tensor_type('torch.cuda.FloatTen.

2021-08-13 10:59:44 12646 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 1004

原创 [面试][leetcode][非递归]c++实现二叉树的遍历(层序遍历,前序遍历,中序遍历,后序遍历)

首先是二叉树的常规定义。 struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode() : val(0), left(nullptr), right(nullptr) {} TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} TreeNode(int x, TreeNode *left, T

2021-07-20 20:08:07 228 4

原创 [面试][leetcode][c++实现][快排][归并排序][堆排序]排序算法总结

快速排序算法流程:每次随机指定一个数,一次循环找到这一个数的位置,然后递归接着找。int partition(vector<int> &nums,int left,int right){ int value = nums[left]; while(left<right){ while(left<right && nums[right]>=value) right--; while (left<ri

2021-07-18 17:35:40 114 1

原创 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 4380

原创 DCNv2论文阅读笔记

DCN V2: Improved Deep & Cross Network and Practical Lessons for Web-scale Learning to Rank Systems 这篇paper,不是指的图像里面的可形变卷积。

2021-05-17 16:54:55 1154

原创 ValueError: `steps_per_epoch=None` is only valid for a generator based on the `keras.utils.Sequence`

keras 自己写了个generator,然后继承的keras.utils.Sequence,但是在fit_generator()的时候,会报如下错误:ValueError: `steps_per_epoch=None` is only valid for a generator based on the `keras.utils.Sequence`就会很懵逼,明明继承了sequence类,然后isinstance(your_generator,keras.utils.Sequence)

2021-05-17 15:00:01 311

原创 决策树算法笔记

决策树 很重要的一个概念是信息熵,这一点统计学习方法书上记录的很清楚了,就不在此记录了,记录一下几个方法大致的pipeline以及优缺点。ID3算法的核心是在决策树各个结点上应用信息增益准则选择特征,递归的构建决策树。流程如下:1. 看是否符合单一类的特征,如果不用在分类了,那就是一个叶子结点;2. 对于集合中所有的类算信息增益,选择信息增益最大的特征作为结点分类区别;3. 如果该结点的信息增益小于阈值,则返回。4. 将类别最多的一类作为标记,构建子节点。5. 重复1-4的过程.

2021-04-26 14:11:08 71

原创 集成学习 && adaboost 学习笔记

集成学习方法分为 boosting,bagging,stacking。boosting(提升):先训练一个模型,在提高那些模型判断错的数据的权重,然后在进行训练。这样得到t个模型,之后在对这t个模型进行整合。bagging(装袋):进训练集随机采样,采出n个采样集。boostrap采样方法:每次取一个sample,取完放回接着采样。采集到和原数据集大小一样停止,用n个不同这样的采样出的数据集进行训练,得到了n个不同的弱学习器。random forest是bagging方法的一个变种,与原来从

2021-04-22 15:10:55 78

原创 wide&deep 阅读笔记

introduction给定一个query,推荐系统任务就是在数据库里找到相关的items,然后对召回的items根据确定的目标属性进行rank排序。推荐系统的一个目标,就是同时达到memorization和generalization。memorization可以被定义为去学习items和features之间的关系,同时探索在历史数据上他们之间的相互联系。局限性较强。generalization(泛化性)可以被定义为这种联系的可信度,新特征是否能符合这种联系。比较有多样性。推荐系统概览

2021-04-22 10:44:32 124

原创 记录新的激活函数和一些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 1369 1

原创 [leetcode215][c++实现]数组中的第K个最大元素

记录下面试高频题,数组中的第K个最大元素。这里记录用最大堆的解法,思路应为:构建一个最大堆,弹出堆顶元素,然后最大堆会自动维护,重复k次过程,就可以得到第K大的元素。时间复杂度分析:构建最大堆:O(n),删除k个:O(klogn)。首先记录一版调用api的代码#include <iostream>#include <string>#include <set>#include <cmath>#include <vector&.

2021-03-23 11:46:40 375

原创 目标检测阅读总结(一)之RCNN以及NMS

开始看目标检测方面论文,里面有很多经典,会在这儿记录下论文中的优点和代码中的问题,也会把别人blog比较好的观点总结。阅读顺序差不多按照:https://github.com/amusi/awesome-object-detectionR-CNN...

2021-02-23 11:08:51 425

原创 pytorch转onnx 模型输出对不齐

最近,在把pytorch模型转为onnx时,遇到一个问题,有28%的数据对不齐,因为接触的是显著性task的,里面用了一些upsample层。查了pytorch官方文档后发现,这里的upsample只支持nearst一种模式,而我用的是bilinear,在改变了这个之后,结果就对的齐了。建议:先去官方文档看一下哪些算子支持哪些算子不支持,以及别用Function函数,得用torch.nn里面的层。官方文档:https://pytorch.org/docs/stable/onnx.html?.

2021-01-07 17:41:25 3168 8

原创 linux下解决bash: syntax error near unexpected token `(‘ 的错误

上传一个压缩文件到服务器,解压发现报错。检查发现压缩文件里面有 空格 和 括号,查阅得知,需要在空格和括号旁边加上“ ”(双引号)进行转译,特此记录。例如我的本来命令为:unzip dataset (2).zip但会报错,成功的命令为:unzip dataset" ""(2)".zip...

2020-10-08 13:41:43 1695

原创 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 15468 2

原创 【视频算法解析三】ECO

介绍有两个较为重要的原则:1.单帧做action recognition效果已经很棒了,附近的帧同时抽取就会带来一定的冗余。所以这里只用2D卷积来抽取单帧的特征。2.要捕获遥远的帧之间的语境关系,简单得对于分数聚合是不足够的。所以,喂了间隔较远的帧到3D网络中去提取上下文的时间方面的信息。由于聚合的部分,只取了一部分帧,所以这里处理速度较快。除此之外,ECO提供了一种在线视频理解的可能,先快速对于动作识别,在这之后用长期的feature来进行修正。ECO在action recognition

2020-09-08 19:27:03 706

原创 【视频算法解析二】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 2509

原创 【视频算法解析一】C3D卷积

开始学习视频理解方面,会在这儿记录看到的论文总结。

2020-08-10 17:59:35 1947

原创 【docker】ImportError: libSM.so.6: cannot open shared object file: No such file or directory

在使用docker运行model的时候,出现了如下的opencv错误。 File "/usr/local/services/miniconda3/lib/python3.7/site-packages/cv2/__init__.py", line 5, in <module> from .cv2 import *ImportError: libSM.so.6: cannot open shared object file: No such file or directory查

2020-08-05 14:13:35 586

原创 ImportError: libcudart.so.9.0: cannot open shared object file: No such file or directory

今天,在帮师姐跑完其他代码后,发现自己虚拟环境跑不通原来能跑的代码了,出现了这样的错误。ImportError: libcudart.so.9.0: cannot open shared object file: No such file or directory有这个错误时,我的pytorch版本为1.0.1,cudatookit版本为9.2;在回退到对应版本为1.1.0,9.0时,该错误解决。...

2020-06-26 23:46:23 2258

原创 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 1433

原创 【轻量级网络系列三】MobileNetV2: Inverted Residuals and Linear Bottlenecks论文总结

摘要本文将介绍一种新型的适合移动端的网络MobileNetV2,在最近众多的tasks和benchmarks上都取得了最好的表现。它是建立在一种倒转的残差结构上面的,其中的短路连接建立在thin bottleneck layers之间。中间的扩展层使用lightweight depthwise convolutions来对特征进行过滤来提升网络非线性能力。特别的是,我们发现去除狭窄层的非线性能力对于表现特征的能力是重要的。最后,我们的方法允许对于输入输出域去耦,这对于后面的研究分析提供了一个很轻便的网

2020-06-08 10:35:40 348

原创 【轻量级网络系列二】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 371

原创 【轻量级网络系列一】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 302

原创 【Leetcode 300最长子序列】最优解的总结

题目:给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4 解释: 最长的上升子序列是[2,3,7,101],它的长度是 4以上来自leetcode链接:https://leetcode-cn.com/problems/longest-increasing-subsequence/这题的难点在于在O(nl...

2020-05-01 16:56:14 232

原创 【leetcode 剑指offer No.56】 数组中数字出现的次数的解题思路和易错点

记录一下此题的操作思路,由于题目要求时间复杂度为O(n),空间复杂度为O(1),所以肯定是不能使用借助其他数据结构或者双指针遍历的方法了。这里使用的是位运算符。主要是异或运算符,首先贴出异或运算符的几点重要性质。1.如果我们对 0 和二进制位做 XOR 运算,得到的仍然是这个二进制位。a⊕0=a2.如果我们对相同的二进制位做 XOR 运算,返回的结果是 0。a⊕a=03.X...

2020-04-20 15:31:36 101

原创 记录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 604

原创 【CV面试必会】深度学习网络之DenseNet以及其对应pytorch代码

区别对比DenseNet的架构和ResNet的架构经常会在面试中被拿来比较,所以写了两篇博客记录一下。首先,我们看一下两者的主要区别,即是在对于特征处理上,一个是相加,一个是通道上拼接,如下图(图来自李沐的动手学深度学习)。DenseNetDenseNet主要的部分由Dense Block和Transition Layer构成,前者Dense Block即为上图的右边部...

2020-04-18 22:52:37 588

原创 【CV面试必会】深度学习网络之Resnet以及其对应pytorch代码

Resnet是He 等人在2015年提出的网络。用来解决在之前的一些网络,在网络层数增多时,反而其在训练集上error表现下降的现象。这种现象并不是由于过拟合导致的,因为在过拟合的时候,应该是train效果很好,test的效果很差。下图即为Resnet的两个核心结构,左边的图是在Resnet18/34使用的短路结构,这时的Resnet block使用两个3*3卷积,并add输入X。...

2020-04-10 00:09:51 967

原创 C++中按大小顺序返回容器的下标访问值以及字符串和数字转化

首先记录下字符串与数字想转换的两条语句1.数字转换为字符串,使用to_stringint num = 5;string ch = to_string(num);2.字符串转换为数字,使用atoi()string ch="5";int num=atoi(ch.c_str());之前在python里遇到过很方便的返回序号程序,c++中要复杂一点,但是思想一样。使用s...

2020-04-02 15:22:02 337

原创 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 367

原创 使用matplotlib画一个柱状图,并在y轴使用科学计数法

首先,提供一种比较普遍的画法。score10_15 = 0score15_20 = 0score20_25 = 0score25_30 = 0score30_35 = 0score35_40 = 0score40_45 = 0score45_50 = 0cell = ['1',' ','2',' ', '3',' ','4',' ','5']pvalue =...

2020-03-31 20:12:50 5992

原创 深度学习一行代码使用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 1153

原创 安装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 9551 2

原创 初始化二维vector

在刷leetcode 时候,遇到一个问题,平常在使用vector时,往里面加元素都是直接push_back,vector也会动态的调整自己的内存。但是如果访问一个二维vector时,如果要访问到行号,就需要自己提前给vector通知resize的大小。再访问二维数组前,使用vector.resize()来指定要使用的行号。这样就可以访问行号了。/** * Definition for a ...

2020-03-24 21:44:13 233

课表

西安交大课表西

2020-05-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除