gluoncv voc_detection】的更多相关文章

https://github.com/zhreshold/gluon-cv/commit/73b3986aaa2e0d0e6f3f428c12072e3a9d29905e gluoncv可能版本还没更新,不过小bug已经解决了. 至此,gluoncv 检测部分,从自己的训练集制作,到难样例标记,到评测的坑全踩完了. def as_numpy(a): """Convert a (list of) mx.NDArray into numpy.ndarray""…
跑了一晚上的模型,实在占GPU资源,这两天已经有很多小朋友说我了.我选择了其中一个参数. https://github.com/dmlc/gluon-cv/blob/master/scripts/detection/faster_rcnn/train_faster_rcnn.py train_faster_rcnn的修改之前就弄好了,这里贴一个完整的. """Train Faster-RCNN end to end.""" import argp…
了解了sys.path和python 的import 的话,之前修改gluoncv 的方式就可以有了新的简单的方法: 如果你pip install gluoncv的,然后脚本又git clone了,发现有两份gluoncv,于是脑子瓦特(修改源码的时候脑子经常短路)的时候就修改错地方. 简单的方法是,不需要pip install gluoncv了,而是git clone 以后,在你需要运行的程序前面加上一行,将gluoncv的路径加入sys.path即可: 例如: sys.path.append…
gt数目超过上限. https://github.com/dmlc/gluon-cv/pull/335/files…
难样本,是我们在标注的时候,连肉眼都看不清的小像素物体,也可以说是既不是正样本,也不是负样本. 利用gluoncv时,这些标注框也实在存在,gluoncv会实在将他当做一个GT,但我们知道这是不好的.于是,我们在标注的时候,给他一个属性,他是一个难样本.之前用过lst文件训练自己的数据集,这里的Lst文件需要改一下格式: 这里的B就是6了,包括id,xmin,ymin,xmax,ymax,hard_flag,可以自己写,结构类似即可. Faster rcnn: https://github.co…
https://github.com/dmlc/gluon-cv/blob/master/gluoncv/model_zoo/rpn/rpn_target.py def forward(self, ious): """RPNTargetSampler is only used in data transform with no batch dimension. Parameters ---------- ious: (N, M) i.e. (num_anchors, num_…
https://github.com/dmlc/gluon-cv/blob/master/gluoncv/model_zoo/faster_rcnn/faster_rcnn.py 对你选用的模块,修改自己的参数,或者重新新建,他有一个基类,可能重新定义会好一点. 例如: https://github.com/dmlc/gluon-cv/blob/master/gluoncv/model_zoo/faster_rcnn/faster_rcnn.py#L326 接下来元旦有时间,看看论文,弄清细节.…
当然这个模型参数,最好用自己的,否则不够精确,我自己的还没训练完. from matplotlib import pyplot as plt import gluoncv from gluoncv import model_zool_zoo,data,utils net = model_zoo.get_model('faster_rcnn_resnet50_v1b_voc',pretrained = True) x, orig_img = data.transforms.presets.rcnn…
https://gluon-cv.mxnet.io/build/examples_datasets/detection_custom.html 官方提供两种方案,一种是lst文件,一种是xml文件(voc的格式): voc 格式的标注有标注工具,但是你如果是json文件标注的信息,或者其他格式的,你就要转成voc格式的. 于是就选择第一种数据格式lst序列文件格式,格式很简单. 根据你自己的json或者其他格式文件转换一下. import json import os import cv2 im…
程序环境为高性能集群:CPU:Intel Xeon Gold 6140 Processor * 2(共36核心)内存:512GB RAMGPU:Tesla P100-PCIE-16GB * 2 In [1]: %matplotlib inline   03. Predict with pre-trained YOLO models¶ This article shows how to play with pre-trained YOLO models with only a few lines…
程序环境为高性能集群: CPU:Intel Xeon Gold 6140 Processor * 2(共36核心)内存:512GB RAMGPU:Tesla P100-PCIE-16GB * 2 In [1]: %matplotlib inline   3. Test with DeepLabV3 Pre-trained Models¶ This is a quick demo of using GluonCV DeepLabV3 model on ADE20K dataset. Please…
程序环境为高性能集群:CPU:Intel Xeon Gold 6140 Processor * 2(共36核心)内存:512GB RAMGPU:Tesla P100-PCIE-16GB * 2   数据集和源代码可以在此处获得 tutorials:https://github.com/wnm1503303791/pycode/tree/master/gluoncv/re-id/baseline In [ ]: #market1501.py #!/usr/bin/env python # -*-…
export MXNET_GLUON_REPO=https://apache-mxnet.s3.cn-north-1.amazonaws.com.cn https://discuss.gluon.ai/t/topic/8491…
计算MAP https://www.zhihu.com/question/53405779 http://tarangshah.com/blog/2018-01-27/what-is-map-understanding-the-statistic-of-choice-for-comparing-object-detection-models/ http://homepages.inf.ed.ac.uk/ckiw/postscript/ijcv_voc09.pdf http://host.robo…
现在越来越多的人选择Mxnet作为深度学习框架,相应的中文社区非常活跃,而且后面推出的gluon以及gluoncv非常适合上手和实验,特别是gluoncv中提供了非常多.非常新的预训练model zoo,比如像yolov3这种~~不过网上(包括Mxnet社区.gluon论坛等等)大多是关于Python版本的话题,关于C++版本的资料却非常少,最近在用C++版本的mxnet,进行人脸检测和识别,踩到不少的坑,在这里总结一下. 1.C++版本的Mxnet需要进行手动编译,里面有不同的数学计算加速方式…
os安装 目前对tensorflow和cuda支持最好的是ubuntu的18.04 ,16.04这种lts,推荐使用18.04版本.非lts的版本一般不推荐. Windows倒是也能用来装深度GPU环境,但是Windows上的问题实在太多了,而且很多都是跟环境相关的,不具备普遍性,解决了也没有意义.所以真心不推荐Windows环境. 这里需要注意的是,ubuntu有桌面版本和服务器版本的区别,自己用的话,肯定是要桌面版本的,但是如果只是放在角落里做运算机又或者是桌面版本安装失败的时候,可以考虑服…
论文 论文翻译 Faster R-CNN 主要分为两个部分: RPN(Region Proposal Network)生成高质量的 region proposal: Fast R-CNN 利用 region proposal 做出检测. 在论文中作者将 RPN 比作神经网络的注意力机制("attention" mechanisms),告诉网络看哪里.为了更好的理解,下面简要的叙述论文的关键内容. RPN Input:任意尺寸的图像 Output:一组带有目标得分的目标矩形 propos…
暂时不纠结 faster rcnn 最后一步是不是全连接层(gluoncv里面是rcnn层): 说一下feature map 和 anchor (Proposal) 作为输入,怎么计算ROIPooing ,怎么对应的. 例: anchor [0,0,0,20,20] 缩放后是 3*3,ROIPooing 2*2,feature map 4*4: from mxnet import nd X = nd.arange(16).reshape((1,1,4,4)) print(X) rois = nd…
多GPU计算已经可以说,只要是个成熟的模型,都使用了这一点. 例如: gluoncv:https://github.com/dmlc/gluon-cv/blob/master/scripts/detection/faster_rcnn/train_faster_rcnn.py#L218 多GPU计算最常用的方法是:数据并行 流程如下图: 模型参数复制多份 批量数据,分成多份子集,在各自显卡的显存上计算梯度 再累加到一块显卡的显存上 最后广播到各个显存上 import mxnet as mx fr…
关于人工智能,机器学习,深度学习 三者关系:从宏观到微观. 机器学习是人工智能的一部分,深度学习是机器学习的一部分. 基础:大数据. 关于深度学习 深度学习基于神经网络, 关于神经网络:通过叠加网络层模拟人类对输入信号的特征提取. 说白了,神经网络就是一个仿生技术,仿的就是人类思考的过程,就好像给你看一堆猫的照片,最后你可以分辨不同猫的种类.把这个过程给机器执行,就叫机器学习.神经网络就如同字面意思一样,人的神经组成的网络,把这个过程交给机器去做而已.(周立波有一个关于专家的调侃:专家就是专门把…
近日,PyTorch 社区发布了一个深度学习工具包 PyTorchHub, 帮助机器学习工作者更快实现重要论文的复现工作.PyTorchHub 由一个预训练模型仓库组成,专门用于提高研究工作的复现性以及新的研究.同时它还内置了对Google Colab的支持,并与Papers With Code集成.目前 PyTorchHub 包括了一系列与图像分类.分割.生成以及转换相关的模型. 可复现性是许多研究领域的基本要求,这其中当然包括基于机器学习技术的研究领域.然而, 许多机器学习相关论文要么无法复…
在terminal上运行gluoncv时遇到了一个报错问题. ImportError: Python is not installed as a framework. The Mac OS X backend will not be able to function correctly if Python is not installed as a framework. See the Python documentation for more information on installing…
本文适合有 Java 基础的人群 作者:DJL-Lanking HelloGitHub 推出的<讲解开源项目>系列.有幸邀请到了亚马逊 + Apache 的工程师:Lanking( https://github.com/lanking520 ),为我们讲解 DJL -- 完全由 Java 构建的深度学习平台. 介绍 许多年以来,一直都没有为 Java 量身定制的深度学习开发平台.用户必须要进行繁杂的项目配置,构建 class 才能最终打造出属于 Java 的深度学习应用.在那之后,依旧要面临着…
本文适合有 Java 基础的人群 作者:DJL-Lanking HelloGitHub 推出的<讲解开源项目>系列.有幸邀请到了亚马逊 + Apache 的工程师:Lanking( https://github.com/lanking520 ),为我们讲解 DJL -- 完全由 Java 构建的深度学习平台,本文为系列的第二篇. 一.前言 随着数据科学在生产中的应用逐步增加,使用 N维数组 灵活的表达数据变得愈发重要.我们可以将过去数据科学运算中的多维循环嵌套运算简化为简单几行.由于进一步释放…
本文适合有 Java 基础的人群 作者:DJL-Lanking HelloGitHub 推出的<讲解开源项目>系列.有幸邀请到了亚马逊 + Apache 的工程师:Lanking( https://github.com/lanking520 ),为我们讲解 DJL -- 完全由 Java 构建的深度学习平台,本文为系列的第三篇. 一.前言 在 2018 年时,Google 推出了<猜画小歌>应用:玩家可以直接与AI进行你画我猜的游戏.通过画出一个房子或者一个猫,AI 会推断出各种物…
本文适合有 Java 基础的人群 作者:DJL-Keerthan&Lanking HelloGitHub 推出的<讲解开源项目> 系列.这一期是由亚马逊工程师:Keerthan Vasist,为我们讲解 DJL(完全由 Java 构建的深度学习平台)系列的第 4 篇. 一.前言 很长时间以来,Java 都是一个很受企业欢迎的编程语言.得益于丰富的生态以及完善维护的包和框架,Java 拥有着庞大的开发者社区.尽管深度学习应用的不断演进和落地,提供给 Java 开发者的框架和库却十分短缺.…
Fine-Tuning微调原理 如何在只有60000张图片的Fashion-MNIST训练数据集中训练模型.ImageNet,这是学术界使用最广泛的大型图像数据集,它拥有1000多万幅图像和1000多个类别的对象.然而,我们经常处理的数据集的大小通常比第一个大,但比第二个小. 假设我们想在图像中识别不同种类的椅子,然后将购买链接推给用户.一种可行的方法是先找到一百张常见的椅子,每把椅子取一千张不同角度的图像,然后在采集到的图像数据集上训练分类模型.虽然这个数据集可能比时尚MNIST大,但是示例的…
目标检测数据集The Object Detection Dataset 在目标检测领域,没有像MNIST或Fashion MNIST这样的小数据集.为了快速测试模型,我们将组装一个小数据集.首先,我们使用一个开源的3D Pikachu模型生成1000张不同角度和大小的Pikachu图像.然后,我们收集一系列背景图像,并在每个图像上随机放置一个Pikachu图像.我们使用MXNet提供的im2rec工具将图像转换为二进制RecordIO格式[1].这种格式可以减少数据集在磁盘上的存储开销,提高读取…
使用了一段时间PyTorch,感觉爱不释手(0-0),听说现在已经有C++接口.在应用过程中不可避免需要使用Finetune/参数初始化/模型加载等. 模型保存/加载 1.所有模型参数 训练过程中,有时候会由于各种原因停止训练,这时候我们训练过程中就需要注意将每一轮epoch的模型保存(一般保存最好模型与当前轮模型).一般使用pytorch里面推荐的保存方法.该方法保存的是模型的参数. #保存模型到checkpoint.pth.tar torch.save(model.module.state_…