深度学习框架Caffe学习之依赖库
2016-06-14 22:16
176 查看
Caffe是UC Berkeley的Ph.D贾扬清写的一个用于深度学习的框架,编程语言C++,GPU计算则是使用cuda加速,CPU的计算主要是依赖于BLAS进行加速。
依赖库如下:
1. Cuda
2. BLAS
3. ProtoBuff
4. Opencv
5. Boost
6. Google-glog
7.gflags
8. LevelDB和LMDB
9. Snappy
10. HDF5
依赖库如下:
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,可以存储不同类型的图像和数码数据的文件格式, 并且可以在不同类型的机器上传输,同时还有统一处理这种文件格式的函数库。 大多数普通计算机都支持这种文件格式。
相关文章推荐
- CUDA搭建
- 稀疏自动编码器 (Sparse Autoencoder)
- 白化(Whitening):PCA vs. ZCA
- softmax回归
- 卷积神经网络初探
- Some Notes of Caffe Installation
- Some Notes of Python Interfaces Pycaffe (Caffe)
- TensorFlow人工智能引擎入门教程之九 RNN/LSTM循环神经网络长短期记忆网络使用
- TensorFlow人工智能引擎入门教程之十 最强网络 RSNN深度残差网络 平均准确率96-99%
- TensorFlow人工智能入门教程之十一 最强网络DLSTM 双向长短期记忆网络(阿里小AI实现)
- TensorFlow人工智能引擎入门教程之十二 Caffe转换tensorflow并 跨平台调用
- TensorFlow人工智能入门教程之十四 自动编码机AutoEncoder 网络
- TensorFlow人工智能引擎入门教程所有目录
- 如何用70行代码实现深度神经网络算法
- 近200篇机器学习&深度学习资料分享(含各种文档,视频,源码等)
- 安装caffe过程记录
- DIGITS的安装与使用记录
- zbar依赖库以及环境配置
- 51CTO学院优质新课抢先体验-5折好课帮你技能提升、升职加薪
- caffe ubuntu 14.04 install