1 训练前准备

  caffe常使用的数据是db格式(leveldb/lmdb),我们手中有的图片数据,jpg、bmp格式等,必须转换;此操作caffe已经提供工具。它的路径是/home/your/caffe-master/build/tools/convert_imageset.bin;不过,使用它之前,需要先生成一个依赖文本文件。

convert_imageset.bin程序的使用格式:

 convert_imageset [FLAGS] ROOTFOLDER/ LISTFILE DB_NAME

需要带四个参数:

FLAGS: 图片参数组,后面详细介绍

ROOTFOLDER/: 图片存放的绝对路径,从Linux系统根目录开始

LISTFILE: 图片文件列表清单,一般为一个txt文件,一行一张图片

DB_NAME: 最终生成的db文件存放目录

2 训练文本LISTFILE生成

用gedit编辑如下shell代码,并存为mktraintxt.sh# /usr/bin/env sh
DATA=examples/images
echo "Create train.txt..."
rm -rf $DATA/train.txt
find $DATA -name *cat.jpg | cut -d '/' -f3 | sed "s/$/ 1/">>$DATA/train.txt
find $DATA -name *bike.jpg | cut -d '/' -f3 | sed "s/$/ 2/">>$DATA/tmp.txt
cat $DATA/tmp.txt>>$DATA/train.txt
rm -rf $DATA/tmp.txt
echo "Done.."

3 图像转换代码
sudo vim data/mydata/create_lmdb.sh(我的数据放在data文件下的mydata目录下)。

#!/usr/bin/env sh
# This script converts the mnist data into lmdb/leveldb format,
# depending on the value assigned to $BACKEND.
set -e

EXAMPLE=examples/mnist
DATA=data/mnist
BUILD=build/examples/mnist

BACKEND="lmdb"

TRAIN_DATA_ROOT=/home/yan/image-face/train/
VAL_DATA_ROOT=/home/yan/image-face/val/

RESIZE=true
if $RESIZE; then
    RESIZE_HEIGHT=227
    RESIZE_WIDTH=227
else
    RESIZE_HEIGHT=0
    RESIZE_WIDTH=0
fi

if [ ! -d "$TRAIN_DATA_ROOT" ]; then
   echo "Error: TRAIN_DATA_ROOT is not a path to a directory: $TRAIN_DATA_ROOT"
   echo "Set the TRAIN_DATA_ROOT variable in create_imagenet.sh to the path" \
       "where the ImageNet training data is stored."
  exit 1
fi
 
if [ ! -d "$VAL_DATA_ROOT" ]; then
   echo "Error: VAL_DATA_ROOT is not a path to a directory: $VAL_DATA_ROOT"
   echo "Set the VAL_DATA_ROOT variable in create_imagenet.sh to the path" \
        "where the ImageNet validation data is stored."
   exit 1
fi

echo "Creating train ${BACKEND}..."

GLOG_logtostderr=1 $TOOLS/convert_imageset \
    --resize_height=$RESIZE_HEIGHT \
    --resize_width=$RESIZE_WIDTH \
    --shuffle \
    $TRAIN_DATA_ROOT \
    $DATA/train_all.txt \
    $EXAMPLE/face_train_lmdb

echo "Creating val ${BACKEND}..."

GLOG_logtostderr=1 $TOOLS/convert_imageset \
    --resize_height=$RESIZE_HEIGHT \
    --resize_width=$RESIZE_WIDTH \
    --shuffle \
    $VAL_DATA_ROOT \
    $DATA/val.txt \
    $EXAMPLE/face_val_lmdb

echo "Done."

转载于:https://www.cnblogs.com/gongdiwudu/p/6240190.html

Caffe应用篇----文件格式转换相关推荐

  1. 计算机转换几种,文件转换 篇一:有多少种文件格式转换的方法,你造吗?

    文件转换 篇一:有多少种文件格式转换的方法,你造吗? 2019-01-14 16:21:39 2点赞 1收藏 1评论 不管是学生党.上班族,还是其他领域的worker,都是要用到各类文件格式保存的文件 ...

  2. python实现文件格式转换_python实现快速文件格式批量转换的方法

    用python实现文件夹下的成批文件格式转换 我们对于文件转换的需求很大,甚至于对于图片的格式,JPG和PNG格式在肉眼看来都没什么差别,但是对于计算机而言,它有时候就只接受这些肉眼看起来差不多的格式 ...

  3. .tex类型文件怎么阅读_有了这些神器,什么文件格式转换都能搞得定!

    大家好,我是小渔. 周一的时候,睿文老师写了一篇关于页码的干货文,为了方便大家学习,还录制了视频. 一般呢,在微信上发布的文章,小渔都需要同步到其他平台.然而在上传视频的时候,小渔却怎么也找不到文件. ...

  4. Jpeg文件格式转换成bmp文件格式

    Jpeg文件格式转换成bmp文件格式为了简单,我将jpg图片原文件和转换后的bmp文件都直接存到内存的数组,这样不会涉及文件操作.将jpg文件转换成数组,并将数组存到文件中方便编译调用,我用的是C库文 ...

  5. java 文件格式转换

    java 系列文章 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 java 系列文章 前言 一.base ...

  6. python 文件批量转换格式_使用python批量化音乐文件格式转换的实例

    使用python批量化音乐文件格式转换的实例 最近在做声音文件数据处理,写了一个自动将m4a文件转化为wav的脚本. import os m4a_path = "/Users/Downloa ...

  7. 分享12款优秀的在线文件格式转换工具

    在线的文件转换工具有很多,但是要找到一款好用的却不容易,所以今天这篇文章收集了12款优秀的在线文件格式转换工具,看看有没有适合您的需要的工具. iWebPrint 打印网页为PDF文件,可以定制打印尺 ...

  8. vim windows linux文件格式转换

    vim windows linux文件格式转换 set ff?     #显示当前文件格式 set ff=unix     #设置成unix格式 set ff=dos #设置成dos格式 posted ...

  9. Windows应用程序文件格式转换控件LEADTOOLS ePrint Professional

    2019独角兽企业重金招聘Python工程师标准>>> LEADTOOLS ePrint Professional控件是一个多功能一体化文件转换解决方案,它可帮助您将任何Window ...

最新文章

  1. 男人必看:最近在网上流传甚广的一个帖子
  2. android 如何使用SAX解析XML
  3. FPGA数据传输模块设计
  4. 信息学奥赛一本通(1201:菲波那契数列)
  5. 02-方法-课后思考
  6. 构造函数和复制函数java_什么是Java构造函数?
  7. bat脚本保存dir结果_MySQL备份脚本,应该这么写
  8. 关于中国男女的一些私密数据......
  9. 下载新浪股票历史数据
  10. Android-入门教程-内部存储/外部存储-概览
  11. python读取文本两个数字的成语_只要2步!将搜狗词库(scel)转为Python可读的文本...
  12. Java 将Word保存为WPS和WPT格式
  13. Vue2中样式详解(scoped)
  14. 今天老板送了我一本书,说让我学习怎么用Python做表格…
  15. 《许渊冲西南联大求学日记》摘抄
  16. 写一个辨别素数的函数,在主函数输入一个整数,输出是否为素数信息。
  17. 企业网络视频监控解决方案
  18. 华为,腾讯C/C++程序设计风格及个人程序设计风格
  19. oracle程序包写法,Oracle学习笔记20150913pl/sql编程包的写法
  20. project中如何设置非标准工作时间

热门文章

  1. [LeetCode] 9. Palindrome Number
  2. Python内置函数之--open
  3. Mysql数据库的使用总结之ERROR 1146 (42S02)
  4. unity3d 随机生成地形之随机山脉
  5. TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常!...
  6. 《大话数据结构》读后总结(六)
  7. datatables 获取 pageLength 和 pageStart,重新获取table数据
  8. tesseract-ocr tips
  9. 白洁血战Node.js并发编程 01 状态机
  10. php简单文件上传类