/
socrabs
/
monkey-species-classification
Обзор
Документация
Войти
/
socrabs
/
monkey-species-classification
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
utils/create_test_set.py
57 строк
1 KB
socrabs151
feat: complete monkey species classification project with custom CNN and ResNet50V2 transfer learning
14 дек 2025, 21:45
14 дек 2025, 21:45
43a578a
Код
Авторство
О чём код?
import os import shutil import random from pathlib import Path DATASET_ROOT = "../data" TRAIN_DIR = os.path.join(DATASET_ROOT, "training") TEST_DIR = os.path.join(DATASET_ROOT, "test") IMAGES_PER_CLASS = 20 random.seed(42) if not os.path.exists(TRAIN_DIR): raise FileNotFoundError(f"Папка training не найдена: {TRAIN_DIR}") os.makedirs(TEST_DIR, exist_ok=True) class_dirs = [d for d in os.listdir(TRAIN_DIR) if os.path.isdir(os.path.join(TRAIN_DIR, d))] class_dirs.sort() print(f"Найдено классов: {len(class_dirs)}") print(class_dirs) for class_name in class_dirs: src_class_dir = os.path.join(TRAIN_DIR, class_name) dst_class_dir = os.path.join(TEST_DIR, class_name) os.makedirs(dst_class_dir, exist_ok=True) images = [f for f in os.listdir(src_class_dir) if f.lower().endswith(('.jpg', '.jpeg', '.png'))] if len(images) < IMAGES_PER_CLASS: print(f"В классе {class_name} всего {len(images)} изображений.") selected = images else: selected = random.sample(images, IMAGES_PER_CLASS) for img in selected: src = os.path.join(src_class_dir, img) dst = os.path.join(dst_class_dir, img) shutil.move(src, dst) print(f"Класс {class_name}: скопировано {len(selected)} изображений в test/") print("\nТестовая выборка создана в папке:", TEST_DIR)