Day6 手写数字识别

《21天实战Caffe》学习笔记第6天

练习题3:完成Caffe Cifar10示例

下载数据集

1
2
$ cd ~/caffe/data/cifar10
$ ./get_cifar10.sh

数据的格式转换

将下载的数据集转换为caffe支持的lmdb格式。

1
2
$ cd ~/caffe/examples/cifar10
$ ./create_cifar10.sh

修改训练参数

由于在虚拟机下运行,无法使用GPU进行训练,故需将训练参数中的训练模式设置为CPU模式。

~/caffe/examples/cifar10文件件下,打开cifar10_full_solver.prototxt,将最后的solve mode改为CPU模式。

1
2
# solver mode: CPU or GPU
solver_mode: CPU

进行训练

Cifar10示例提供了多种训练脚本,这里使用train_full.sh进行训练,上一步中修改的参数文件同样是该训练脚本所对应的参数文件。

1
$ ./train_full.sh

训练过程

在虚拟机中用CPU训练了6h 10min,仍未完成,放弃。

虚拟机的CPU分配为2*8,但在训练中只有两个核心在工作:主力核心,一个线程占用20-40%,另一个线程占用约80%;另一个核心,两个线程占用均在20%上下波动。

所以,是我在CPU分配上的理解不对,还是“在原有虚拟机文件上新建虚拟机”导致只能沿用原有虚拟机的CPU分配方式(原有虚拟机的CPU分配是2*2)?根据上述CPU占用情况,似乎是后者。

结果分析

(TODO)

收尾工作

完成训练和分析,删除数据文件,以节省硬盘空间。