Spaces:
Sleeping
Sleeping
File size: 2,765 Bytes
c1596ac | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | import os
import random
import shutil
# ================================
# 0. ์ค์
# ================================
TARGET_COUNT = 60
MIN_RES = 128 # ํด์๋ 128
PREFIX = "kg"
BASE_DIR = "./data/raw"
# ================================
# 1. ๊ฒฝ๋ก
# ================================
DATA_DIR = r"C:\Users\qud46\Desktop\raw_kg"
# ================================
# 2. ํด๋์ค ๋ชฉ๋ก
# ================================
CLASS_LIST = [
# ์์ ๋ฐ ์์ฌ๋ฃ
"pizza","hamburger","sushi","pasta","salad",
"steak","cup_cake","sandwich","waffle","dumpling",
# ๋๋ฌผ
"golden-retriever","bulldog","siamese-cat",
"persian-cat","elephant","sheep","horse",
"penguin","butterfly","squirrel",
# ๊ฝ
"rose","sunflower","daisy","tulip","dandelion",
"lily","lavender","orchid","iris","marigold","aster",
# ๊ณผ์ผ
"apple","banana","strawberry","orange",
"carrot","tomato","cucumber",
# ํ๊ฒ
"car","bicycle","motorcycle","airplane","bus",
# ํจ์
๋ฐ ์กํ
"t-shirt","sneakers","earrings","glasses",
"pants","bracelet","necklace"
]
print("ํด๋์ค๋ณ ์ด๋ฏธ์ง 60์ฅ ๋ง์ถ๊ธฐ ์์\n")
# ================================
# 3. ๋ฉ์ธ ๋ก์ง
# ================================
for cls in CLASS_LIST:
cls_path = os.path.join(DATA_DIR, cls)
if not os.path.exists(cls_path):
print(f"{cls}: ํด๋ ์์ (skip)")
continue
# ์ด๋ฏธ์ง ํ์ผ ๋ชฉ๋ก
images = [
f for f in os.listdir(cls_path)
if os.path.isfile(os.path.join(cls_path, f))
]
current_count = len(images)
print(
f"{cls}: ํ์ฌ {current_count}์ฅ "
f"โ ๋ชฉํ {TARGET_COUNT}์ฅ"
)
# ================================
# 1) 60์ฅ ์ด๊ณผ โ ๋๋ค ์ญ์
# ================================
if current_count > TARGET_COUNT:
delete_count = current_count - TARGET_COUNT
to_delete = random.sample(
images,
delete_count
)
for file in to_delete:
file_path = os.path.join(cls_path, file)
try:
os.remove(file_path)
except:
continue
print(f" โ {delete_count}์ฅ ์ญ์ ์๋ฃ")
# ================================
# 2) 60์ฅ ๋ฏธ๋ง โ ๋ถ์กฑ ๊ฐ์ ์ถ๋ ฅ
# ================================
elif current_count < TARGET_COUNT:
need_count = TARGET_COUNT - current_count
print(
f" โ {need_count}์ฅ ๋ถ์กฑ "
f"(์ถ๊ฐ ์์ง ํ์)"
)
# ================================
# 3) ์ ํํ 60์ฅ
# ================================
else:
print(" โ ์ด๋ฏธ 60์ฅ ์๋ฃ")
print("\n์ ์ฒด ์ ๋ฆฌ ์๋ฃ!") |