zoukankan      html  css  js  c++  java
  • [caffe学习笔记][01][图像数据转换成db文件]

    说明:

    在深度学习的实际应用中,我们经常用到的原始数据是图片文件,如jpg,png等格式,而且有可能图片的大小还不一致。在caffe中经常使用的数据类型是lmdbleveldb,因此就需要把原始图片文件转换成caffe中能够运行的lmdb/leveldb文件。


    把图片转换成数据库需要分两步。第一步是生成图片清单文件,也就是图片路径与对应的类别。第二步是根据图片清单文件把图片存进数据库中。


    步骤:

    1.生成图片清单文件

    touch create_filelist.sh

    vim create_filelist.sh

     1 #!/usr/bin/bash
     2 
     3 DATA=train               #遍历目录train或test
     4 
     5 echo "Create train.txt..."
     6 rm -rf $DATA/$DATA.txt   #删除原有的文件列表
     7 
     8 for dir in `ls $DATA`    #遍历目录下的每个文件夹
     9 do
    10     if [ -d $DATA/$dir ] #如果是文件夹,则提取文件夹下文件路径加上文件夹名写入文件列表文件
    11     then
    12         find $DATA/$dir -name *.png | cut -d '/' -f3 | sed "s/^/$dir/&/g; s/$/& $dir/g" >> $DATA/$DATA.txt
    13     fi
    14 done
    15 echo "Done..."

     

    2.图像转换为数据库

    touch create_lmdb.sh

    vim create_lmdb.sh

     1 #!/usr/bin/bash
     2 
     3 DATA=train                                                #文件夹名
     4 LMDB=train_lmdb                                           #数据库名
     5 HEIGHT=28                                                 #图像高度
     6 WIDTH=28                                                  #图像宽度
     7 BUILD=/home/yuandanfei/caffe/build/tools/convert_imageset #图片转数据库路径
     8 ROOTFOLDER=/home/yuandanfei/work/caffe/mnist/data         #图片根路径
     9 
    10 rm -rf $LMDB
    11 
    12 $BUILD --shuffle 
    13 --resize_height=${HEIGHT} 
    14 --resize_width=${WIDTH} 
    15 $ROOTFOLDER/$DATA/ 
    16 $ROOTFOLDER/$DATA/$DATA.txt $LMDB

     

    参考资料:

    https://www.cnblogs.com/denny402/p/5082341.html

    https://www.cnblogs.com/linux-wangkun/p/5745584.html

     

  • 相关阅读:
    个人号微信机器人接口
    js tree 根据子节点找到所有父节点
    大数据分析之纳税人画像-实现和优化思路
    前后端分离项目安全漏洞修复总结
    多租户&多账户&多公众号_saas微信公众平台设计思路
    java7 try-with-resources 很香
    java7 异常处理增强
    java7 try-with-resources 很香
    mysql 按分数段,每个专业分数段统计人数
    一文看懂奈奎斯特定理和香农定理
  • 原文地址:https://www.cnblogs.com/d442130165/p/12715553.html
Copyright © 2011-2022 走看看