用Python做深度学习(一)

对于深度学习来讲的三要素: 数据 模型 算法

深度学习对应着的过程: 准备数据 --定义Net-- 配置solver--run-- 分析结果

caffe的运行是在安装的caffe的目录下进行的,这里需要关注的是路径问题,在运行不了或者运行错误时,要注意运行的路径

(一)准备数据-- 以caffe自带的mnist为例进行

caffe-master/data/mnist/get_mnist.sh 运行此脚本可以得到需要的mnist数据

caffe-master/example/mnist/creat_mnist.sh 运行此脚本可以得到我们想要的数据格式,这里是LMDB的数据格式,这里,在同一文件夹下得到了mnist_train_lmdb和mnist_yest_lmdb两个文件夹,说明数据已经准备完毕

(二)定义Net

一般的较小的层我们可以通过caffe自己编写,但是层数较多的网络,我们要借助python接口去运行

(三)定义Solver

solver里面定义的是我们在训练过层中需要使用的一些算法的和与其相关的一些参数的配置,也是及核心部分,我们可以根据我们获取的信息,调整solver里面的参数。

下面贴出一个网络的Solver

train_net: "train_v2.prototxt"
test_net: "test.prototxt"
test_iter: 619

#训练迭代多少次进行一次test验证
test_interval: 10000
base_lr: 0.001
#每迭代多少次展示在窗口上
display: 10
#最大迭代次数
max_iter: 60000
lr_policy: "multistep"
#lr_policy: "step"
#stepsize:100
gamma: 0.1
momentum: 0.9
weight_decay: 0.0005
#存储中间结果
snapshot:100
#snapshot_prefix: "home/abc/Document/caffe/models/VGGNet/VOC0712/SSD_300x300/VGG_VOC0712_SSD_300x300"
snapshot_prefix:'snapshot'
solver_mode: GPU
device_id: 0
debug_info: false
snapshot_after_train: true
test_initialization: false
average_loss: 10
stepvalue: 60
stepvalue: 80
stepvalue: 100
iter_size: 8
type: "SGD"
eval_type: "detection"
ap_version: "11point"

你可能感兴趣的:(用Python做深度学习(一))