随机分配训练集,验证集

x33g5p2x  于2022-05-05 转载在 其他  
字(1.3k)|赞(0)|评价(0)|浏览(573)

coco json格式分配训练集,验证集

单个文件分配训练集,验证集

coco json格式分配训练集,验证集

  1. import glob
  2. import os.path
  3. import random
  4. import shutil
  5. if __name__ == '__main__':
  6. train_img=r'D:\work\images'
  7. train_dir=r'D:\work\train'
  8. train_val=r'D:\work\val'
  9. os.makedirs(train_dir,exist_ok=True)
  10. os.makedirs(train_val,exist_ok=True)
  11. label_dir=r'D:\work\jsons'
  12. files = glob.glob(train_img + '/*.jpg')
  13. random.shuffle(files)
  14. data_len = len(files)
  15. train_len=int(data_len*0.7)
  16. for index, file in enumerate(files):
  17. if index<train_len:
  18. shutil.copy(file,train_dir)
  19. shutil.copy(os.path.join(label_dir,os.path.basename(file)[:-4]+".json"),train_dir)
  20. else:
  21. shutil.copy(file, train_val)
  22. shutil.copy(os.path.join(label_dir, os.path.basename(file)[:-4] + ".json"), train_val)

单个文件分配训练集,验证集

  1. import random
  2. import os
  3. if __name__ == '__main__':
  4. file = r'E:/project/icdar2015_label.txt'
  5. with open(file, 'r',encoding="utf-8") as f:
  6. datas = f.readlines()
  7. random.shuffle(datas)
  8. file_train=r'E:/project/label_train.txt'
  9. file_val=r'E:/project/label_val.txt'
  10. data_len = len(datas)
  11. train_len=int(data_len*0.7)
  12. trains=[]
  13. vals=[]
  14. for index, file in enumerate(datas):
  15. if index<train_len:
  16. trains.append(file)
  17. else:
  18. vals.append(file)
  19. with open(file_train, 'w',encoding="utf-8") as f:
  20. f.writelines(trains)
  21. with open(file_val, 'w',encoding="utf-8") as f:
  22. f.writelines(vals)

相关文章