自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Sunshine_in_Moon的专栏

天行健君子以自强不息!

  • 博客(352)
  • 资源 (2)
  • 论坛 (1)

原创 symbol lookup error: xxx undefined symbol xxx

我在编译一个小工程时,编译过程并没有报错,但是在运行报了如下错误:undefined symbol N2cv3Mat20updateContinuityFlagEv。解决此类问题的思路可以从如下几个方面入手:库没有正确连接,但如果是这个问题,我们在编译时往往就会报错。库的版本不对,比如我们使用的第三方库其依赖的是OpenCV2,但是我们自己的工程使用的时OpenCV3,这时也会有这个问题。...

2019-12-09 19:04:23 213

原创 OpenCV : undefined reference to cv::imread()

最近在编译一个小工程时遇到了一个OpenCV的问题,如标题所示找不到函数接口。其实,我们一般遇到“undefined reference to”的错误首先想到的肯定是相关的库没有正确连接。但是我遇到的问题要比这个奇怪的多。下面记录下我的解决思路,做个笔记防止后面在遇到相同的问题。检查库是否正确连接ldd ****.so可检查某个库的依赖情况,重点看那些找不到的库。如果我们发现某个库找不到,...

2019-12-09 14:10:25 1213

原创 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 410

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

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

2019-05-14 23:50:12 245

原创 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 269

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

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

2019-05-08 23:18:16 285

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

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

2019-05-05 23:28:31 112

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

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

2019-05-02 12:03:01 268

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

class GetInterpGradient : public GradientMakerBase{ using GradientMakerBase::GradientMakerBase; vector<OperatorDef> GetGradientDefs() override{ return SingleGradientDef( ...

2019-04-29 23:43:56 153

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

operator_schema.hNumInputs()// Functions to set the property of the operator schemas. // Sets the number of inputs, either a fixed number or a min and a max. /** * @brief A single in...

2019-04-25 23:34:41 127

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

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

2019-04-24 22:23:21 122

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

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

2019-04-19 23:29:18 138

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

将Caffe的模型转换成Caffe2模型,官方提供了一个caffe_translator.py脚本。在此我做了详细的注释。## @package caffe_translator# Module caffe2.python.caffe_translator#!/usr/bin/env python2import argparseimport copyimport loggingim...

2019-01-06 11:20:53 587

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

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

2018-05-30 16:27:34 641

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

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

2018-01-13 18:43:09 5188 1

原创 LMDB To Picture by Python

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

2018-01-13 18:38:09 363

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

在Caffe中convert_imageset.cpp中有这两个模块的使用,我只是做了一点注释。我觉得学习别人的代码,是一个很好的方法。 算了废话不多说了,直接上代码吧!// This program converts a set of images to a lmdb/leveldb by storing them// as Datum proto buffers.// Usage://

2018-01-13 18:28:57 958

原创 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 1153 2

原创 Caffemodel之C++修改参数

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

2017-12-09 15:29:31 1253 1

原创 RCNN个人的几点见解

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

2017-11-17 19:42:40 377

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

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

2016-12-24 15:54:58 2760

原创 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 33452 2

原创 Could not get lock /var/lib/dpkg/lock -open (11: Resource temporarily unavailable)

我在虚拟机上安装的Ubuntu16.04后,经常出现这个问题,以前没有碰到过。具体错误如下:查阅资料(http://www.2cto.com/os/201305/213648.html)后得知解决方法很简单。之所以写这篇博客,就是省的下次再去网上瞎找了。解决方法如图,输入两行代码就搞定了sudo rm /var/cache/apt/archives/lock sudo rm

2016-12-22 16:51:11 550

原创 Caffe中学习率策略应如何选择

今天,在训练网络时想换一种学习策略试试,因此重新研究了一下Caffe中提供的各种学习率策略,在这里和大家聊聊我使用时的一些经验教训。我们先来看看和学习率策略有关的参数,以下的内容来自caffe.proto中:// The learning rate decay policy. The currently implemented learning rate // policies are

2016-12-11 00:28:05 16086 3

原创 Caffe-Windows下画loss与accuracy曲线

本篇博客主要讲述怎样在Windows下利用Caffe提供的脚本程序和Caffe训练日志画loss曲线与accuracy曲线。如果你是在Linux下使用Caffe可以参考这篇博客:http://blog.csdn.net/fx409494616/article/details/53197209?ref=myread。如果你还没有Caffe训练日志,请参考上一篇博客http://blog.csdn

2016-12-09 18:03:39 7177 26

原创 Caffe-Miscoroft无训练日志解决方法

Caffe的训练日志就是我们在命令窗口中看到的训练时打印出来的信息,我们可以利用这些信息画训练时lossaccruacy图,至于怎么利用这些信息画出这两个图是下一篇将要讲述的问题。我们先来看看这些保存在什么地方。如果你是使用的Caffe-Windows版本是happynear大神编译的老版本,那你应该会在bin文件下发现一个log文件夹,里面保存的就是我们需要的训练文件,文件名上有时间,可以很

2016-12-09 01:32:02 3917 4

原创 Check failed:error == cudaSuccess(30 vs. 0) unkown error

今天被这个问题折腾惨了。昨天Caffe使用还一切正常,今天就突然出现了这个问题,如下图所示:我尝试重新安装CUDA,重新编译安装Caffe,都没有成功解决。后来灵机闪现,想到是不是显卡驱动的问题(其实我就应该想到的,哎!)右击我的电脑->管理->设备管理->显示适配器如图(现在是正常状态),GT 730M显卡驱动前面应该是一个黄色小三角内部有个小叹号。右击->卸载。成功

2016-12-06 20:07:24 12400 6

原创 Ubuntu16.04下安装DDD(Data Display Debugger)

前两天在Linux公社论坛偶然间看到了DDD这个软件,根据介绍是一个gdb界面化的调试软件,这正是我找了好长时间的东西,有一个有界面的调试工具了,于是乎今天抽了个时间整了整,里面碰到了不少坑,下面一一说明一下。我使用的Ubuntu16.04,如果你使用的是CentOS可以参考:http://blog.csdn.net/unix21/article/details/8450040,本人也是参考这篇博

2016-11-27 23:20:13 4615 1

原创 Caffe训练网络时的点点滴滴

以前主要是微调网络,所以参数的设计非常简单,我们只需要注意转换数据时把参数--shuffle=true,loss收敛就不会有什么问题。但是最近我重新训练网络,发现参数调试真的是一个麻烦的事情。在这里总结一下,供大家参考。    通过我不断的试验和大神的提点,我调节的主要是学习率。我们可能已经听说了很多,如果loss不收敛就将学习率降低。但是,这在重新训练时是个误区,尤其是在训练的开始阶段。在开

2016-11-25 13:40:59 7698 4

原创 Mxnet学习系列4----Caffe模型转换成Mxnet模型

这已经是Mxnet学习系列的第五篇了,感谢大家的支持!本篇博客主要讲一下在Caffe环境下搭建和训练好的模型怎样转换到Mxnet下使用。我觉得这一点是十分重要的:首先,这样做节省了我们很多时间和精力。在这个与时间赛跑的年代这一点很重要。另外就是现在大部分论文还是利用Caffe实现的,Caffe是我现在看到的使用最广泛的深度学习框架,所以如果我们想移植到Mxnet下,学习这一点也是很重的。

2016-11-06 16:06:20 5740

原创 sklearn 使用过程中遇到的问题和解决方法

Sklearn是Python下非常优秀的机器学习模块,相信大家有所耳闻。本篇博客是我在平常使用中遇到的一些问题和解决方法的记录,也可以看做是一个笔记。仅供参考。1、加载Mnist数据时报错from sklearn.datasets import fetch_mldatamnist = fetch_mldata('MNIST original') 很多地方都是利用上面两条语句加载MN

2016-11-04 14:25:50 9056 8

原创 Mxnet学习系列3----网络的可视化

网络可视化的重要性不言而喻,我们可以利用图的形式更好的观察网络的结构。记得以前写过一篇关于Caffe下的网络的可视化的博客点击打开链接,其实有一个在线的Caffe网络结构工具:http://ethereon.github.io/netscope/#/editor。     那么在Mxnet下怎么画出网络结构图呢?其实过程还是很简单的,因为Mxnet已经为我们写好了函数,我们只要简单调用即可

2016-11-04 12:16:19 12780 2

原创 Mxnet学习系列2----如何制作image.rec(新版本)

看过我Mxnet学习系列1的同学,肯定有些疑惑,这个问题已经讲过了怎么还讲?对于这个问题我也很无奈。上篇博客已经是很久以前写的了,Mxnet的更新还是很快的,没办法只能在写一篇博客。先说一下新版本(2016/10/26)较老版本的变化在于将老版本中的make_list.py和im2rec.py两个文件的功能合并到im2rec.py一个文件中去了,使用参数--list=True(make_lis

2016-10-26 17:40:30 6492 2

原创 Mxnet学习系列0----问题汇总及解决方法

这是我在使用Mxnet过程遇到的一些问题,有的是我自己解决,有的是参考他人的解决方法。在这里做个总结,帮助他人少走些弯路。1、im2rec.py中参数--exts的问题我是使用过程中发现,如果使用默认值输出结果是正确的,如果我们在命令行中自己输入参数就无法输出结果。经过研究发现是im2rec.py源码有问题,作者在使用argparse模块是忽视了一个参数:原始代码如下:cgroup

2016-10-26 17:18:48 9324

原创 Caffe中crop_layer层的理解和使用

前段时间一直忙着找工作博客已经很久没有写了,看到了很多人的留言没有回复,在这里和大家说声抱歉。Caffe也是很久没有使用了,前天突然发现Caffe更新了,出现了一些新层,于是就挑着在论文中使用到的新层研究了一下。     本片博客主要是说明crop_layer(我叫他剪裁层)的理解和使用。在此申明博客中的内容部分引用其他博客我会给出连接地址,大家可以详细看原博客。      1、Crop_

2016-10-23 11:03:13 10312 8

转载 OpenCV基础篇之图像的DFT频域变换

本文转自:http://xiahouzuoxin.github.io/notes感谢博主!转载请注明出处:http://xiahouzuoxin.github.io/notes程序及分析/* * FileName : fft2.cpp * Author : xiahouzuoxin @163.com * Version : v1.0 * D

2016-06-29 11:31:00 1335

原创 Windows下C++程序移植到Linux上的几个问题及解决方法

今天帮朋友从Windows下移植一个小程序到Linux下,遇到了两个问题,在这里分享一下解决方法。    刚开始觉得,移植应该很简单,就是重新再Linux下编译一次就可以了。但是遇到了,不少问题。下面一一说明。    1、fopen_s()函数报错。       原因是,fopen_s()这个函数并不是标准的C++库中的函数,是微软特有的,也就是说如果你用VS编译不会有问题,但是如果你

2016-06-24 14:11:07 3897

原创 OpenBlas库----cblas_dgemm()函数

在Caffe的源码中有很多地方使用OpenBlas库进行矩阵运算,今天就简单讲一下我在使用cblas_dgemm()函数的使用时遇到的问题。    在网上查到的资料很多都是简单的说了下cblas_dgemm()函数的参数和功能,具体怎么用没有给出相应的代码,而且我对里面的转置也是很迷惑。先给大家几个博客地址:官方例子:https://github.com/xianyi/OpenBLAS/w

2016-06-21 17:53:13 9984 2

原创 PyQt4及py2exe使用时的一些错误及解决方案

昨天尝试使用PyQt4为Caffe测试程序写了一个界面程序,又把这个python程序转换成了.exe.这过程遇到了不少问题,有的已经解决,有的没有解决,还希望高手帮忙。先贴出我的界面吧,忙了一天看看成果:一、使用PyQt4开发界面还是很容易的,大的问题遇到了两个一个解决一个未解决。先说没有解决的问题吧,望高手指点1、我们看到界面有很多相似的地方如第一行,第二行,第五行,第六行,

2016-05-31 10:51:19 2763

原创 PCA的本质----特征值分解

相信大家对PCA并不陌生,但是PCA的本质你是否了解呢?今天就给大家简单讲讲,也是自己对PCA的一个巩固。博客中使用的图片来自七月算法的程博士的PPT,在此感谢程博士课上的耐心讲解。     1、特征值个特征向量   我相信大家对于这个式子非常熟悉,但是你真正的理解这个式子了吗?特征向量和特征值到底有什么意义呢?说实话,在听程博士的课之前我一直迷惑,不过现在懂了。    首先,我们

2016-05-27 15:11:27 16515 7

Caffe-Windows下画loss和accuracy曲线python代码

代码的主体是Caffe提供的tools/extra文件中的python代码,但是代码无法在Windows下直接运行,此版本是我自己修改的。经过测试8中曲线都能正确画出,如果你的积分有限,可以参考我们博客自行修改,或联系我。谢谢你的支持

2016-12-09

Caffe数据处理小工具集合Python版

这个工具小集合是我在使用caffe进行人脸识别实验时,用到的一些小工具,里面比较繁琐,但都十分实用。

2016-11-27

Sunshine_in_Moon的留言板

发表于 2020-01-02 最后回复 2020-01-02

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