资讯专栏INFORMATION COLUMN

caffe源码解析二 —— 代码目录结构

weapon / 324人阅读

摘要:这篇我们主要来讲解一下代码的目录结构,了解了整个目录结构,有助于我们的源码学习。

前沿

上一篇我们安装好了Windows下的caffe,并成功的对其进行了编译。这篇我们主要来讲解一下caffe代码的目录结构,了解了整个目录结构,有助于我们的源码学习。

正文

工程目录下的文件夹的作用如下所示:

data/       用于存放下载的训练数据
docs/       帮助文档
examples/   代码样例
matlab/     MATLAB接口文件
python/     PYTHON接口文件
models/     一些配置好的模型参数
scripts/    一些文档和数据会用到的脚本
tools/      保存的是用于生成二进制处理程序,caffe在训练时实际是直接调用这些二进制文件
include/    Caffe的实现代码的头文件
src/        实现Caffe的源文件

其中src/caffe/目录下的文件夹作用如下:

test/    用gtest测试caffe的代码
util/    数据转换时用的一些代码。caffe速度快,很大程度得益于内存设计上的优化(blob数据结构采用proto)和对卷积的优化(部分与im2col相关)
proto/   即所谓的“Protobuf”,全称“Google Protocol Buffer”,是一种数据存储格式,帮助caffe提速
layers/  深度神经网络中的基本结构就是一层层互不相同的网络了,这个文件夹下的源文件以及目前位置“src/caffe”中包含所有.cpp文件就是caffe的核心目录下的核心代码了。

src/caffe/目录下的代码作用如下:

blob[.cpp .h]             基本的数据结构Blob类
common[.cpp .h]           定义Caffe类
internal_thread[.cpp .h]  使用boost::thread线程库
net[.cpp .h]              网络结构类Net
solver[.cpp .h]           优化方法类Solver
data_transformer[.cpp .h] 输入数据的基本操作类DataTransformer
syncedmem[.cpp .h]        分配内存和释放内存类CaffeMallocHost,用于同步GPU,CPU数据
layer[.cpp .h]            层类Layer
layers/           此文件夹下面的代码全部至少继承了类Layer, 从layer_factory中注册继承

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/20348.html

相关文章

  • caffe源码解析 —— 代码目录结构

    摘要:这篇我们主要来讲解一下代码的目录结构,了解了整个目录结构,有助于我们的源码学习。 前沿 上一篇我们安装好了Windows下的caffe,并成功的对其进行了编译。这篇我们主要来讲解一下caffe代码的目录结构,了解了整个目录结构,有助于我们的源码学习。 正文 工程目录下的文件夹的作用如下所示: data/ 用于存放下载的训练数据 docs/ 帮助文档 exampl...

    Faremax 评论0 收藏0
  • AI学习路线

    摘要:针对公司样本不足,采用小样本技术和深度学习技术结合,是项目落地的解决方案。深度学习作为当前机器学习领域最热门的技术之一,已经在图像处理领域获得了应用,并且展现出巨大的前景。旨在帮助同学们快速上手如何使用库来完整机器学习案例。 阶段一、人工智能基础 - 高等数学必知必会 本阶段主要从数据分析、概率论和线性代数及矩阵和凸优化这四大块讲解基础,旨在训练大家逻辑能力,分析能力。拥有良好的数学基...

    xuweijian 评论0 收藏0
  • caffe CPU Ubuntu20.04 安装环境搭建 详细每一步 遇到的所有问题及解决

    摘要:平台系统环境下配置本次项目需要使用到的框架,开发人脸识别的功能,最终要集成到平台的系统。解决完一个问题,就返回目录继续编译,遇到一个问题解决一个问题。至此,在下配置完成。 ...

    fxp 评论0 收藏0
  • caffe Ununtu 16.04.4开发环境配置(CPU版)

    摘要:是一种常用的深度学习框架,主要应用在视频图像处理方面的应用上。由于没钱买,只能在虚拟机环境下配置版开发环境,大家勿笑。 caffe是一种常用的深度学习框架,主要应用在视频、图像处理方面的应用上。由于没钱买gpu,只能在虚拟机环境下配置Ubuntu CPU版caffe开发环境,大家勿笑。 1.首先,先安装依赖库: sudo apt-get install libprotobuf-dev...

    2shou 评论0 收藏0
  • Elam的caffe笔记之配置篇(一):CentOS6.5编译安装gcc4.8.2

    配置要求: 系统:centos6.5 目标:基于CUDA8.0+Opencv3.1+Cudnnv5.1+python3.6接口的caffe框架 gcc是linux编译安装必备的编译器 CentOS6.5自带的gcc版本是4.4.7,并不支持C++11查询后可得需要版本高于4.8.1的gcc才能支持C++11输入 yum info gcc 发现可升级的gcc版本低于4.8.1,只能手动编译安装4....

    wing324 评论0 收藏0

发表评论

0条评论

weapon

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<