zoukankan      html  css  js  c++  java
  • caffe读取多标签的lmdb数据

    问题描述:

    lmdb文件支持数据+标签的形式,但是却只能写入一个标签,引入多标签的解决方法有很多,这儿详细说一下我的办法:制作多个data数据,分别加入一个标签。我的方法只适用于标签数量较少的情况,标签数量比较多的话建议修改源码支持。下面介绍详细步骤。以下均以两个标签作为介绍。

    生成两个含单标签的list:

    img1 0
    img2 0
    img3 1
    img4 1
    img1 10
    img2 11
    img3 10
    img4 11

    按照同一顺序做shuffle处理,caffe训练数据shuffle处理是有必要的,虽然caffe的lmdb转换工具能够直接做shuffle,但是不能保证两个list的顺序一致。文本按行乱序的命令可以参考http://www.cnblogs.com/zhaojunjie/p/6735713.html。处理后的文件如下:

    img1 0
    img3 1
    img4 1
    img2 0
    img1 10
    img3 10
    img4 11
    img2 11

    接下来就可以对他们生成两个lmdb了,值得注意的是如果图像数据较大,生成lmdb时可以将第二个list的图像resize到1*1,如下(前面已经shuffle,这里不再加入shuffle参数):

    pathtocaffe/build/tools/convert_imageset --resize_height=256 --resize_width=256 "" list1 lmdb_data_1
    pathtocaffe/build/tools/convert_imageset --resize_height=1 --resize_width=1 "" list2 lmdb_data_2

    生成好了lmdb,如何用呢?prototxt文件参考如下:

    name: "CaffeNet"
    layer {
      name: "data"
      type: "Data"
      top: "data"
      top: "label1"
      include {
        phase: TRAIN
      }
      transform_param {
        mirror: true
        mean_file: "train_VGG_cub_mean.binaryproto"
        crop_size: 224
      }
      data_param {
        source: "lmdb_data_1"
        backend: LMDB
        batch_size: 16
      }
    }
    layer {
      name: "data2"
      type: "Data"
      top: "data_noused"
      top: "label2"
      include {
        phase: TRAIN
      }
      data_param {
        source: "lmdb_data_2"
        backend: LMDB
        batch_size: 16
      }
    }
    #将data_nousedresize到1位,防止caffe输出过多内容
    layer {
      name: "reductionx"
      bottom: "data_noused"
      top: "data_noused"
      type: "Reduction"
      reduction_param {
        axis: 0
      }

    }

     

    【完】

  • 相关阅读:
    服务器变量 $_SERVER 详解
    PHP 函数功能参考
    ecshop后台0day漏洞原理+利用方法 XSS+Getshll
    CSRF漏洞原理说明与利用方法
    Drupal 远程命令执行漏洞(CVE-2018-7600)
    SSH登陆验证绕过漏洞(cve-2018-10933)
    单元二:建立和维护数据表
    单元一:认识数据库系统
    【 模块1 认识计算机 】1.2 认识微型计算机
    【 模块1 认识计算机 】 1.1走进计算机世界
  • 原文地址:https://www.cnblogs.com/zhaojunjie/p/6782907.html
Copyright © 2011-2022 走看看