import os
import random
import shutil
images_path = "/Media/E/NEU-DET/data/neu/train2020"
annos_path = "/Media/E/NEU-DET/data/neu/ANNOTATIONS_TRAIN"
file_name = os.listdir(images_path)
file_A = file_name[:300]
file_B = file_name[300:600]
file_C = file_name[600:900]
file_D = file_name[900:1200]
file_E = file_name[1200:1500]
file_F = file_name[1500:]
image_path_A = []
image_path_B = []
image_path_C = []
image_path_D = []
image_path_E = []
image_path_F = []
# anno_path_A = []
# anno_path_B = []
# anno_path_C = []
# anno_path_D = []
# anno_path_E = []
# anno_path_F = []
for img_name in file_A:
image_path_A.append(os.path.join(images_path, img_name))
random.shuffle(image_path_A)
image_path_A = image_path_A[:30]
for i in image_path_A:
anno_path_A = i.replace("jpg", "xml").replace("train2020", "ANNOTATIONS_TRAIN")
shutil.move(i, "/Media/E/NEU-DET/data/neu/val2020/")
shutil.move(anno_path_A, "/Media/E/NEU-DET/data/neu/ANNOTATIONS_VAL")
for img_name in file_B:
image_path_B.append(os.path.join(images_path, img_name))
random.shuffle(image_path_B)
image_path_B = image_path_B[:30]
for i in image_path_B:
anno_path_B = i.replace("jpg", "xml").replace("train2020", "ANNOTATIONS_TRAIN")
shutil.move(i, "/Media/E/NEU-DET/data/neu/val2020/")
shutil.move(anno_path_B, "/Media/E/NEU-DET/data/neu/ANNOTATIONS_VAL")
for img_name in file_C:
image_path_C.append(os.path.join(images_path, img_name))
random.shuffle(image_path_C)
image_path_C = image_path_C[:30]
for i in image_path_C:
anno_path_C = i.replace("jpg", "xml").replace("train2020", "ANNOTATIONS_TRAIN")
shutil.move(i, "/Media/E/NEU-DET/data/neu/val2020/")
shutil.move(anno_path_C, "/Media/E/NEU-DET/data/neu/ANNOTATIONS_VAL")
for img_name in file_D:
image_path_D.append(os.path.join(images_path, img_name))
random.shuffle(image_path_D)
image_path_D = image_path_D[:30]
for i in image_path_D:
anno_path_D = i.replace("jpg", "xml").replace("train2020", "ANNOTATIONS_TRAIN")
shutil.move(i, "/Media/E/NEU-DET/data/neu/val2020/")
shutil.move(anno_path_D, "/Media/E/NEU-DET/data/neu/ANNOTATIONS_VAL")
for img_name in file_E:
image_path_E.append(os.path.join(images_path, img_name))
random.shuffle(image_path_E)
image_path_E = image_path_E[:30]
for i in image_path_E:
anno_path_E = i.replace("jpg", "xml").replace("train2020", "ANNOTATIONS_TRAIN")
shutil.move(i, "/Media/E/NEU-DET/data/neu/val2020/")
shutil.move(anno_path_E, "/Media/E/NEU-DET/data/neu/ANNOTATIONS_VAL")
for img_name in file_F:
image_path_F.append(os.path.join(images_path, img_name))
random.shuffle(image_path_F)
image_path_F = image_path_F[:30]
for i in image_path_F:
anno_path_F = i.replace("jpg", "xml").replace("train2020", "ANNOTATIONS_TRAIN")
shutil.move(i, "/Media/E/NEU-DET/data/neu/val2020/")
shutil.move(anno_path_F, "/Media/E/NEU-DET/data/neu/ANNOTATIONS_VAL")
我的数据集是1800张图片,6个类别,每个类别300张,划分时,每个类别划出了30张,验证集一共180张图片,连同标注文件一起分开,这里标注文件时xml格式。