轻量级网络 | SQUEEZENET 论文:https://arxiv.org/abs/1602.07360github: https://github.com/forresti/SqueezeNet简介:SqueezeNet是一个经典分类模型, 主要特点是模型参数量少, 在Imagenet上精度和AlexNet差不多,模型大小是AlexNet的150\frac{1}{50}501 之一左右,压缩后可以小于0.5M。S...
目标检测 | Detectron2 中Boxes 详解 简介Boxes 是Detectron2 中用来处理检测框的基础类,功能强大, 包括clip、scale、cat 等等操作。代码解析初始化类,可以看出成员变量tensor是一个二维tensor,保存N个框(x0, y0, x1, y1), 第二维度为4, 可以存放anchor或groun truth.class Boxes: """ This structure st...
论文阅读 | Ghostnet网络 简介paper: https://arxiv.org/abs/1911.11907github:https://github.com/huawei-noah/ghostnetGhostnet(CVPR2020)是华为提出的一种轻量级网络,结构类似mobilenetV3,具有速度快、精度较高特点。论文中主要贡献是:提出Ghost Module。Ghost Module如图二所示,...
ncnn | windows 下编译ncnn android库 软件环境ncnnvulank(option)cmakeandroid ndk编译主要编译两个架构和是否加vulkan.在ncnn 同级目录新建 build_android.bat,写入下面内容。编译脚本在官方基础上加下面语句。set ANDROID_NDK= your android ndk root # eg C:/android-ndk-r20 -G "Unix Make...
pytorch | tensor维度中使用 None None可以在所处维度中多一维,具体实现。import torchtensor = torch.randn(3, 4)print('tensor size:', tensor.size())tensor_1 = tensor[:, None]print('tensor_1 size:', tensor_1.size())tensor_2 = tensor[:, :, None]p...
ncnn |在win上利用ncnn实现squeezenet分类(imagenet1000类) 简介熟悉ncnn的使用,可以从ncnn官方提供的squeezenet网络入手,squeezenet网络在imagene上训练,类别数为1000。 实现流程主要包括模型转换、加载、推理、后处理。在pc上实现可以验证模型结果是否正确,进一步部署到其他平台,本博客主要介绍在windows10上实现。系统环境Windows10Visual Studio 2017ncnn (2019122...
Pytorch | dataloader 多线程下numpy每个线程随机种子都一样解决方案。 问题描述pytorch的Dataloader用于加载数据。在num_works >1时, 每个线程中numpy.random产生的随机数一样,也就是随机种子相同。random 和 torch两个模块的随机数不会出现这种情况。DataLoader(dataset, batch_size=1, shuffle=False, sampler=None, batch_...
目标检测 | Receptive Field Block Net for Accurate and Fast Object Detection Paper:https://eccv2018.org/openaccess/content_ECCV_2018/papers/Songtao_Liu_Receptive_Field_Block_ECCV_2018_paper.pdfGitHub: https://github.com/ruinmessi/RFBNet简介RFB Net主要用于目标检测,模型参数少。文中提出了RF bl...
目标检测|CornerNet 数据预处理ground truth heatmaps 简介CornerNet 是最经典的Anchor-free方法,本博客主要介绍数据预处理中最核心步骤: ground truth heatmaps。方法如上图所示, 有三种颜色的图形, 红色框代表ground truth, 绿色框的角点在橙色圆圈里面, gound truth heatmap就是通过高斯分布函数生成, 以ground thuth 的两个角点为中心,半径为rrr, 利用高...
目标检测|制作MS COCO json格式的数据集 简介MS COCO 是google 开源的大型数据集, 分为目标检测、分割、关键点检测三大任务, 数据集主要由图片和json 标签文件组成。 coco数据集由自带COCO API,方便对json文件进行信息读取。本博客介绍是目标检测数据集格式的制作。步骤对现有数据标签文件转化为json格式, json文件主要用字典形式存取, coco原数据集包括:info、licenses、image...
目标检测|安装 mmdetection github:https://github.com/open-mmlab/mmdetectionpaper:https://arxiv.org/abs/1906.07155一、简介mmdetetion是香港中文大学 MMLab实验室开源的目标检测框架, 是一款基于pytorch 深度学习框架搭建的目标检测库,包含很多主流的算法,包括anchor、anchor-free, one-sta...
Arcface训练vgg2face数据集——数据制作 Arcface训练vgg2face数据集——数据制作简介本博客是基于开源项目insightface训练vgg2face。训练首先要对数据里面的人脸图片进行检测,接下来进行人脸对齐,保存对齐后的图片,最后生成一个和原来数据文件目录一样的存放图片文件夹和一个lst文件,lst存放图片绝对路径和每张图片对应类别ID。代码解读利用 $INSIGHTFACE_ROOT/src/align/al...
tensorflow——tensorboard入门总结 简介tensorboard 是tensorflow的一个可视化工具,可以简便看网络图、loss等评估指标曲线。使用方法1、首先要用tf.summary.scalar(name, valiable)创建一个节点,用于保存这一层的权重,name是新建节点名称,valiable是网络图中变量名。2、利用 tf.summary.FileWriter(filepath, graph) 来保存所...
C++——string 简介string 是标准类型库一种,存放字符串和对字符串进行操作,头文件<string,h>常用操作:empty(): 当string对象为空,返回trues.length() string长度s1 + s2 字符串拼接s1 = s2 s2覆盖s1s1 == s2 判断是否相同,区分大小写s1 != s2初始化方法string s1; // ...
Python——from collections import namedtuple Python——from collections import namedtuple在读SSD源码中看到 namedtuple这个子类,这可以理解为元祖的升级版。细节看官方文档。collections.namedtuple(typename, field_names, *, verbose=False, rename=False, module=None)¶typename: 代表新建的...
Python——循环技巧 Python——循环技巧简介对list 进行循环操作,正常都用 for da in data方式,无法获得da的下标。不过enumerate()函数可以返回i 和 da,i是下标,如下图:当同时在两个或更多序列中循环时,可以用 zip() 函数将其内元素一一匹配questions = ['name', 'quest', 'favorite color'] answers = ['l...
Python复习——数据结构 一、 简介在本博客主要介绍python的三个数据结构: list、dict、tuple、set。ps:最近面试发现python基础还不是很牢固,加上昨天python中文文档出来,决定复习一下python.下面都是基于python3.6二、 ListList是比较常用的数据结构,可以存储多种数据类型,能进行插入、删除、查找等功能。1、append(x),在list最后面加入一个元素x...
Linux基础——grep 命令 Linux基础——grep 命令最近复习Linux基础命令,记录下grepgrepgrep,这个命令用于文件查找,功能强大。grep [options] pattern [file]grep 会在指定文件file查找匹配字符。比较查用命名,举例用文件file,内容为onetwofourfivesixthreetenoldnewandsodot1、...
机器学习——AdaBoost 算法 AdaBoost 算法简介AdaBoost 算法:通过初始化一个分类器,然后根据前一个,训练多个分类器,然后加权得到最终分类器,是一种强学习的算法。算法流程输入: 训练数据集T={(x1,y1),(x2,y2),...,(xN.yN)}T=\{(x1,y1),(x2,y2),...,(x_N.y_N)\}T={(x1,y1),(x2,y2),...,(xN.yN)},其中xi∈Rnx...
机器学习——SVM原理解析 机器学习——SVM原理解析简介支持向量机(support vector machines,SVM)是一种二分类模型,学习策略是间隔最大化,是求解凸二次规划的最优化算法。模型由繁到简分为:线性可分支持向量机、线性支持向量机和非线性支持向量机。<<机器学习>>6.2图<<机器学习>>...