• Caffe自带的两个DEMO


    caffe源码包提供了多个DEMO,这里介绍mnitscifar10的实验

    1. mnits

    安装好caffe后,在caffe-master/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参数文件路径.

    查看文件

    gedit examples/mnist/lenet_train_test.prototxt
    

    关注: 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%
     

    参数配置

    gedit examples/mnist/lenet_solver.prototxt
    

     默认是使用GPU完成运算,如果使用的是CPU,则需要修改配置文件

    # 将配置文件最后一项修改
    # solver mode: CPU or GPU
    solver_mode: GPU
    # 为
    solver_mode:CPU
    

     

    2. cifar10

    基本过程同mnist, 执行命令如下:

    ./data/cifar10/get_cifar10.sh
    ./examples/cifar10/create_cifar10.sh
    ./examples/cifar10/train_quick.sh
    

    网络配置

    gedit examples/cifar10/cifar10_quick_train_test.prototxt
    

    参数配置

    gedit examples/cifar10/cifar10_quick_solver.prototxt
    

    运行结果[迭代了5000次,准确路74.8%]:

    3. 生成网络组织模型图形

    下面以打印mnist网络模型为例,利用的是caffe内提供的draw_net.py ,在caffe-master/python目录下,需要make pycaffe之后才可以使用

    在当前目录为caffe-master下,执行

    python ./python/draw_net.py ./examples/mnist/lenet_train_test.prototxt lenet.jpeg
    

     在会在当前路径caffe-master生成一张lennet.jpeg图像

      iiiiiiiii

  • 相关阅读:
    点评cat系列-服务器开发环境部署
    [FreeRTOS].FreeRTOS CortexM3 M4中断优先级设置总结
    [FreeRTOS]FreeRTOS使用
    [Ethernet].以太网总线详解
    [USB].USB总线详解
    [CAN].CAN总线详解
    [LIN].LIN总线详解
    [SDIO].SDIO总线详解
    [eMMC]eMMC读写性能测试
    [通信]Linux User层和Kernel层常用的通信方式
  • 原文地址:https://www.cnblogs.com/AbcFly/p/6307441.html
Copyright © 2020-2023  润新知