自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(110)
  • 收藏
  • 关注

原创 【可视化3D卷积计算过程】

前言:开始处理视频数据,遇到了陌生又熟悉的3D卷积,但对其计算过程有点疑惑,网上也没找到什么可视化动画,所以研究明白并做个记录,方便日后复习。有点简化,但认真琢磨一下图片和代码肯定能看明白:)

2024-04-29 18:15:17 1163 3

原创 【Linux更新驱动、cuda和cuda toolkit】

最近需要更新服务器的显卡驱动和CUDA版本,记录一下更新过程。写在前面:对于稍微有些复杂的环境安装问题,不要指望一个博客能涉及到方方面面。以下内容只是记录大体流程,不同环境肯定还会遇到不同的、博客中没有涉及到的问题,此时还需要“具体问题具体分析”。

2024-03-19 19:12:46 9534 6

原创 【读论文-01】EfficientSAM: Leveraged Masked Image Pretraining for Efficient Segment Anything

EfficientSAM本质在做这么一件事:通过知识蒸馏,将SAM中的Image Encoder由ViT-H变为ViT-Tiny/Small,进而减少计算量和参数量。

2024-03-01 16:56:24 560

原创 【Pytorch】一文搞懂nn.Conv2d的groups参数的作用

简单来说就是将输入和输出的通道(channel)进行分组,每一组单独进行卷积操作,然后再把结果拼接(concat)起来。

2022-11-11 12:38:24 4593 6

原创 【小实验1】比较ResNet、ViT、SwinTransformer的归纳偏置(然而并没有达到预期结果)

本实验并未获得预期的结果,更多的是当作实验记录。

2022-11-08 21:16:14 1883

原创 【指定GPU】使用CUDA_VISIBLE_DEVICES指定可见GPU时的一些坑

结论:虽然这里代码输出当前device id是0,但其实指的是GPU:1,实际使用时也会使用GPU:1。由于设置CUDA_VISIBLE_DEVICES=1,2,所以只有GPU:1和GPU:2对代码可见,代码会认为可见的第一个GPU(即GPU:1)的id为0。

2022-10-24 18:04:25 7208

原创 【ViT 微调时关于position embedding如何插值(interpolate)的详解】

本文适合对Vision Transformer有一定了解(知道内部结构和一些实现细节,最好是精读过ViT这篇论文)的读者阅读,这篇博客不会详细说明ViT的结构和前向推断过程。

2022-10-20 18:19:14 6221 6

原创 【Batch Normalization 在CNN中的实现细节】

整天说Batch Norm,CNN的论文里离不开Batch Norm。BN可以使每层输入数据分布相对稳定,加速模型训练时的收敛速度。但BN操作在CNN中具体是如何实现的呢?

2022-10-11 17:28:58 1575

原创 【Python】datetime和字符串的相互转换

datetime和字符串的相互转换。

2022-10-09 18:53:47 2839

原创 【opencv和PIL读取图片的速度对比】

在Pytorch代码中,我们构建Dataset类时在‘__getitem__’方法中需要有读取数据的操作,而模型训练和预测过程中,数据的读取会占用一部分时间。何况数据集中有成千上万张图像,因此读取速度的快慢会影响模型训练和预测时的效率。

2022-10-03 16:54:01 2837

原创 【np.eye实现one-hot编码】

今天看代码时看到了别人用np.eye实现one-hot编码,以前不知道这种用法,觉得很实用,所以记录一下。

2022-09-26 17:52:57 397

原创 【Python 函数前的下划线】

Python函数前的下划线分为单下划线和双下划线两种:

2022-09-26 11:09:07 6795 1

原创 【BUG记录】Python中的相对文件路径

1.相对路径是指相对于当前运行代码的路径;2.相对路径是指相对与当前所在目录的路径。

2022-08-04 18:20:05 517

原创 【CNN基础】转置卷积学习笔记

转置卷积直观上是想将H和W较小的featuremap还原到输入图像尺寸的过程。注意,只是将尺寸还原到和输入图像相同,具体的权重是不同的。这样做是因为在某些应用如语义分割中,最后要求的输出是一个和输入尺寸相同的featuremap,而不是像图像分类要求的输出是一个一维的tensor。卷积用来抽取输入的特征,底层的卷积抽取的是纹理、颜色等底层特征,上层的卷积抽取的是语义特征。卷积的输出一般称为featuremap,在pytorch中一般为四维的tensor[B,C,H,W],其中,...

2022-07-27 16:16:18 1289

原创 【Pytorch】用自动微分求sin(x)的导数

其实这个问题很简单,本篇博客全当备忘录了。我们的需求是:图片来源:李沐:《动手学深度学习 PyTorch版》我们使用pytorch的自动微分机制来实现,我第一次是这么写的:结果报错了:原因是这里的y是一个向量,而在使用y.backward()这个方法时,若backward中没有传入gradient这个参数时,只允许y是标量。事实上当x和y都是向量时,y对x求导得到的是一个矩阵(雅各比矩阵),我在这篇博客中有一些介绍:向量对向量求导,得到雅各比矩阵。解决方法其实相当简单,本质思路是:将向量y转换为标量,然

2022-06-16 21:00:17 816

原创 【本科毕业设计】基于双指标检测的自助智能台球柜

目录0. 前言1. 整体技术方案1.1 机械结构1.2 动力系统1.3 台球数量检测1.3.1 YOLOv5视觉检测1.3.2 重力检测1.4 通信方案1.5 小程序交互模块2. 存在问题0. 前言毕业设计已经完成了,前前后后花了有将近两个月时间,期间主要受到了两位学弟的帮助,一位帮忙做动力控制,另一位负责设计机械和动力方案,非常感谢。该项目主要目的是设计一款“基于双指标检测的自助智能台球柜”,主要实现以下功能:用户可以使用小程序进行自助取球和自助还球;还台球时会对台球数量进行检测,进行视觉(Y

2022-05-24 17:12:21 1692 4

原创 【CNN基础】为什么要用较小的卷积核

目录0. 前言1. 减少计算量2. 引入更多非线性3. BottleNeck结构0. 前言在构建卷积神经网络时,我们该挑选多大尺寸的卷积核呢?如VGG16等很多网络结构都选用了大量的3x3卷积核和1x1卷积核,为什么要选用尺寸较小的卷积核呢,为什么不用5x5,7x7或者更大的卷积核呢?根据我目前的理解,这主要可以从两个方面来解释:(1) 多层小卷积核堆叠可以和大卷积核有一样的感受野,但小卷积核的参数和计算量更少;(更经济)(2)多层小卷积核堆叠相较于大卷积核可以引入更多的非线性。(效果更好)

2022-04-15 12:13:07 17796 2

原创 【CNN基础】计算机如何计算卷积操作

目录0. 前言0. 前言对于卷积操作我们都很清楚其具体过程,不过卷积操作是如何在计算机上实现的呢?

2022-04-14 18:35:26 3958

转载 【Batch Normalization(转载)】写得非常清晰易懂的一篇文章

我最近看了知乎大佬“天雨粟”写的关于Batch Normalization的文章《Batch Normalization原理与实战》,超级清晰,还做了较为详尽的对比实验,有需求的小伙伴强烈安利去看看!!文章链接:知乎-天雨粟:《Batch Normalization原理与实战》...

2022-04-10 10:05:19 177

原创 【CNN基础】计算卷积操作输出Feature Map的size

目录0. 前言1. 正文1.1 不考虑padding1.2 考虑padding1.3 卷积操作前后feature map size变不变3. 总结(省流助手)0. 前言深度学习在计算机视觉领域的应用离不开卷积神经网络,最典型的流程是先将原始图像进行缩放等处理,然后输入网络中,经过一系列的卷积和池化操作,最后将输出的feature map拉成一个长向量,再经过全连接层将特征进行组合,最后经过softmax输出。如VGG16模型:(图片来自网络)卷积操作很容易理解,但是如何计算卷积后的feature

2022-04-05 12:27:38 2413

原创 【ResNet】ResNet论文学习笔记

文章目录0. 背景1. ResNet的大体思路2. ResNet效果3. 两个我还没弄明白的技术细节最近一段时间在做毕设,整体节奏较为悠闲,毕设完成后也会分享在博客和我的网站。这两天比较闲,读了ResNet。作为一名准研究生,我在看论文方面还存在相当多的不足。其实我一直不清楚自己要怎么去读一篇论文,是应该把里面的所有技术细节都完全弄明白,还是只去把握他的大体思想。我一直处于摇摆之中,有时候觉得需要把技术细节完全弄懂,这样心里才舒服;但这样做太费时间,有时候又感觉现阶段能做到把握论文的大体思想应该就够了,

2022-04-03 16:44:03 5324

原创 【两阶段目标检测】R-CNN论文精读与学习总结

前段时间在读R-CNN,今天写个博客对论文的内容和自己的理解进行总结,方便以后回顾,以及与大家学习交流。所有的博客都是博主二次消化吸收的产物,难免包含主观和不准确之处。最好的学习资料还是一手论文!

2022-02-15 15:02:31 1851 3

原创 【YOLO系列】YOLO V1 论文精读与学习总结

目录0. 前言1.YOLO V1 大体思路2. YOLO V1的训练过程2.1 YOLO V1网络结构2.2 具体训练过程2.2.1 把主干结构在ImageNet上进行预训练2.2.2 真正开始训练2.3 输出的7x7x30维张量代表含义2.3 损失函数设置3.YOLO V1推断过程(NMS后处理)4. YOLOV1 与其他模型的比较5. YOLOV1的优势与不足5.1 YOLOV1的优势5.2 YOLOV1的不足6. 总结0. 前言最近一段时间在读YOLO系列的论文,目前跟着同济子豪兄读完了YOLO

2022-01-21 22:31:47 5353 3

原创 基于Python的管理系统(附源码)

目录0. 前言1. 题目要求2. 要求分析3.效果展示3.1 主界面3.2 注册界面3.3 管理员3.3.1 管理员登陆界面3.3.2 管理员——疫苗信息管理界面3.3.3 管理员——社区医院管理界面3.4 社区医院3.4.1 社区医院登陆界面3.4.2 社区医院——医院信息管理界面3.4.3 社区医院——用户预约界面3.4.5 社区医院——接种信息管理界面3.4.6 社区医院——不良反应反馈界面3.5 普通用户3.5.1 普通用户登陆界面3.5.2 普通用户——个人信息管理界面3.5.3 普通用户——家庭

2022-01-06 11:42:29 22736 53

原创 【交叉熵损失函数】关于交叉熵损失函数的一些理解

目录0. 前言1.损失函数(Loss Function)1.1 损失项1.2 正则化项2. 交叉熵损失函数2.1 softmax2.2 交叉熵0. 前言有段时间没写博客了,前段时间主要是在精读一些计算机视觉的论文(比如yolov1),以及学cs231n这门AI和计算机视觉领域的经典课程。我发现很多事情不能着急,质变需要量变的积累,违背事物发展的客观规律,往往适得其反。今天在学习cs231n的时候看到了关于交叉熵损失函数的讲解,发现之前虽然经常用到这个损失函数,但却对里面的细节很模糊,学完之后更清晰了一

2021-12-25 19:32:13 9746

原创 【PyTorch】从头搭建并训练一个神经网络模型(图像分类、CNN)

目录0. 前言1. 使用torchvision加载数据集并做预处理2. 定义(搭建)自己的神经网络3. 定义损失函数(Loss Function)和优化器(Optimizer)4. 训练神经网络5. 测试模型结果6. 嫌CPU太慢?换GPU训练并推测试试!0. 前言之前用过一些很厉害的模型,图像分类领域的VGG16,目标检测领域的YoloV5,实例分割领域的Yolact等。但只是会配置好环境之后训练,最多稍微修改下源码的接口满足自己的需求。还从来没有用PyTorch从头搭建并训练一个模型出来。正好最近

2021-12-04 18:15:51 11673 2

原创 【PyTorch常用知识总结(一)】

目录0. 前言1. 常用基本操作1.1 创建tensor1.2 tensor的基本数据类型:torch.dtype1.3 改变tensor的基本数据类型:tensor.type()1.3 改变tensor形状:tensor.view()1.4 获得tensor的某个元素的值 : .item()1.5 tensor和ndarray互相转换1.5.1 tensor ---> ndarray: tensor.numpy()1.5.2 ndarray ---> tensor: torch.from_n

2021-11-28 19:14:12 2224

原创 【opencv-python常用知识速查(二)】

本博客为 【opencv-python常用知识速查(一)】的第二部分,因为如果博客很长,编辑起来特别卡。目录4. opencv图像处理(深度学习中常用的)4.1 改变色彩空间: cv.cvtColor()4.2 改变图像大小:cv.resize()4.3 二维卷积操作:cv.filter2D()+轨迹条动态控制图像参数:cv.createTrackbar()、cv.getTrackbarPos()4.4 常用模糊:平均化模糊:cv.blur()和高斯模糊:cv.GaussianBlur()4. open

2021-11-27 19:27:37 2650

原创 【Python】监测鼠标各种事件(左键/中键/右键是否点下)

目录0. 前言1. 安装PyHook32. 检测鼠标左键/中键/右键是否按下3. PyHook3详细讲解0. 前言最近在写一个脚本,需要用到监测用户是否点击鼠标中键,然后触发相应的功能。这本身就是个很简单的功能,看别人有很多解决方案:有用pygame的有用tkinter的,总觉得不太合适:我就实现个这么简单的功能,有没有更专业的专门处理这一类问题的库呢?于是找到了PyHook3.PyHook作用是监测键盘和鼠标事件,底层还是使用windows API实现,这给人的感觉就很舒服了。注意我们要安装的是Py

2021-11-23 18:49:40 19371

原创 【opencv-python常用知识速查(一)】

目录1 基本操作1.1 读入并显示图片:imread()、imshow()1.2 读取摄像头操作1.3 绘图2. 图像操作2.1 分割和合并通道cv.split(img) cv.merge([b,g,r])2.2 边框填充:cv.copyMakeBorder()2.3 图像加法:cv.add()3.衡量性能 :cv.getTickCount()和cv.getTickFrequency()1 基本操作1.1 读入并显示图片:imread()、imshow()import cv2 as cvimpor

2021-11-22 18:41:19 2897 1

原创 【Matplotlib常用知识速查】

目录1. 基本用法1.1 基本框架1.2 plt.plot()参数1.3 图表标注1.4 多图:plt.subplots()2 各类常用图2.1 散点图:plt.scatter()2.2 柱形图:plt.bar()和plt.barh()2.3 饼图:plt.pie()2.4 直方图:plt.hist(x, bins)3 更多详细信息:1. 基本用法1.1 基本框架import numpy as npimport matplotlib.pyplot as pltx = np.arange(0,10

2021-11-22 18:13:05 1451

原创 【numpy常用知识速查】

目录1. numpy数据类型2. numpy创建空数组3. numpy.arrange()和numpy.linspace()4. numpy的布尔索引5. 遍历多维数组的每一个元素(ndarray.flat)6. 扩展数组的维度numpy.expand_dims(array, axis)7. 删除数组中的一维的轴np.squeeze()8. 链接相同形状的数组np.concatenate()9. 堆叠相同形状的数组np.stack()10. 在数组末尾添加值np.append()11. 删除某一行或某一列n

2021-11-22 18:10:46 1397

原创 【opencv】图像加法

目录1. opencv读取的图像数据2. 图像加法1. opencv读取的图像数据在opencv中,cv2.imread()读取的图像为numpy.ndarry数组,数据类型为np.uint8(0-255)。img = cv.imread(r'E:\0_postgraduate\test.jpg', flags=1)print('img的数据类型是:%s'%type(img))print('img的数据范围是:{}'.format(img.dtype))print('img的形状为:{}'.fo

2021-11-22 17:06:49 5609 1

原创 【Python常用知识速查】

目录0. 前言1. python格式化输出1.1 保留小数点后三位:1.2 美化输出格式,保证输出域的宽度0. 前言这篇博客会不断记录一些自己常用但易忘的知识,方便以后速查。1. python格式化输出1.1 保留小数点后三位:# 保留小数点后三位import mathprint('pi={:.3f}'.format(math.pi))#输出pi=3.1421.2 美化输出格式,保证输出域的宽度# 美化输出import numpy as npfor i in range

2021-11-11 11:49:42 1143

原创 【yolact_edge】训练自己的yolact_edge模型(并部署在Jetson Xavier上)

目录0. 前言1. 整个流程2. 具体过程2.1 部署基本环境2.2 按COCO格式准备自己的数据集2.3 修改yolact_edge/data/config.py文件的配置2.3.1 修改一:增加自己的数据集定义2.3.2 修改二:在DATASET部分增加自己的数据集2.3.3 修改三:增加自己数据集的训练配置2.3.4 修改四:在代码的最后制定cfg为你2.3.3配置的cfg名称2.4 训练模型,检测模型3. 总结0. 前言前段时间在Jetson Xavier上试了试官方的demo,发现效果还不错,

2021-10-30 17:51:08 3588 5

原创 【服务器使用】如何将本地文件上传至服务器?

这里使用的是scp上传:scp -P <端口号> -r <要上传的文件> <用户名>@<服务器IP>:<文件在服务器上存放的位置>如,我要把本地的“syhYolactEdge”上传到服务器:就在该文件夹所在的目录下打开Git,然后输入命令:...

2021-10-19 12:29:31 677

原创 【yolact_edge】在Jetson Xavier NX上部署yolact_edge(附资源)

目录0. 前言1. 参考2. 具体部署过程2.1 我的环境2.2 下载官方代码2.3 下载官方训练好的模型(yolact_edge_resnet50_54_800000.pth)2.3 下载torch2trt2.4 下载COCO校准数据集2.5 检测3.总结0. 前言这两天在尝试在Jetson Xavier NX上部署yolact_edge,因为之前部署了yolact模型,但帧率实在无法满足需求(测试下来帧率只有3-4fps),至少要达到10fps才行,于是在学长建议下部署了yolact_edge。实际

2021-10-14 13:37:13 3490 18

原创 【资源分享】jetson xavier nx(aarch64)平台上的pytorch1.8.0+torchvision0.9.0(python=3.6)

前言昨天想在jetson xavier nx上跑下yolov5,就Git了官方的代码然后开始配置环境,一开始直接pip install -r requirements.txt倒是可以配置好环境,但跑demo时发现帧率不到1fps,用sudo jtop看了下资源使用情况,发现CPU拉满了,GPU还基本是0。调查了一番发现是因为直接用requirements.txt配置环境的话,下载的pytorch是最新的1.9.0,对应的torchvision是0.10.0,和jetson xavier

2021-10-06 09:33:05 2176 2

原创 pytorch和torchvision版本对应关系

2021-10-05 15:15:39 2277

原创 【保研纪念】

保研这条路终于结束了,最后的去向是吉大。挺好的,对我来说已经满足了,毕竟我两年前的目标就是上一所中等985。人若是总不能满足,也就总无法获得真正的快乐和安宁,变成欲望的奴隶。有很多话想说,觉得有必要说出来纪念一下。虽然朋友圈和空间已经被保研消息刷屏了,但我确实不想发在那里。一是觉得没必要,虽然我确实想过发,但发个动态的目的是什么呢?我想过这个问题,后来发现更多的还是为了满足虚荣心,让别人觉得“哇我还蛮厉害的”,也算是出口气:高考只去了双非,现在去了985。满足虚荣心确实能获得快乐,但我还是不想那么做,小

2021-09-28 16:51:59 353

空空如也

空空如也

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

TA关注的人

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