自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(215)
  • 收藏
  • 关注

原创 C++:多维数组的动态分配(new)和释放(delete)

对于简单的一维数组动态内存分配和释放,相信大家都是知道的,不过还是举个例子吧:1 int *array1D;2 //假定数组长度为m3 //动态分配空间4 array1D = new int [m];5 //释放6 delete [] array1D;但是,对于多维数组动态分配,大家可能不太熟悉。下面以常见的二维和三维数组为例来说明: 1. 二维数组的动态分配和释放 int

2017-10-12 22:18:13 1296

原创 tensorflow name_scope variable_scope

https://stackoverflow.com/questions/34215746/difference-between-variable-scope-and-name-scope-in-tensorflow 更形象的解释:

2017-09-22 21:30:38 458

转载 tensorflow variable_scope,tf.name_scope, tf.variable, tf.get_varible

tf.variable_scope 实际开发中,经常在函数中定义和使用variable, 当我们两次调用同一个函数的时候就会报错,因为variable没有实现共享. tf.scope_variable()就是来帮助实现变量共享的;同时可以很好地管理variable.tf.name_scope tf.variable, tf.get_variable https://www.zhihu.c

2017-09-22 19:49:05 612

原创 tf.shape(a)和a.get_shape()

1,tf.shape(a)和a.get_shape()比较 相同点:都可以得到tensor a的尺寸 不同点:tf.shape()中a 数据的类型可以是tensor, list, array a.get_shape()中a的数据类型只能是tensor,且返回的是一个元组(tuple)2,例子:import tensorflow as tf im

2017-09-04 22:25:32 3837

原创 SSE指令 intrinsic函数总结(持续更新...)

_mm_cvtps_epi32 :Converts the four single-precision, floating-point values of a to signed 32-bit integer values. 意思是: 把四个float变量强转为四个int变量。其中需要注意的是他的截断规则:四舍五入,在进位后末位是偶数的进,否则不进位。_mm_cvttps_epi32: Conve

2017-07-08 21:40:10 3188

原创 查看Linux下*.a库文件中文件、函数、变量等情况

功能 列出.o .a .so中的符号信息,包括诸如符号的值,符号类型及符号名称等。所谓符号,通常指定义出的函数,全局变量等等。使用nm [option(s)] [file(s)]有用的options: -A 在每个符号信息的前面打印所在对象文件名称; -C 输出demangle过了的符号名称; -D 打印动态符号; -l 使用对象文件中的调试信息打印出所在源文件及行号; -n 按照地址/

2017-06-17 13:05:22 1881

原创 FCN中的transplant

FCN中的surgery.transplant函数用于拷贝learnable参数,其直接目的是:将VGG分类模型中的一些全连接层的参数正确地拷贝到相应的目标全连接层中。代码如下:def transplant(new_net, net, suffix=''): """ Transfer weights by copying matching parameters, coercing p

2017-05-10 18:58:01 1233 1

原创 caffe的Matlab接口的使用方法

caffe的Matlab接口的使用方法net.blobs(‘data’).set_data(ones(net.blobs(‘data’).shape)); net.blobs(‘data’).set_data(net.blobs(‘data’).get_data() * 10); 注意:因为Matlab是以1作为起始单元,且以列为主,在Matlab中使用四维blob为[width, height

2016-12-21 15:15:50 1772

原创 Invalid MEX-file: caffe.mexa64 的解决方案

问题如下: Invalid MEX-file ‘**/caffe.mexa64’ /usr/local/MATLAB/R2014a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6: version GLIBCXX_3.4.20 not found (required by /usr/lib/x86_64-linux-gnu/libgflags.s

2016-11-09 20:38:35 6006 1

原创 C++ extern 和 static

简要说下extern: extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 C/C++中extern关键字详解extern 和 static 上文对extern 和 static做了说明,并举了例子,我对其进行了测试:test1.h#ifndef TEST1H#define

2016-09-05 12:18:29 597

原创 pandas.DataFrame 操作

pandas.DataFrame 操作 这篇文章说的很好。 总结: DataFrame 有属性和索引的概念,属性即列,索引即行 DataFrame 取一列得到Series,取多列得到DataFrame(Pdb) type(data['Test 1'])

2016-08-30 21:25:23 4213

原创 numpy * dot multiply

* 需要记住的是: numpy arrays consistently abide by the rule that operations are applied element-wise. Thus, if a and b are numpy arrays, then a*b is the array formed by multiplying the components element-wi

2016-08-30 16:06:06 3953

原创 numpy.flatten() 与 numpy.ravel()的区别

首先声明两者所要实现的功能是一致的(将多维数组降位一维),两者的区别在于返回拷贝(copy)还是返回视图(view),numpy.flatten()返回一份拷贝,对拷贝所做的修改不会影响(reflects)原始矩阵,而numpy.ravel()返回的是视图(view,也颇有几分C/C++引用reference的意味),会影响(reflects)原始矩阵。>>> x = np.array([[1, 2

2016-08-30 09:38:55 5925

原创 numpy multiply

numpy.multiply(x1, x2[, out]) : Multiply arguments element-wise, 广播法则。numpy的multiply和*什么区别   Numpy matrices必须是2维的,但是numpy arrays (ndarrays) 可以是多维的(1D,2D,3D····ND). Matrix是Array的一个小的分支,包含于Array。所以mat

2016-08-29 22:25:15 1711

原创 C++ istream get() ostream::put()

get() get()函数比较灵活,有3种常用的重载形式:一种就是和put()对应的形式:ifstream &get(char &ch);功能是从流中读取一个字符,结果保存在引用ch中,如果到文件尾,返回空字符。如file2.get(x);表示从文件中读取一个字符,并把读取的字符保存在x中。另一种重载形式的原型是: int get();这种形式是从流中返回一个字符,如果到达文件尾,返回EOF,

2016-08-25 09:59:00 3511

原创 利用caffe的python接口进行训练时遇到的问题

利用caffe的python接口来训练:python ./train.py, 想输出梯度,便在solver.cpp里做了修改,添加代码:int max_len = 0; for (int l = 0; l < net_->layers().size(); ++l) { Layer<Dtype>& layer = *net_->layers()[l].get();

2016-08-16 14:16:19 1677

原创 常用的数据预处理操作

Normalization:向量的每个元素除以它的二范数(默认情况下) sklearn.preprocessing.normalize(X, norm=’l2’, axis=1, copy=True) X = [[ 1., -1., 2.], … [ 2., 0., 0.], … [ 0., 1.,

2016-08-11 18:01:30 1629

原创 Caffe 里 top[i]->cpu_diff() bottomp[i]->cpu_diff() 取出梯度,这些梯度在默认的情况下 caffe将其设置为0

Caffe 里 top[i]->cpu_diff() bottomp[i]->cpu_diff() 取出梯度,这些梯度在默认的情况下 caffe将其设置为0,只有在有梯度往前传播,top和bottom的梯度发生更新后,才会有所改变 this->type():Convolution top[0]->cpu_diff()[0]:0.000000 top[0]->cpu_diff()[1]:0.00

2016-08-11 11:49:41 4232

原创 The NaN values

The NaN values are used to identify undefined or non-representable values for floating-point elements, such as the square root of negative numbers or the result of 0/020.5.2 Infinity and NaN

2016-07-30 10:00:57 563

转载 caffe loss NaN

by Yangqing on 14 May 2014For a sanity check, try running with a learning rate 0 to see if any nan errors pop up (they shouldn’t, since no learning takes place). If data is not initialized well, it mig

2016-07-22 22:17:40 1073

原创 matlab 读取图片的格式

dlib::shape_predictor , dlib::full_object_detection 是dlib里面的两个两个类,最近在做一个人脸的项目的时候需要用到它们,也是第一次使用Dlib,感觉这是一个比较新的一个开源机器学习库。本人也是刚开始学习,后续会更新先上一段源码,shape_predictor:class shape_predictor { /*!

2016-07-17 18:19:27 5901

原创 What is zero-shot learning?

Zero-shot learning is being able to solve a task despite not having received any training examples of that task. For a concrete example, imagine recognizing a category of object in photos without ever

2016-07-13 14:38:38 2443

原创 Dlib 学习过程中遇到的坑

在使用Dlib的时候遇到两个错误: 1. ‘deque’ is not a member of ‘std’ 2. ‘running_stats’ was not declared in this scope这两个错误都是在源码文件shape_predictor.h中:std::deque<std::pair<unsigned long, unsigned long> > parts;和runn

2016-06-17 16:19:56 2179

原创 Dlib:shape_predictor 与 full_object_detection

dlib::shape_predictor , dlib::full_object_detection 是dlib里面的两个两个类,最近在做一个人脸的项目的时候需要用到它们,也是第一次使用Dlib,感觉这是一个比较新的一个开源机器学习库。本人也是刚开始学习,后续会更新先上一段源码,shape_predictor:class shape_predictor { /*!

2016-06-16 21:55:59 14098 2

原创 error while loading shared libraries: xxx.so.x" 错误的原因和解决办法

今天在执行一个protobuf程序时,提示error while loading shared libraries: libprotobuf.so.8: cannot open shared object file: No such file or directory错误。google了一下,是由于找不到lib这个文件。解决办法:一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错

2016-06-16 15:25:36 616

原创 linux 下 修改/etc/fstab文件后进不了系统解决办法

./etc/fstab是linux系统的文件系统表。在进入系统前是通过检查此文件来加载相应的分区文件系统(被记录到本文件中的所有文件分区都是在开机之后自动加载)。如果安装的是双系统的话,想在linux系统中加载windows系统的分区,可以通过修改本文件实现(在此不再详细介绍)。一旦此文件有错误直接导致文件中配置的分区无法自动加载到系统中。修改要慎重解决办法很简单: 1. 进入ubuntu高级选项

2016-06-08 16:06:48 2111 1

原创 如何用gdb调试caffe

基础知识:当我们进入gdb的时候,可能需要的指令主要有:1、程序运行参数。set args 可指定运行时参数。(如:set args 10 20 30 40 50)show args 命令可以查看设置好的运行参数。2、运行环境。path <dir> 可设定程序的运行路径。show paths 查看程序的运行路径。set environment varname [=value] 设置环境变

2016-05-26 18:25:19 2796

原创 Faster RCNN roi_pooling_layer.cpp roi_pooling_layer.cu

主要定义了一个 ROIPoolingLayer 类ROIPoolingLayer的受保护数据成员有:int channels_;int height_;int width_;int pooled_height_; // pooling后的特征图的height_int pooled_width_; // pooling后的特征图的width_Dtype spatial_scale_; //

2016-05-25 17:25:24 6648

原创 Faster RCNN proposal_layer.py

定义了一个 ProposalLayer 类, 在rpn_test.pt中会用到。class ProposalLayer(caffe.Layer): """ Outputs object detection proposals by applying estimated bounding-box transformations to a set of regular boxes

2016-05-23 18:53:23 6458

转载 Multinomial Logistic Loss and Cross Entropy Loss are the same

Multinomial Logistic Loss and Cross Entropy Loss are the same

2016-05-20 10:06:37 2820

原创 Faster RCNN anchor_target_layer.py

class AnchorTargetLayer(caffe.Layer): """ Assign anchors to ground-truth targets. Produces anchor classification labels and bounding-box regression targets. """ def setup(self, botto

2016-05-17 11:13:49 6002 1

原创 python tile

tile函数        在看机器学习实战这本书时,遇到numpy.tile(A,B)函数,愣是没看懂怎么回事,装了numpy模块后,实验了几把,原来是这样子:重复A,B次,这里的B可以时int类型也可以是远组类型。[python] view plain copy >>> import numpy  >>> numpy.

2016-05-15 19:45:25 861

原创 Faster RCNN train.py

定义了一个类:class SolverWrapperclass SolverWrapper(object): """A simple wrapper around Caffe's solver. This wrapper gives us control over he snapshotting process, which we use to unnormalize

2016-05-15 19:43:04 3131

原创 Faster RCNN layer.py

def setup(self, bottom, top)方法: 该方法主要是在创建RoIDataLayer的时候调用。结合_caffe.cpp里面.def("setup", &Layer::LayerSetUp),个人猜测(水平有限),setup(self, bottom, top)应该还是调用底层的Layer::LayerSetUp方法,同时bottom, top也分别对应着:const vec

2016-05-15 19:41:42 3697

原创 Faster RCNN generate.py

该模块的功能主要是生成rpn proposals。 + cv2.imread读取的图像的存储格式为H W K,且三通道的顺序为BGR + PIL.Image.open读取图片的存储格式为:W H (此时的数据为PIL库的某种对象),且三通道顺序为RGB 但是,当转换为np.array的时候,存储格式将H W K,常用的代码段为:def load_image(self, idx):

2016-05-15 19:41:18 5338

原创 Faster RCNN blob.py

def im_list_to_blob(ims):将图像转换成blob(np.ndarray)def im_list_to_blob(ims): """Convert a list of images into a network input. Assumes images are already prepared (means subtracted, BGR order

2016-05-15 19:40:53 1753

原创 Faster RCNN minibatch.py

def _sample_rois(roidb, fg_rois_per_image, rois_per_image, num_classes) 在 def get_minibatch(roidb, num_classes) 中调用此函数,传进来的实参为单张图像的roidb ,该函数主要功能是随机组合sample of RoIs, 来生成前景样本和背景样本。def _sample_rois(

2016-05-15 19:40:30 3865

原创 Faster RCNN pascal_voc.py

主要定义了一个pascal_voc类,在类的内部定义了它的一些属性和方法。def _init_(self, image_set, year, devkit_path=None) 构造器方法def __init__(self, image_set, year, devkit_path=None): imdb.__init__(self, 'voc_' + year + '_'

2016-05-15 19:39:52 2962

原创 Faster RCNN roidb.py

1. roidb是一个列表,列表元素为字典2. prepare_roidb 函数def prepare_roidb(imdb): """Enrich the imdb's roidb by adding some derived quantities that are useful for training. This function precomputes the m

2016-05-15 19:39:23 4409

原创 Faster RCNN imdb.py

def merge_roidbs(a, b) 类imdb的静态方法,将a b两个roidb归并为一个roidb@staticmethod def merge_roidbs(a, b): assert len(a) == len(b) for i in xrange(len(a)): # boxes 采用vstack

2016-05-15 19:38:48 2748

空空如也

空空如也

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

TA关注的人

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