自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ziyi Liu的专栏

计算机视觉(Computer Vision);机器学习(Machine Learning);统计理论(Statistical Theory);生活(My Life)

  • 博客(16)
  • 收藏
  • 关注

原创 我对BPNN的一些浅见

我们知道,在任何机器学习模型中,都会有一个代价函数的概念。当训练样本一定时,这个代价函数实际上是一个自变量为模型参数,因变量为代价大小的函数。那么我们训练一个机器学习模型的目的就是,通过改变模型参数,来最小化模型的代价。那么问题来了,以什么样的方式来改变模型参数?一个很直观的方法是令模型的参数在其梯度方向上改变(关于梯度与函数大小的关系大家可以参考高等数学相应章节)。所以切入点是要求每个参数的偏导

2017-01-12 16:57:29 1868

原创 python中array和list的区别

只有array有资格使用布尔条件判断来进行索引x = [2, 10, 2, 1, 5, 11, 9, 1, 1, 9, 1, 3, 1, 2]x = np.array(x)x = np.hstack([x[x==i] for i in range(10)])print x输出 [1 1 1 1 1 2 2 2 3 5 9 9]

2016-12-25 16:18:10 1257

原创 solver_factory.hpp的理解

blob中每一个元素是按照float类型来存储的,占4个byte 这里面定义了几个类,先看template <typename Dtype> //模板类class SolverRegistry { public://定义了两个成员变量 //名为Creator的函数指针,参数为SolverParameter&类型的引用,返回值为一个Solver类型的指针 typedef Solver<Dt

2016-12-25 15:28:00 832

原创 No module named google.protobuf.internal错误

引言法国恢复规划返回

2016-12-24 15:38:05 551

原创 caffe中的数据流通过程

感觉在看源码时,首先应该对caffe中的数据流有一个比较清晰的认识,所以我在这里把其中每一个blob的内存地址都记录下来,并做成了一张数据流向图,以加强后续的理解。1.下面看网络在test阶段的数据流向图1.1 从对应的内存地址可以看出,每一层的top blob,就是下一层的bottom blob;1.2 relu激活直接在conv层的输出上进行操作;1.3 fc8层和labe

2016-12-12 19:37:37 464

转载 Caffe+Ubuntu 14.04 LTS + CUDA 7.5 + CUDNN 5.1.3 + Intel MKL + OpenCV 3.1 RC安装教程

每个版本的cuda安装有些不同,大家尽量灵活安装1. Ubuntu 14.04 LTS 这部分请自行在网上搜索教程,比较简单2. CUDA 7.5安装下载好CUDA 7.5 toolkit(我的是cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb)后,安装sudo dpkg -i cuda-repo-ubuntu1404-7-5-loc

2016-11-21 16:55:15 418

转载 C++中的容器类详解

C++中的容器类包括“顺序存储结构”和“关联存储结构”,前者包括vector,list,deque等;后者包括set,map,multiset,multimap等。若需要存储的元素数在编译器间就可以确定,可以使用数组来存储,否则,就需要用到容器类了。vector 连续存储结构,每个元素在内存上是连续的; 支持高效的随机访问和在尾端插入/删除操作,但其他位置的插入/删除操作效率低下;deque

2016-11-21 11:26:31 400

转载 Caffe+Ubuntu 14.04 LTS + CUDA 7.5 + CUDNN 5.1.3 + Intel MKL + OpenCV 3.1 RC安装教程

在linux环境编译应用程式或lib的source code时常常会出现如下的错误讯息:复制代码代码如下:/usr/bin/ld: cannot find -lxxx这些讯息会随着编译不同类型的source code 而有不同的结果出来如:复制代码代码如下:/usr/bin/ld: cannot find -lc/us

2016-11-20 13:39:17 724

原创 Python中列表和数组的赋值,浅拷贝和深拷贝

Python中列表和数组的赋值,浅拷贝和深拷贝列表赋值:>>> a = [1, 2, 3]>>> b = a>>> print b[1, 2, 3]>>> a[0] = 0>>> print b[0, 2, 3]解释:[1, 2, 3]被视作一个对象,a,b均为这个对象的引用,因此,改变a[0],b也随之改变如果希望b不改变,可以用到切片>>> b =

2016-11-12 00:06:42 40703

原创 Python列表切片

Python列表切片的格式是a = List[start: end: step]但是需要注意的是,a不包含end索引

2016-11-11 09:57:48 493

原创 正斜杠"/"和反斜杠"\"

正右反左正斜杠“/” --通常用来分隔目录,指代编程语言中的除法反斜杠“\”--通常指代转义字符 \n \t 等等

2016-11-10 08:45:30 446

原创 caffe源码:SyncedMemory

主要目的 syncedMemory主要是在CPU或GPU上分配内存、以及保持数据的同步 主要用于Blob类// blob中的reshape 的具体实现 template <typename Dtype> void Blob<Dtype>::Reshape(const vector<int>& shape) { CHECK_LE(shape.size(), kMaxBlobAxe

2016-10-23 23:40:29 402

原创 caffe源码阅读(二) common

主要参考http://blog.csdn.net/xizero00/article/details/50889126主要作用 common的主要作用其实就对caffe的一些部件做初始化,包括实例化caffe,初始化随机数(通过提供随机数生成器)、gflasgs和glog的初始化。这其中,最重要的是随机数生成器的内容 (1)Generator类 两个构造函数: Generator();用系

2016-10-23 20:24:16 506

原创 Linux中的线程局部存储

如果需要在一个线程内部的各个函数调用都能访问、但其它线程不能访问的变量,这就需要新的机制来实现,我们称之为Static memory local to a thread (线程局部静态变量),同时也可称之为线程特有数据(TSD: Thread-Specific Data)或者线程局部存储(TLS: Thread-Local Storage)。这一类型的数据,在程序中每个线程都会分别维护一份变量的副本

2016-10-23 19:36:30 345

原创 欢迎使用CSDN-markdown编辑器

caffe源码阅读(一) Blob概述 Blob是caffe中的数据存储模块,其主要包含三类数据: data:前向传播所用到的数据(到底是前向传播的权重,还是原始数据呢?) diff:反向传播时的梯度,注意这个梯度还要和clip_gradient这个参数联系起来,不过这是后话了 shape:其实是为了把data和diff解释为n*c*h*w这样的形式,其实这两个数据本身是以一维数组的形式存

2016-10-23 02:37:09 261

转载 Ubuntu 14.04硬盘开机自动挂载

http://www.cnblogs.com/hnrainll/archive/2012/02/27/2369331.html注意:找到UUID的命令blkid最后修改/etc/fstab时,要把0   3, 换作0    2

2016-04-02 22:29:40 279

空空如也

空空如也

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

TA关注的人

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