深度学习
文章平均质量分 54
坎幽黑尔弥?
这个作者很懒,什么都没留下…
展开
-
effective c++学习笔记
Effective C++7.1C++不同次语言,条款不同C++有四个次语言:C,object-oriented C++,template C++,STL。不同的次语言其高效规则不同。例如对于内置类型(C like)而言,值传递要比引用传递高效;但是在object-oriented C++中由于用户自定义的构造函数和析构函数的存在,传递常量引用的方式更好,template C++中也是这样...原创 2019-08-19 17:09:37 · 478 阅读 · 0 评论 -
opencv常用知识
1.cv::SizeSize(int width, int height) //建構式Size size1(150, 100);Size size2;size2.width = 150;size2.height = 100;int myArea = size2.area(); 2.cv::Matcv::Mat::Mat(int rows,int cols,int...原创 2019-01-16 15:45:36 · 169 阅读 · 0 评论 -
mpii数据集中的scale的含义
MPII数据集中,标注文件内容中有一个scale参数,官方的说法是:person scale w.r.t. 200 px height我的理解是这个scale=图片中人体框的高度/200.当然这个人体框是一个大致的位置,因为标注文件中关于人框除了scale之外只有一个objpos参数,这个是代表了人体中心点的坐标。因此感觉上mpii数据集中的人体框都是个正方形。...原创 2019-01-10 11:26:49 · 3208 阅读 · 7 评论 -
caffe Cannot create Cublas handle. Cublas won't be available error == cudaSuccess (3 vs. 0)问题解决
在运行caffe相关的程序时出现如下错误: Cannot create Cublas handle. Cublas won't be available.Check failed: error == cudaSuccess (3 vs. 0)这种问题有很多原因,其中有一种常被忽略的原因,就是显卡驱动崩了。(有的显卡或者服务器有个问题就是当显卡在跑着任务时,再加进新的任务就会卡死)...原创 2018-12-26 11:14:53 · 1234 阅读 · 0 评论 -
实用的Ubuntu命令行命令
1.查看opencv版本pkg-config --modversion opencv2.查看系统CPU和内存信息1.CPU:lscpu2.内存:free -h 查看使用情况sudo dmidecode --type memory 查看内存详细信息3.使用zip压缩文件夹zip -r dst.zip source其中dst.zip是目标文件 source是源文...原创 2018-12-24 14:51:02 · 528 阅读 · 0 评论 -
深度学习中的momentum和weight decay参数
1.momentum用于梯度下降算法中加速模型收敛。如上公式,其中V代表动量,u代表参数momentum的值,a为学习率。 2.weight decay该参数是损失函数中的正则化项的系数。正则化用于防止过拟合,因为当网络出现过拟合现象时网络权值逐渐变大的,而正则化能降低权重。因此,为了避免出现overfitting,会给损失函数添加一个惩罚项,常用的惩罚项是所有权重的平方乘...原创 2018-12-12 10:49:33 · 2706 阅读 · 0 评论 -
MTCNN论文阅读笔记
目录二,Approach1.总体框架2.CNN结构3.训练(training)三,Experiments1.训练数据training data二,Approach1.总体框架下图是总体的流程。首先将给定的图片resize到不同的尺度,构建一个图片金字塔,用于下面的三步级联的网络的输入。stage1:提出了一个名为proposal network(...原创 2018-12-12 20:29:31 · 470 阅读 · 0 评论 -
C++ string find substr得到文件名的前缀后缀
例如有一个带有路径的文件名为/a/b/c/d/v/00001.jpg此时需要得到该文件的文件名00001.jpg以及文件名的前缀和后缀。C++代码如下:#include <string>#include <iostream>using namespace std;int main(){ string name1 = "/a/b/c/v/zhiodfh...原创 2018-12-23 15:27:12 · 3936 阅读 · 0 评论 -
pytorch中torch.max和Tensor.view函数用法
torch.max()1.torch.max()简单来说是返回一个tensor中的最大值。例如:>>> si=torch.randn(4,5)>>> print(si)tensor([[ 1.1659, -1.5195, 0.0455, 1.7610, -0.2064], [-0.3443, 2.0483, 0.6303,...原创 2018-12-27 16:50:02 · 16490 阅读 · 0 评论 -
深度学习中的mAP,AP,Precision精确率,Recall召回率,Accuracy准确率
AP值Average Precision,即 平均精确度 。如何衡量一个模型的性能,单纯用 precision 和 recall 都不科学。于是人们想到,为何不把 PR曲线下的面积 当做衡量尺度呢?于是就有了 AP值 这一概念。这里的 average,等于是对 precision 进行 取平均 。mAP值Mean Average Precision,即 平均AP值 。...原创 2018-12-20 21:32:54 · 16371 阅读 · 0 评论 -
matlab libstdc++.so.6: version `CXXABI_1.3.8' not found version `GLIBCXX_3.4.20' not found错误解决方法
在matlab中运行一个.m程序,会报出如下错误:Invalid MEX-file '/home/zhanghan/learning/sphereface-master/test/../tools/caffe-sphereface/matlab/+caffe/private/caffe_.mexa64':/home/zhanghan/Install/MATLAB15/2015b/bin/gl...原创 2018-12-01 11:37:32 · 1661 阅读 · 1 评论 -
caffe中batchnormal层的param参数lr_mult和decay_mult都为0的原因
如下截取一部分train.prototxt的片段:layer { name: "conv2_em/bn" type: "BatchNorm" bottom: "conv2_em" top: "conv2_em" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mu...原创 2018-12-04 15:37:44 · 2797 阅读 · 1 评论 -
C++知识总结
1.字符串(1)C++中每个字符串都以字符'\0'作为结尾。(2)一个char类型占用一个字节;int类型占用4个字节;一个指针在32位系统上占用4个字节,在64位系统上占用8个字节。NULL空指针也占4或8个字节。(3)定义一个字符串:char str[] = "abcd";,此时strlen(str)=4,sizeof(str)=5,因为sizeof求得的是占用的字节数,因此包含了...原创 2019-03-09 22:05:09 · 319 阅读 · 0 评论 -
matlab /sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found解决方法
在Ubuntu上运行matlab,调用caffe接口检测时出现如题目的问题。解决方法之一:命令行输入export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6然后重新运行matlab程序。...原创 2019-03-11 15:37:48 · 750 阅读 · 0 评论 -
堆排序,快速排序,归并排序,插入排序总结及C++实现
目录1.堆排序1.1堆1.2维护堆的性质1.3建堆1.4堆排序算法2.快速排序3.归并排序3.1原理3.2代码实现3.3时间复杂度4.插入法排序4.1原理1.堆排序1.1堆堆是一个数组,可以看成一个近似的完全二叉树。除了最底层外树是完全充满的,并且从左到右填充。表示堆的数组A有两个属性,一个是A.length,表示数组的大小;另一个是...原创 2019-03-30 12:28:07 · 1191 阅读 · 0 评论 -
group normalization
参考:https://zhuanlan.zhihu.com/p/35005794原创 2019-08-09 10:41:12 · 266 阅读 · 0 评论 -
LeetCode经典题目总结
目录5.Longest Palindromic Substring53.Maximum Subarray115.Distinct Subsequences139.Word Break198.House Robber28.Implement strStr()668.Kth Smallest Number in Multiplication Table...原创 2019-08-03 23:04:58 · 969 阅读 · 0 评论 -
面试问题总结
1.前缀,中缀,后缀表达式及其转换参考:https://blog.csdn.net/antineutrino/article/details/6763722前缀表达式的计算机求值(波兰式):从右至左扫描表达式,遇到数字时,将数字压入堆栈,遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算(栈顶元素 op 次顶元素),并将结果入栈;重复上述过程直到表达式最左端,最后运算得出的值...原创 2019-07-30 16:21:57 · 203 阅读 · 0 评论 -
inception系列论文阅读笔记
1.Going deeper with convolutions2.Related WorkNIN是一种提升神经网络特征表示能力的方法,将这种思想用在卷积网络中,这种方法可以看作是一个1x1的卷积层接一个ReLU激活函数构成。此外在我们的网络中1x1卷积核还有另一个作用:用作降维的模块,从而解决限制网络体量的计算瓶颈。这允许我们在不损失重要的性能表现的情况下使得网络更深且更宽。3.Mo...原创 2019-07-11 17:30:01 · 175 阅读 · 0 评论 -
GMM背景建模与前景提取
#include <opencv2/opencv.hpp>#include <opencv2/core/core.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/video/backgro...原创 2019-07-15 22:10:50 · 917 阅读 · 0 评论 -
Mask-RCNN论文阅读笔记
1. Introduction实例分割的挑战性在于它需要正确地检测出图像中物体的位置的同时对每一个实例精确地分割。因此这是一个结合了CV领域中目标检测(分类并且定位图片中的物体)和实例分割(将图像中每一个像素点分类,且同一个实例中的像素点是一类)的任务。Mask-RCNN对Faster-RCNN做了扩展,增加了一条分支用于为每一个roi预测分割mask掩模。这个mask分支就是应用在每一个...原创 2019-07-13 17:25:17 · 321 阅读 · 0 评论 -
Learning Spatiotemporal Features with 3D Convolutional Networks论文阅读
通过3D卷积网络学习时空特征Abstract有三点结论:1.3D卷积网络比2D卷积网络要更适合于时空特征的学习。2.相同的网络结构,在所有的层中使用3x3x3的卷积核在所有的3D卷积网络中表现最好。3.我们的C3D特征(通过3D卷积提取的特征)应用在简单的线性分类器上比当下最好的方法在4个不同的评估基准上要更好,在另外两个评估基准上与之相当。此外特征是很小型紧凑的:在UCF...原创 2019-07-09 19:33:50 · 178 阅读 · 0 评论 -
faster RCNN self.solver = caffe.SGDSolver(solver_prototxt) AttributeError: can't set attribute问题解决
在训练Faster-RCNN模型时报出如下错误:I0617 19:52:26.084951 19865 layer_factory.hpp:77] Creating layer input-dataI0617 19:52:26.099476 19865 net.cpp:86] Creating Layer input-dataI0617 19:52:26.099493 19865 net....原创 2019-06-17 20:16:54 · 680 阅读 · 0 评论 -
神经网络中卷积层前向传播forward和反向传播backward计算梯度python实现
1.理论推导参考博客如下,写得很好。https://www.cnblogs.com/pinard/p/6422831.htmlhttps://www.cnblogs.com/pinard/p/6494810.html关键点就在于,反向传播的过程中,得到了top的梯度后,如何反向来传。个人的理解是首先得求出top一层的误差在bottom一层关于变量的梯度DX,然后再求出bottom层...原创 2019-06-04 11:08:00 · 3483 阅读 · 0 评论 -
深度学习知识点总结
1.欠拟合,过拟合和模型的容量1.1基本概念机器学习的目标是使算法在“先前未观测到的新输入上”表现良好,这种能力成为泛化。通常我们希望算法在测试集上具有小的泛化误差。这个泛化误差体现在测试集上的测试误差。前提:我们的假设是每个数据集中的样本都是相互独立的,并且测试集和训练集是同分布的。机器学习算法中,我们的处理过程为:(1)降低训练误差;(2)缩小训练误差和测试误差的差距;...原创 2019-05-10 16:50:35 · 1549 阅读 · 0 评论 -
YOLO系列
YOLOv1https://blog.csdn.net/hrsstudy/article/details/70305791YOLOv2https://blog.csdn.net/hai_xiao_tian/article/details/80472419YOLOv3https://zhuanlan.zhihu.com/p/34945787原创 2019-05-20 15:54:55 · 351 阅读 · 0 评论 -
MobileNet学习总结
1.mobilenet v1参考下文即可,写的很好。https://blog.csdn.net/t800ghb/article/details/78879612自己的疑问:(1)DW层,即Depth-Wise层,是否实际上就是一个3x3的一维卷积核?2.mobilenet v2参考下文。https://blog.csdn.net/u011995719/article/d...原创 2018-11-14 16:55:38 · 466 阅读 · 0 评论 -
batch_normalization (bn)层以及实际使用中合并bn层
参考:bn层原理:https://blog.csdn.net/qq_25737169/article/details/79048516https://blog.csdn.net/hjimce/article/details/50866313合并bn层:https://blog.csdn.net/kangdi7547/article/details/81348254...原创 2018-11-15 17:34:04 · 755 阅读 · 0 评论 -
Inception结构学习(GoogLeNet提出)
参考以下文章:https://blog.csdn.net/qq_38906523/article/details/80061075原创 2018-11-15 17:03:43 · 834 阅读 · 0 评论 -
error while loading shared libraries libcudart.so.8.0: No such file or directory问题解决
运行某个可执行文件 .bin文件时,产生如下错误:error while loading shared libraries: libcudart.so.8.0: cannot open shared object file: No such file or directory解决办法:首先使用ldd命令查看这个.bin文件需要哪些依赖库:ldd easyOpenposeVideo....原创 2018-06-21 20:19:18 · 1642 阅读 · 1 评论 -
使用caffe训练自己的数据,一些处理数据的shell脚本
脚本文件名为create_filelist.sh的文件用于批量获取某一个目录下的文件名及路径,以及该图片对应的label。内容如下:#!/usr/bin/env shTRAIN_DATA=data/raw_data/trainVAL_DATA=data/raw_data/val echo "creating train.txt..."rm -rf $TRAIN_DATA/train.txtfind...原创 2018-04-20 16:27:22 · 365 阅读 · 0 评论 -
配置caffe环境解决ImportError: No module named caffe的错误问题
在运行或者训练时,caffe框架下经常会遇到问题:ImportError: No module named caffe根本解决方法如下:vim .bashrc 打开此文件在文件末尾添加一行:export PYTHONPATH=/home/zh/caffe/python:$PYTHONPATH保存退出后,执行命令:source .bashrc之后试验一下问题是否解决:命令行输入python 打开py...原创 2018-04-10 16:10:07 · 7757 阅读 · 0 评论 -
ubuntu wget: unable to resolve host address 无法解析主机host地址解决办法
Ubuntu能够ping通某个外网的ip地址,但是通过一些脚本文件下载东西的时候会卡在Resolving www.cs.toronto.edu (www.cs.toronto.edu)...这一步,然后提示无法解析主机地址解决办法之一是:先直接ping www.cs.toronto.edu如果能ping通则会在括号中显示其IP地址sudo打开 /etc/hosts 文原创 2018-01-13 11:03:19 · 4207 阅读 · 0 评论 -
caffe中运行mnist的demo时出现create_mnist.sh: 17: ......convert.bin:not found 错误
简要来说就是在caffe/data/mnist/路径下运行sh create_mnist.sh脚本时会报错:一个什么.bin文件not found。解决方法:在caffe根目录下运行上述脚本文件原创 2018-01-13 11:00:38 · 469 阅读 · 0 评论 -
用caffe 的ssd 做训练时 no module named caffe 的解决办法二
如果出现Traceback (most recent call last): File "/home/zhanghan/caffe/scripts/create_annoset.py", line 7, in from caffe.proto import caffe_pb2ImportError: No module named caffe.protoTraceba原创 2018-01-12 20:51:00 · 1338 阅读 · 0 评论 -
ubuntu配置网络
以实验室台式机的虚拟机为例,配置双网卡的步骤如下:1.首先台式机主机安装了两个网卡并且连接正常。打开vm软件,在工具栏的 编辑 -> 虚拟网络编辑器 -> 右下角以管理员身份设置添加一个桥接的网络VMnet2。2.vm软件工具栏 虚拟机 -> 设置 -> 添加 -> 网络适配器,自定义VMnet2。保存设置后启动ubuntu16.043.su获得root权限,然后原创 2017-12-18 16:45:55 · 486 阅读 · 0 评论 -
通过添加路由的方式解决ping不通网络的问题
实验室电脑安装了两个网卡,一个用于连接实验室内网,一个用于连接公司的网络。在本地IP设置及物理连接正常的情况下,ping公司的一台电脑的IP却不通,显示 请求超时 。解决方法:(1)实验室电脑以管理员身份打开DOS窗口,ping 172.168.61.3 (网关)通的(2)ping 192.168.80.11通的(3)ping 192.168.80.111通原创 2017-12-15 15:17:08 · 9284 阅读 · 0 评论 -
error while loading shared libraries: libopencv_highgui.so.3.0: cannot open shared object file问题解决
在运行人员检测的服务器,程序dlsd时,./dlsd之后报错:error while loading shared libraries: libopencv_highgui.so.3.0: cannot open shared object file: No such file or directory找不到需要的库。解决方法:(1)ldd dlsd查看缺少哪些库:原创 2017-12-14 11:05:22 · 8604 阅读 · 0 评论 -
ubuntu16+cuda8+cudnn+opencv3+caffe深度学习平台搭建步骤
1.换国内的镜像源(1)sudo cp /etc/apt/source.list /etc/apt/source.list.bak之后将source.list中的内容替换为:debhttp://mirrors.aliyun.com/ubuntu/ xenial main restricted deb-srchttp://mirrors.aliyun.com/ubuntu/ x...原创 2017-12-12 22:31:11 · 2215 阅读 · 2 评论 -
用caffe训练模型时每隔一定的迭代次数保存一次caffemodel(snapshot)
利用ssd训练caffemode时,最好每隔一定的迭代次数就保存一个caffemodel及对应的solverstate,否则程序中途挂掉就得重新开始训练。在models/VGGNet/VOC0712/SSD_300×300/中修改solver.prototext中的snapshot一行原文件中默认是80000,即迭代八万次才保存一个,改小一点,如500,1000。原创 2017-10-10 10:41:30 · 3643 阅读 · 0 评论