caffe小问题汇总(持续更新)
PS:所有问题均在caffe-windows下产生
1、为什么AlexNet中,InnerProduct_Layer(fc8)层的输出可以直接作为Accuracy_Layer层的输出?
答:首先,我们要搞清楚,全连接层的输出是什么。全连接层的操作其实也是卷积操作,只不过要求卷积核的尺寸与输入进来的FeatureMap相同,因此全连接层输出的向量大小为1*1。
其次,为什么全连接层输出可以作为accuracy。因为该输出表示输入的样本属于某一类的可能性的大小,但并不是概率,所以如果仅仅是做预测,全连接层的输出就够了。
2、caffe源码中,各layer的forward_gpu()和backward_gpu()实现在哪里?对应的*_layer.cpp中只有*_cpu的实现。
答:在*.cu文件中,具体位置在.\caffe\caffe-windows\src\caffe\layers\。具体区别是:cuda的程序就放到cu中,其他的都可以放到c中
其实都可以直接写到cu中,nvcc的编译器会自动把host段的代码放到c的编译器编译。(我自己也不是很懂,是从网上招来的答案)
3、InnerProduct_Layer输出的featuremap大小是多少?
答:在全连接层,其实进行的也是卷积的操作。只不过卷积核的尺寸等于输入的FeatureMap的尺寸。因此全连接层的输出大小为1*1。
4、卷积层的卷积操作是如何实现的?
答:见http://blog.csdn.net/mounty_fsc/article/details/51290446,该文作者给出了详细的解释。
5、为什么用python进行“import caffe”时,会出现“No Module Named Caffe”错误?
答:原因是因为caffe文件中的pycaffe未编译。解决方法:(1)修改$\caffe\caffe-windows\windows下的CommonSettings.props文件,如下图:
;
将13行false改为true,将PythonDir改为当前Anaconda2所在位置。
(2)编译pycaffe成功后,将build/x64/Release/pycaffe/caffe文件夹拷贝到c:\Anaconda2\Lib\site-packages即可。
6、在python中使用均值文件,为什么mean.binaryproto文件不可用?
答:在python环境中使用均值文件,需要将mean.binaryproto文件转为为mean.npy文件。
7.如何计算当前卷积层的参数数目?
答:假设当前层的输出数目为N,卷积层的大小为K*K,输入进来的特征图为M*S*S,其中M为输入的特征图的个数,S*S为特征图的大小。
那么当前卷积层的参数数目为M*K*K*N。
8.用训练好的caffemodel来finetune已知的网络时,出现“check failed:error==cudaSuccess<2 vs. 0> out of memory”错误,该怎么解决?
答:原因是数据本身的batch_size设置过大,导致所需的GPU显存过大,而本身的GPU无法满足导致的。解决办法是:降低训练和测试所需的batch_size即可。
举例:我设置的batch_size=256时,所需的显存为:3901009924,此时出现错误;当我重置batch_size=128时,所需显存为:1950504964,此时可以顺利进行训练。
注:caffe的batch_size,表明一次iteration(迭代)有多少张图片,越大则耗费的显存越多,所以适当降低batch_size即可。
caffe小问题汇总(持续更新)的更多相关文章
- jquery小技巧汇总 持续更新中
1.jquery高亮当前选中菜单 $("document").ready(function(){ $(".menu li").click(function(){ ...
- Salesforce 开发整理(九) 开发中使用的一些小技巧汇总[持续更新]
1.查询一个对象下所有字段 当需要查询一个对象所有字段进行复制或其他操作,可以使用一段拼接的语句来查询 String query = 'select '; for(String fieldApi : ...
- redis日常使用汇总--持续更新
redis日常使用汇总--持续更新 工作中有较多用到redis的场景,尤其是触及性能优化的方面,传统的缓存策略在处理持久化和多服务间数据共享的问题总是不尽人意,此时引入redis,但redis是单线程 ...
- 《WCF技术剖析》博文系列汇总[持续更新中]
原文:<WCF技术剖析>博文系列汇总[持续更新中] 近半年以来,一直忙于我的第一本WCF专著<WCF技术剖析(卷1)>的写作,一直无暇管理自己的Blog.在<WCF技术剖 ...
- 中国.NET:各地微软技术俱乐部汇总(持续更新中...)
中国.NET:各地微软技术俱乐部汇总(持续更新中...) 本文是转载文,源地址: https://www.cnblogs.com/panchun/p/JLBList.html by 史记微软. ...
- 跟我学SpringCloud | 终篇:文章汇总(持续更新)
SpringCloud系列教程 | 终篇:文章汇总(持续更新) 我为什么这些文章?一是巩固自己的知识,二是希望有更加开放和与人分享的心态,三是接受各位大神的批评指教,有任何问题可以联系我: inwsy ...
- 优步UBER司机全国各地最新奖励政策汇总(持续更新...)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://didi-uber.com/archiv ...
- C#、Java中的一些小知识点总结(持续更新......)
前言:在项目中,有时候一些小的知识,总是容易让人忽略,但是这些功能加在项目中往往十分的有用,因此笔者在这里总结项目中遇到的一些实用的小知识点,以备用,并持续更新...... 1.禁用DataGridV ...
- 痞子衡嵌入式:史上最强i.MX RT学习资源汇总(持续更新中...)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MX RT学习资源. 类别 资源 简介 官方汇总 i.MXRT产品主页 恩智浦官方i.MXRT产品主页,最权威的资料都在这里,参考手 ...
- IT书籍下载汇总--持续更新
本书单由北北分享,并持续更新,请将该地址加入收藏夹:北北的书单 .badge{float:right;}.list-group-item > .badge + .badge{margin-rig ...
随机推荐
- 虚拟机oracle virtualbox 上安装centos6.5 网络设置
上篇文章写到,在虚拟机上安装centos6.5,结果依照文章非常顺利的安装了,可是用yum安装软件的时候.报错,源有问题,不能下载,然后ping一下摆渡.非常悲催 dns解析不了,cat /etc/r ...
- 倍福TwinCAT(贝福Beckhoff)应用教程13.2 TwinCAT控制松下伺服 NC自定义直线插补
对于MOVEJ的关节运动来说,我们只关心每个电机的角度(只需要考虑多个电机协同开始运动和结束运动,关键是对每个电机加速度均一化,从而一起跑一起停,这部分内容可以参考机器人学导论以获取更加详细的说明), ...
- Python Socket API 笔记
将上节中的C#该成Python版的容易程度大大超出了我的意料之外.从来没有发现,仅仅用灰尘简单的几句话就实现了该程序的主要功能,可见python的简易和强大之处.这里先对SocketAPI 做一下总结 ...
- js常用工具
1.反编译工具 .NET Reflector 2.js检查工具 ReSharper 8.0.14.856 官方原版+注册机 JScript Editor Extensions JSEn ...
- 转用Jmeter测试RabbitMQ
转自:https://blog.csdn.net/luozhuwang/article/details/62044872 1.下载AMQP插件 github上面有源码,可以通过ant+ivy在本地进行 ...
- 第八章 springboot + mybatis + 多数据源2(解决循环引用)
解决了循环引用 1.application.properties #the first datasource jdbc.names:1,2 jdbc1.driverClassName = com.my ...
- cnetos 6.7彻底解决vmware NAT网络问题
cnetos 6.7彻底解决vmware NAT网络问题 vmnet8在nat时使用 vmnet1 在桥接时使用 *解决Windows不能ping通linux的问题 vmnet8相当于一个网卡,虚 ...
- linux前后台任务切换管理
liuyuan@ebuinfo:/var/www/projects/PHPExcel/Examples$ vi 33chartcreate-line.php & [] liuyuan@ebui ...
- 搭建RocketMQ踩的坑-内存不足
环境是vmvare+ubuntu 1.http://rocketmq.apache.org/docs/quick-start/ 按照官网来启动mqnamesrv和mqbroker报错 错误如下 The ...
- php 循环简写
<?php class a{ public function news($news){ $articles = array(); foreach ($news as $key => $va ...