caffe
IceMiao433
在人工智能的探索道路上步履不停
展开
-
caffe源码解读之Blob
Blob是Caffe中最基础的数据结构,是用于保存学习到的参数以及网络传输过程中产生的数据的类,网络各层之间的数据是通过Blob来传递的。 Blob中的主要变量包括:shared_ptr<SyncedMemory> data_;//存储前向传播数据shared_ptr<SyncedMemory> diff_;//存储反向传播数据shared_ptr<SyncedMemory> shape_da原创 2017-08-15 19:38:20 · 545 阅读 · 0 评论 -
MATLAB解析caffe训练日志并绘制曲线
公司机器上,使用python画图缺少一些库,但是又没有权限安装,所以考虑matlab。 使用MATLAB画解析caffe的训练日志,其实就是找规律,代码如下:function loss_accuracy_visualization(logName)fid = fopen(logName, 'r'); fid_accuracy = fopen('output_accuracy.txt', 'w原创 2017-12-06 17:46:27 · 656 阅读 · 0 评论 -
caffe提取某层特征进行人脸识别源码
在上一篇博文Classifier的c++类的基础上进行扩展,其中头文件Classifier.h如下:#include <caffe/caffe.hpp>#ifdef USE_OPENCV#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.原创 2017-11-22 18:10:36 · 2061 阅读 · 0 评论 -
caffe 分类源码解读
首先, 新建一个Classifier的c++类,其中头文件Classifier.h如下: 其中,Classifier函数:根据模型的配置文件.prototxt,训练好的模型文件.caffemodel,建立模型,得到net_;处理均值文件,得到mean_;读入labels文件,得到labels_。classify函数:调用Predict函数对图像img进行分类,返回std::pair< std::s原创 2017-11-22 16:38:50 · 579 阅读 · 0 评论 -
caffe模型训练小技巧
一、学习率调整 一个对于调度学习率的建议:如果在验证集上性能不再增加就让学习率除以2或者5,然后继续,学习率会一直变得很小,到最后就可以停止训练了 二、finetun微调 finetune的过程相当于继续训练,跟直接训练的区别是初始化的时候: a. 直接训练是按照网络定义指定的方式初始化(如高斯随机初始化) b. finetune是用你已经有的参数文件来初始化(就是之前训练原创 2017-11-06 11:58:07 · 587 阅读 · 0 评论 -
利用caffe-ssd训练物体检测模型
一.简介 1. 资源code:https://github.com/weiliu89/caffe/tree/ssdpaper:https://arxiv.org/abs/1512.02325 主要文件夹的用途examples/ssd/,存放了训练,测试的脚本,是主要操作的脚本data/,存放了训练、验证和测试所需的数据和代码python/caffe/model_libs.py,存放了生原创 2017-09-08 18:37:19 · 8890 阅读 · 3 评论 -
caffe中添加新的网络层
本文主要是在caffe中实现yolo,需要在caffe中添加新的网络层:LeakyLayer和DetectLayer。 一、添加LeakyLayer层 1.创建hpp头文件leaky_layer.hpp 不同功能类型的层所引的头文件也不同,具体可以到“caffe/include/caffe/layers”目录下找相似的现成的文件参考,新添加的hpp文件也要放到该目录下。 注意:命名的时候应严原创 2017-09-15 15:40:42 · 604 阅读 · 0 评论 -
caffe源码解析之solver
Solver:网络的求解策略 Solver 主要是实现了训练模型参数所采用的优化算法,根据优化算法的不同会派生不同的类,而基于这些子类就可以对网络进行正常的训练过程。Solver的重要成员变量shared_ptr<Net<Dtype> > net_;//net对象protected的成员:shared_ptr net_ 是一个指向Net类型的智能指针(shared_ptr),Solver正是通原创 2017-08-22 10:43:00 · 429 阅读 · 0 评论 -
caffe源码解析之net
net:网络的整体骨架Net是对整个网络的表示,由各种 Layer 前后连接组合而成,Net用容器的形式将多个Layer有序地放在一起,其自身实现的功能主要是对逐层Layer进行初始化,以及提供Update( )的接口(更新网络参数),本身不能对参数进行有效地学习过程。Net的重要成员变量vector<shared_ptr<Layer<Dtype> > > layers_ //构成该net的laye原创 2017-08-22 10:42:36 · 560 阅读 · 0 评论 -
caffe源码解析之layer
Layer:网络的基础单元 Layer 是对神经网络中各种层的一个抽象,包括我们熟知的卷积层和下采样层,还有全连接层和各种激活函数层等等。同时每种 Layer 都实现了前向传播和反向传播,并通过 Blob 来传递数据。 Layer是网络模型和计算的核心,在数据存储上,主要分成bottom_vecs、top_vecs、weights&bias三个部分;在数据传递上,也主要分为LayerSetUp、原创 2017-08-22 10:41:55 · 558 阅读 · 0 评论 -
windows环境Caffe安装配置步骤(无GPU)
windows版本caffe安装包下载地址:https://github.com/Microsoft/caffe; 安装配置步骤可参考博文:http://www.cnblogs.com/cxyxbk/p/5902034.html原创 2017-08-10 09:21:52 · 547 阅读 · 0 评论 -
人脸识别CNN网络微调流程
目标 微调论文”A Lightened CNN for Deep Face Representation”中的29层caffe网络。数据 自己收集的包含500人的亚洲人脸数据集; 训练数据准备 1.获得500人微调数据集之后,使用python源码工具将数据集划分为训练集和验证集:#!---* coding: utf-8 --*--#!/usr/bin/python"""将数据集随机分成训原创 2017-12-06 17:27:10 · 3495 阅读 · 1 评论