caffe
深度学习平台源码解读
LightYoungLee
啊嘿嘿啊哈哈
展开
-
caffe(二)header解析
头文件解析 Blob 成员变量 shared_ptr data_; 数据储存地方shared_ptr diff_; 导数储存地方shared_ptr shape_data_; 未知 vectorint> shape_; 数据各个维度的大小int count_; blob是一个数组,count_存放的是这个数组的大小,如果储存的是多通道图片,即n*c*h*wint原创 2018-02-04 23:33:55 · 223 阅读 · 0 评论 -
caffe(一)Parameter解析
1.proto梳理 ParamSpec message ParamSpec{ // The names of the parameter blobs -- useful for sharing parameters among // layers, but never required otherwise. To share a parameter between tw原创 2018-02-04 23:36:13 · 490 阅读 · 0 评论 -
caffe(三)Layer解析
BaseConvolutionLayer src/caffe/layers/base_conv_layer.cpp weight_cpu_gemm 计算weight的forward或者backwardtemplate type>void BaseConvolutionLayertype>::weight_cpu_gemm(const Dtype* input, con原创 2018-02-04 23:34:56 · 235 阅读 · 0 评论 -
caffe(四)Net解析
Net src/caffe/net.cpp 构造函数 template typename Dtype>Net::Net(const NetParameter& param) {Init(param);}template typename Dtype>Net::Net(const string& param_file, Phase phase, const原创 2018-02-04 23:40:29 · 904 阅读 · 0 评论 -
caffe(五)Solver解析
Solver src/caffe/solver.cpp Init template typename Dtype>void SolverDtype>::Init(const SolverParameter& param) { LOG_IF(INFO, Caffe::root_solver()) "Initializing solver from parameters:原创 2018-02-04 23:41:40 · 799 阅读 · 0 评论 -
caffe(六)主函数解析
tools/caffe.cpp 注册表 首先定义一个注册表,typedef int (*BrewFunction)();typedef std::mapstring, BrewFunction> BrewMap;BrewMap g_brew_map;#define RegisterBrewFunction(func) \namespace { \class __Regi原创 2018-02-04 23:44:00 · 552 阅读 · 0 评论 -
caffe(七)辅助功能解析
math_functions src/caffe/util/math_functions.cppcaffe_axpy template <>void caffe_axpyfloat>(const int N, const float alpha, const float* X, float* Y) { cblas_saxpy(N, alpha, X, 1, Y, 1); }原创 2018-02-04 23:45:07 · 248 阅读 · 0 评论 -
caffe(八)日常问题解析
关闭日志输出在命令行执行命令之前调用如下命令, GLOG_minloglevel=X ./your_appX代表的是需要打印在terminal上面的日志的级别,如下是每个级别的代码详解,0 - debug1 - info (still a LOT of outputs)2 - warnings3 - errorsmemory_data_layer 的调用和改进这次是刚原创 2018-02-04 23:46:48 · 189 阅读 · 0 评论