这几天开始开始忙着找工作的事情,由于简历中写道熟悉深度学习框架caffe,为避免在面试的时候问及caffe框架相关的问题,就对caffe的框架进行重温一遍。
第三方依赖库
caffe安装需要的依赖包比较多,下面介绍这些依赖包的用途:
- protobuffer:用户建立统一的参数描述文件(proto),然后利用protoc编译就能让协议(prototxt)等部分关键代码自动生成,节省大量开发,调试代码时间。
- boost:caffe中使用了boost中的智能指针,其自带引用计数功能,可避免共享指针时造成的内存泄漏问题;
- gflags:命令行参数解析;
- glog:用于记录应用程序日志;
- openBLAS:负责caffe中CPU端的数值计算(如矩阵、向量的乘法运算),由于调用量相当大,该库的性能直接影响caffe的运行性能;
- hfd5:存储不同类型的图像和数码数据;
- OpenCV:计算机视觉库,包含大量图像处理函数,caffe使用这个完成图像存取和预处理功能;
- lmdb和leveldb:将各种原始数据(jpeg图片,二进制数据等)转化为key-value存储,便于caffe快速获取这些数据;
- snappy:压缩和解压缩;