
深度学习
文章平均质量分 51
记录在目标检测中遇到的一些问题和笔记
RooKiChen
猛兽总是独行,牛羊才成群结队
展开
-
使用mmengine.analysis.get_model_complexity_info()打印任意模型参数和flops
使用analysis.get_model_complexity_info()打印任意模型参数和flops原创 2024-03-31 15:09:35 · 1379 阅读 · 0 评论 -
TypeError: __init__() got an unexpected keyword argument ‘pretrained_cfg‘
在跑UniFormer源码的时候报错了,去GitHub上的issue也没人提问,自己解决后记录一下解决bug的过程。中create_model设置的参数,确实是有pretrained_cfg这个参数的。猜测:很可能是timm版本的问题,但是作者并没有给出具体的版本。可以看出作者并没有给出pretrained_cfg参数。解决方案:直接把这个。原创 2022-09-22 12:01:35 · 8798 阅读 · 4 评论 -
使用Xshell断开链接后服务器能继续运行程序
用Xshell远程链接服务器跑项目时,突然断网或者Xshell的窗口不小心关掉了,是非常痛心的一件事(比如跑深度学习,一轮要几十分钟,中间突然断了,这一轮的权重没保存,白跑一轮!)。下面介绍一下如何使用tmux来解放自己的电脑,即使关机,程序也能在服务器上运行!原创 2022-09-14 20:44:32 · 3386 阅读 · 0 评论 -
YOLOv7训练自己的VOC数据集
本文是对YOLOV7训练自己的yolo数据集的扩展,具体训练等步骤不再详细赘述,遇到看不懂的请移步YOLOV7训练自己的yolo数据集原创 2022-08-23 12:31:26 · 5351 阅读 · 9 评论 -
YOLOV7训练自己的yolo数据集
使用YOLOv7训练自己的数据集,避免踩坑原创 2022-08-23 11:57:56 · 6015 阅读 · 2 评论 -
目标检测xml文件实现mixup数据增强(修改文件路径直接能用,非常方便)
目标检测中mixup数据增强,全代码无bug,可生成任意数量的数据集,修改文件路径即可使用,非常方便!原创 2022-07-14 12:09:07 · 1108 阅读 · 6 评论 -
Ubuntu安装pytorch和mmdetection
mmdetection不推荐1.11.0版本的torch**pytorch官方中torch历史版本:[https://pytorch.org/get-started/previous-versions/](https://pytorch.org/get-started/previous-versions/)```pythonconda create -n mmdet python=3.7原创 2022-04-10 14:55:53 · 2064 阅读 · 0 评论 -
将VOC数据集转换为yolo格式(yolov5训练自己的数据集)
yolov5官方代码:[https://github.com/ultralytics/yolov5/tree/v5.0](https://github.com/ultralytics/yolov5/tree/v5.0)我下载的是v5版本的,最新版在数据处理方面使用了实例分割,将一张图像中的检测目标进裁剪,然后放入另一张图片,并且不能与这张图片中的检测物体重合,效果类似于下面这张图,后续会更新一下带实例分割的数据增强的yolov5。原创 2022-03-31 13:47:59 · 16244 阅读 · 3 评论 -
YOLOX训练自己的VOC数据集
最近想跑一下yolox的代码,但是上网搜了几篇博客后感觉都异常的麻烦,而且跑起来还有各种各样的问题,不如自己写篇总结,把步骤和报错都记录下来。按照我的步骤一步步来,肯定是能跑通的。原创 2022-03-29 21:48:21 · 8403 阅读 · 15 评论 -
深度学习报错:ImportError libGL.so.1 cannot open shared object file No such file or directory
在导入opencv包时报错:ImportError libGL.so.1 cannot open shared object file No such file or directory原创 2022-03-27 19:41:40 · 6934 阅读 · 0 评论 -
深度学习:批量归一化(BN层)
批量归一化(BN层)原创 2021-12-04 18:23:48 · 3170 阅读 · 0 评论 -
标注数据集:labelimg的使用
第一步:安装labelimg打开Windows命令界面,进入到自己的pytorch环境,输入pip install labelimg第二步:创建数据集文件夹创建一个空的文件夹,里面包含三个文件,photo是存放要标注的数据集,另外两个是空文件夹第三步:开始数据集的标注首先在Windows命令界面输入labelimg,change save dir选择annotations,open dir 选择photo。...原创 2021-11-26 16:50:22 · 2589 阅读 · 0 评论 -
分类网络:GoogLeNet
GoogLeNet网络结构亮点:1.使用了Inception结构(融合不同尺度的特征信息)2.使用1x1的卷积核进行降维以及映射处理3.添加了两个辅助分类器4.丢弃全连接层,使用平均池化层(大大减小了模型参数)整个网络架构:Inception结构:在Inception中,将每一层预测的结果用cat进行连接:辅助器单独预测结果,最后将预测的结果与主干网络预测的结果一并返回,这里的aux2和aux1就是通过GoogLeNet两个辅助器预测的结果。要注意,如果是训练模式,通过神经原创 2021-11-21 15:10:51 · 1150 阅读 · 0 评论 -
分类网络:VGG16
VGG16网络的优点:1.通过堆叠两层3x3的卷积核替代5x5的卷积核, 通过堆叠三层3x3的卷积核替代7x7的卷积核, 原因是拥有相同的感受野,且需要更少的参数:假设输入通道数为C, 则所需要的参数为:三个3x3的卷积核:3 x 3 x C x C + 3 x 3 x C x C + 3 x 3 x C x C = 27 x C x C一个7x7的卷积核:7 x 7 x C x C = 49 x C x C感受野的计算: F(i) = (F(i+1) - 1) x S + K , F原创 2021-11-21 11:57:30 · 1847 阅读 · 0 评论 -
pytorch中stack()和cat()的理解和区别
stack会新开辟一个新的维度,将后面的维度在这个新的维度拼接起来cat会在原有的维度上进行拼接代码示例:m = torch.randn((2, 3, 4))print(m.shape)dim = 0使用stack():m = torch.stack((m, m), 0)# torch.Size([2, 3, 4]) -> torch.Size([2, 2, 3, 4])print(m.shape)使用cat():# torch.Size([2, 3, 4]) ->原创 2021-12-03 10:44:09 · 537 阅读 · 0 评论 -
Can‘t get attribute ‘SPPF‘ on module ‘models.common‘ from C:\\User\\dell\\Desktop\\yolov5
项目链接:https://github.com/ultralytics/yolov5/tree/v6.0最近刚学完pytorch,想找几个项目跑一跑,今天上Github上找了个最火的YOLOv5的项目,下载了tags5版本,在运行其中的detect.py文件时报错了:说在model.py中找不到SPPF这个类,解决方法如下:如果你用的是Tags5的话,就去Tags6里面的model/common.py里面去找到这个SPPF的类,把它拷过来到你这个Tags5的model/common.py里面,这样原创 2021-10-20 15:14:51 · 6303 阅读 · 20 评论 -
ImportError: IProgress not found. Please update jupyter and ipywidgets.
今天用jupyter跑一个ResNet网络的时候报错了,说是没有找到IProgress,需要更新一下jupyter,下面给出了官网的做法,但是官网的做法有点麻烦。ImportError: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html我们只需要进入你所在的pytorch环境,对jupyter进行更新原创 2021-10-30 09:27:03 · 962 阅读 · 0 评论 -
目标检测中map的计算
如何评估一个训练好模型的好坏,是目标检测中一个很重要的因素,如常见的TP、FP、AP、PR、map等,这些概念很容易混淆,搞了两天才搞明白,写一篇博客总结一下原创 2022-02-23 20:55:12 · 11504 阅读 · 2 评论 -
anaconda的环境切换 pytorch
pytorch的安装首先,我们要学会如何管理环境,打开anaconda prompt,输入conda conda create -n pytorch python=3.7如果不知道自己python版本号的话可以先打开cmd,输入python即可查看自己的版本号。建立完环境后,输入activate pytorch 切换到新建的pytorch环境activate python ...原创 2021-10-11 20:42:43 · 5716 阅读 · 0 评论 -
Windows下配置pytorch环境
最近跑模型时不小心安装了一些包,导致原来的依赖包都变了,运行时各种报错,最后采用最暴力解决办法:卸载Anaconda和pytorch,重新安装。写一篇博客记录安装anaconda和pytorch的方法。原创 2022-02-22 12:37:57 · 3633 阅读 · 2 评论 -
快速筛选、理解并掌握一遍论文(如何读好一篇论文)
最近学了一些关于深度学习的算法,比如FPN,SSD,FasterRCNN等,但是都没有读过相关的论文,总感觉只跑跑模型有点站不住脚,对代码里面一些实现过程很疑惑,不明白为什么要这样做,于是打算花点时间读读这些经典神经网络的论文,充实一下自己的理论知识。一篇论文分一般为一下几个结构:Title 标题Abs 摘要Intoo 导言Method 算法Exp 实验Conclusion 结论对一篇论文大致需要读三遍:第一遍:对论文做海选,了解这篇论原创 2021-11-29 16:55:44 · 1949 阅读 · 0 评论 -
RuntimeError: Input type (torch.FloatTensor) and weight type (torch.cuda.FloatTensor) should be the
今天用pytorch跑完一个分类模型,准备用几张图片验证一下模型时,报错了:说输入类型和网络参数类型不匹配,一个是CUP类型,一个是GPU类型,上网搜解决方法如下:既然网络参数是GPU类型,那解决方法就是将输入类型转变为GPU类型,需要使用到cuda,没有cuda就解决不了。实现方法有两种: 1. device = torch.device('cuda:0') inputs = inputs.to(device) 2. inputs = inputs.cuda()#具体代码:devic原创 2021-10-18 15:33:48 · 1022 阅读 · 0 评论 -
分类网络:AlexNet
AlexNet 网络的优点:1. 首次使用GPU加速2. 随机drop掉一些神经元,有效降低了过拟合model.pyimport torch.nn as nnimport torch# AlexNet 网络的优点:# 1. 首次使用GPU加速# 2. 随机drop掉一些神经元,有效降低了过拟合class AlexNet(nn.Module): def __init__(self, num_classes=1000, init_weights=False):原创 2021-11-19 10:56:27 · 1793 阅读 · 0 评论