使用caffe训练自己的数据,一些处理数据的shell脚本

脚本文件名为create_filelist.sh的文件用于批量获取某一个目录下的文件名及路径,以及该图片对应的label。

内容如下:

#!/usr/bin/env sh
TRAIN_DATA=data/raw_data/train
VAL_DATA=data/raw_data/val
 
echo "creating train.txt..."
rm -rf $TRAIN_DATA/train.txt
find $TRAIN_DATA -name soldier*.jpg | cut -d '/' -f 4-5 | sed "s/$/ 1/" >>$TRAIN    _DATA/train.txt
find $TRAIN_DATA -name nonsoldier*.jpg | cut -d '/' -f 4-5 | sed "s/$/ 2/" >>$TRAIN_DATA/train.txt
 
echo "done."
 
echo "creating val.txt..."
rm -rf $VAL_DATA/val.txt
find $VAL_DATA -name soldier*.jpg | cut -d '/' -f 4-5 | sed "s/$/ 1/" >>$VAL_DATA/val.txt
find $VAL_DATA -name nonsoldier*.jpg | cut -d '/' -f 4-5 | sed "s/$/ 2/" >>$VAL_DATA/val.txt

echo "done."

注意事项:

cut -d '/' -f 4-5 表示将前面find命令获得的一行内容以/为标志进行切割,并且显示(保留)第4-5个片段;


sed "s/$/ 1/"表示在前面一个步骤的基础上,$/表示为在一行的末尾,1/表示增加一个空格和一个数字1.需要注意在1后面要加一个斜杠/,否则会报错sed: -e expression #1, char 6: unterminated `s' command 


最后用>>将得到的每一行内容写入一个txt文件中,注意用>>表示追加写入,用>表示刷新写入

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值