常思考->有目标->重实践->善反思

常思考->有目标->重实践->善反思

华为社招面试(拿到offer)

前段时间华为主动联系我要不要面试,抱着试一下的心态接受了面试邀请,最后顺利拿到了offer,不过最终由于方方面面的原因还是没有去。 本文主要分享下,面试的大致过程。 1. 初步电话技术面试 主要问了下,项目C++的后台开发(大概40分钟)。 1. 高并发相关的问题。 2...

2018-06-22 20:03:07

阅读数:38192

评论数:16

caffe python 图片训练识别 实例

本文主要是使用caffe python做图片识别的示例包括训练数据lmdb生成,训练,以及模型测试,主要内容如下: 训练,验证数据lmdb生成,主要包括:样本的预处理 (直方图均衡化,resize),训练样本以及验证样本的lmdb的生成,以及mean_file mean.binaryproto生...

2017-09-09 21:36:41

阅读数:11254

评论数:2

caffe c++示例(mnist 多层感知机c++训练,测试)

caffe训练网络模型一般直接使用的caffe.bin: caffe train -solver solver.prototxt,其实这个命令的本质也是调用c++的Solver. 本文给出使用纯c++代码,使用mnist数据+多层感知机网络,训练数字分类问题。然后用C++调用训练好的模型测试分类...

2018-10-07 15:39:53

阅读数:359

评论数:6

caffe源码分析-db, io

本文主要分析下caffe的源码,io操作,以及数据库文件(如lmdb)读取。 例如,从prototxt读取网络初始化参数: NetParameter param; ReadNetParamsFromTextFileOrDie(path, &param); ...

2018-10-07 11:20:26

阅读数:253

评论数:0

caffe源码分析-DataTransformer

本文主要分析caffe中DataTransformer这个类, 主要作用是: 将Datum类型或者cv::Mat, 转化为caffe的Blob<Dtype>,并按照Transformation``Parameter参数对图像做处...

2018-10-07 11:13:38

阅读数:306

评论数:0

caffe源码分析-DataLayer

DataLayer作为caffe训练时的数据层(以多线程的方式读取数据加速solver的训练过程),继承自BaseDataLayer/BasePrefetchingDataLayer。 template <typename Dtype>...

2018-10-07 11:09:42

阅读数:173

评论数:0

caffe源码分析-DataReader

DataReader作为DataLayer的数据成员变量,以多线程的方式从数据库(如lmdb, hdf5)读取数据: class DataReader { public: explicit DataReader(const LayerParameter&amp...

2018-10-07 11:02:33

阅读数:325

评论数:0

caffe源码分析-InternalThread

InternalThread封装自boost::thread的线程,主要用于多线程的数据获取(可以理解为solver前向传播的同时,后台线程继续获取下一个batch的数据集): class InternalThread { public: InternalThread() : thr...

2018-10-07 10:59:10

阅读数:224

评论数:0

caffe源码分析-BlockingQueue

BlockingQueue线程安全的队列, 作为caffe训练时数据同步的重要数据结构,本文做简要分析。 template<typename T> class BlockingQueue { public: expli...

2018-10-07 10:43:16

阅读数:228

评论数:0

caffe源码分析-InputLayer

对于输入层,我们首先分析最简单的InputLayer层,其常作为网络inference时的输入,简单的mnist使用示例如下: layer { name: "data" type: "Input" top: &am...

2018-10-07 10:37:32

阅读数:300

评论数:0

caffe源码分析-layer_factory

caffe中有许多的layer,在net中创建连接layer是通过工厂模式的方式创建,而不是每一个new然后连接。在net.cpp中创建layer方式如下: layers_.push_back(LayerRegistry<Dtype>::CreateLa...

2018-10-07 10:33:23

阅读数:255

评论数:0

caffe源码分析-inner_product_layer

本文主要分析caffe inner_product_layer源码,主要内容如下: 结合使用以及proto定义介绍InnerProductLayer的参数; 简要分析Filler初始化,caffe中的layer参数,例如constant, gaussian; Inne...

2018-10-07 10:21:23

阅读数:221

评论数:0

caffe源码分析-ReLULayer

激活函数如:ReLu,Sigmoid等layer相对较为简单,所以在分析InnerProductLayer前,我们先看下激活函数层。 常见激活层ReLU的使用示例如下: layer { name: "relu1" type: ...

2018-10-07 10:09:18

阅读数:87

评论数:0

caffe源码分析-layer

本文主要分析caffe layer层,主要内容如下: 从整体上说明下caffe的layer层的类别,以及作用 通过proto定义与类Layer简要说明下Layer的核心成员变量; Layer类的核心成员函数 1. 类Layer overview caf...

2018-10-07 10:01:55

阅读数:238

评论数:0

c++ mnist转化为opecv Mat

本文主要介绍如何使用C++将mnist 数据集转化为Opencv Mat,问题来源主要代码以及运行示例如下: uint32_t swap_endian(uint32_t val) { val = ((val <&lt...

2018-09-20 20:09:48

阅读数:255

评论数:0

caffe源码分析-Blob

本文主要分析caffe源码分析-Blob,主要如下几个方面: overview整体上了解caffe的Blob Blob 成员变量 Blob主要函数,核心在于Blob的使用实例以及其与opencv Mat的操作的相互转化(附带运行结果基于CLion) overview ...

2018-09-12 21:20:50

阅读数:180

评论数:0

caffe源码分析-SyncedMemory

本文主要分析caffe中Blob内存管理类SyncedMemory,主要内容包括: SyncedMemory和Blob的关系 SyncedMemory中的方法,如内存的分配、释放 SyncedMemory中内存的申请,是在数据访问时才分配而不是立马分配(通过enum SyncedHe...

2018-09-12 21:00:04

阅读数:103

评论数:0

caffe源码分析-cmake 工程构建

本文主要说明下,caffe源码分析过程中的cmake(结合IDE CLion)工程构建问题。在分析caffe源码的过程中,我没有仅仅只是看代码,而是: 自己从头构建一遍工程,这样能让我更好的了解大型的项目的构建。当然原始的caffe的构建感觉还是比较复杂(主要是cmake),我这里仅仅使...

2018-09-12 20:51:05

阅读数:206

评论数:0

c++ set unordered_set区别

c++ std中set与unordered_set区别和map与unordered_map区别类似: set基于红黑树实现,红黑树具有自动排序的功能,因此map内部所有的数据,在任何时候,都是有序的。 unordered_set基于哈希表,数据插入和查找的时间复杂度很低,几乎是常数时间,而代价...

2018-09-06 20:55:33

阅读数:207

评论数:0

SSD人脸检测以及FDDB检测结果分析

前段时间使用caffe版本的SSD训练人脸检测,效果还不错,在FDDB上测试了下结果最终只有89%的准确率,但是误判率很低,结果如下: 为了分析训练的SSD在FDDB上对于哪些类型的人脸检测结果较差,结果如下:蓝色的椭圆为FDDB的原始标注,红色的矩形为现有的SSD检测结果。 可以看到...

2018-08-26 20:09:12

阅读数:2579

评论数:1

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