学习笔记:caffe 的相关知识

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zr940326/article/details/82049101

一.caffe 的介绍和环境搭建

&&1.caffe的 介绍:

该内容,部分来自:网络,感谢他们

Caffe 作者:贾扬清,任Facebook研究科学家,曾在Google Brain工作。在AI领域有数年的研究经历。在UC Berkeley获得计算机科学博士学位,在清华大学获得硕士和本科学位。对两款流行的深度学习框架做过贡献:Caffe的作者,TensorFlow的作者之一。

作者工作经历:2016年2月从Google离职,加入Facebook,致力于前沿AI研究和平台开发。2013年12月到2016年2月在Google Brain担任研究科学家,致力于前沿的深度学习研究和工程,参与了ImgeNet2014比赛、移动端深度学习、Google下一代AI平台TensorFlow开发、基于深度学习的产品开发和产品咨询等。

Caffe、Caffe2、Caffe2Go

Caffe的全称是:Convolutional architecture forfast feature embedding,它是一个清晰、高效的深度学习框架,它是开源的,核心语言是C++,它支持命令行、Python和Matlab接口,它既可以在CPU上运行也可以在GPU上运行。它的license是BSD 2-Clause。Deep Learning比较流行的一个原因,主要是因为它能够自主地从数据上学到有用的feature。特别是对于一些不知道如何设计feature的场合,比如说图像和speech。

(2.1) Caffe是一款知名的深度学习框架,由加州大学伯克利分校的贾扬清博士于2013年在Github上发布。自那时起,Caffe在研究界和工业界都受到了极大的关注。Caffe的使用比较简单,代码易于扩展,运行速度得到了工业界的认可,同时还有十分成熟的社区。

(2.2) Caffe2在2017年4月18日开幕的 F8 年度开发者大会上,Facebook 发布的一款全新的开源深度学习框架。

(2.3) Caffe2go是一个以开源项目Caffe2为基础、使用Unix理念构建的轻量级、模块化框架。其核心架构非常轻量化,而且可以附加多个模块。它是Facebook开发的一个可以在移动平台上实时获取、分析、处理像素的深度学习框架Caffe2Go。

&&2. caffe的环境搭建

 主要是分为两步:1、安装依赖     2、git源代码进行编译

 官方安装教程:http://caffe.berkeleyvision.org/installation.html

&&3.caffe2 的环境搭建

@@1.安装 anaconda 

@@2.创建一个caffe2 环境

@@3.打开命令窗口 ,执行 下面命令 :conda install -c caffe2 caffe2

进行安装,成功是下面这样的:

进行安装验证,出现下面,就代表成功了:

python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"

二、caffe的依赖包

该笔记来自:https://blog.csdn.net/u012494820/article/details/52013905 ,如有侵权,立马删除

1. ProtoBuffer

    ProtoBuffer是Google开发的一种可以实现内存与非易失存储介质(如硬盘文件)之间数据交换的协议接口。caffe中使用ProtoBuffer作为 权值和模型参数的载体,用户只需要建立统一的参数描述文件(proto),利用protoc编译便可以进行数据的高效传递。

2. Boost

    Boost被称为“C++标准库”,使用了很多现代编程技术,内容广泛。

3. GFLAGS

    在caffe中发挥命令行参数解析的作用。

4. GLOG

    GLOG是Google开发的用于记录应用程序日志的实用库,在caffe中主要用于开发者查看训练过程的中间输出。

5. BLAS

    由于卷积神经网络中主要进行矩阵、向量之间的运算,caffe调用BLAS(Basic Linear Algebra Subprograms)中的方法将其实现。书中介绍了gemm(基本矩阵-矩阵乘积运算)和gemv(基本矩阵-向量乘积运算)两个函数,讲的很好。

6. HDF5

    HDF5是一种高效存储和分发科学数据的新兴数据格式。caffe模型可以选择保存为HDF5格式,或者默认的ProtoBuffer格式。

7. OpenCV

    OpenCV是世界上最流行的开源计算机视觉库。

8. LMDB和LEVELDB

    LMDB和LEVELDB是一种内存映射型数据库管理器,caffe中利用它将原始数据(图片、二进制数据等)转化为统一的Key-Value存储,便于DataLayer获取这些数据。

9. Snappy

    Snappy是一个用于压缩和解压缩的C++库。

猜你喜欢

转载自blog.csdn.net/zr940326/article/details/82049101
今日推荐