5 Sunshine_in_Moon

尚未进行身份认证

对计算机视觉,深度学习方向很感兴趣,愿意和大家分享。现在学习大规模人脸识别,人脸检测等相关工作,希望得到大家的帮助!

等级
TA的排名 2k+

Caffe2填坑系列(10)----编译成功,在python中使用时报”key already registered. Offending key: ImageInput“

原因:ImageInput这个Op被注册了多次,我在编写自己的.cc文件时,是以image_input.cc为模板,前面我都改成了自己Op的名字,包括REGISTER_CPU_OPERATOR(),OPERATOR_SCHEMA().唯独没有改NO_GRADIENT(),造成了上述错误。具体代码可参考core/register.h...

2019-05-20 23:11:22

Caffe2填坑系列(9)----错误提示“undefined reference to caffe2::CUDAContext::“

一般出现”undefinedreferenceto…“的错误是找不到相应的库造成的,但我自己在编写完一个Op后编译时出现了这个问题,经过一天的查找终于找到了根源所在,知道原因后自己都无语了,原来在caffe2中文件的命名是有规则了,不能胡乱起名。我错将_op_gpu.cc,写成了_gpu_op.cc首先,看一下在image/CMakeLists.txt中的设置if(USE_OPENCV...

2019-05-14 23:50:12

Caffe2填坑系列(8)----获得Op输入和输出blob的个数的两种方法

构造函数中,任何一个Op都是公有继承Operator,构造函数一般是C++:Operator<Context>(def,ws),…可以看到每一个构造函数里都有一个OperatorDef的对象def,OperatorDef在protot里进行定义,主要时组着里一个Op的一些信息,我们可以调用def.input_size()或def.output_size()获得输入输出的...

2019-05-12 22:22:34

Caffe2填坑系列(7)----make时“cannot find -lopencv_dep_cudart”

在CmakeList.txt中OpenCV之前,加上set(CUDA_USE_STATIC_CUDA_RUNTIMEOFF)或则在make时make-DCUDA_USE_STATIC_CUDA_RUNTIME=OFF

2019-05-08 23:18:16

Caffe2填坑系列(6)----gcc编译报错:程序中有游离的“\357”、"\273"、"\277"等

原因一:程序中使用了中文的标点符号程序(*.c,*.h)中使用了中文的标点符号(全角),比如;,},+。改成英文的标点半角符号就行了。甚至有时候空格也会出现类似错误,删掉该空格重新输入。vim里面做类似替换还是很容易的。如何看到报错的符号?od-chello.c>log.txt在log中就能看到符号了原因二:文件存储格式有问题如果替换成了英文标点还出错的话,还...

2019-05-05 23:28:31

Caffe2填坑系列(5)----获取输入输出数据----CPU与GPU稍有不同

CPUconstauto&a=Input(0)获取第一个输入给a,a的类型是Tensorauto*b=Output(0)获取第一个输入的指针赋给b获取指向Tensor内数据的指针:constauto*a1=a.templatedata(),需要注意两点1.data()前的template;2、输入一般是只读,我们不希望改变起内部数据,data()返回的是...

2019-05-02 12:03:01

Caffe2填坑系列(4)----指定梯度计算时的输入和输出

classGetInterpGradient:publicGradientMakerBase{ usingGradientMakerBase::GradientMakerBase; vector<OperatorDef>GetGradientDefs()override{ returnSingleGradientDef(...

2019-04-29 23:43:56

Caffe2填坑系列(3)----OPERATOR_SCHEMA()

operator_schema.hNumInputs()//Functionstosetthepropertyoftheoperatorschemas.//Setsthenumberofinputs,eitherafixednumberoraminandamax./***@briefAsinglein...

2019-04-25 23:34:41

Caffe2填坑系列(2)----获取数据或参数的方法

pad_end_(OperatorBase::templateGetSingleArgument(“pad_end”,0))如果参数“pad_end”没有提供,则采用0为默认值获取Op的输入和输出constauto&X=Input(0):获取第一个输入,注意输入一般为常量类型,因为我们一般只读不更改数据。auto*Y=Output(0):指向第一个输出,不能为常...

2019-04-24 22:23:21

Caffe2填坑系列(1)----三个头文件

已经有将近一年的时间没有写博客了。过去的一年了,学习了很多新的东西,在这里和大家分享一下,希望对你有所帮助。特别声明:我在这个系列中所使用的Caffe2,不是已经合并进Pytorch的Caffe2,而是为合并前的。这两者的差别还是很大的。今天,作为第一讲,内容可以说非常少。-#include"caffe2/core/context.h"选择是CPU或者GPU-#include"...

2019-04-19 23:29:18

Caffe To Caffe2 Python脚本caffe_translator.py详细注释

将Caffe的模型转换成Caffe2模型,官方提供了一个caffe_translator.py脚本。在此我做了详细的注释。##@packagecaffe_translator#Modulecaffe2.python.caffe_translator#!/usr/bin/envpython2importargparseimportcopyimportloggingim...

2019-01-06 11:20:53

对一般分类CNN的FC2层中的权值W的一点儿思考

最近又重新看了L-SoftmaxLoss和A-SoftmaxLoss.对对一般分类CNN的FC2层中的权值W,有了自己的一点想法,与大家分享一下。如果大家对我提出的第6,7的两个问题,有自己的想法,希望给我留言,大家相互学习。邮箱451413025@qq.com...

2018-05-30 16:27:34

利用sklearn画ROC曲线python代码个人理解

参考链接:http://scikit-learn.org/stable/modules/generated/sklearn.metrics.roc_curve.htmlhttp://scikit-learn.org/stable/auto_examples/model_selection/plot_roc.html#sphx-glr-auto-examples-model-selectio

2018-01-13 18:43:09

LMDB To Picture by Python

自己写的一个小代码,稍后会传到GitHub上,这里分享给大家!#coding:utf-8importlmdbimportnumpyasnpimportcaffe_pb2importcv2dataDir='***_lmdb'#lmdb文件夹env=lmdb.open(dataDir,readonly=True,lock=True)datum=c

2018-01-13 18:38:09

glog和gflags两个模块的使用实例

在Caffe中convert_imageset.cpp中有这两个模块的使用,我只是做了一点注释。我觉得学习别人的代码,是一个很好的方法。算了废话不多说了,直接上代码吧!//Thisprogramconvertsasetofimagestoalmdb/leveldbbystoringthem//asDatumprotobuffers.//Usage://

2018-01-13 18:28:57

Boost-python封装Cpp代码供Python调用

好久没有写博客了,今天把自己有道云笔记上东西分享给大家。Boost::python的使用可以参考我的一篇博客,这里只列举几个简单的例子,对该篇博客的补充。封装一个单一的函数#include<iostream>#include<boost/python/def.hpp>#include<boost/python/module.hpp>#include<boost/python/args.hpp>

2018-01-13 18:18:42

Caffemodel之C++修改参数

对Caffemodel的解析,更直接的说是对protobuf的解析。对Protobuf来说最重要的有三个文件,***.proto,***.pb.h,和***.pb.cc。基本的操作流程是首先写***.proto文件,然后编译出***.pb.h和***.pb.cc两个文件,我们就可以对Protobuf进行读写和修改了。今天这里,我只想总结一下我在修改Caffemodel时遇到的一些坑,以及解

2017-12-09 15:29:31

RCNN个人的几点见解

已经有将近一年的时间没有写博客了,说来真是惭愧。最近想学习一点目标检测的东西,今天看了RCNN,请教了同事一些不懂得地方,在这里做一个简短的总结。其实,网上种总结已经非常多了,我这里只想写点我个人的理解。方便以后回归使用。废话少说,直接进入正题。1、选择候选区域的算法,论文中使用的是“selectivesearch”,我记得很久之前看这篇论文时,我还在网上找到过这个算法的源码,跑了一下,效果

2017-11-17 19:42:40

把Vim打造成一个酷炫的C++编辑器

说实话,我也是按照http://blog.csdn.net/doc_sgl/article/details/47205779这个教程一步步打造的。在这之前也按照其他教程尝试过,但是没有成功。现在的这个教程是我尝试过最简单而且效果也最好的,因此值得推荐。   如果你想一步步折腾(如果你是第一次打造Vim,强烈建议你这样做,因为里面有一些插件的具体操作。)可以按照教程一步步安装,但是网络一定要

2016-12-24 15:54:58

Ubuntu16.04 改造成 Mac OX

哎,没钱买Mac只能借助Ubuntu改造一个了。还是很不错的。我主要是根据http://www.linuxidc.com/Linux/2016-06/131947.htm这篇教程安装的。如果你的英语比较好可以看官方教程http://www.noobslab.com/2016/04/macbuntu-1604-transformation-pack-for.html。当然两者对比看效果更佳。只根据教

2016-12-22 20:17:22

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。