
Caffe
文章平均质量分 62
mjiansun
Live and Learn.
展开
-
使用cuDNN5编译py-faster-rcnn错误:cudnn.hpp(126): error: argument of type “int“ is incompatible ...
前几天在cuda8+cudnn5.1下编译py-faster-rcnn/caffe-fast-rcnn时报错了,/home/guyadong/caffe/py-faster-rcnn/caffe-fast-rcnn/include/caffe/util/cudnn.hpp(126): error: argument of type “int” is incompatible with par...转载 2019-05-07 15:43:46 · 1603 阅读 · 1 评论 -
【Grad-Cam】pycaffe实现
python获取梯度脚本# -*- coding: UTF-8 -*-import sysimport shutilimport ossys.path.insert(0, "caffe/python")import caffeimport numpy as npimport dicomimport cv2from scipy.misc import bytescalefrom matplotlib import pyplot as pltfrom PIL import Imag.转载 2021-11-18 13:35:28 · 257 阅读 · 0 评论 -
【Caffe】python接口的使用
有一篇更全的更好的bloghttps://blog.youkuaiyun.com/u013066730/article/details/89670781下面是基于我自己的接口,我是用来分类一维数据的,可能不具通用性:(前提,你已经编译了caffe的python的接口)第一阶段添加 caffe塻块的搜索路径,当我们import caffe时,能让python找到caffe对于这一步,一般...转载 2019-04-28 10:17:05 · 1178 阅读 · 0 评论 -
【Caffe】math_functions文件分析
Caffe源码(caffe version:09868ac , date: 2015.08.15)中有一些重要文件,这里介绍下math_functions文件。1. include文件:(1)、<glog/logging.h>:GLog库,它是google的一个开源的日志库,其使用可以参考:http://blog.youkuaiyun.com/fengbingchun/artic...转载 2019-01-10 10:45:39 · 585 阅读 · 0 评论 -
【Caffe源码学习】im2col和col2im
首先回顾一下卷积的实现理论细节,卷积核是一个小窗口(记录权重),在输入图像上按步长滑动,每次滑动操作输入图像上的对应小窗区域,将卷积核中的各个权值与输入图像上对应小窗口中的各个值相乘,然后相加,并加上偏置得到输出特征图上的一个值,见下图(图片来自网络)这里原文https://blog.youkuaiyun.com/jiongnima/article/details/69736844,巴拉巴拉有很多解释...转载 2019-01-15 10:59:09 · 2222 阅读 · 0 评论 -
【Caffe】nccl的安装
$ git clone https://github.com/NVIDIA/nccl.git$ cd nccl$ sudo make install -j8$ sudo ldconfig 出现以下情况表示编译成功。由于是编译到了默认的路径,所以caffe的makefile.config中不需要修改成INCLUDE_DIRS += /path/nccl/build/include ...原创 2019-01-15 10:30:58 · 2643 阅读 · 1 评论 -
【Caffe】Focal Loss
Pk对zk的求导,以及Pk对zj的求导请参考https://blog.youkuaiyun.com/u013066730/article/details/86231215前向代码:for (int i = 0; i < outer_num_; ++i) { for (int j = 0; j < inner_num_; j++) { const int label...原创 2019-01-14 12:26:26 · 492 阅读 · 0 评论 -
【Caffe】为什么Caffe里头有mutable_cpu_data和cpu_data
const void* SyncedMemory::cpu_data() { to_cpu(); return (const void*)cpu_ptr_;}void* SyncedMemory::mutable_cpu_data() { to_cpu(); head_ = HEAD_AT_CPU; return cpu_ptr_;}他们之间就相差一个head...转载 2019-01-11 10:11:55 · 1111 阅读 · 0 评论 -
【Caffe】softmax和softmaxwithloss层的理解
softmax_axis_表示在那边切,当为1是,out_num_就表示batchsize,sum_multiplier表示通道数,scale相关的一般表示临时变量的存储,dim=C*W*H,spatial_dim=W*H,inner_num_如果fc层就为1,conv层就为H*W。本文所举得例子是在mnist的基础上解说的,batchsize为128,类别为10。首先看softmax求导...转载 2019-01-10 16:53:41 · 5083 阅读 · 0 评论 -
Netscope:支持Caffe的神经网络结构在线可视化工具
Netscope是个支持prototxt格式描述的神经网络结构的在线可视工具,地址:http://ethereon.github.io/netscope/quickstart.html 它可以用来可视化Caffe结构里prototxt格式的网络结构 使用起来也非常简单,打开这个地址:http://ethereon.github.io/netscope/#/editor把你的描述神经网络结构...转载 2018-12-07 15:13:17 · 234 阅读 · 0 评论 -
Ubuntu16.04安装caffe
安装基础内容sudo apt-get update sudo apt-get install build-essential sudo apt-get autoremove 安装gitsudo apt-get install git 安装vim安装命令:sudo apt-get install vim查看是否安装成功:vim --version...原创 2018-11-21 11:56:56 · 704 阅读 · 2 评论 -
protobuf规则
Protobuf消息定义消息由至少一个字段组合而成,类似于C语言中的结构。每个字段都有一定的格式。字段格式:限定修饰符① | 数据类型② | 字段名称③ | = | 字段编码值④ | [字段默认值⑤]①.限定修饰符包含 required\optional\repeatedRequired: 表示是一个必须字段,必须相对于发送方,在发送消息之前必须设置该字段的值,对于接收方,必须能够...转载 2018-11-15 09:51:46 · 1416 阅读 · 0 评论 -
protobuf入门教程(五):枚举(enum)、包(package)
枚举(enum)消息格式当需要定义一个消息类型的时候,可能想为一个字段指定某“预定义值序列”中的一个值,这时候可以通过枚举实现。syntax = "proto3";//指定版本信息,不指定会报错message Person //message为关键字,作用为定义一种消息类型{ string name = 1; //姓名 int32 id = 2; ...转载 2018-11-15 09:45:42 · 4964 阅读 · 1 评论 -
Protobuf
一、什么是protocol buffersProtocol buffers是一个灵活的、高效的、自动化的用于对结构化数据进行序列化的协议,与XML相比,Protocol buffers序列化后的码流更小、速度更快、操作更简单。你只需要将要被序列化的数据结构定义一次(译注:使用.proto文件定义),便可以使用特别生成的源代码(译注:使用protobuf提供的生成工具)轻松的使用不同的数据流完成...转载 2018-11-14 18:56:01 · 197 阅读 · 0 评论 -
win10+官方caffe+vs2015+cuda8.0+cudnn5.1+python3.5
------------------------------------------- 时间截止20190319,亲测可以使用。 --------------------------------------------注意,万一下面有环境变量不明白的,请参考我的环境变量:我的个人用户的环境变量为C:\Users\smj\AppData\Local\Programs\Py...转载 2019-03-18 18:56:44 · 965 阅读 · 0 评论 -
FLT_MAX 和 FLT_MIN的定义
有文章用到了FLT_MAX和FLT_MIN。查阅资料后知道这是C++中的定义注意这个FLT_MIN定义的是最小的正浮点数定义是#define FLT_MIN 1.175494351e-38FFLT_MAX的定义则是#define FLT_MAX 3.402823466e+38Fstack overflow上很多人说为什么我的FLT_MIN打印出来是0。是因为打印是...转载 2019-06-26 15:36:00 · 4161 阅读 · 0 评论 -
【Caffe】在caffe中固定某些网络参数,只训练某些层
实现的关键变量是:propagate_down 含义:表示当前层的梯度是否向前传播比如有4个全连接层A->B->C->Da. 你希望C层的参数不会改变,C前面的AB层的参数也不会改变,这种情况也就是D层的梯度不往前反向传播到D层的输入blob(也就是C层的输出blob 没有得到梯度),你可以通过设置D层的propagate_down为false来做到。...转载 2019-05-29 15:57:11 · 417 阅读 · 0 评论 -
【Caffe+CUDA】caffe中GPU编程
https://blog.youkuaiyun.com/wfei101/article/details/81292908转载 2019-05-16 10:12:20 · 352 阅读 · 0 评论 -
【Caffe】math_functions 分析
目录主要函数1. caffe_cpu_gemm 函数:2. caffe_cpu_gemv 函数:3.caffe_axpy 函数:4.caffe_set 函数:5.caffe_add_scalar 函数:6.caffe_copy 函数:7.caffe_scal 函数:8.caffeine_cup_axpby 函数:9.caffe_add、 caffe_sub、...转载 2019-05-15 19:54:31 · 251 阅读 · 0 评论 -
【Caffe】Ubuntu16.04安装并测试faster rcnn
安装https://zhuanlan.zhihu.com/p/29971657(主要看这个)下面2个是参考https://blog.youkuaiyun.com/yhaolpz/article/details/71375762https://blog.youkuaiyun.com/zoro_lov3/article/details/60581174测试https://blog.youkuaiyun.com/h...转载 2019-05-07 18:57:42 · 250 阅读 · 0 评论 -
【Caffe】reshape_param
messageReshapeParameter{} // Specify the output dimensions. If some of the dimensions are set to 0, // the corresponding dimension from the bottom layer is used (unchanged). // ...转载 2019-05-15 09:32:21 · 615 阅读 · 0 评论 -
编译Caffe-Win错误集锦
Caffe在Windows下编译还是遇到不少麻烦的...1.visual studio 2013 error C2371: 'int8_t' : redefinition; 引入的unistd.h文件里面重定义了int8_t,用记事本打开文件注销之。2. error C3861: 'getpid': identifier not foundC:\Tools...转载 2019-05-07 11:18:46 · 733 阅读 · 0 评论 -
Faster rcnn代码解读
(1):https://www.cnblogs.com/zf-blog/p/7273182.html(2):https://www.cnblogs.com/zf-blog/p/7286405.html(3):https://www.cnblogs.com/zf-blog/p/7307502.html(4):https://www.cnblogs.com/zf-blog/p/733794...转载 2019-05-09 19:49:05 · 461 阅读 · 0 评论 -
AttributeError: 'module' object has no attribute 'text_format'
最近在学习 faster rcnn ,本来环境已经配置好,已经跑完自己的程序,运行良好,后来安装了tensorflow,然后重新使用 faster rcnn 进行训练的时候居然出错了,我很纳闷,期间没有卸载或者修改配置文件啊,怎么会这样?问题pb2.text_format.Merge(f.read(), self.solver_param) AttributeError: 'module'...转载 2019-05-08 09:50:11 · 642 阅读 · 0 评论 -
【caffe源码】DataLayer
转自:https://blog.youkuaiyun.com/fangjin_kl/article/details/54124397https://blog.youkuaiyun.com/edmond999/article/details/78500896http://www.mamicode.com/info-detail-1252644.html待整理转载 2019-04-25 10:16:42 · 261 阅读 · 0 评论 -
【Caffe】Python接口常用API参考
转自:http://wentaoma.com/2016/08/10/caffe-python-common-api-reference/本文整理了pycaffe中常用的APIPackages导入import caffefrom caffe import layers as Lfrom caffe import params as PLayers定义Data层定义...转载 2019-04-29 11:19:54 · 544 阅读 · 0 评论 -
caffe做回归
我已经将修改好的caffe上传https://github.com/mjiansun/win_caffe_test/tree/regression,prototxt在https://github.com/mjiansun/win_caffe_test/tree/regression/myregression_test中。最近项目需要用到caffe来做关键点的回归,即通过caffe来训练一...转载 2019-04-11 09:16:57 · 581 阅读 · 0 评论 -
Mobilenet-SSD的Caffe系列实现
转自:https://blog.youkuaiyun.com/Jesse_Mx/article/details/78680055mobilenet 也算是提出有一段时间了,网上也不乏各种实现版本,其中,谷歌已经开源了Tensorflow的全部代码,无奈自己几乎不熟悉Tensorflow,还是比较钟爱Caffe平台,因而一直在关心这方面。单纯的Mobilenet分类不是关注重点,如何将其应用到目标检测网...转载 2018-11-12 10:01:48 · 717 阅读 · 0 评论 -
caffe绘制训练过程中的accuracy、loss曲线
训练模型并保存日志文件 首先建立一个训练数据的脚本文件train.sh,其内容如下,其中,2>&1 | tee examples/mnist/mnist_train_log.log 是log日志文件的保存目录。#!/usr/bin/env sh set -e TOOLS=./build/tools $TOOLS/caffe train...转载 2018-09-30 10:12:43 · 421 阅读 · 0 评论 -
Caffe学习系列(10):命令行解析
转自:http://www.cnblogs.com/denny402/p/5076285.htmlcaffe的运行提供三种接口:c++接口(命令行)、python接口和matlab接口。本文先对命令行进行解析,后续会依次介绍其它两个接口。caffe的c++主程序(caffe.cpp)放在根目录下的tools文件夹内, 当然还有一些其它的功能文件,如:convert_images转载 2016-12-20 19:38:39 · 305 阅读 · 0 评论 -
已放弃(核心已转储)
如果出现:I1221 10:24:19.919129 12934 layer_factory.hpp:77] Creating layer mnistI1221 10:24:19.919893 12934 net.cpp:100] Creating Layer mnistI1221 10:24:19.919911 12934 net.cpp:408] mnist -> dataI...原创 2016-12-21 10:27:06 · 38798 阅读 · 6 评论 -
Caffe学习系列(11):图像数据转换成db(leveldb/lmdb)文件
转自:http://www.cnblogs.com/denny402/p/5082341.html在深度学习的实际应用中,我们经常用到的原始数据是图片文件,如jpg,jpeg,png,tif等格式的,而且有可能图片的大小还不一致。而在caffe中经常使用的数据类型是lmdb或leveldb,因此就产生了这样的一个问题:如何从原始图片文件转换成caffe中能够运行的db(leveldb/lm转载 2016-12-20 20:49:11 · 556 阅读 · 0 评论 -
Caffe学习系列(7):solver及其配置(学习率)
转自:http://www.cnblogs.com/denny402/p/5074049.htmlsolver算是caffe的核心的核心,它协调着整个模型的运作。caffe程序运行必带的一个参数就是solver配置文件。运行代码一般为caffe train --solver=*_slover.prototxt在Deep Learning中,往往loss function是非凸的,没有...转载 2016-12-16 20:10:32 · 384 阅读 · 0 评论 -
Caffe学习系列(6):Blob,Layer and Net以及对应配置文件的编写
转自:http://www.cnblogs.com/denny402/p/5073427.html度网络(net)是一个组合模型,它由许多相互连接的层(layers)组合而成。Caffe就是组建深度网络的这样一种工具,它按照一定的策略,一层一层的搭建出自己的模型。它将所有的信息数据定义为blobs,从而进行便利的操作和通讯。Blob是caffe框架中一种标准的数组,一种统一的内存接口,转载 2016-12-16 20:04:21 · 313 阅读 · 0 评论 -
Caffe学习系列(5):其它常用层及参数
转自:http://www.cnblogs.com/denny402/p/5072746.html本文讲解一些其它的常用层,包括:softmax_loss层,Inner Product层,accuracy层,reshape层和dropout层及其它们的参数配置。1、softmax-losssoftmax-loss层和softmax层计算大致是相同的。softmax是一个分类器,计算转载 2016-12-16 14:27:57 · 355 阅读 · 0 评论 -
Caffe学习系列(4):激活层(Activiation Layers)及参数
转自:http://www.cnblogs.com/denny402/p/5072507.html在激活层中,对输入数据进行激活操作(实际上就是一种函数变换),是逐元素进行运算的。从bottom得到一个blob数据输入,运算后,从top输入一个blob数据。在运算过程中,没有改变数据的大小,即输入和输出的数据大小是相等的。输入:n*c*h*w输出:n*c*h*w常用的激活函转载 2016-12-16 13:54:16 · 352 阅读 · 0 评论 -
caffe训练自己的手写数字
转自:http://blog.youkuaiyun.com/houwenbin1986/article/details/52956101搭建好caffe Python环境后,我们都需要跑通mnist和imagenet示例,感谢博主:http://www.cnblogs.com/denny402/p/5684431.html官网提供的mnist数据并不是图片,但我们以后做的实际项目可能是图片转载 2016-12-16 10:50:52 · 2417 阅读 · 0 评论 -
Caffe学习系列(3):视觉层(Vision Layers)及参数
转自:http://www.cnblogs.com/denny402/p/5071126.html所有的层都具有的参数,如name, type, bottom, top和transform_param请参看我的前一篇文章:Caffe学习系列(2):数据层及参数本文只讲解视觉层(Vision Layers)的参数,视觉层包括Convolution, Pooling, Local Resp转载 2016-12-16 10:46:05 · 389 阅读 · 0 评论 -
Caffe学习系列(2):数据层及参数
转自:www.cnblogs.com/denny402/p/5070928.html要运行caffe,需要先创建一个模型(model),如比较常用的Lenet,Alex等, 而一个模型由多个屋(layer)构成,每一屋又由许多参数组成。所有的参数都定义在caffe.proto这个文件中。要熟练使用caffe,最重要的就是学会配置文件(prototxt)的编写。层有很多种类型,比如Dat转载 2016-12-15 22:00:38 · 380 阅读 · 0 评论 -
4
在上文对Command Line Interfaces进行了简单的介绍之后,本文将对caffe的Solver相关的代码进行分析。本文将主要分为四部分的内容:Solver的初始化(Register宏和构造函数)SIGINT和SIGHUP信号的处理Solver::Solve()具体实现SGDSolver::ApplyUpdate具体实现Solver的初始化(Register宏和构造函数转载 2016-09-01 15:20:31 · 780 阅读 · 0 评论