在深度学习中需要将相似的图片进行重新排序,即打乱,在训练的过程中模型也会将图片进行大乱,为了充分打乱,这里在训练前进行一次打乱。
这里图片命名如下:
[attach]362[/attach]
开头和结尾是以pos和neg开头,.jpg为结尾。图片如下所示:
[attach]363[/attach]
比较整齐排列,并且相近的图片很类似:
打乱代码如下:# -*- coding:utf-8 -*-
import os
import random
class ImageRename():
def __init__(self):
self.path = '/home/lijingle/metro/0223_21/data/train'#图片所在文件夹
def rename(self):
filelist = os.listdir(self.path)
random.shuffle(filelist)
total_num = len(filelist)
i = 0
j = 0
for item in filelist:
if item.startswith('neg') and item.endswith('.jpg'):
src = os.path.join(os.path.abspath(self.path), item)
dst = os.path.join(os.path.abspath(self.path), 'neg0000' + format(str(i), '0>3s') + '.jpg')
os.rename(src, dst)
print ('converting %s to %s ...' % (src, dst))
i = i + 1
if item.startswith('pos') and item.endswith('.jpg'):
src = os.path.join(os.path.abspath(self.path), item)
dst = os.path.join(os.path.abspath(self.path), 'pos00' + format(str(j), '0>3s') + '.jpg')
os.rename(src, dst)
print ('converting %s to %s ...' % (src, dst))
j = j + 1
print ('total %d to rename & converted pos %d jpgs & converted neg %d jpgs' % (total_num, j, i))
if __name__ == '__main__':
newname = ImageRename()
newname.rename()
打乱结果如下:
[attach]365[/attach]
|