您的位置:首页 > Web前端

深度学习框架Caffe学习之依赖库

2016-06-14 22:16 176 查看
Caffe是UC Berkeley的Ph.D贾扬清写的一个用于深度学习的框架,编程语言C++,GPU计算则是使用cuda加速,CPU的计算主要是依赖于BLAS进行加速。

依赖库如下:

1. Cuda

NVIDIA公司推出的基于NVIDIA显卡的GPU计算接口,大大提高计算速度


2. BLAS

Basic Linear Algebra Subprograms,即基础线性代数子程序库,提供了各种加速向量和矩阵运算的接口。


3. ProtoBuff

Google开源的用于数据交换的库,主要是用于将对象序列化或反序列化,并进行传输。
在Caffe中主要作用是将模型和各种参数进行序列化。


4. Opencv

非常强大的用于计算机视觉的一个C++的开源库,在Caffe中有点大材小用了。
主要是读写图像和其他的一些基础操作。


5. Boost

Boost是一个C++的库,用途很广,在caffe中主要用到了智能指针、计时器、随机数产生器等。


6. Google-glog

glog是google开源的一个基于C++的日志库,主要用于写日志。


7.gflags

gflags是一个用于C++ 命令行参数处理的一个库。


8. LevelDB和LMDB

LevelDB 是单进程的服务,性能非常之高。
在一台4核Q6600的CPU机器上,每秒钟写数据超过40w,而随机读的性能每秒钟超过10w。
LMDB是openLDAP项目开发的嵌入式(作为一个库嵌入到宿主程序)存储引擎。详见
LMDB和LevelDB都是键/值对(Key/Value Pair)嵌入式数据库管理系统编程库。
虽然lmdb的内存消耗是leveldb的1.1倍,但是lmdb的速度比leveldb快10%至15%。
因此lmdb取代了leveldb成为Caffe默认的数据集生成格式。


9. Snappy

Snappy是google开源的一个基于C++的压缩、解压缩的库。
这个库主要的目标并不是压缩率,而是速度和合理的压缩率。


10. HDF5

Hierarchical Data Format,可以存储不同类型的图像和数码数据的文件格式,
并且可以在不同类型的机器上传输,同时还有统一处理这种文件格式的函数库。
大多数普通计算机都支持这种文件格式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息