我有一个大数据集,在一个目录中包含图像文件和 xml 文件。每个图像都有一个具有相同名称(扩展名除外)的 xml 文件,例如:“image01.jpg”及其 xml 文件“image01.xml”...等。我的目录如下: |--/dataset/ " 包含一对 xml 和 jpg 图像 |--/train "当前为空" |--/test "当前为空"
我想将这个数据集随机拆分到训练和测试目录中,例如 80% 用于训练,20% 用于使用 python 进行测试。如果有人可以提供帮助,我很感激?我编写了以下代码,但卡住了,无法弄清楚如何移动一对文件,一个图像文件及其 xml 文件(除了扩展名之外,它们具有相同的名称)。
import glob
import random
import shutil
for i in glob.glob("./dataset/.*"):
if i.endswith("xml"):
i = xm_file
else:
i = im_file
if xm_file[:-4] == im_file[:-4]: # pair of files
for file in len(os.listdir("dataset"))*0.20 :
random.choice(shutil.move(file,"../test/"))
Run Code Online (Sandbox Code Playgroud) python ×1