common.cpp_hpp
common.hpp
- 定义了常用的宏
- 定义单例类Caffe
常用的宏
- 不能赋值不能拷贝:将拷贝构造函数和赋值函数声明为private,无需定义。
- NOT_IMPLEMENTED: 定义为LOG(FATAL)
定义单例Caffe
单例模式的实现方法有很多种,这里的实现方法如下。
- 定义一个static 全局指针(boost::thread_specific_ptr,该指针是thread local指针)
- 定义class Caffe的构造函数为私有的。
- Get函数获取Caffe单例的引用,如果全局指针不是null,即new一个Caffe实例;否则,返回caffe实例。
class Caffe的任务:
- 管理cublas,curand资源
- 生成随机数生成器
杂项
- linux下,生成随机数的种子获取方式: 读取“/dev/urandom”文件,或者根据时间生成。
- common.cpp 中包括gflags和glog的初始化函数。
本文介绍了Caffe中的单例模式实现方法,通过使用thread-specific指针管理全局唯一实例,并探讨了Caffe类的任务,包括管理和初始化cublas及curand资源,以及生成随机数的方法。
1639

被折叠的 条评论
为什么被折叠?



