ubuntu 下caffe框架内一个训练流程小记
训练伊始:获取数据集
所需要执行的文件是 get_<数据集名>.sh 但是该文件的执行需要在指定的文件夹下面,而非是caffe根目录。故而在执行之前需要先cd切换到指定的文件夹
例如:当你需要执行 get_mnist.sh 时首先要做:
$ cd #直接回到home目录
$ cd caffe/data/mnist #到caffe目录下找data文件夹然后进入mnist文件夹
$ ./get_mnist.sh #我的电脑跑CPU,不知为何不能用sh get_mnist.sh 命令来执行
得到之后需要再执行creat_mnist.sh 但是此时必须要在caffe根目录下执行而不是先进入mnist文件夹后执行
$ cd ~/caffe #回到caffe根目录下 当前在mnist文件夹下不能用cd caffe 直接回到上层次的caffe文件夹
$ ./examples/mnist/create_mnist.sh
执行完以上两步之后再需要更改参数文件修改为CPU做训练 因为要执行文件train_lenet.sh 可手动打开看看需要修改的.prototxt 文件有哪些
其中提到的路径为examples/mnist/lenet_solver.prototxt
故而打开lenet_solver.prototxt 进行CPU_ONLY的修改
找到文件 lenet_solver.prototxt 用gedit打开后将最后一行solver_mode:GPU 修改为 solver_mode:CPU
lenet 是模型的名称,而solver基本上存放着可调参数。其实后缀为prototxt很多都是用来修改配置的
该文件路径: caffe/example/<数据集名>
可以直接用文件管理器找到文件,也可以用终端执行命令打开
$ sudo gedit caffe/examples/mnist/lenet_solver.prototxt
# 假设当前的目录为home,TIP:在当前目录下取下个文件夹时前面不能加/;也就是gedit caffe 不可写为gedit /caffe修改完之后回到caffe目录下开始训练:
$ cd ~/caffe #回到caffe目录下
$ ./examples/mnist/train_lenet.sh 最终训练完的模型存储:
examples/mnist/lenet_iter_10000.caffemodel
./build/tools/caffe.bin test -model=examples/mnist/lenet_train_test.prototxt -weights=examples/mnist/lenet_iter_10000.caffemodel训练结束后开始测试:
$ ./build/tools/caffe.bin test -model=examples/mnist/lenet_train_test.prototxt -weights=examples/mnist/lenet_iter_10000.caffemodel同理 如果是cifar10数据库
$ cd ~/caffe/data/cifar10
$ ./get_cifar10.sh #在cifar10目录下执行,未尝试过直接在caffe目录下执行
$ cd ~/caffe
$ ./examples/cifar10/create_cifar10.sh #不到caffe目录下执行会报错
打开train_quick.sh
发现提到两个.prototxt 文件,故而将两个都做CPU_ONLY的修改
但是,留心发现不单单有train_quick.sh 还有train_full.sh train_full_sigmoid.sh train_full_sigmoid_bn.sh 等训练文件
根据自己所需要执行的训练文件来修改所涉及的.prototxt文件中的CPU_ONLY
训练模型:
$ ./examples/cifar10/train_quick.sh
测试:参考以上的测试输入命令,下面贴出网络查询到的自己定义网络所输入的命令供之后分析
python python/classify.py
--model_def examples/cifar10/cifar10_quick.prototxt
--pretrained_model examples/cifar10/cifar10_quick_iter_4000.caffemodel.h5
--center_only examples/images/cat.jpg foo 其中出现的model_def,pretrained_model,center_only ,这些参数哪些可选?哪些必选?
较之mnist的test命令
./build/tools/caffe.bin test
-model=examples/mnist/lenet_train_test.prototxt
-weights=examples/mnist/lenet_iter_10000.caffemodel有model,weights这两个参数,已知的是GPU=0,这个是可选参数,选择零号GPU
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)