(caffe)common.cpp_hpp

本文介绍了Caffe中的单例模式实现方法,通过使用thread-specific指针管理全局唯一实例,并探讨了Caffe类的任务,包括管理和初始化cublas及curand资源,以及生成随机数的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

common.cpp_hpp

common.hpp

  • 定义了常用的宏
  • 定义单例类Caffe
常用的宏
  1. 不能赋值不能拷贝:将拷贝构造函数和赋值函数声明为private,无需定义。
  2. NOT_IMPLEMENTED: 定义为LOG(FATAL)
定义单例Caffe

单例模式的实现方法有很多种,这里的实现方法如下。

  1. 定义一个static 全局指针(boost::thread_specific_ptr,该指针是thread local指针)
  2. 定义class Caffe的构造函数为私有的。
  3. Get函数获取Caffe单例的引用,如果全局指针不是null,即new一个Caffe实例;否则,返回caffe实例。
class Caffe的任务:
  1. 管理cublas,curand资源
  2. 生成随机数生成器
杂项
  1. linux下,生成随机数的种子获取方式: 读取“/dev/urandom”文件,或者根据时间生成。
  2. common.cpp 中包括gflags和glog的初始化函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值