自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 autoware lidar-centerpoint 点云在rviz上叠加显示问题

出现上述问题是因为autoware默认使用的是模拟器的时间,在autoware提供的bag中有个topic为/clock,就是模拟器时间,而我们自采数据包里不包含模拟时间,故将模拟时间改为系统时间即可。具体是修改lidar_centerpoint中launch文件中的use_sim_time,将其由true改为false。在使用自采数据包放入autoware中的lidar_centerpoint上进行检测时发现,在rviz可视化上出现问题:多帧点云在一个位置上不断叠加,不能正常随时间显示。

2024-06-12 14:42:49 297

原创 ubuntu NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver is installled

注:如果在上述报错中,log文件中的错误是:You are building kernel with non-retpoline compiler, please update your compiler。发现系统中还存在另一个内核版本是5.15.0-105(我猜想这个应该是我重启之前的版本)。因为ubuntu重启后更新了内核,故在上述方法行不通后,我就考虑将当前更新的内核版本降级,查看当前内核版本。出现上述错误应该是ubuntu重启时更新了内核导致内核版本和驱动版本不匹配导致的。

2024-05-24 12:44:41 1415

原创 力扣刷题--数组--第五天

对于字符串t也同样按照上述方式进行判断,定义j为遍历索引,skipT为记录的"#"个数。当i>=0 and j>=0并且i和j所在索引位置字符都应该保留时,比较s[i]与t[j]是否相等,若不相等,直接返回False,如相等,则继续上述操作。这道题力扣上是简单题,但是我想了挺久的也没有做出来,最后是看了题解才明白,因为我最开始是想按照昨天快慢指针的方式,对s和t字符串分别得到新字符串之后,直接比较两个新字符串是否一致就行了,但是最后越写越不对。注意:如果对空文本输入退格字符,文本继续为空。

2024-05-14 22:12:52 334

原创 力扣刷题--数组--第四天

数组删除某个元素,实际中是将要删除的元素之后的元素值全部向前移动一位,将要删除的元素进行覆盖。其中,fptr代表的含义是在遍历整个数组的过程中找到那些不等于val的值的索引,用于填充新数组(也就是覆盖原数组),sptr代表新数组的索引。和上一题思路一样,使用快慢指针,这里定义了一个val值,用来表示重复的元素值,遍历整个数组,使用快指针去找到那些不等于val值(这里得val值是动态的)得索引,填充至新数组。的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次,返回删除后数组的新长度。

2024-05-13 22:28:00 361

原创 autoware.universe 使用之Rosbag replay simulation放包仿真

本文将按照官方文档,通过播放rosbag录制包进行可视化模拟,中间也报了很多错误,特此记录下来,以免后续踩坑。电脑配置如下:ros2: foxy关于autoware.universe安装可参考我之前的博客,我是在ubuntu20.04上使用docker安装拉取环境进行手动安装,可供大家参考。

2024-05-09 14:19:36 847

原创 力扣刷题--数组--第三天

在lindex左边的值一定都小于x的算法平方根,lindex是第一个大于x的算法平方根的索引,因为最终取算法平方根的整数部分,故返回的应该是lindex-1。如果 num 是一个完全平方数,则返回 true ,否则返回 false。给你一个非负整数 x ,计算并返回 x 的 算术平方根。x的值数组,然后将x视为target,使用二分查找即可,后来看了题解才发现大可不必。今天再做两道二分查找的题目,关于二分查找的知识可看我前两篇博客。额,我只打败了9.07%的python3用户,哈哈哈哈,我真是个菜鸡。

2024-05-08 22:35:49 507

原创 力扣刷题--数组--第二天

题目详情:非减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。

2024-05-07 22:39:41 498

原创 ubuntu20.04 手动配置docker下autoware.universe环境

使用docker手动安装autoware环境,参考,中间踩过很多坑,特此记录一下。

2024-05-07 10:14:11 1513 1

原创 力扣刷题--数组--第一天

目前只关注二分查找左闭右闭区间情况,怕与其他情况弄混。之后熟悉了可以再看其他解法;第2题对于最终返回的是lindex或者rindex+1,我困惑许久,不太懂为何会是这样的结果。究其根本还是对二分查找算法不够理解,经过多方查找资料才对上述结果有了一定的理解。图像参考自https://leetcode.cn/circle/discuss/ooxfo8/有如下结论:对于左闭右闭区间情况,初始状态:lindex=0,rindex=n-1;循环条件:lindex

2024-05-06 23:32:48 827

原创 yolov9 tensorrt推理结果全为None

基于上述问题,我尝试以下几种方式:(1) 使用开源的基于yolov9的c++版推理代码,进行测试,发现结果认为nan值;(4) 最后我发现在使用export.py转onnx和engine时,因为要转为fp6格式,故参数里设置half为True,它会先将加载的pt模型截断到fp16范围内,再进行后续操作。在写部署代码时,发现使用python写推理代码,无论是fp32还是fp16的engine,最后结果都可以正常输出,但是在使用c++写同样的推理代码时发现使用fp32的engine作为引擎,推理结果正常。

2024-04-24 15:03:26 452

原创 2023工作总结

这种累不仅是身体上的累,更多的是心里和脑力的累。从数据采集、数据标注(最开始小伙伴负责做数据标注这块工作,后续他离职后,我继续接手)、数据质检、盯着标注人员标注和返修、制作数据集、根据自定义类别要求修改dataloder等适配代码、模型训练和测试、模型加速到最后模型部署上车,这整个过程各种bug横出,同事帮忙解决一小部分,大部分只能自己在那各种查资料、分析。2024年新的起点,我也将整理好自己重新出发,虽然接触了很多新的知识,但我只学会了基础用法,想要更深入的掌握还需要更多的时间和精力。

2024-01-02 15:32:27 465 1

原创 ssh 远程连接服务器,如何打开服务器文件夹并且手动挂载和卸载移动硬盘?

【代码】ssh 远程连接服务器,如何打开服务器文件夹?

2023-12-06 15:55:24 375

原创 onnx-tensorrt-8.4-EA安装和使用

因项目需求要用到onnx-tensorrt,在安装过程中遇到不少坑,故这里简单记录一下,给大家一个参考。首先是尝试在本机上直接安装,发现会出现版本对应不上一系列问题,故最终我还是选择在docker拉去一个镜像去配环境和使用。

2023-11-06 17:22:24 343

原创 ubuntu20.04 conda pack 打包虚拟环境,直接将其用到其他终端

至此,打包的虚拟环境可以整个移植到其他系统下使用。

2023-11-01 14:57:14 2078

原创 cannot import name ‘Config‘ from ‘mmcv‘

因为mmcv版本过高导致。

2023-10-31 14:24:11 4233

原创 MapTR v2文章研读

MapTR v2论文来了,本文仅介绍v2相较于v1有什么改进之处,如果想了解v1版本的论文细节,可见。下面依据改进之处展开说一下。

2023-09-12 11:39:27 2274

原创 MV-Map论文研读

代码未开源。

2023-07-07 15:00:35 579

原创 BEVFromer论文研读

首先,初始化采样点ref_3d,W为bev平面的宽,H为bev平面的高,Z为柱子的高,num_points_in_pillar表示每个柱子上采样的点的数目,在Z轴方向上也初始化了采样点,包含了路面上不同高度的物体。从t-1到t时刻,不同移动的目标在真实世界中有着不同的偏移,故在不同时刻对于相同的目标的BEV特征建立精确的关联性是非常有挑战的事情。最后将采样的特征加权求和作为SCA的输出。根据当前车辆位置信息,对前一时刻的prev_bev做微调,确保在同样的网格grid区域对应同样的真实世界的实际位置。

2023-06-26 15:18:57 466

原创 MapTR文章研读

MapTR文章研读记录

2023-02-10 11:46:06 2950 3

原创 VoVNet论文研读

VoVNet论文研读

2023-01-07 12:29:07 549

原创 python 无法导入cpython的.pyx文件

在测试某一项目代码时,出现以下错误:ModuleNotFoundError: No module named 'nms.cpu_nms‘在nms文件夹下存在cpu_nms.pyx文件,但是导入失败,在同级文件夹下存在setup_linux.py文件,我们在终端输入以下命令:python setup_linux.py build_ext --inplace运行成功后,即可成功导入.pyx文件...

2022-02-18 14:12:22 1589 1

原创 AlposePose姿态估计和跟踪

    目前,姿态估计有两个主流的方法,自顶向下,先检测出数据中的人体检测框,再根据每个检测框识别人的姿态。与之对应的是自低向上的方法,即先检测数据中所有的骨骼点,再通过拼接得到多人的骨架。两种方法各有缺点,其中自顶向上的方法,姿态检测准确度非常依赖目标检测框的质量。而自低向上的方法,如果两人离得非常近,容易出现模棱两可的情况,而且由于是依赖两个骨骼点之间的关系,所以失去了对全局的信息获取。    Alphapose是多人姿态识别框架,属于自顶向下的方法,其主要解决两个问题,(1) 检测框不准,如图1所示

2021-11-12 17:05:34 3902

原创 DPT: Deformable Patch-based Transformer for Visual Recognition

DPT: Deformable Patch-based Transformer for Visual Recognition论文:https://arxiv.org/abs/2107.14467代码:https://github.com/CASIA-IVA-Lab/DPT目前,Transformer在计算机视觉方面取得了巨大的成功,但是如何在图像中更加有效的分割patch仍然是一个问题。现有的方法通常是将图片分成多个固定大小的patch,然后进行embedding。本文作者指出固定大小的patch有如

2021-08-16 22:55:03 1294 2

原创 【Pytorch】使用torch.load()加载模型时报错,提示加载的模型是zip格式

问题在pytorch版本1.6.0上保存最优模型,当将该模型下载到其他设备上时发现模型从.pt转成了zip压缩包格式或者直接使用在其他版本的pytorch上加载时报错。解决方法torch官网上指出The 1.6 release of PyTorch switched torch.save to use a new zipfile-based file format. torch.load still retains the ability to load files in the old forma

2021-07-12 16:20:35 2295

原创 linux下 PixelAnnotationTool的安装和使用

    PixelAnnotationTool是图像语义分割与实例分割标注神器,它的github地址:https://github.com/abreheret/PixelAnnotationTool一、安装(1)首先我们安装好要求的安装包:如果没有上述安装包,我们可以按照以下步骤进行安装:    注:我在ubuntu20.04上按照下述代码安装opencv时,显示安装成功了,但是在python里import cv2时仍会提示没有opencv,在网上查找了opencv的两种安装方法都没有成功。s

2021-04-13 22:49:17 1867 1

原创 pytorch多gpu DataParallel 及梯度累加解决显存不平衡和显存不足问题

  最近在做图像分类实验时,在4个gpu上使用pytorch的DataParallel 函数并行跑程序,批次为16时会报如下所示的错误:  RuntimeError: CUDA out of memory. Tried to allocate 858.00 MiB (GPU 3; 10.92 GiB total capacity; 10.10 GiB already allocated; 150.69 MiB free; 10.13 GiB reserved in total by PyTorch)  

2021-03-25 15:02:25 5171 4

原创 Transformer的几个问题

Transformer是《Attention Is All You Need》提出来的,结构如下所示:讲解Transformer的文章很多,这里不再重复,可以参考文献1和文献2本文只想讲一些在看Transformer这篇文章时遇到的一些问题,并写下我对这些问题的理解。问题一:为什么要除以dk\sqrt{d_k}dk​​ ?当dkd_kdk​增大时,意味着q和k之间的点乘操作会增加,只要qikiq_ik_iqi​ki​稍微比其它值大一点,经过softmax之后绝大部分值就会变得很小,接近于0,使得

2021-03-04 11:58:06 1161 3

原创 复制虚拟环境并创建新的虚拟环境

这两天在服务器上跑程序时由于pytorch版本问题一直报错,重新安装gpu版本的pytorch也总是失败,一个老师建的虚拟环境pytorch版本符合我的代码要求,但是如果在他的环境下运行程序还需要其他的安装包,为了不影响他的虚拟环境,我把他的安装包全部复制到我的虚拟环境中,运行时由于软件包的环境配置问题仍会报错,就在我为了这个问题苦思冥想时,偶然看到这行代码就解决了我困惑已久的问题,妙啊!conda create -n 新的环境名 --clone 要复制的环境名今天又进步了一点点,加油哦。...

2021-03-02 21:06:19 2479

原创 pytorch 用卷积来表示平均池化

我们知道平均池化的作用就是kernel_size大小的池化窗口在特征图上滑动,池化窗口覆盖到的特征图的值相加后平均作为该覆盖区域的值输出。如果我们用卷积的操作去表示平均池化,卷积的权重可以表示为(假设为二维数据,kernel_size=3):此时卷积核的权重不再是可训练参数。代码实现:# 定义卷积核的权重参数def define_Conv_to_Avg2d(in_channel,out_channel,kernel_size): if isinstance (kernel_size,int

2021-02-04 17:02:30 885

原创 使用CAT对MRI数据进行预处理

数据:选取ADNI上MRI数据集要求:使用CAT12工具箱中的标准步骤对数据进行预处理1,偏差矫正biased-corrected;2,分割成灰质(gray matter)、白质(white matter)、脑脊液(cerebrospinalfluid)3,使用序列线性(仿射)变换注册到Monurological Institute(MNI) space4,将灰质图像重新切片为2mm x 2mm x 2mm的立方,得到91 x 109 x 91的尺寸。配置环境:系统环境:win10软件环

2021-01-18 16:22:39 2542 4

原创 深度学习Adam优化算法理论知识和学习率的变化

在最近学习中,用Adam作为优化器,在训练时发现学习率并没有改变。这好像与之前理解的自适应的学习率有所矛盾?通过参考网址1和网址2,理解了Adam的原理之后发现,初始的学习率在训练过程中是没有改变的,而是深入的理解其数学原理才是真正的学会,加油!...

2021-01-11 14:03:37 4030 1

原创 pytorch代码中同时进行训练和验证时显示内存爆炸

最近在写pytorch代码时,在每个epoch下训练和验证数据,但是每次训练完数据后进行验证时程序就会报错:RuntimeError: CUDA out of memory. Tried to allocate 74.00 MiB (GPU 0; 11.75 GiB total capacity; 10.15 GiB already allocated; 16.81 MiB free; 157.35 MiB cached)经过参考:https://www.cnblogs.com/liuzhan709/

2021-01-08 15:57:47 894

原创 random.shuffle和numpy.random.shuffle

两者用法基本上一致,都是随机打乱数据。代码如下:# random shuffleimport randoma = [1,2,3,4]b = [[5,6,7,8], [9,10,11,12]]random.shuffle(a)random.shuffle(b)#结果如下:[3, 4, 1, 2][[5, 6, 7, 8], [9, 10, 11, 12]]注:random shuffle是对list进行随机打乱import numpy as npa = np.array([1,2,

2021-01-04 17:26:44 481

原创 tensorflow learning schedule之分段常数衰减用法

学习率在梯度下降法中,都是给定的统一的学习率,整个优化过程中都以确定的步长进行更新, 在迭代优化的前期中,学习率较大,则前进的步长就会较长,这时便能以较快的速度进行梯度下降,而在迭代优化的后期,逐步减小学习率的值,减小步长,这样将有助于算法的收敛,更容易接近最优解。故而如何对学习率的更新成为了研究者的关注点。​ 在模型优化中,常用到的几种学习率衰减方法有:分段常数衰减、多项式衰减、指数衰减、自然指数衰减、余弦衰减、线性余弦衰减、噪声线性余弦衰减。本文详细介绍分段常数衰减函数及其用法。tf.trai

2020-12-30 15:24:46 744

原创 This is most likely due to a Variable name or other graph key that is missing from the checkpoint. P

Restoring from checkpoint failed. This is most likely due to a Variable name or other graph key that is missing from the checkpoint. Please ensure that you have not altered the graph expected based on the checkpoint. Original error:具体报错见下图:上面报错的位置在我加载了之

2020-12-30 11:50:11 1499

原创 基于PyTorch的目标检测数据增强

关于目标检测的数据增强,该篇博客给了一个整体的框架,值得参考

2020-11-02 13:09:00 215

原创 网络训练时出现loss为nan的情况(已解决)

最近在使用SSD网络跑自己的数据集时,训练刚开始就出现loss=nan值的情况,经过多方查找资料,发现训练过程中loss出现nan值时,一般是下列问题导致的:数据集的问题,可能存在数据本身就存在nan值,或者标注box的坐标不符合要求,比如xmax<xmin(参考)网络结构的问题,可能网络本身设计不合理,如果是直接使用的开源代码,应该不会出现这个问题。学习率设置过高,可以设置不同的且相差较大的学习率来观察loss的变化,如果无论学习率如何变,loss始终还是nan值,可能就不是这个问

2020-10-30 23:22:48 16814 1

原创 RuntimeError: CUDA error: device-side assert triggered

在服务器上跑SSD eval.py代码时,出错:RuntimeError: CUDA error: device-side assert triggered在网上查了很久自己也做了很多测试,大概将定位到出错代码处,但具体的错误仍然不知道,然后我又在本地的pycharm上进行了测试,报错:Expected object of scalar type unsigned char but got scalar type bool for argument ‘other’`出错处源代码如下:suppres

2020-09-24 21:53:53 220

原创 IndexError: Dimension out of range (expected to be in range of [-1, 0], but got 1)

在做图片的分类任务时,报错IndexError: Dimension out of range (expected to be in range of [-1, 0], but got 1)经过排查发现是损失函数输入的位置出错。一定要注意细节!for X,y in datasets_folder: X=X.to(device) y=y.to(device) y_pred=model(X) loss=torch.nn.CrossEntropyLoss()(y,y_pred)真实标签y.sh

2020-09-01 10:33:17 1939

原创 错误提示:empty range for randrange() (0,-15, -15)

出现错误的原因是我的训练图片的尺寸小于数据增强时对图片进行crop的尺寸,改正后可以正常训练。

2020-08-27 22:15:10 1945

空空如也

空空如也

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

TA关注的人

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