2022-08-14 pytorch 踩坑记录 pytorch 踩坑记录 我在使用 pytorch 过程中遇到的问题记录自己使用 pytorch 进行深度学习过程中遇到的一些问题和解决办法 ㊙ 这些解决方法未必是最佳方案1️⃣使用 DataParallel 时,GPU 显存负载不均衡使用单机多显卡时,可能每张显卡的显存大小不是一致的。而 DataParallel 默认是根据显卡的数量对 batchsize 进行均分,每张显卡都会被分配到一样大小的显存消耗。修改 torch > nn > Parallel > scatter_gather.py 的 scatter_map 函数如下 def scatter_map(obj): if isinstance(obj, torch.Tensor): # 获得 batchsize 的数量 batch_size = obj.shape[0] # 将 2/3 的 batchsize 传入第一个 gpu, 剩下的分给第二个 num1 = 2*batch_size//3 return... 2022-08-14 2022年08月14日 0 阅读 0 评论
2022-08-07 科研学习流水账11 科研学习流水账11 阅读了论文 AttributeNet: Attribute enhanced vehicle re-identification该论文探索属性线索在车辆重识别上的提升。提出了一种新的结构Anet,增强了属性监督模块和车辆重识别间的交互,以此驱动提取的属性更好的为重识别服务。引入了一种改进的约束,使得结合属性后的重识别特征更具有鉴别性。阅读了论文 Lord of the Rings: Hanoi Pooling and Self-Knowledge Distillation for Fast and Accurate Vehicle Re-Identification论文提出了一种不需要额外标记和低计算量开销的方法来学习特征。引入了汉诺塔池化层提取环形区域(ring regions),使用图像金字塔的方法生成车辆的多尺度特征。通过自知识蒸馏框架来实现将深层网络的准确性转移到第一层(accuracyof a deep network to its first layers),从而停止早期测试实例来减少推理的工作量。 2022-08-07 2022年08月07日 0 阅读 0 评论
2022-08-01 科研学习流水账10 科研学习流水账10 阅读了论文 Counterfactual Attention Learning for Fine-Grained Visual Categorization and Reidentificatio论文提出一种反事实(counterfactual)的注意力学习方法,学习具有反事实因果关系的注意力。从而可以更有效率的进行注意力学习。通过反事实干预,分析学习到的视觉注意对网络预测的影响,并最大限度地提高影响使网络去学习更多有用的注意。在服务器上运行了 PVEN 的项目代码。在本地调试代码的过程中,在加载网络结构后继续调试的过程中经常遇到调试工具卡顿的情况。有的时候等一阵子就可以继续调试了,有的时候需要中断调试过程再来一遍,十分影响看代码的效率和心情。可能是本地笔记本显卡比较差的原因😩 2022-08-01 2022年08月01日 0 阅读 0 评论
2022-07-24 科研学习流水账9 科研学习流水账9 阅读了论文 A Strong Baseline for Vehicle Re-Identification阅读了论文 pven 和其开源的代码。导师嫌我一个多月没什么实质性进展,换方向了🤪。该论文通过下面三点来提升模型性能:① 减少真实数据和合成数据之间的领域差距② 通过堆叠多头与注意力机制修改网络③ 自适应损失权重调整调试 PVEN 车辆重识别的代码,理清了代码结构。明天继续结合论文搞清楚代码的每个重要的部分,了解最新论文中的一些方法是否能借鉴。 2022-07-24 2022年07月24日 0 阅读 0 评论
2022-07-17 科研学习流水账8 科研学习流水账8 阅读了论文 Spatial Attention Fusion for Obstacle Detection UsingMmWave Radar and Vision Sensor导师帮我找了一些多模态目标检测的论文,说是会比纯视觉方向好出论文。下载并尝试运行 SAF-FCOS 的代码,解决了环境问题,但是最后由于没有模型,无法跑通测试程序。训练程序由于机器限制,以及考虑到 nuScenes 上百G的训练集大小,暂时没跑。进一步调试 centerFusion 的代码,理解输入的图片和雷达信息问题分析关于图片预处理部分,看懂了代码在做什么,但是还没弄清具体意义。首选改变图片尺寸,接着求出仿射变换矩阵,然后对输入尺寸比上下采样率,得到输出尺寸,再对输出尺寸求出仿射变换矩阵,最后对图片进行仿射变换并改变尺寸。解决的办法:先看继续理解后面代码,看看有没有和这部分处理相关联的地方。 2022-07-17 2022年07月17日 0 阅读 0 评论
2022-07-10 科研学习流水账7 科研学习流水账7 阅读了论文 RADAR+RGB FUSION FOR ROBUST OBJECT DETECTION IN AUTONOMOUS VEHICLE调试并弄懂了 CenterFusion 数据集加载部分以及模型加载流程。问题分析模型部分使用CenterNet来预测物体的中心点和尺寸。难点包括 key point关键点损失函数,offset 损失函数,尺寸损失函数,整体损失函数等。下一步研究计划看了一些代码和论文了,下一步打算从中挑一个较新的方法细扣代码。精一而悟道。 2022-07-10 2022年07月10日 0 阅读 0 评论
2022-07-03 科研学习流水账6 科研学习流水账6 阅读论文 CenterFusion: Center-based Radar and Camera Fusion for 3D Object Detection Ramin1、将 CenterFusion 运行并把结果图片使用 opencv 转换为视频。2、使用 yolov5 对学校对面十字路口交通状况视频进行检测。3、正在对 CenterFusion 项目检测代码文件进行 debug,结合论文理解。问题分析在多种感知模态融合时,过早对多种模态的感知数据进行融合,通常会使得最后结果受数据的空间和时间影响较大,而过晚融合虽然可以在引入新模态时拥有更多灵活性,但它不能全面的利用到各感知模态的潜力。因此,CenterFusion 提出了“中层融合”的方法。明天干嘛继续debug 代码,并结合论文相关内容学习。 2022-07-03 2022年07月03日 0 阅读 0 评论
2022-06-15 科研学习流水账5 科研学习流水账5 阅读论文 milliEye: A Lightweight mmWave Radar and Camera FusionSystem for Robust Object Detection跑了 milliEye 的项目,读了它的论文。下载 Radar-RGB-Attentive-Multimodal-Object-Detection 项目和它提供预训练模型, 解决环境问题后,发现它提供的预训练模型有问题。正在跑 centerFusion 的项目。问题分析centerFusion 的项目遇到了很多环境问题,它在项目介绍中没有表明自己使用的 python 和 pytorch 版本。而且,根据项目介绍,我们需要自己编译 DCNv2 的网络结构,而这个网络结构的最初版本并没有提供对不同版本 pytorch 的支持,所以项目中提供的 DCNv2 不一定能成功编译。关于项目介绍中提供的nuscenes数据集,仅下载 Mini 版的数据集运行convert_nuScenes.py 文件来把 nuScenes 转换为 COCO 格式时会报错。缺少一个配置文件,还需要去 Trainval 中下载 M... 2022-06-15 2022年06月15日 0 阅读 0 评论
2022-06-05 科研学习流水账4 科研学习流水账4 通过对 Yolov5 项目代码的调试继续学习数据张量在 yolov5s 的网络结构中的变化。理解 yolov5 代码配置文件中anchors 的含义。 2022-06-05 2022年06月05日 0 阅读 0 评论
2022-05-14 科研学习流水账3 科研学习流水账3 跑了 Yolov5 项目的代码对视频进行目标检测,在服务器上使用 Yolov5 自带的数据集跑了一遍模型训练。用 VS code 编辑器连接到服务器对 Yolov5 的代码进行调试,目前还没调试完。问题分析目前看到了 yolov5 源码的 train.py 文件的 Optimizer 部分,对于前面已经看过的代码部分印象不深。比如 intersect_dicts(csd, model.state_dict(), exclude=exclude)、以及 Freeze 这部分的内容的代码。总结下,我认为这是因为我对 yolov5 源码的理解还不全面,需要尽快把整个代码 debug 模式下理解一遍,不懂的地方结合相关部分的理论知识来理解。下一步干嘛首选是继续读完 yolov5 的代码,对 yolov5 关键部分的流程熟悉后,去找 yolov系统相关的论文项目去跑代码和理解突破点。 2022-05-14 2022年05月14日 0 阅读 0 评论