0、参考文献

[1]caffe官网《Training LeNet on MNIST with Caffe》; 
[2]薛开宇《读书笔记4学习搭建自己的网络MNIST在caffe上进行训练与学习》([1]的翻译版,同时还有作者的一些注解,很赞);

1、*.sh文件如何执行?

①方法一:有sh后缀名的是linux脚本文件,在windows下为了执行这个文件,应该下载git。然后对于sh文件右键,打开方式,选择git-bash.exe。 
②方法二:直接将后缀名改成“bat”然后双击。

2、如何载入MNIST数据并且开始训练?

(1)首先明确我们需要设定两个重要的prototxt文件,它们分别是CAFFE_ROOT/examples/mnist下的lenet_train.prototxt和lenet_solver.prototxt。 
(2)在lenet_train.prototxt中: 
①在此给出用于训练的MNIST数据mnist-train-leveldb以及mnist-test-leveldb的路径; 
②在此定义这个网络都有哪些层,给出每一层的定义。 
(3)在lenet_solver.prototxt中: 
①在此指明我们要训练的网络是lenet_train.prototxt,给出lenet_train.prototxt的路径; 
②在此指定是用CPU还是GPU。 
(4)在CAFFE_ROOT/examples/mnist下找到sh文件train_lenet.sh,在里面给出: 
①caffe编译后生成的可执行文件exe的名称(带不带“.exe”都可以),后面跟“train”代表选择“训练”; 
②刚才写好的lenet_solver.prototxt的路径。 
然后双击执行该脚本文件即可。

3、关于路径

如2中所述,在这两个prototxt和一个sh文件中,都要指明一些文件的路径。现总结如下: 
(1)lenet_train.prototxt中:训练集mnist-train-leveldb与测试集mnist-test-leveldb的路径; 
(2)lenet_solver.prototxt中:3-(1)的prototxt文件lenet_train.prototxt的路径; 
(3)train_lenet.sh中:caffe可执行文件exe名称,以及3-(2)的prototxt文件lenet_solver.prototxt的路径。

4、能够让程序跑起来的设置方法(法一)

(1)在CAFFE_ROOT/x64/Debug中,新建一个文件夹example2,使该文件夹与可执行文件Caffe.exe处于同一路径中; 
 
不要管examples和myexamples,这两个文件夹是师兄拷给我的时候就有了的,一个是caffe自带的,一个是师兄做的实验。总而言之与example2是独立关系。

(2)将刚才CAFFE_ROOT/examples/mnist下的mnist-test-leveldb、mnist-train-leveldb、lenet_train_test.prototxt以及lenet_solver.prototxt这四个文件全部拷贝到example2中去。 

(3)设定prototxt文件,给出相应的路径。 
①lenet_train_test.prototxt 
这个文件即之前说的lenet_train.prototxt,为了便于区分在后面加了一个_test。给出相对路径如下: 

此处给出绝对路径也是可以的。如: 

②lenet_solver.prototxt 
设置相对路径: 

这里给出绝对路径也是可以的。如: 

(4)将CAFFE_ROOT/examples/mnist下的train_lenet.sh文件拷贝到CAFFE_ROOT/x64/Debug中,使之与可执行文件Caffe.exe以及example2处于同一目录下。 
 
打开train_lenet.sh文件,修改内容如下: 
 
修改该文件后缀名为bat,双击train_lenet.bat,则可以成功跑起来。 

5、能够让程序跑起来的设置方法(法二)

这一次我们不再新建example2,亦不改动sh文件后缀名为bat,而是直接在CAFFE_ROOT/examples/mnist下修改两个prototxt文件和一个sh文件。这种方法更加简单直接,但是要注意保存prototxt文件备份以免写坏了改不回去。 
关于这两个prototxt文件如何设置路径在此不赘述。我直接给出设置截图如下: 
lenet_train_test.prototxt: 

lenet_solver.prototxt: 

接下来设置sh文件train_lenet.sh: 

设定完毕后,双击sh文件,则可以出现如下结果: 

6、总结

(1)在设置一些文件的路径时,可以给出绝对路径,也可以给出相对路径。 
(2)在使用train_lenet.sh训练时,可以直接使用sh文件跑起来,也可以修改后缀名为bat然后跑程序。 
(3)本文仅仅针对于如何“训练网络”展开,至于如何开启测试模式test对已经训练好网络进行测试,目前还没有进行这个实验,等之后做好了会更新文章的。

CAFFE怎样跑起来相关推荐

  1. caffe linux跑自己数据,caffe+linux平台——跑深度学习的流程

    大家好,放假在即,来整理一波在Linux上用caffe跑深度学习的流程,免得开学回来忘记. 以下地址均为我自己电脑上的地址,大家要照着跑请自行修改地址哦! 1.将训练和测试的图像放入examples- ...

  2. 在caffe上跑自己的数据

    本文介绍如何使用caffe对自己的图像数据进行分类. 1 图片数据库准备 由于图片数据收集比较费时,为了简单说明,我用了两类,dog和bird,每种约300张.train200张,val100张. 新 ...

  3. TensorRT加速 ——NVIDIA终端AI芯片加速用,可以直接利用caffe或TensorFlow生成的模型来predict(inference)...

    官网:https://developer.nvidia.com/tensorrt 作用:NVIDIA TensorRT™ is a high-performance deep learning inf ...

  4. 从零开始山寨Caffe·壹:仰望星空与脚踏实地

    请以"仰望星空与脚踏实地"作为题目,写一篇不少于800字的文章.除诗歌外,文体不限. --2010·北京卷 仰望星空 规范性 Caffe诞生于12年末,如果偏要形容一下这个框架,可 ...

  5. win10下使用caffe训练自己的数据,车牌二分类

    caffe编译参考:http://blog.csdn.net/cym1990/article/details/72630584 1.数据格式转换 Caffe采用leveldb或者lmdb的数据格式. ...

  6. 不一样的显卡,在Pytorch中跑相同的网络,配置文件、参数、数据集完全相同,为什么训练结果相差特别多?

    gtx1070和gtx660,两个显卡,分别在caffe中跑相同的网络,配置文件.参数.数据集完全相同,为什么训练结果相差特别多,1070的训练损失特大,准确率与瞎猜差不多,反而是660的老显卡准确率 ...

  7. Ubuntu14.04+caffe+cuda8.0+cudnn5.0配置

    Ubuntu14.04+caffe+cuda8.0+cudnn5.0配置 自从实验室配置了新电脑,我们就开始折腾了~ 一开始是只菜鸟,Linux是啥都闹不清,因为实验室要用caffe研究深度学习,然后 ...

  8. 深度机器学习中的batch的大小对学习效果有何影响?

    深度机器学习中的batch的大小对学习效果有何影响? 如题,在深度学习中,刚入门的小弟一直听闻一个batch中同时训练多个数据可以得到较好的效果,于是小弟在caffe上跑deepID的网络时对如何选取 ...

  9. 【PTVS+Theano+CPU/GPU】在windows下使用VS安装theano深度学习工具

    唉.好不容易折腾完毕caffe,突然发现caffe比较适合搭建卷积神经网络,而对于DBN和LSTM的搭建好像比较麻烦,相关教程没有找到,手头上又有一个theano的代码想调试看看,所以入坑了. 准备工 ...

最新文章

  1. 中考计算机应用技术有前途吗,被中考“淘汰”的职高生,未来的就业前景怎么样,你知道吗?...
  2. 超实用资源,SCI写作到投稿全阶段模板
  3. Ionic3 通讯录索引的实现
  4. go分析和kegg分析_干货预警:3分钟搞定GO/KEGG功能富集分析(2)
  5. LeakCanary上传 leak trace 到服务器
  6. nginx学习文档之二 配置负载均衡-负载均衡发现的问题
  7. 随机取出若干条记录的SQL语句
  8. 华为odjava机试题_手心里的咕咕机,华为手机大小,性价比赶超小米的学习打印机...
  9. mysql 内存性能优化
  10. UG NX10 NX12 用曲线方程式绘制实体模型的方法
  11. android实现图片自动轮播代码,Android实现图片轮播切换实例代码
  12. android应用的关闭自动更新,软件自动更新怎么关闭 安卓关闭软件自动更新
  13. power BI爬取网页数据方法
  14. python框架知乎_我正在学习python的flask框架?为什么样知乎没有选择 Ruby
  15. php阴阳万年历转换的接口,PHP编程实现阳历转换为阴历的方法实例
  16. XP IIS之——问题总结
  17. 图片无缝拼接 html,snapseed如何无缝拼接图片
  18. 穷人思维和富人思维的根本区别在于底层系统不一样
  19. CUDA_ERROR_LAUNCH_TIMEOUT
  20. 高压直流电源系统(直流ups)有哪些特点?

热门文章

  1. 453. 最小操作次数使数组元素相等
  2. python indexerror怎么办_Python IndexError:使用列表作为可迭代对象时...
  3. c++实现简单线程池代码
  4. Hibernate中把Session和线程绑定的配置
  5. 计算机常用英语1000个,1000个常用英语单词.pdf
  6. workerman json mysql_workerman-json-rpc
  7. Qt控件大小自适应电脑分辨率问题
  8. 使用touch更新文件的时间
  9. Linux编程手册读书笔记第二章(20140330)
  10. UVA - 540:Team Queue