![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
深度学习
文章平均质量分 84
环境搭建以及项目介绍
秋名山翻车的
这个人很懒什么都没有留下
展开
-
maskrcnn-benchmark-master(十):box_head的loss文件
目录前言一、make_roi_box_loss_evaluator()函数二、FastRCNNLossComputation前言上一篇博客已经介绍完box_head的inference文件,我们知道了box_head在inference阶段是如何进行筛选box(Proposals),最后得到输出的instances结果,本篇博客将介绍在box_head阶段的loss是如何进行计算的,有了前面RPN的loss文件介绍,box_head的loss文件介绍将会简单很多,它涉及到的函数和RPN原创 2021-08-03 16:37:24 · 599 阅读 · 3 评论 -
maskrcnn-benchmark-master(九):box_head的inference文件
前言上一个博客已经介绍了box_head的整个网络结构部分,在对box_head进行inference过程就需要一个后处理类,接下来这篇博客将介绍inference文件中的make_roi_box_post_processor()函数和PostProcessor类。PostProcessor类:因为输入ROI_heads模块的Proposals数目本身就很多,然后在网络分类过程中,一般会给每个Proposal生成对应类别个box,因此最后生成的box会非常的多,所以需要PostProcessor类原创 2021-08-03 11:34:10 · 533 阅读 · 0 评论 -
maskrcnn-benchmark-master(八):build_roi_box_head()函数
前言本篇将介绍build_roi_box_head()函数,这个函数是在your_project/maskrcnn_benchmark/modeling/roi_heads/box_head/box_head.py文件中,def build_roi_box_head(cfg, in_channels): """ Constructs a new box head. By default, uses ROIBoxHead, but if it turns out not.原创 2021-08-02 20:35:09 · 683 阅读 · 0 评论 -
maskrcnn-benchmark-master(七):build_roi_heads()函数
截至上一篇博客,我们已经介绍完RPN的整个流程,RPN的作用是提取Proposals传入ROI_heads部分,然而ROI有哪些heads呢?根据不同的任务,代码分为了box_head,keypoint_head,mask_head。box_head:进行bounding box的回归以及类别的分类任务。keypoint_head:进行关键点的检测。(这部分代码我已经从项目中去除掉了)mask_head:进行mask的分割任务。一、CombinedROIHeads类接下来我们将开..原创 2021-08-02 11:56:14 · 617 阅读 · 0 评论 -
maskrcnn-benchmark-master(六):RPN的loss文件
前言上次介绍完了RPN的inference文件,这次接着介绍RPN的loss文件,RPN可以当作一个独立的模块来看待,它作用就是进行物体的检测(是否为需要检测的物体 以及 在什么位置),所以RPN阶段是有一个单独的loss需要计算的。一、make_rpn_loss_evaluator()RPN的loss文件在your_project/maskrcnn_benchmark/modeling/rpn/loss.py文件中,我们首先看到make_rpn_loss_evaluator()函数:..原创 2021-08-01 19:32:11 · 860 阅读 · 0 评论 -
maskrcnn-benckmark-master (零):代码解读
前言之前一直都有使用Mask-RCNN模型,从一开始使用的MMDetection2框架中的Mask-RCNN,能够比较正常的运行,但是想要修改成我需要的形式时,发现MMDetection2中有一些地方都已经模块化好了,不方便修改,于是便转战到现在的maskrcnn-benckmark-master这个版本。前段时间是有把maskrcnn-benckmark-master都阅读一遍,并按照了自己的需求修改了网络结构,但是现在又要重新修改,发现有许多的地方已经已经变得模糊。想到好久都没有更新博客了,于原创 2021-07-27 22:54:34 · 608 阅读 · 2 评论 -
maskrcnn-benchmark-master(四):build_rpn()函数
上面我们介绍了build_bone()函数,了解到了backbone的构造过程,本篇我们开始介绍RPN的构造过程。build_rpn()函数是在your_project/maskrcnn_benchmark/modeling/rpn/rpn.py文件中。我们知道RPN过程是提取Proposals的过程,即判断哪一个区域可能含有需要检测的物体(二分类,有或无,并不判断具体是什么类别的物体),以及该物体的boundingbox,具体的内容可以看相关Faster-RCNN论文,本篇论文不做具体阐述,简..原创 2021-07-27 23:00:10 · 570 阅读 · 3 评论 -
maskrcnn-benchmark-master(五):RPN的inference文件
上次我们介绍到了RPN网络的目的是获取Proposals,但是仅仅通过RPN_Head部分得到只是anchors的二分类结果和anchors的box回归结果,想要得到真正的Proposals,我们还需要通过make_rpn_postprocessor()函数来对RPN_Head的输出作进一步的操作,而这个进一步操作都是通过your_project/maskrcnn_benchmark/modeling/rpn/inference.py中的RPNPostProcessor类来完成的(make_rpn_pos.原创 2021-07-27 23:01:10 · 632 阅读 · 5 评论 -
maskrcnn-benchmark-master(三):build_backbone()函数
通过之前的介绍,我们知道build_backbone()函数的作用就是生成一个backbone(backbone的作用就是提取图像特征)。其实本身build_backbone()函数当中没有多少好讲的,但里面用到了一个registry的类,其他的好多函数中都有用到这个类,所以registry就放到本篇博客中一起介绍。一、 registrybuild_backbone()函数是在your_project/maskrcnn_benchmark/modeling/backbone/backbone.p.原创 2021-07-27 22:59:30 · 804 阅读 · 0 评论 -
maskrcnn-benchmark-master(二): GeneralizedRCNN类
ballalba原创 2021-07-27 22:58:39 · 806 阅读 · 0 评论 -
maskrcnn-benchmark-master(一):配置文件
一、配置文件maskrcnn-benckmark-master是提供有默认的配置的,见文件:your_project/maskrcnn_benckmark/config/defaults.pyimport os# 通过yacs包来生成的默认配置from yacs.config import CfgNode as CN_C = CN()_C.MODEL = CN()# 表示是否只有RPN_C.MODEL.RPN_ONLY = False# 表示是否含有Mask分支_C...原创 2021-07-27 22:56:45 · 1146 阅读 · 0 评论 -
TypeError: Object of type ‘builtin_function_or_method‘ is not JSON serializable
目录一、问题描述二、问题解决一、问题描述使用python3在将字典保存为json的时候报错:TypeError: Object of type 'builtin_function_or_method' is not JSON serializable. json.dump(data, open(os.path.join(save_dir, save_name), 'w', encoding='utf-8'), indent=4)二、问题解决因为在data字典类型数..原创 2021-02-18 19:43:28 · 5986 阅读 · 1 评论 -
MMDetection2(二):自定义数据集
支持新的数据格式为了支持新的数据格式,你能够将它们转化为已经存在的VOC和COCO格式,或者直接将它们转化为中间格式。你可以选择在线下将它们转化或者在线上转换。在MMDetection中,我们推荐将数据集在线下转化为COCO格式,因此你仅仅需要更改配置文件中的data annotation的路径和classes就好了。一个自定标数据集的例子假定数据集的标签是一种新的文本文件格式。Bounding boxes标签信息通过以下形式存储在annotation.txt文件中:#00000原创 2020-12-07 19:55:58 · 2260 阅读 · 2 评论 -
MMDetection2(四):训练自己的数据集
之前本来是想一次性把MMDetection2好好学习一下,后来跑了Mask-RCNN模型,发现效果还是没有Facebook的Detectron2框架跑的Mask-RCNN效果好,所以准备放弃MMDetection2框架了orz,但是之前挖的坑,还是要填起来,所以这次记录一下之前训练自己数据集的步骤吧。训练自己的数据集在这篇博客中,你将会学习如何使用你自定义的数据集对预训练模型进行inference,test以及train操作。我们将使用ballon dataset作为一个例子来描述整个过程。.原创 2020-12-07 13:45:47 · 4539 阅读 · 9 评论 -
MMDetection2(一):学习配置文件
一、配置文件结构在config/_base_文件夹下面总共有4个基础的组件,它们分别是:dataset、model、schedule、default_runtime。许多的方法都可以被这些基础组件轻松的构造,我们将由_base_中的组件构成的配置称之为primitive。为了方便于理解,我们推荐构造者去继承已有的方法,例如,如果你想要去基于Faster-RCNN做一些更改,你首先需要在你的配置文件中去继承Faster-RCNN的基础结构(加入_base_=../faster_rcnn...原创 2020-11-20 11:32:44 · 5665 阅读 · 5 评论 -
MMDetection2(零):环境配置(Ubuntu18.04+GPU)
目录前言一、需要的环境二、安装1、创建一个conda虚拟环境并激活它2、安装PyTorch和torchvision包2.1 pytorch版本的选择问题2.2 网络的问题3、安装mmcv-full包4、Clone MMDetection的项目仓库5、安装相应的requirements和MMDetection前言最近在做分割的一个项目,需要用到几个常用的分割算法,例如Mask-RCNN、PANet等,但是考虑到网上的复现版本的配置都有些差异,所以就选择MMDe原创 2020-11-18 23:30:13 · 974 阅读 · 2 评论 -
手把手教你:Windows系统上安装GPU深度学习环境
前言在学习的过程当中,有好几个朋友都咨询过我如何安装深度学习环境,之前写过一篇在Ubuntu环境下安装深度学习环境,但是又有部分朋友在Windows电脑上安装深度学习环境遇到过许多的问题,所以我就再写一篇Windows系统上安装深度学习环境的教程,希望对刚刚入手深度学习的朋友有所帮助:)PS:不需要自己手动安装CUDA和CUDANN(安装这两样东西属实要劝退不少朋友),网上许多的博客都是说要安装CUDA和cudann,但是选择Tensorflow-GPU版本或者PyTorch-GPU版本中都会自带原创 2020-07-07 00:30:05 · 7963 阅读 · 5 评论 -
RuntimeError: reduce failed to synchronize: device-side assert triggered
这是最近在跑一个网络结构的时候报错,具体报错内容如下:C:/w/1/s/tmp_conda_3.6_041836/conda/conda-bld/pytorch_1556684464974/work/aten/src/THCUNN/BCECriterion.cu:42: block: [0,0,0], thread: [3,0,0] Assertion `input >= 0. &...原创 2020-05-06 22:20:24 · 4221 阅读 · 3 评论 -
手把手教你:如何将ML_GCN用于自己的项目
前言最近的工作是做X线胸片疾病的多标签分类研究,使用Basline已经可以达到比较高的AUC指标了,最近在思考有没有其他的idea能够将AUC指标提升一下。一个可以提升地方是利用标签之间的关系信息,即每一种疾病之间都存在关联信息,我想要将该关联信息利用起来从而提升模型的性能,在经过一番搜索之后,找到了旷视发布的这篇论文《Multi-Label Image Recognition with G...原创 2020-05-04 14:23:02 · 4459 阅读 · 18 评论 -
手把手教你:如何使用滴滴云搭建GPU环境
前言因为最近忙着搞毕业设计,做的是X线胸片的多标签分类问题(22万张图片),需要使用GPU来跑实验,然而因为疫情的原因,只能在线使用GPU跑实验,贫穷的我买不起GTX显卡,同时学校的GPU集群好像出了一点问题,想到之前租过滴滴云的GPU服务器,所以这一次决定再花一些money在滴滴云上租GPU跑实验,说个题外话,选择滴滴云之前对比过其他几个云(阿里云、腾讯云、华为云),奈何它们太贵了...原创 2020-03-27 00:43:16 · 2557 阅读 · 19 评论