深度学习
andeyeluguo
这个作者很懒,什么都没留下…
展开
-
深度学习部分面试题
softmax公式Softmax loss公式,L1 loss,L2 loss ,smooth L2 loss 公式Batch norm 更新哪些参数Relu中梯度消失和梯度爆炸深度学习中数据是怎么并行运行的Resnet为什么vgg深,写出其基本结构Nms运行过程Kernel计算公式简述如何downsample,如何upsample技巧,说不清就展示...原创 2020-06-10 09:39:47 · 175 阅读 · 1 评论 -
模型压缩和剪枝的面试准备
做过类似的项目:1. THINKER芯片的二值、三值量化量化为绝对值相等的数,并提取系数。2. 笑脸识别的8bit量化英伟达的8bit量化技术,基于KL散度(信息熵),量化为-127~128之间的数。乘以一个scale系数,取整,这样在卷积中运算的就是整数最后再除以这个scale系数,这样得到的回到了原来的值,类似于顶点。优点是损失并不大,缺点是去掉了bias,实际上含有batch norm层的也是有bias的,合并BN层之后,损失很大,这个也是ncnn的问题。几个概念:原创 2020-06-02 13:30:46 · 849 阅读 · 0 评论 -
关于roi pooling层的理解
昨天看到目标检测原理讨论群703346870进行了激烈的讨论。个人理解如下。1. 概念理解:ROI, region of interest,感兴趣的(图像后者feature map)区域,数学表示上是一个矩形(x,y,w,h),表示可能出现物体的部位。FPN, feature pyramid network, 特征金字塔,是一个通用的backbone,类似于resnetRPN, roiproposal network,roi 建议网络,是产生roi的网络roi pooling层,对fe.原创 2020-06-02 10:53:18 · 365 阅读 · 0 评论 -
关于rcnn roi pooling层的讨论
目标检测群703346870昨天进行了激烈的讨论。聊天记录如下。个人的见解将在群中公布。轻指谈笑红尘2020/6/1星期一18:51:27群主,我有个问题不是很明白,最开始的rcnn是在原图上选择性搜索得到roi,然后对每个roi进行卷积得到目标位置,可是这样速度太慢。后来spp把roi映射到特征图上去,就避免了每一个roi都需要卷积,后来的两阶段目标检测一直保持这一做法,我不明白的是,特征图上的每一个值都是由原图所有像素点信息共同决定的,在特征图上进行roi感觉意义不大,yolo系列并没有这...原创 2020-06-02 10:16:00 · 233 阅读 · 0 评论 -
一篇人群数量估计的总述
论文名称:CNN-based Density Estimation and Crowd Counting: A Survey 代码地址:https://github.com/gaoguangshuai/survey-for-crowd-counting 准确地从一张图片中估计出物体的数量是一个挑战性而有意义的任务,当然也在很多场景中得到了应用,比如城市规划,公共安全,在多种多样的物体计数任务中,人群计数特别重要,因为他对社会安全和发展特殊的意义。幸运的是,人群计数的技术可以被泛...原创 2020-06-01 18:28:57 · 778 阅读 · 2 评论 -
poly-yolo:更高速度和准确率的yolo,还能做实力分割,已开源
实时分享CVPR、ECCV等会议论文及最新论文,开源代码,关注机器视觉、深度学习领域,扫描微信获取更多更新支持。备注:研究方向 + 昵称论文下载:https://arxiv.org/pdf/2005.13243.pdf代码:https://gitlab.com/irafm-ai/poly-yolo来源:University of Ostrava论文名称:POLY-YOLO: HIGHER SPEED, MORE PRECISE DETECTION AND INSTANCE SEGMENTATIO原创 2020-05-29 10:32:19 · 2433 阅读 · 0 评论 -
史上最强分割
向大家推荐一个近期出现的全景分割算法 EfficientPS,在全景分割的 4 大数据集Cityscapes,、KITTI、Mapillary Vistas、IDD中测评精度全部位于榜首,且其语义分割和实例分割性能也表现不俗,可谓分割领域三项全能选手。EfficientPS 出自论文 EfficientPS: Efficient Panoptic Segmentation,该文作者来自德国弗莱堡大学:请看一段 EfficientPS 视频效果Demo:什么是全景分割?从上述自动驾驶环境中的视频可以看出原创 2020-05-23 18:19:07 · 630 阅读 · 0 评论 -
arxiv加载慢的解决方法
对于我们这样的深度学习屌丝来说,没钱,没资源,没数据,没时间,只能看看别人的论文生存了,经常会到arxiv上下载一些文章,比如cvpr的文章,但是,由于国内封锁,下载很慢,甚至接连几天打不开arxiv的网站,咋办?强烈推荐使用中科院arxiv的镜像地址:http://xxx.itp.ac.cn具体使用方法:把要访问 arxiv 链接中的域名从 https://arxiv.org 换成 http://xxx.itp.ac.cn ,比如:https://arxiv.org/pdf/1608.00367.原创 2020-05-23 15:56:42 · 2159 阅读 · 0 评论 -
语义分割实战中常用到的命令
jpg一般是data文件,png一般是jpg命令find . -name ‘*jpg’ >data.txt指将.文件中都是jpg格式的文件放到data.txt中常常需要将两个对应的两个连接到一起paste data.txt label.txt |sort > train.txt...原创 2020-03-24 21:45:41 · 216 阅读 · 0 评论 -
kitti下载脚本
原始的kitti下载脚本通过邮箱就能获得本人自己写了一个python格式的,不用linux环境也就可以运行import wgetfile_names =[ #'2011_09_26_calib.zip',#'2011_09_26_drive_0001',#'2011_09_26_drive_0002','2011_09_26_drive_0005','2011_09_26_dri...原创 2019-12-28 13:16:41 · 605 阅读 · 0 评论 -
mode pool特殊的pooling运算
pool有求最值得,但是没有求出现次数最多的,这个的代码是求次数最多的,原来是为了做集成···在这里插入代码片import pdbimport torch‘’’W = 8H = 4w_chunk = int(W/2)h_chunk = int(H/2)B = 2a = torch.randint(0,4,(B,H,W))result = []result_flag = 0...原创 2019-12-28 13:09:40 · 234 阅读 · 0 评论 -
pytorch 重用loss
import torchtorch.nn.MSELoss()>>> a = torch.rand(3)>>> atensor([0.2161, 0.2227, 0.9175])>>> b = torch.rand(3)>>> btensor([0.6976, 0.9149, 0.4918])>>...原创 2019-11-20 20:20:28 · 122 阅读 · 0 评论 -
Lovasz-Softmax loss
这个是用于语义分割的loss,用于finetune 过程,其实sad也是用于finetune过程。[1] 论文https://arxiv.org/pdf/1705.08790.pdf[2] 源码https://github.com/bermanmaxim/LovaszSoftmax...原创 2019-11-20 19:38:53 · 1261 阅读 · 0 评论 -
Caffe在ubuntu16上的安装教程及常见error修复
依赖安装sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compilersudo apt-get install --no-install-recommends libboost-all-devGithub上下载caffe...原创 2019-11-12 20:26:30 · 177 阅读 · 0 评论 -
cvpr投稿
可以https://cmt3.research.microsoft.com/CVPR2020/Submission/Details/7292获得id即可原创 2019-11-12 20:10:12 · 979 阅读 · 0 评论 -
enet的修改
enet即使merge bn之后仍然会有一些不好层,如upsample这个就是把不好的层删除了,经过处理之后就会变成中规中矩的层。https://github.com/andeyeluguo/ZENet更多机器学习教程关注[1]战神的小屋最好的机器学习教程...原创 2019-11-11 20:41:45 · 208 阅读 · 0 评论 -
mobilenet_v1训练mnist
一般用lenet训练mnist,但是现在也可以使用mobilenet_v1来训练,创建mobilenet_v1_mnist_train.py,写下如下代码并放到/host/models/research/slim/nets中,写下如下代码。#coding: utf-8import osimport tensorflow as tffrom tensorflow.examples.tut...原创 2018-07-04 13:46:07 · 1996 阅读 · 0 评论 -
google-8bit理解
clamp的意思就是clip,>a的变成a,小于b的变成b,其他的不变此处,x跟r是一样的,可能写错了。使用pytorch写的关于权重的伪代码为n = 256x = torch.rand([4,5,6,7]) - 0.5b = x.max()w = torch.rand([4,5,6,7]) - 0.5a = w.min()b = w.max()s = (b...原创 2018-08-09 15:54:58 · 267 阅读 · 0 评论 -
caffe.protoc之如何在windows上生成相应的cc和h文件
在windows上的cc文件不能通过vs的工程编译重新生成,需要手动在cmd控制窗口中生成。具体步骤为:1. 找到protoc.exe文件,这个在你的依赖项中都能找到2. 执行命令这样直接就能生成cc和h文件了。这个主要参考了一个博客。忘记了,抱歉。有研究目标检测和语义分割的朋友可以加群:703346870...原创 2019-05-27 17:01:41 · 390 阅读 · 0 评论 -
caffe好用的命令
博客[1]中指出了运用命令计算运行时间的指令示例如下./build/tools/caffe time --model=examples/mnist/mytest/execise1_train_test.prototxt -iterations 100 -gpu 0train_test.prototxt是训练时的文件即可[1] http://blog.csdn.net/qyxqy原创 2017-04-04 14:37:39 · 473 阅读 · 0 评论 -
使用TF-slim进行finetune
tf-slim是一个新的轻量级高级API,可以定义、训练和评估复杂的模型。模型在[1]中。这个文件夹包括了使用TF-slim训练和评估一些常用卷积神经网络图像分类模型。它也包括了一些脚本允许你从预训练的网络权重中finetune的脚本。当然也包括了下载图像数据集的代码,把他们转化成Tensorflow原始的TFRecord格式并且把他们度处理啊。你可以很容易地训练这些模型在任何这些下载的数据集上。...原创 2018-07-03 18:06:29 · 772 阅读 · 0 评论 -
使用tensorflow自带的工具进行直接8bit量化
首先可以使用docker安装一个最新的cpu版本的tensorflowdocker pull tensorflow/tensorflow:latest1. bazel安装见博客。2. 在github上下载tensorflow-master的源代码并unzip cd tensorflow-master3.编译工具 由于新版的tensorflow代码有了变化,旧版的t...原创 2018-07-03 14:41:14 · 7280 阅读 · 11 评论 -
深度学习资料汇总
个人认为还是看论文来的比较实在[1] 深度学习书籍pdf版本[2] 深度学习原版英文书籍原创 2017-09-27 09:44:31 · 261 阅读 · 0 评论 -
BatchNorm层分析
batch_size * channel * height * width这么大的一层中,对总共batch_size*height*width个像素点统计得到一个均值和一个标准差,共得到channel组参数。[1] 《Batch Normalization Accelerating Deep Network Training by Reducing Internal Covariate原创 2017-09-07 18:37:19 · 652 阅读 · 0 评论 -
重新blas库函数
有时候需要对blas库函数进行重写我写的一个函数为#include using namespace std;int main() { const int M = 4;//A的行数,C的行数 const int N = 2;//B的列数,C的列数 const int K = 3;//A的列数,B的行数 const float alpha = 1; const float beta原创 2017-04-25 17:37:27 · 357 阅读 · 0 评论 -
caffe的简单python脚本
caffe的简单python脚本#-*-coding:utf-8-*-import caffeimport matplotlib.pyplot as plt#网络构建caffe.set_mode_cpu() # 设置caffe为cpu模式,也可设成gpu模式model_def = 'my_alexnet_test.prototxt' model_weights = 'model原创 2017-07-17 15:26:22 · 932 阅读 · 0 评论 -
查看caffemodel的参数值
查看参数值的代码#-*-coding:utf-8-*-import caffeimport sysimport numpy as npimport getoptimport re if __name__ =="__main__": opts,args = getopt.getopt(sys.argv[1:],"m:w:") MODEL_FILE = "test-13.p原创 2017-07-20 15:58:43 · 1491 阅读 · 0 评论 -
有用的工具
[[1]图片标注工具原创 2017-06-29 10:49:48 · 223 阅读 · 0 评论 -
faster rcnn进行目标检测
[1]参考博客原创 2017-06-08 11:16:43 · 356 阅读 · 0 评论 -
caffe调参技巧
将从今日起开始使用caffe进行人脸识别方面的书写。写博客作为纪念。原创 2016-08-31 14:50:34 · 2264 阅读 · 0 评论 -
对prototxt文件的处理
对prototxt的处理的一个例子为#-*-coding:utf-8-*-'''@Author dezan zhao@Date 2018-01-22'''import reimport pdb#对output文件进行处理fid_output = open('output.txt')lines = fid_output.readlines()fid_output.clos原创 2018-01-23 14:23:12 · 879 阅读 · 0 评论 -
使用mobilenet_v1---使用SSD-MobileNet训练模型
使用mobilenet_v1训练mobilenet主要参考了[1],还是很详细的,跟着教程来可以很容易跑起来,有几个问题需要注意★执行命令路径举例cd /host/models/research/protoc object_detection/protos/*.proto --python_out=.export PYTHONPATH="${PYTHONPATH}:/host/model...原创 2018-07-03 11:32:20 · 7131 阅读 · 1 评论 -
SGBM立体算法部分概念
opencv SGBM立体匹配(Stereo Matching):目标是从不同视点图像中找到匹配的对应点,计算机视觉中的重要又困难的问题深度计算视差视差图拖尾效应亚像素化KITTI代价计算互信息图像的概率分布P是什么意思?答案一句话,图像的灰度直方图图像的灰度值是0~255,每个灰度值对应的像素个数除以图像像素个数就是该灰度值对应的概率,单幅图像的概率密度是一维的,那么自然地,两幅图像的联合概率密...原创 2018-06-07 14:16:19 · 7526 阅读 · 0 评论 -
slam十四讲
卡尔曼滤波视觉 SLAM 十四讲SLAM 是 Simultaneous Localization and Mapping 的缩写,中文译作“同时定位与地图构建” [1]。它是指搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建立环境的模型,同时估计自己的运动 [2]。如果这里的传感器主要为相机,那就称为“视觉 SLAM”同时定位与地图构建单目(Monocular)、双目(Stereo...原创 2018-06-06 16:59:04 · 516 阅读 · 0 评论 -
slam技术的一些概念初步
开始学习3d技术深度图:深度图转换成三维点云三维点云:opencv中就已经慢慢包含了3D点云的处理的相关模块结构光SLAM算法激光SLAM 视觉SLAM(sparse、dense)三维视觉嵌入式系统上是可以跑起来的,Sparse的SLAM可以达到30-50hz(也不需要GPU和Cuda)实时构建世界的 3D 地图,并同时追踪摄像头(手持式或增强现实设备上的头戴式或安装在机器人上)的位置和方向SLA...原创 2018-06-05 13:54:44 · 636 阅读 · 0 评论 -
ai竞赛--场景识别
所有的代码在https://pan.baidu.com/s/1AA72Scy7D9nwf36rCYDuKg密码为:dmr0里面自带了lmdb数据集文件忘了怎么做的了原创 2018-05-16 18:06:29 · 2099 阅读 · 0 评论 -
caffe的batchnorm层解析
batch norm层batch norm有三组参数打印参数的流程为:>>> import sys>>> sys.path.insert(0,'./python')>>> import caffe>>> net = caffe.Net('./examples/mnist/lenet_train_test.prototxt','...原创 2018-04-26 14:55:33 · 731 阅读 · 0 评论 -
直接稀疏
对一些model可以直接做稀疏压缩也不掉点相应的代码为'''author :dezan zhaocontact:1183489276date :2018-02-23func :prune caffemodel file directly'''#-*-coding:utf-8-*-import pdbimport caffeimport reimport numpy as...原创 2018-02-23 19:13:13 · 318 阅读 · 0 评论 -
fc层转conv
其实fc层可以用conv层取代以lenet为例,修改lenet.prototxt为lenet_conv.prototxt,第一个fc变成conv的kernel_size可以通过加载模型的时候计算到。下边的kernel_size为1name: "LeNet"layer { name: "data" type: "Input" top: "data" input_para原创 2018-01-31 17:16:54 · 1077 阅读 · 1 评论 -
yolo使用
获取代码git clone https://github.com/pjreddie/darknetcd darknetmake获取weightwget http://pjreddie.com/media/files/yolo.weights运行./darknet detect cfg/yolo.cfg yolo.weights data/dog.jpg原创 2017-04-20 10:32:59 · 1871 阅读 · 0 评论