一开始看代码的时候会纳闷,为啥caffe里头又一个
cpu_data
还要有一个mutable_cpu_data
其实从字面就可以看出来这个mutable就是易变的意思啦。
二话不说翻出源代码看看究竟有啥区别:
const void* SyncedMemory::cpu_data() {to_cpu();return (const void*)cpu_ptr_;
}
void* SyncedMemory::mutable_cpu_data() {to_cpu();head_ = HEAD_AT_CPU;return cpu_ptr_;
}
他们之间就相差一个
head_ = HEAD_AT_CPU;
这是为什么呢?为啥需要这样做?
我想原因就是
当你想读取数据的时候请使用cpu_data
当然想修改数据的时候请你使用mutable_cpu_data。
这样就提示系统数据我改过啦,你要小心了的意思(我只知道数据一定在CPU上)。
另外还有一个 gpu_data和mutable_gpu_data,也是这样的原因。

Caffe解惑:为什么Caffe里头有mutable_cpu_data和cpu_data相关推荐

  1. Caffe解惑:Caffe中是如何控制loss的

    caffe是使用loss_weight控制loss的传递 在基本类Layer里的函数如下 对于loss Layer loss_weight非0,对于非loss Layer,loss_weight都是0 ...

  2. Caffe解惑:caffe中的前传和反传是如何确定的?

    有人一直对Caffe does all the bookkeeping for any DAG of layers to ensure correctness of the forward and b ...

  3. 【caffe解读】 caffe从数学公式到代码实现1-导论

    文章首发于微信公众号<与有三学AI> [caffe解读] caffe从数学公式到代码实现1-导论 真的很多年没有认真写csdn博客了,我回来了 今天开一个新板块,目标是死磕现有的几大机器学 ...

  4. 「caffe速成」caffe图像分类从模型自定义到测试

    https://www.toutiao.com/a6697741728985645581/ 这一次我们讲讲 Caffe 这个主流的开源框架从训练到测试出结果的全流程.到此,我必须假设大家已经有了深度学 ...

  5. 【caffe速成】caffe图像分类从模型自定义到测试

    文章首发于微信公众号<与有三学AI> [caffe速成]caffe图像分类从模型自定义到测试 这是给大家准备的caffe速成例子 这一次我们讲讲 Caffe 这个主流的开源框架从训练到测试 ...

  6. [caffe(一)]使用caffe训练mnist数据集

    1.数据集的下载与转换 1)我们在mnist数据集上做测试,MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris ...

  7. caffe linux 教程,Caffe 深度学习入门教程 - 安装配置Ubuntu14.04+CUDA7.5+Caffe+cuDNN_Linux教程_Linux公社-Linux系统门户网站...

    安装配置Ubuntu14.04+CUDA7.5+Caffe+cuDNN 一.版本 Linux系统:Ubuntu 14.04 (64位) 显卡:Nvidia K20c cuda: cuda_7.5.18 ...

  8. caffe函数入口caffe.cpp详解

    概览 这篇博客解析caffe函数入口caffe.cpp,主要内容为caffe启动框架,基本不涉及深度学习的具体内容,内容十分基础,适合新手阅读.下面所有的代码解析都以训练lenet手写数字体识别为例, ...

  9. caffe入门学习:caffe.Classifier的使用

    caffe入门学习:caffe.Classifier的使用 在学习pycaffe的时候,官方一直用到的案例就是net=caffe.net(.../deploy.protxt,..../xxx.caff ...

最新文章

  1. “网络管理”产品介绍
  2. Oracle的PL/SQL编程前奏之基础技能实战一(匿名子程序)
  3. C语言学习 - 字节对齐
  4. Difference Between HashMap and IdentityHashMap--转
  5. 今日笔记!——分析Java应用性能
  6. mysql添加 分隔_分割字符串并插入表---mysql
  7. 水很深的深度学习-Task03前馈神经网络
  8. phthon学习笔记(3)
  9. tomcat配置url跳转_Tomcat安装、配置、优化及负载均衡详解
  10. Flink查询关联Hbase输出
  11. android短信uri,Android开发,URI 如:发短信,发彩信,调用通讯录等
  12. finecms aip.php漏洞,finecms V5 会员头像任意文件上传漏洞 附修复代码
  13. Nginx配置Https 443 端口
  14. 参加百度深度学习培训总结
  15. 公众号如何运营?我的经验总结
  16. I2C协议研读(三):仲裁和时钟同步
  17. 举个栗子!Tableau 技巧(116):做一个有趣的锥状柱形图
  18. Flutter编程之BoxDecoration用法详解
  19. CefSharp 浏览器打开多个
  20. 解决PanDownload登录提示账号登录失败,获取bdstoken失败问题

热门文章

  1. HTML中音视频的实现
  2. Oracle insert all语句介绍
  3. arduino点阵声音频谱_Arduino频谱分析模块 V2
  4. python中常用的内置方法(min,max,sum,梅举,zip)
  5. 重装系统时不小心全盘重新分区的恢复方法
  6. 千万不要给手机root权限
  7. 电脑窗口保护视力颜色
  8. oracle rman介绍,oracle RMAN 简要介绍及使用
  9. Python - 爬虫 - Xpath定位之starts-with()和string()函数的简单使用
  10. B. Serval and Inversion Magic