zoukankan      html  css  js  c++  java
  • 《深度学习21天实战caffe》_简单读书笔记

    第5天 Caffe依赖包解析

    5.1 ProtoBuffer

        ProtoBuffer是由Google开发的一种可以实现内存与硬盘文件交换的协议接口,Caffe源码中大量使用ProtoBuffer作为权值和模型参数的载体,例如我们训练时使用的prototext文件,训练时会首先读取改文件,获得其中特定字段的数值,并据此设置内存中模型训练时的超参数变量值,从文件读取到内存的过程就是由ProtoBuffer工具协助我完成的。

        就可以简单的把ProtoBuffer理解成是一个工具,它能够解析prototxt文件。

    5.2Boost

    C++的一个库,内容涵盖字符串处理,正则表达式,容器,数据结构,并发编程,函数式编程,泛型编程,设计模式实现,Caffe中主要使用了Boost中的智能指针,其自带引用计数功能,可避免共享指针时造成内存泄漏和多次释放,另外,pycaffe使用Boost Python实现C/C++和Python语言的连接,方便Python调用C/C++设计的模块。

    5.3CFLAGS

    CFLAGS在Caffe中主要起到命令行参数解析的作用,这与ProtoBuffer功能类似,只是参数输入源不同。

    5.4GLOG

     GLOG库是Google开发的用于记录应用程序日志的实用库,提供基于C++标准输入输出流形式的接口,GLOG在caffe中主要起到记录日志的作用,便于开发者查看caffe训练中产生的中间输出,并根据这些信息决定如何调整参数来控制收敛,

    5.5BLAS

    卷积神经网络中用到的数学计算主要是矩阵和向量的计算,Caffe中调用了BLAS(Basic Linear Algebra Subprograms,基本线性代数子程序),最常用的BLAS实现有IntelMKL,ATLAS,OpenBLAS等,

    5.6HDF5

    HDF5是美国国家高级计算应用中心为了满足各种领域研究需求而研制的一种能高效存储和分发科学数据的新型数据格式,它可以存储不同类型的图像和数码数据的格式,并且可以在不同类型的机器上传输,同时还有统一处理这种格式的函数库,Caffe训练模型可以选择保存为HDF5格式或者(默认的)ProtoBuffer格式。

    5.7opencv

    5.8LMDB

    LMDB----闪电般的内存映射型数据库管理器,

    5.9Snappy

    Snappy是一个用来压缩和解压缩的C++库,旨在提供较高的压缩速度和合理的压缩率,Snappy比zlib快,但文件相对要大20%-100%.

    第六天,运行手写体数字识别例程

    第7天,caffe代码梳理

    第8天,caffe数据结构

    梯度下降法就是用来求最小值,Xt+1 = Xt - f'(x)*lr; 导数乘以学习率。

     第9天,Caffe I/O模块

    第10天 Caffe模型

     第11天,caffe前向传播计算

    第12天,caffe反向传播计算

    第13天,caffe最优化求解过程

    第14天,caffe实用工具

    第15天,caffe计算加速

     https://docs.nvidia.com/deeplearning/sdk/tensorrt-developer-guide/index.html

    作者:cumtchw
    出处:http://www.cnblogs.com/cumtchw/
    我的博客就是我的学习笔记,学习过程中看到好的博客也会转载过来,若有侵权,与我联系,我会及时删除。

  • 相关阅读:
    Shell脚本sed命令
    Shell脚本常用unix命令
    Shell的case语句
    3.5.2 数值之间的转换
    3.5.1 数学函数与常量
    3.5 运算符
    3.4.2 常量
    3.4.1 变量初始化
    3.4 变量
    Python异常捕捉的一个小问题
  • 原文地址:https://www.cnblogs.com/cumtchw/p/12907376.html
Copyright © 2011-2022 走看看