- 博客(47)
- 收藏
- 关注
原创 安装selective-scan的时候出现ERROR: Could not build wheels for selective-scan, which is required to install
安装selective-scan的时候出现ERROR: Could not build wheels for selective-scan, which is required to install
2024-04-01 19:26:10
6106
11
原创 使用mmengine.analysis.get_model_complexity_info()打印任意模型参数和flops
使用analysis.get_model_complexity_info()打印任意模型参数和flops
2024-03-31 15:09:35
1238
原创 论文复现——MOAT: Alternating Mobile Convolution and Attention Brings Strong Vision Models
本次复现的论文是前几天谷歌团队开发出来的MOAT,目前还没有开源,我复现的代码可以在ImageNet或自己的数据集上训练,支持apex混合精度,各种图像增强技术等。
2022-10-21 18:35:26
3216
2
原创 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
8582
5
原创 使用Xshell断开链接后服务器能继续运行程序
用Xshell远程链接服务器跑项目时,突然断网或者Xshell的窗口不小心关掉了,是非常痛心的一件事(比如跑深度学习,一轮要几十分钟,中间突然断了,这一轮的权重没保存,白跑一轮!)。下面介绍一下如何使用tmux来解放自己的电脑,即使关机,程序也能在服务器上运行!
2022-09-14 20:44:32
3344
原创 论文复现——LaMa:Resolution-robust Large Mask Inpainting with Fourier Convolutions
本次复现的论文是图像修复领域较火的Lama模型中的backbone(提供一个图像分类等其他任务的特征提取网络),由于使用了快速傅里叶卷积等技术使得LaMa的backbone用在图像分类任务上也能有很好的效果。(支持apex混合精度训练、mixup/cutmix、resume)
2022-09-14 09:05:33
5075
3
原创 YOLOv7训练自己的VOC数据集
本文是对YOLOV7训练自己的yolo数据集的扩展,具体训练等步骤不再详细赘述,遇到看不懂的请移步YOLOV7训练自己的yolo数据集
2022-08-23 12:31:26
5309
9
原创 记录pytorch环境下跑通Focal Transformer
今天上午下了个Focal Transformer跑图像分类,按照官方给的步骤来总是会报错(pytorch与cuda版本是对应的),上网搜了各种解决办法,现在记录下来,方便以后换服务器了再能跑通。
2022-08-15 12:01:41
1465
1
原创 目标检测xml文件实现mixup数据增强(修改文件路径直接能用,非常方便)
目标检测中mixup数据增强,全代码无bug,可生成任意数量的数据集,修改文件路径即可使用,非常方便!
2022-07-14 12:09:07
1099
6
原创 论文复现——AC-FPN:Attention-guided Context Feature Pyramid Network for Object Detection.
我复现的源码中加入了CxAM和CnAM模块,但是官方源码给出的是只有CEM的ACFPN,因为单独使用CEM也能有不错的效果(事实确实是如此,我自己训练时加了AM模块,精度降低,损失增大了
2022-06-20 20:29:38
3807
25
原创 论文复现——Libra R-CNN: Towards Balanced Learning for Object Detection
本次复现的论文已经开源了,不过是依赖mmdetection环境的。我有点小懒,没在学校的服务器上安装mmdetection,所以就自己复现了。有些论文具体实现细节没有说清楚,所以我是按照自己的理解来复现的,如果有不同的方法欢迎在评论区讨论
2022-04-19 18:48:27
8320
3
原创 论文复现——CE-FPN: Enhancing Channel Information for Object Detection
最近想自己对FPN结构进行一些改进,读了不少有关FPN的论文,有些论文开源了,但是有些最新的论文没有开源,后面打算把最近复现的论文都总结一下,发个论文复现系列的文章。有些论文具体实现细节没有说清楚,所以我是按照自己的理解来复现的,如果有不同的方法欢迎在评论区讨论。...
2022-04-18 19:42:44
5169
26
原创 将COCO数据集转换为VOC数据集
将COCO数据集转换为VOC数据集,将本代码跟coco2017放在同一目录下,下载COCO官方数据集,直接运行即可,不需要做任何改动。'''把coco数据集合的所有标注转换到voc格式,不改变图片命名方式,注意,原来有一些图片是黑白照片,检测出不是 RGB 图像,这样的图像不会被放到新的文件夹中'''from pycocotools.coco import COCOimport os, cv2, shutilfrom lxml import etree, objectifyfrom tq
2022-04-12 09:41:45
4244
3
原创 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
2054
原创 将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
16169
3
原创 YOLOX训练自己的VOC数据集
最近想跑一下yolox的代码,但是上网搜了几篇博客后感觉都异常的麻烦,而且跑起来还有各种各样的问题,不如自己写篇总结,把步骤和报错都记录下来。按照我的步骤一步步来,肯定是能跑通的。
2022-03-29 21:48:21
8355
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
6922
原创 目标检测中map的计算
如何评估一个训练好模型的好坏,是目标检测中一个很重要的因素,如常见的TP、FP、AP、PR、map等,这些概念很容易混淆,搞了两天才搞明白,写一篇博客总结一下
2022-02-23 20:55:12
11399
2
原创 Windows下配置pytorch环境
最近跑模型时不小心安装了一些包,导致原来的依赖包都变了,运行时各种报错,最后采用最暴力解决办法:卸载Anaconda和pytorch,重新安装。写一篇博客记录安装anaconda和pytorch的方法。
2022-02-22 12:37:57
3603
2
原创 圣诞节用html实现一颗动态圣诞树(有飘雪花功能)
可以自由选择音乐,并且圣诞树的亮度会随着音乐声音的大小而改变,第一张图片的字体是可以修改的,学过一点html的兄弟应该都知道,还有雪花飘落的动态效果,源码我放到网盘里了,需要的自取。
2021-12-23 20:47:57
45673
82
原创 PyQt5中的designer.exe路径,汉化PyQt5,以及如何打开PyQt5
现在PyQt5很多配置文件的保存路径都发生了变化,今天安装PyQt5时怎么页找不到,还是自己摸索出来的,写篇博客记录一下,方便以后查找。打开PyQt5:designer.exe路径:这里更换路径了,旧版路径是再pyqt5-tools里面。汉化PyQt5:上网搜designer_zh_CH.qm会有对应的下载方式,将designer_zh_CH.qm放入在PyQt5下的QT5文件夹中(旧版是QT文件夹)的translations文件夹中,再重新打开designer...
2021-12-06 17:27:06
2377
原创 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
506
原创 快速筛选、理解并掌握一遍论文(如何读好一篇论文)
最近学了一些关于深度学习的算法,比如FPN,SSD,FasterRCNN等,但是都没有读过相关的论文,总感觉只跑跑模型有点站不住脚,对代码里面一些实现过程很疑惑,不明白为什么要这样做,于是打算花点时间读读这些经典神经网络的论文,充实一下自己的理论知识。一篇论文分一般为一下几个结构:Title 标题Abs 摘要Intoo 导言Method 算法Exp 实验Conclusion 结论对一篇论文大致需要读三遍:第一遍:对论文做海选,了解这篇论
2021-11-29 16:55:44
1932
原创 标注数据集:labelimg的使用
第一步:安装labelimg打开Windows命令界面,进入到自己的pytorch环境,输入pip install labelimg第二步:创建数据集文件夹创建一个空的文件夹,里面包含三个文件,photo是存放要标注的数据集,另外两个是空文件夹第三步:开始数据集的标注首先在Windows命令界面输入labelimg,change save dir选择annotations,open dir 选择photo。...
2021-11-26 16:50:22
2563
原创 分类网络:GoogLeNet
GoogLeNet网络结构亮点:1.使用了Inception结构(融合不同尺度的特征信息)2.使用1x1的卷积核进行降维以及映射处理3.添加了两个辅助分类器4.丢弃全连接层,使用平均池化层(大大减小了模型参数)整个网络架构:Inception结构:在Inception中,将每一层预测的结果用cat进行连接:辅助器单独预测结果,最后将预测的结果与主干网络预测的结果一并返回,这里的aux2和aux1就是通过GoogLeNet两个辅助器预测的结果。要注意,如果是训练模式,通过神经
2021-11-21 15:10:51
1144
原创 分类网络: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
1828
原创 分类网络: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
1786
原创 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
961
原创 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
6290
20
原创 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
1010
原创 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
5622
原创 append,extend和insert的区别
append,extend与insert的区别append是在列表后面直接添加你输入的数据,就算是列表或字典,也直接添加进去,比较死板extend是在列表后面添加数据,如果添加的是列表或字典亦或者是字符串,都会会拆分并添加进去,但是这仅限一元的情况下,多元仅会拆分一个最大的列表再添加进去insert是在列表中某个下标的前面添加单个数据,要带至少两个参数,添加的方法和append相同说得再多,不如举几个例子好了:1、appendlist_1 = ['0','1','2','3','4']data
2021-08-31 10:58:34
3831
原创 python 爬虫 selenium 浏览器驱动的安装
以下是查找自己浏览器的版本截图注意观察自己的版本,如果在下载时没有找到92.0.4515.131对应的驱动,可以向后寻找一个,例如有92.0.4515.56和92.0.4515.117版本,按照向后寻找一个的原则,安装92.0.4515.117即可无头浏览器驱动的下载地址如下:http://chromedriver.storage.googleapis.com/index.html...
2021-08-05 21:58:59
407
原创 python 爬虫基础 Xpath lxml中etree.html和etree.parse有什么区别
1.etree.parse直接接受一个文档,按照文档结构解析(本地文件)test.html:<html> <body> <ul> <li><a href="http//www.baidu.com">百度</a></li> <li><a href="http//www.sougou.com">搜狗</a></l
2021-07-27 10:58:31
1868
原创 Python实现飞机大战
Python实现飞机大战学习完python基础顺手写一个飞机大战练练手,这个游戏已经很多人写过了,本人写的比较菜。由于是练手,所以好多该封装的东西都没封装,里面有个变态模式, 感兴趣的可以拿来玩玩。文章最后有资源链接。项目总览代码部分main.pyimport pygame.spriteimport enemyimport myplaneimport bulletimport supplyfrom random import ...
2021-07-22 21:36:58
7198
5
原创 数据结构--双向循环链表
上个文章写了循环链表是如何实现的,本文的双向循环链表和循环链表类似,只不过是讲每个节点的prior指向上一个节点,再讲尾结点指向头结点,形成了一个环,双向循环链表的优点就是在查找数据时可以进行双向查找,效率比普通链表要高。双向循环链表中每个节点定义了两个指针,next(指向下一个)和prior(指向上一个)。增加:在增加结束前的操作和单链表相同,只是在结尾处要讲头节点的prior指向尾节点,尾节点的next指向头节点。详细代码请看下面的Add函数。删除:删除时要进行判断删除的节点是否是头结点,详情请.
2021-05-20 11:25:28
632
原创 数据结构---循环链表
循环链表与普通链表的区别就是将链表的尾节点的下一个指向链表的头节点,同时判断遍历链表结束的条件也会改变,这里可以采用do while的形式进行遍历,具体实现可以参考下面的Output函数。删除时要考虑两种情况,一是删除中间节点和尾节点,第二个是删除头节点,这里只细说一下删除头节点的情况,删除头节点时需将链表尾节点的指针指向头节点的下一个,然后释放头节点,并将头节点置空详细代码如下:共有两个类,一个是node类,一个是list类#include <iostream>#inc..
2021-04-30 08:45:46
245
原创 线索化二叉树(排序生成树)
#include <iostream>#include <stdio.h>#include <conio.h>using namespace std;enum class Tag { prior , rear}; // 枚举类型,prior为0,rear为1 // prior代表指向左右节点,rear为线索,代表指向前一个节点template <class T>class BTNode{public: BTNode() { d
2021-04-18 16:01:12
327
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人