您的位置:首页 > Web前端

CAFFE源码阅读(compute_image_mean.cpp)

2015-10-07 16:46 483 查看

介绍

在使用caffe时,需要从原始的图像数据中建立caffe接受的输入数据imdb。在此过程中,有一步为计算平均值。是用$CAFFE/tool/compute_image_mean.cpp实现的。根据教程,对这一部分代码的阅读可以学习熟悉如何操作多个组件,包括:protocol buffers,leveldbs和logging。这里是我对与compute_image_mean.cpp的阅读理解。该文件内容比较少,是一个很好的例子文件,将作为我阅读caffe源码的第一个文件。

阅读中可能需要了解的东西:

gflags,这里我参考了http://www.leoox.com/?p=270对于gflags的一些介绍。

boost::scoped_ptr,Boost智能指针。这里不在介绍。

进入主题

第一个遇到的类DB。

数据结构: 类DB,头文件caffe/util/db.hpp,CPP文件caffe/src/caffe/util/db.cpp。

[code]class DB {
 public:
  DB() { }
  virtual ~DB() { }
  virtual void Open(const string& source, Mode mode) = 0;
  virtual void Close() = 0;
  virtual Cursor* NewCursor() = 0;
  virtual Transaction* NewTransaction() = 0;

  DISABLE_COPY_AND_ASSIGN(DB);
};


这里定义了类DB,都是一些虚函数。

接着是lmdb与leveldb,是DB的子类,对应于caffe输入的两类数据。这里主要使用到lmdb,因此以它为例。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: