深度学习Caffe框架总结

本文详细介绍了Caffe框架的核心模块,包括Syncedmemory用于GPU-CPU内存同步,Blob和Layer的封装,以及Net和Solver的结构。还探讨了如何通过C++和Python接口实现数据处理、模型组装和参数更新,以及CenterLoss的C++实现。

Caffe

核心模块

  • Syncedmemory
  • Blob
  • Layer
  • Net
  • Solver
  • IO
  • 多GPU

Syncedmemory是GPU与CPU内存之间的数据交互的封装。
Blob完成操作数据的封装;模型参数和更新量的封装。
Layer表示模型层。
Net表示网络模型,包含Blob数组和Layer数组。
Solver包含Net。可继承出新的更新方法。
IO完成输入数据和初始化。

Caffe未采用符号计算的模式。

Layer

采用工厂方法创建对象。
初始化通过SetUp函数完成,内部主要函数: LayerSetUp、Reshape、SetLossWeights。
前向计算:

Forward_cpu(bottom, top);
    for (int top_id = 0; top_id < top.size(); ++top_id) {
   
   
      if (!this->loss(top_id)) {
   
    continue; }
      const int count = top[top_id]->count();
      const Dtype* data = top[top_id]->cpu_data();
      const Dtype
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值