caffe 使用shell自动生成train.txt & val.txt

本文介绍了如何使用Shell脚本自动生成Caffe所需的train.txt和val.txt文件,适用于自己的数据集。内容包括数据集的布局要求、Shell脚本代码及其结果展示。
摘要由CSDN通过智能技术生成

使用自己的数据集“煮caffe”时候需要生成train.txt 和 val.txt。但是,没有找到一个有效的方法。今天跟大家分享一下使用shell自动生成train.txt 和 val.txt


脚本没有容错性 谨慎使用 勿喷
无原理,看步骤。


1 数据集格式要求

文件布局
这样布局也是caffe的要求,shell 下边会贴出来或者→shell脚本下载地址
这里写图片描述

train中
这里写图片描述

train文件夹下的图片
这里写图片描述

val中结构
说明: val需要有train一致的结构外,还需要把各个文件中的图片,复制到val文件下。
这里写图片描述

2 Shell 代码

filepath2txt.sh

#!/usr/bin/env sh
# 说明 
# dictionary: train{d1{f1,f2,...},d2{f1,f2,...},...} val{d1{f11,f12,...},d2{f21,f22,...},.... f11,f12,.....,f21,f2,...,....}
# train
#    -d1
#       f1.jpeg
#       f2.jpeg
#       f3.jpeg
#       f4.jpeg
#       ....
#    -d2
#       f1.jpeg
#       f2.jpeg
#       f3.jpeg
#       f4.jpeg
#       ....
#    ...
# val
#    -d1
#    -d2
#    ...
#    all images in di need copy to val/ again.
rm -f train.txt
rm -f val.txt
echo "filepath2traintxt"
sh ./filepath2traintxt.sh
echo "Done"
echo "filepath2valtxt"
sh ./filepath2valtxt2.sh
echo "Done"

filepath2traintxt.sh

#!/usr/bin/env sh
# 深度遍历
deepls(){
    for x in "$1/"*
    do 
        #echo $x
        if [ -f $x ]
        then
            echo $x $I|cut -d '/' -f3-4 >> $NAME
        fi
        if [ -d $x ]
        then
            (deepls "$x")
            I=`expr $I + 1`
        fi
    done
}
I=0
DEST_PATH="./train"
NAME="./train.txt"
deepls $DEST_PATH

filepath2valtxt2.sh

#!/usr/bin/env sh
# 深度遍历
deepls(){
    for x in "$1/"*
    do 
        #echo $x
        if [ -f $x ]
        then
            echo $x $I|cut -d '/' -f4-5 >> $NAME
        fi
        # if [ -d $x] error
        done
}
deep(){
    for x in "$1/"*
    do
        if [ -d $x ]
        then
            deepls "$x"
            I=`expr $I + 1`
        fi
    done
}
I=0
DEST_PATH="./val"
NAME="./val.txt"
deep $DEST_PATH

3 结果展示

结果列表

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值