自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (13)
  • 问答 (1)
  • 收藏
  • 关注

原创 bash: */anaconda3/bin/conda: bad interpreter: No such file or directory

这是一个很神奇的问题,大部分是由于将anaconda3整体移动到了其他文件夹下所导致的,详细可以参见此博文。但是我的问题就很无语了,一开始使用anaconda3默认安装路径,但由于内存不足,只能选择删除之前装的anaconda3,删除命令为:rm -rf path # path为anaconda3所在路径,例如rm -rf /home/b622/anaconda3然后重新在其他盘下安...

2020-03-17 18:10:52 5556 6

原创 堆排序

堆排序的基本原理我就不讲了,网上有很多,大家可以移步这个链接学习,值得注意的是:堆排序的总体复杂度为O(nlogn),初始建堆的复杂度为O(n),每次重建堆的时间复杂度为O(logn);堆排序不适合排序数目较少的情况,且是不稳定排序;堆排序是建立在大顶堆和小顶堆基础之上的,而大顶堆和小顶堆是建立在完全二叉树之上的(虽然不需要建树,但隐式建树)。好了,直接上代码(以下为大顶堆排序):...

2019-08-30 16:26:23 234

原创 Ubuntu16.04下Cython编译出现command 'gcc' failed with exit status 1

之前一直在1080Ti上执行Faster R-CNN的gpu_nms等函数(这些函数是用C/C++写的,是对python的扩展,需要利用Cython进行编译),但最近转移到2080Ti上后,重新编译这部分,一直报以下错误:running build_extskipping 'nms/cpu_nms.c' Cython extension (up-to-date)building 'nms...

2019-04-22 12:09:10 18957 11

原创 TX2上安装pytorch

由于TX2是arm架构,无法直接通过官方的方法——pip或conda等安装,需要自行编译github上的软件包才能使用。注:本文略过TX2上的CUDA,Cudnn以及opencv的安装,这些部分的安装大家可以自行百度。现在正式开始编译pytorch吧:1.打开终端,输入以下命令下载git包git clone https://github.com/pytorch/pytorch.g...

2019-01-21 22:32:58 8127 5

原创 目标检测中NMS的GPU实现(来自于Faster R-CNN中的nms_kernel.cu文件)

最近要修改Faster R-CNN中实现的GPU版的NMS代码,于是小白的我就看起了CUDA编程,当然也只是浅显地阅读一些教程,快速入门而已,所以具体需要注意的以及一些思想,大家移步此博主的系列教程:在了解了CUDA编程的核心思想后,我们便可以开始阅读nms_kernel.cu文件了,先直接上源码(部分简单的已经注释),如下:// ----------------------------...

2019-01-04 21:09:02 12261 15

原创 初入C++——面向对象程序设计方法

一、由来相对于面向对象程序设计方法而言,早期的是结构化程序设计方法。结构化程序设计方法通过将复杂的大问题层层分解/模块化,由此得到若干子问题,采用自顶向下、逐步求精的方式进行程序设计,即:                                                                                   程序 = 数据结构 + 算法数据结...

2019-01-02 09:55:51 394

原创 初入C++——内联函数、函数重载和函数缺省参数

1.内联函数函数调用是有时间开销的。如果函数本身只有几条语句,执行非常快,而且函数被反复执行很多次,相比之下调用函数所产生的这个开销就会显得比较大(即调用耗费的时间大于执行时间了,有点浪费)。为了减少函数调用的开销,引入了内联函数机制。编译器处理对内联函数的调用语句时,是将整个函数的代码插入到调用语句处,而不会产生调用函数的语句(实际上就是以空间来换取时间,插入的代码实际上会使整个程序占用量变...

2019-01-01 22:34:51 201

原创 初入C++——动态内存分配

C语言中使用malloc()函数开辟内存空间,使用free()函数来释放内存;而C++使用new运算符来分配内存,使用delete来释放内存。1.分配一个变量形式如下:P = new T;T是任意类型名,P是类型为T* 的指针。整行代码的意思是动态分配出一片大小为sizeof(T)字节的内存空间,并且将该内存空间的起始地址赋值给P,例如:int* p = new int;...

2019-01-01 22:19:54 222

原创 C语言高级内容回顾——const关键字

const关键字主要有三种用途:1.定义常量例如:const int Max_value = 25;2.定义常量指针需要注意的是不可通过常量指针修改其指向的内容,同时也不能把常量指针赋值给非常量指针,但反之可以。例如:int x, y;const int* p = &x;*p = 6; //编译出错x = 5; //编译通过p = &y; /...

2019-01-01 22:02:03 207

原创 C语言高级内容回顾——引用

1.引用的形式类型名 & 引用名 = 某变量名;int n = 4;int& m = n; //m引用了n,m的类型是int& 或者int & m = n;或者int &m = n;某个变量的引用,等价于这个变量,相当于该变量的一个别名。2.常引用定义引用时,前面加const关键字,即为“常引用”,例如int...

2019-01-01 15:55:55 223 1

原创 C语言高级内容回顾——位运算

1.位运算基本概念用于对整数类型(int, char, long等)变量中的某一位(bit)或者若干位进行操作。C/C++语言提供了6种位运算符来进行位运算,如下:&       按位与(双目) |        按位或(双目) ^       按位异或(双目) ~       按位非(取反,单目) <<     左移(双目) >>     右...

2019-01-01 15:05:51 823

原创 C语言高级内容回顾——命令行参数

1.命令行参数基本概念将用户在CMD窗口(对于Windows系统而言)输入可执行文件名的方式启动程序时,跟在可执行文件名后面的那些字符串,称为命令行参数。命令行参数可以有多个,以空格分隔。例如在CMD窗口敲入下面的命令:notepad C:\Users\ZhengChenbin\Desktop\pspnettest.prototxt其中,"notepad","C:\Users...

2018-12-30 16:19:12 336

原创 C语言高级内容回顾——函数指针

1.函数指针基本概念:程序运行期间,每个函数都会占用一段连续的内存空间,而函数名就是该函数所占内存区域的起始地址,我们可以将函数的起始地址赋给一个指针变量,使该指针变量指向该函数,然后通过该指针变量便可以调用这个函数。这种指向函数的指针变量称为函数指针。2.函数指针定义形式: 类型名(*指针变量名)(参数类型1, 参数类型2,...);例如:void (*pf)(int,...

2018-12-30 15:53:34 231

原创 SSD中生成数据集索引的create_list.sh

SSD在训练前需要在终端运行create_list.sh来生成trainval.txt, test.txt和test_name_size.txt三个文件,详见SSD官方说明。create_list.sh代码解析如下:#!/bin/bashroot_dir=$HOME/data/VOCdevkit/ #存放数据的根目录sub_dir=ImageSets/Main #存放Imag...

2018-09-03 16:44:32 3530 7

原创 SSD网络解析之MultiBoxLoss层

SSD网络中的MultiBoxLoss层是根据论文2.2节所提出的损失函数而写的相应caffe实现,也是整个SSD网络很重要的部分。首先,我们还是先来看一下论文原文对此部分的描述:①英文部分Training objective The SSD training objective is derived from the MultiBox objective [7,8] but is e...

2018-08-30 22:20:35 8858

原创 SSD网络解析之bbox_util

bbox_util.hpp文件里定义了SSD中好几个层所需要用到的各种函数,bbox_util.cpp和bbox_util.cu文件对应于这些函数的具体实现。目录BBoxSizeClipBBoxIsCrossBoundaryBBoxJaccardOverlapEncodeBBoxDecodeBBoxDecodeBBoxesIsEligibleMiningCo...

2018-08-30 22:19:31 6597

原创 TensorFlow环境下安装jupyter notebook后,cmd打开出现cannot import name 'ensure_dir_exists'

最近按照TensorFlow官网给的在windows下利用Anaconda安装tensorflow的方法,遇到不少问题,安装过程具体如下:(1)以管理员身份运行Anaconda Prompt(2)输入以下命令创建tensorflow环境conda create -n tensorflow pip python=3.5以这种创建环境的方式安装tensorflow可以在Anaco...

2018-08-23 16:33:47 6018

原创 SSD网络解析之SmoothL1LossLayer层

SSD网络中的SmoothL1LossLayer层借鉴于Fast R-CNN,用于计算smooth L1损失,其中的光滑L1函数如下:                                                               其导函数为:                                                          ...

2018-08-23 11:11:38 3065

原创 Caffe中的EuclideanLoss层源码解析

Caffe中的EuclideanLoss层是用于计算L2 loss的(即平方和损失函数),其损失函数为:                                                                                   其中,N为输入blob的第一维(即bottom[0].num()),可以是向量也可以是标量,前者为预测值,后者为标签(即目...

2018-08-22 21:14:35 2937

原创 SLI导致双显卡被TensorFlow同时占用问题(Windows下)

最近学习TensorFlow,被一些不是bug的问题折腾的头晕脑胀,借此写一下解决方法。本人是在win10下使用TensorFlow的,所以ubuntu下的绕行吧,不会出现这些问题。(此文有些地方我重新整理了一遍,放在了相约机器人公众号上,大家可以参见链接)众所周知,TensorFlow在运行时,会抢占所有检测到的GPU的显存,这种做法褒贬不一吧,只能说,但怎么单独设置使用哪几块显卡呢,唯一的...

2018-08-21 16:13:48 4710 3

原创 SSD网络解析之PriorBox层

SSD网络中的PriorBox层用于部署特征图中每个位置(像素点)处的默认框(即计算每个默认框相对于网络输入层输入图像的归一化左上角和右下角坐标以及设置的坐标variance值)默认框的具体设置,我们需要先看一下原论文中的2.2节部分。①英文部分如下:Choosing scales and aspect ratios for default boxes To handle differ...

2018-08-19 12:07:19 15681 1

原创 SSD网络解析之Permute层

Permute层是SSD(Single Shot MultiBox Detector)中用于置换索引轴顺序的,与matlab中的permute()函数实现类似的功能,首先我们看一下caffe.proto中关于该层参数的说明:optional PermuteParameter permute_param = 202;message PermuteParameter { // The n...

2018-08-17 11:00:42 10692 2

原创 caffe可视化(权重、特征图和loss曲线)

由于要用到matlab接口来读取网络,故在开始介绍caffe可视化前,先看一下D:\caffe\caffe-master\matlab\+caffe\Net.m文件里定义的加载网络等函数,Net.m文件大家可以自行阅读,以下就摘抄几个我们要用到的函数:(1)Net(varargin)函数 function self = Net(varargin) % decide whe...

2018-08-12 11:14:55 2785

原创 解析caffe生成的caffemodel文件

要想了解caffe生成的caffemodel文件里的内容,我们就需要解析.caffemodel文件(caffemodel里不仅存储了权重和偏置等信息,还存储了整个训练网络的结构信息,即.prototxt信息,当然solver.prototxt信息是看不见的)。1.单独查看要是只是想看看权重信息正不正确(有时候学习率设置的太大,可能会导致梯度爆炸,但是又不确定的情况下,可以查看下caffem...

2018-07-29 20:44:09 27233 7

原创 编译分布式并行版caffe(Open MPI)教程

又双叒叕,我来更新博客了,最近为了调通PSPNet的训练过程,真的是感觉自己日渐消瘦,原文作者用了Open MPI来支持多块GPU训练,并优化了显存,使得能以更大的batch size进行训练,batch size对最后的精度真的很重要啊有木有,无奈限制于显卡的物理显存,导致batch size是不可能很大的,亲测利用官方版本的caffe训练PSPNet(用的voc 2012数据集),11G显存的...

2018-07-28 12:17:26 3339 9

原创 PSPNet测试代码解读

PSPNet测试代码在原文《Pyramid Scene Parsing Network》作者的GitHub网站上https://github.com/hszhao/PSPNet,下载下来解压后找到evaluation文件夹,里面的六个.m文件(Matlab代码)就是测试时用的代码,如下图所示:1.代码解读上图中的run.sh是执行文件,其代码解读如下:matlab -nodisp...

2018-07-16 21:39:13 4784 2

原创 FCN源码解读之solve.py

solve.pyvoid Solver<Dtype>::UpdateSmoothedLoss(Dtype loss, int start_iter, int average_loss) { if (losses_.size() < average_loss) { losses_.push_back(loss); int size = losses_.s...

2018-06-11 23:10:26 2425 6

原创 FCN源码解读之score.py

score.py是FCN中用于测试测试集/验证集的,并输出相应的像素准确度、平均准确度、mean IU和频率加权交并比(frequency weighted IU)四个指标的python文件。score.py的源码如下:from __future__ import divisionimport caffeimport numpy as npimport osimport sysfrom ...

2018-05-23 21:05:58 9173 15

原创 FCN源码解读之vis.py

FCN中的vis.py用于测试时输出可视化分割图像,可以选择两种可视化输出,一种为直接可视化的彩色分割图(左图);一种为含有掩膜的分割图(原图与分割彩色图的加权融合,右图)。 ...

2018-05-18 09:28:43 1175

原创 FCN源码解读之surgery.py

surgery.py是FCN中用于转换模型权重的python文件,在解读源码前,我们先来看一下VGG16网络的构架和FCN32s网络的构架两者之间的区别(此处参看VGG_ILSVRC_16_deploy.prototxt和FCN32s的deploy.prototxt,deploy.prototxt文件比train.prototxt文件少了输入层的数据路径和loss层的反向传播,其余网络结构两者是一...

2018-05-15 16:47:24 1320 5

原创 FCN源码解读之infer.py

infer.py是FCN中用于测试的python文件,每次可以单独测试一张图片在训练好的模型下的分割效果(直观上的以图片形式展示的分割效果)。其源码如下:import numpy as npfrom PIL import Imageimport caffeimport vis# the demo image is "2007_000129" from PASCAL VOC# loa...

2018-05-12 09:12:59 1989 1

原创 FCN源码解读之voc_layers.py

voc_layers.py是FCN中利用python写的数据层(即使用caffe的Python API 写的数据输入层),其格式是相对固定的,包含setup()、reshape()、forward()、backward()四个必要函数。其源码如下:import caffeimport numpy as npfrom PIL import Imageimport randomclass...

2018-05-08 22:25:13 1438 2

原创 Anaconda2和Anaconda3反复安装出现的问题的解决方法

最近多次安装卸载Anaconda2和Anaconda3,导致重新安装时老是出现两个问题,其中一个问题是Anaconda装完后,打开Anaconda Navigator报错,无法启动;令一个问题是Jupyter Notebook打开后显示kernel dead,防止以后再次遇到手足无措,在此写下解决方法。1.Navigator Error:An unexpected error occurred o...

2018-05-06 09:28:37 22523 4

原创 FCN源码解读之net.py

开篇先从FCN的net.py开始,net.py用于构建网络,即运行net.py可以直接生成所需要的train.prototxt和val.prototxt。即当需要修改网络时,不需要自己逐个修改train.prototxt和val.prototxt,只需要修改net.py中的相应内容,运行后即可重新全盘生成所修改后的网络。以下先拿fcn.berkeleyvision.org-master下的voc-...

2018-05-05 17:38:06 3141 1

原创 opencv3.3.0中的opencv_contrib包Cmake教程

准备工作:①下载CMake并安装:下载链接为https://cmake.org/download/下载上图中的cmake-3.10.1-win64-x64.msi,安装时请勾选上“Add CMake to the system PATH for all users”。②下载opencv3.3.0并安装:下载链接为https://github.com/opencv/opencv/releases/t...

2018-02-24 10:35:36 611 1

Anaconda2-5.3.0-MacOSX-x86_64.pkg

官网最新版Anaconda2-5.3.0-MacOSX-x86_64安装包,百度云下载

2018-10-18

Anaconda3-5.3.0-MacOSX-x86_64.pkg

官网最新版Anaconda3-5.3.0-MacOSX-x86_64安装包,百度云下载

2018-10-18

Anaconda2-5.3.0-Linux-x86_64.sh

官网最新版Anaconda2-5.3.0-Linux-x86_64安装包,百度云下载

2018-10-18

Anaconda3-5.3.0-Linux-x86_64.sh

官网最新版Anaconda3-5.3.0-Linux-x86_64安装包,百度云下载

2018-10-18

Anaconda2-5.3.0-Windows-x86_64.exe

官网最新版Anaconda2-5.3.0-Windows-x86_64安装包,百度云下载

2018-10-18

Anaconda3-5.3.0-Windows-x86_64.exe

官网最新版Anaconda3-5.3.0-Windows-x86_64安装包,百度云下载

2018-10-18

Anaconda3-5.2.0-Windows-x86_64.exe

官网最新版Anaconda3-5.2.0-Windows-x86_64安装包,百度云下载

2018-06-10

Anaconda3-5.1.0-Linux-x86_64.sh

最新版Anaconda Linux x86_64安装包,官网下载速度超级超级慢,而且大部分会失败,好不容易下下来,就此分享一下吧,百度云下载.

2018-05-17

Windows10使用caffe深度学习架构中所需要下载的NugetPackages依赖包

WIndows下使用caffe深度学习框架,编译caffe时会让下载一个接近一个G的NugetPackages依赖包,速度十分慢,而且会出现失败的情况,在此分享我用VS2013编译caffe时下载好的NugetPackages依赖包(温馨提示:caffe编译最好用VS2013,一开始用VS2017,就是下不下来这个包,血的教训)

2018-03-22

opencv3.3.0中的opencv_contrib包Cmake好的包(Release版本)

opencv3.3.0是没有xfeatures2d等模块的,需要第三方库opencv_contrib进行Cmake得到,分享的这个Cmake好的安装包,解压到opencv3.3.0安装目录的与原build文件夹相同的路径下即可

2018-03-22

Anaconda2-4.1.1-Windows-x86_64.exe

Anaconda2百度云下载分享,官网下载速度很慢,而且经常失败

2018-03-20

Anaconda3-5.1.0-Windows-x86_64.exe

最新版Anaconda Windows 64安装包,官网下载速度超级超级慢,而且大部分会失败,好不容易下下来,就此分享一下吧,百度云下载,很想给大家免费下载,但是资源分选不了免费,最低设置都是2

2018-03-20

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除