螞蟻蜜蜂分類數據集下載鏈接:https://download.pytorch.org/tutorial/hymenoptera_data.zip
要實現如圖操作:
-
將ants分為ants_image和ants_label
-
將bees分成bees_image和bees_label
-
創建ants_label和bees_label,并且以圖片名作為txt文件的名稱,將標簽寫入到txt文件中
-
將標簽寫入到txt文件中
1、創建python文件,與數據集dataset同一路徑下
2、對divide_data.py
進行編輯
import osroot_dir = "dataset/train"# 原訓練集的標簽
label1 = "ants"
label2 = "bees"# 訓練文件夾下的原始文件夾ants和bees
original_dir1 = os.path.join(root_dir, "ants")
original_dir2 = os.path.join(root_dir, "bees")# 將原始文件夾名稱分別改為ants_image和bees_image
target_dir1 = os.path.join(root_dir, "ants_image")
target_dir2 = os.path.join(root_dir, "bees_image")# 獲取標簽并創建的標簽文件夾ants_label和bees_label
target_label_dir1 = os.path.join(root_dir, "ants_label")
target_label_dir2 = os.path.join(root_dir, "bees_label")"""判斷是否存在文件夾:1、如果存在ants和bees,就將它們改為ants_image和bees_image2、判斷是否存在ants_label和bees_label,如果不存在就創建文件夾
"""
if os.path.exists(target_dir1):print(f'{target_dir1}已存在')else:if os.path.exists(original_dir1):os.rename(original_dir1, target_dir1)print(f'{original_dir1}已修改為{target_dir1}')if os.path.exists(target_dir2):print(f'{target_dir2}已存在')
else:if os.path.exists(original_dir2):os.rename(original_dir2, target_dir2)print(f'{original_dir1}已修改為{target_dir1}')if os.path.exists(target_label_dir1):print(f'{target_label_dir1}已存在')
else:os.mkdir(target_label_dir1)print(f'已成功創建{target_label_dir1}')if os.path.exists(target_label_dir2):print(f'{target_label_dir2}已存在')
else:os.mkdir(target_label_dir2)print(f'已成功創建{target_label_dir2}')"""將圖片的label保存在以圖片名命名的txt文件中:1、獲取ants_image和bees_image中的圖片名2、以每張圖片名來命名txt文件,將其保存在ants_label和bees_label中
"""
img_path1 = os.listdir(target_dir1)
img_path2 = os.listdir(target_dir2)def write_txt(img_path, target_label_dir, label):for name in img_path:file_name = name.split('.jpg')[0]with open(os.path.join(target_label_dir, "{}.txt").format(file_name), 'w') as f:f.write(label)print(f'已成功寫入{target_label_dir}')write_txt(img_path1, target_label_dir1, label1)
write_txt(img_path2, target_label_dir2, label2)
3、運行py文件python divide_data.py