Your content here
Plan :
Direktori
artemis-piX/
├── data/
│ ├── full_val/
│ │ ├── dfire_small.yaml
│ │ ├── images/
│ │ └── labels/
│ └── small_val/
│ ├── dfire_small.yaml
│ ├── images/
│ └── labels/
├── models/
│ └── best.pt
├── notebooks/
│ └── eval.ipynb
└── README.md
import os
import shutil
import random
# Path Dataset Asli di Ubuntu
ORIGINAL_VAL_IMG = "/home/han/Documents/proyek-tesis/artemis-ubuntu/01-dataset/d-fire-602020/val/images"
ORIGINAL_VAL_LBL = "/home/han/Documents/proyek-tesis/artemis-ubuntu/01-dataset/d-fire-602020/val/labels"
# Path Tujuan (Folder yang akan dikirim ke Pi)
PI_DATA_DIR = "/home/han/Documents/proyek-tesis/artemis-ubuntu/01-dataset/for_pi"
os.makedirs(os.path.join(PI_DATA_DIR, "images"), exist_ok=True)
os.makedirs(os.path.join(PI_DATA_DIR, "labels"), exist_ok=True)
# 1. Ambil semua file gambar yang VALID (bukan metadata ._ )
all_valid_imgs = [f for f in os.listdir(ORIGINAL_VAL_IMG) if f.endswith('.jpg') and not f.startswith('._')]
print(f"Total gambar valid ditemukan: {len(all_valid_imgs)}")
# 2. Fungsi untuk copy data
def prepare_data(image_list, folder_name):
target_img_dir = os.path.join(PI_DATA_DIR, folder_name, "images")
target_lbl_dir = os.path.join(PI_DATA_DIR, folder_name, "labels")
os.makedirs(target_img_dir, exist_ok=True)
os.makedirs(target_lbl_dir, exist_ok=True)
for img_name in image_list:
# Copy Image
shutil.copy(os.path.join(ORIGINAL_VAL_IMG, img_name), os.path.join(target_img_dir, img_name))
# Copy Label (.txt)
lbl_name = img_name.replace('.jpg', '.txt')
if os.path.exists(os.path.join(ORIGINAL_VAL_LBL, lbl_name)):
shutil.copy(os.path.join(ORIGINAL_VAL_LBL, lbl_name), os.path.join(target_lbl_dir, lbl_name))
# Siapkan Full Set (untuk Pi 5 & 4)
print("Menyiapkan Full Set...")
prepare_data(all_valid_imgs, "full_val")
# Siapkan Subset 100 gambar (untuk Pi 3 & Zero agar aman RAM)
print("Menyiapkan Subset Set...")
subset_imgs = random.sample(all_valid_imgs, 100)
prepare_data(subset_imgs, "small_val")
print(f" Selesai! Folder {PI_DATA_DIR} siap dipindah ke semua Raspberry Pi.")
artemis-pi4