使用caffe训练自己的数据

这里先介绍采用image-net来训练自己的数据:

1 准备数据:

    1.1 训练数据准备:

        假设放在:
            ~/Data/train

    1.2 确认数据准备:

        假设放在:
            ~/Data/val

    1.3 准备两个txt文档:

        1.3.1 准备train.txt:

            内容为:训练数据图片名称+标签
            格式样例:
                0001.jpg 1
                0002.jpg 2

        1.3.2 准备val.txt:

            内容为:确认数据图片名称+标签
            格式样例:
                0001.jpg 1
                0002.jpg 2
        假设这两个文件均放在:
            ~/Data
    这里将数据最好放在自己的用户组里面,放在别的用户组,
    在调用image-net的时候可能会涉及到权限问题导致运行失败。

2 修改creat_imagenet.sh参数:

    2.1 修改所创建数据的存储位置

        EXAMPLE=example/imagenet
        改为:自己想存放的位置。(不建议修改,不然还需要做相应的修改,挺麻烦的)
        我这里没有做修改,所以在执行creat_imagenet.sh之后,
        在~/XXX/caffe/example/imagenet的目录下产生了两个文件:
            ilsvrc12_train_lmdb  ilsvrc12_val_lmdb

    2.2 修改txt存放的目录

        DATA=data/ilsvrc12
        改为:DATA=/home/XXX/DATA

    2.3 修改训练数据的目录

        TRAIN_DATA_ROOT=/path/to/imagenet/train/
        改为:TRAIN_DATA_ROOT=/home/YYY/Data/train/

    2.4 修改确认数据的目录

        VAL_DATA_ROOT=/path/to/imagenet/val/
        改为:VAL_DATA_ROOT=/home/YYY/Data/val/

3 回到caffe的根目录执行creat_imagenet.sh:

    ./example/imagenet/creat_imagenet.sh
    也就是根据自己的数据已经产生了两个数据,存放在caffe/example/imagenet中:
        ilsvrc12_train_lmdb  ilsvrc12_val_lmdb

4 在caffe根目录中执行make_imagenet_mean.sh:

    4.1 修改EXAPLE参数:

        如果前面做了修改,那么这里做相应的修改

    4.2 修改DATA参数:

        这个参数是指明所求的均值存放的位置。(不建议修改,不然还需要做相应的修改,挺麻烦的)
        我这里不做修改,也就是将会在caffe/data/ilsvrc12中产生:
            imagenet_mean.binaryproto

    4.3 回到caffe的根目录执行make_imagenet_mean.sh:

        ./example/imagenet/make_imagenet_mean.sh
        执行完了之后,将会在caffe/data/ilsvrc12中看到一个执行结果:
            imagenet_mean.binaryproto

5 进行训练:

    5.1 修改所创建数据的目录:

        如果前面2.1中做了修改,
        那么在目录caffe/models/bvlc_reference_caffenet中
        需要修改train_val.prototxt中相应地方。

    5.2 修改均值结果目录:

        如果前面4.2中做了修改,
        那么在目录caffe/models/bvlc_reference_caffenet中
        需要修改train_val.prototxt中相应地方。

    5.3 模型参数修改:

        请参考: http://blog.csdn.net/hmxiaobao/article/details/51443794

    5.4 回到caffe根目录进行训练:

        ./example/imagenet/train_caffenet.sh
        因为很多参数我都没有修改,所以迭代了450000次。
        更详细的描述可以参考:
            http://blog.csdn.net//chenriwei2/article/details/38735891
        每迭代10000次的时候,会保存一个类似运行环境一样的东西吧。
        如果中途突然断电之类的,终止了程序运行,那么可以直接运行:
            ./example/imagenet/resume_training.sh
        训练好的模型存放在caffe/models/bvlc_reference_caffenet中。
       
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值