利用python和shell脚本生成train.txt的标签文件

本文介绍如何使用Shell脚本和Python脚本生成带有绝对路径和标签的训练文件train.txt,适用于图像分类任务。Shell脚本通过find命令结合sed进行路径拼接,而Python脚本则利用os模块来读取目录并生成文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 用shell脚本生成带绝对路径的train.txt

例如我要生成如下形式的带标签的文件,如图:(如有两个标签:0 和 1)

shell脚本如下:

这样标签0写入了train.txt

 1 # /usr/bin/env sh
 2 DATA=/home/ttwang/Desktop/Texture/0
 3 DATASAVE=/home/ttwang/Desktop
 4 
 5 echo "Create train.txt..."
 6 
 7 # /usr/bin/env sh
 8 find $DATA -name Grass*.jpg | sed "s/$/ 1/" >>$DATASAVE/train.txt
 9 
10 echo "Done.."

再写一个脚本,这样就把指定文件下的想要做成标签1的图片写入了train.txt,(这样比较麻烦,肯定有比这更好的)

 

# /usr/bin/env sh
DATA=/home/ttwang/Desktop/Texture/1
DATASAVE=/home/ttwang/Desktop
echo "Create train.txt..."

# /usr/bin/env sh
find $DATA -name Road*.jpg | sed "s/$/ 1/" >>$DATASAVE/train.txt

echo "Done.."

 

 

然后,运行脚本: sh 1.sh / sh 2.sh (假设脚本文件名为这个),就行了!

(1)如果不想显示那么多路径,就相应该DATA路径的表示,或者使用cut 具体参考(用到时再细看)

用python脚本生成的train.txt

2.用python脚本生成train.txt

例如我要生成如下形式的带标签的文件,如图:

python脚本如下:

 1 import os
 2 def generate(dir,label):
 3     files = os.listdir(dir)
 4     files.sort()
 5     print '****************'
 6     print 'input :',dir
 7     print 'start...'
 8     listText = open(dir+'/'+'list.txt','w')
 9     for file in files:
10         fileType = os.path.split(file)
11         if fileType[1] == '.txt':
12             continue
13         name = file + ' ' + str(int(label)) +'\n'
14         listText.write(name)
15     listText.close()
16     print 'down!'
17     print '****************'
18 
19 if __name__ == '__main__':
20     generate('/home/ttwang/Desktop/Texture/Test/1',1)

 

转载于:https://www.cnblogs.com/ilym/p/8666148.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值