|
运行caffe源码自带的mnits和cifar10项目实验
彻底查看是否能在gpu上运行
必须是源码编译安装好caffe才行:
http://www.ai111.vip/thread-1062-1-1.html
http://www.ai111.vip/thread-782-1-1.html
1. mnits
在caffe/examples/mnist目录下可以找到LeNet模型的具体实现
数据下载:运行./data/mnist/get_mnist.sh
在./data/mnist/目录下下载了4个*.gz格式的数据压缩包,train-*是训练数据,t10k-*是测试数据,下载后会利用gunzip命令解压缩[其中源文件会默认被移除]
train-labels-idx1-ubyte.gz => train-labels-idx1-ubyte
train-images-idx3-ubyte.gz => train-images-idx3-ubyte
t10k-labels-idx1-ubyte.gz => t10k-labels-idx1-ubyte
t10k-images-idx3-ubyte.gz => t10k-images-idx3-ubyte
数据格式转换
将上一步下载解压后的文件转换为lmdb文件. Caffe支持多种数据格式输入网络:leveldb,lmdb,HDF5等,可以根据自己需要选择.
./examples/mnist/create_mnist.sh
在 ./examples/mnist/目录下会创建2个文件夹:mnist_train_lmdb和mnist_test_lmdb,其中分别包含data.mdb和lock.mdb两个文件
网络配置
LeNet网络定义在examples/mnist/lenet_train_test.prototxt文件中,需要关注的是里面source参数文件路径.
关注: TRAIN 的data_param的source: "examples/mnist/mnist_train_lmdb", TEST 的data_param的source: "examples/mnist/mnist_test_lmdb"
训练网络
./examples/mnist/train_lenet.sh
# 迭代10000次, 输出 "Optimization Done."
# 准确率达到99%
参数配置examples/mnist/lenet_solver.prototxt
默认是使用GPU完成运算,如果使用的是CPU,则需要修改配置文件
3. 生成网络组织模型图形
下面以打印mnist网络模型为例,利用的是caffe内提供的draw_net.py ,在caffe/python目录下,需要make pycaffe之后才可以使用
在当前目录为caffe下,执行
python ./python/draw_net.py ./examples/mnist/lenet_train_test.prototxt lenet_dfy.png
jpg jpeg 都支持的!
在会在当前路径caffe下生成一张lennet_dfy.png图像
ImportError: No module named pydot
pip install pydot
OSError: [Errno 2] "dot" not found in path
sudo apt-get install graphviz
完美解决! 参考:http://www.ai111.vip/thread-934-1-1.html
- # The train/test net protocol buffer definition
- net: "examples/mnist/lenet_train_test.prototxt"
- # test_iter specifies how many forward passes the test should carry out.
- # In the case of MNIST, we have test batch size 100 and 100 test iterations,
- # covering the full 10,000 testing images.
- test_iter: 100
- # Carry out testing every 500 training iterations.
- test_interval: 500
- # The base learning rate, momentum and the weight decay of the network.
- base_lr: 0.01
- momentum: 0.9
- weight_decay: 0.0005
- # The learning rate policy
- lr_policy: "inv"
- gamma: 0.0001
- power: 0.75
- # Display every 100 iterations
- display: 100
- # The maximum number of iterations
- max_iter: 10000
- # snapshot intermediate results
- snapshot: 5000
- snapshot_prefix: "examples/mnist/lenet"
- # solver mode: CPU or GPU
- solver_mode: GPU
复制代码
|
|