深度学习数据整理——Python常用的遍历操作

来源:互联网 发布:虚拟机mac显卡驱动 编辑:程序博客网 时间:2024/06/01 10:31

在训练CNN或是其他的深度学习网络时,经常要做的一件事便是准备数据,这是一件比较“烦人”的事情,此处以Python为基础整理几个经常能用到的数据处理脚本以及需要注意的地方。

Python遍历指定目录下的所有文件

利用Python脚本遍历指定目标下的文件

@requires_authorization"""注意:从os.listdir中读取的文件名list是无序的,利用sort方法可以使其按照str.lower的方式进行排序此外还有几种常用的关于os的操作os.remove(path)os.rename(src,dst)"""import osrootDir="/home/xcz/data/"Lists=os.listdir(rootDir)Lists.sort(key=str.lower)for lists in Lists:   path=os.path.join(rootDir,lists)

利用Python脚本读取txt文件中的标注信息

@requires_authorization"""在读取到以下代码中的line信息后,经常用到的方法有以下几个line=line.split(",")  一“,”分割获得一个listline[0]=line[0].replace(";","")  去掉line[0]中的分号,注意去掉不易发现的'\n'"""filename="/home/xcz/data/1.txt"f=open(filename)for line in f.readlines():    line=line.split("")

利用Python脚本随机分训练集与测试集

@requires_authorization"""代码从另一篇博客上获得后略加修改得到,此处用以保存而已"""import osimport sysimport randomstart = int(0)end = int(15573)test = int(1500)allNum = end-start+1b_list = range(start,end)blist_webId = random.sample(b_list, test)blist_webId = sorted(blist_webId) allFile = []testFile = open('/home/xcz/data/VOCdevkit/VOC2007/ImageSets/Main/test.txt', 'w')trainFile = open('/home/xcz/data/VOCdevkit/VOC2007/ImageSets/Main/trainval.txt', 'w')for i in range(allNum):    allFile.append(i+1)for test in blist_webId:    allFile.remove(test)    test2=""    if(test<10):        test2=test2+"00000"+str(test)    elif test<100:        test2=test2+"0000"+str(test)    elif test<1000:        test2=test2+"000"+str(test)    elif test<10000:        test2=test2+"00"+str(test)    else:        test2=test2+"0"+str(test)    testFile.write(test2 + '\n')   for train in allFile:    train2=""    if(train<10):        train2=train2+"00000"+str(train)    elif train<100:        train2=train2+"0000"+str(train)    elif train<1000:        train2=train2+"000"+str(train)    elif train<10000:        train2=train2+"00"+str(train)    else:        train2=train2+"0"+str(train)      trainFile.write(str(train2) + '\n')testFile.close()trainFile.close()
原创粉丝点击