life-coach-pro / scripts /check_datasets.py
med-aziz-benamor
Initial commit: AI Fitness Coach Platform
202e9d5
Raw
History Blame Contribute Delete
3.25 kB
#!/usr/bin/env python3
"""
Quick script to examine the food datasets
"""
import os
from datasets import load_dataset
# Get base directory
base_dir = os.path.dirname(os.path.abspath(__file__))
print("=" * 60)
print("FOOD DATASETS EXAMINATION")
print("=" * 60)
# Check Food-102 Dataset
print("\n1. FOOD-102 DATASET")
print("-" * 60)
try:
food102_dir = os.path.join(base_dir, 'food102', 'data')
food102_files = []
if os.path.exists(food102_dir):
for f in os.listdir(food102_dir):
if f.endswith('.parquet'):
food102_files.append(os.path.join(food102_dir, f))
if food102_files:
# Load just one file to see structure
ds = load_dataset('parquet', data_files=food102_files[:1])
print(f"βœ… Successfully loaded Food-102 dataset")
print(f" Columns: {ds['train'].column_names}")
print(f" Num samples (in first file): {len(ds['train'])}")
print(f" Total parquet files: {len(food102_files)}")
# Show first sample
sample = ds['train'][0]
print(f" Sample keys: {list(sample.keys())}")
if 'label' in sample:
print(f" Label type: {type(sample['label'])}")
print(f" Sample label: {sample['label']}")
except Exception as e:
print(f"❌ Error loading Food-102: {e}")
# Check Multi-label Food Recognition
print("\n2. MULTI-LABEL FOOD RECOGNITION DATASET")
print("-" * 60)
try:
multi_dir = os.path.join(base_dir, 'multi-label-food-recognition', 'data')
multi_files = []
if os.path.exists(multi_dir):
for f in os.listdir(multi_dir):
if f.endswith('.parquet'):
multi_files.append(os.path.join(multi_dir, f))
if multi_files:
# Load just one file
ds = load_dataset('parquet', data_files=multi_files[:1])
print(f"βœ… Successfully loaded Multi-label dataset")
print(f" Columns: {ds['train'].column_names}")
print(f" Num samples (in first file): {len(ds['train'])}")
print(f" Total parquet files: {len(multi_files)}")
# Show first sample
sample = ds['train'][0]
print(f" Sample keys: {list(sample.keys())}")
if 'labels' in sample:
print(f" Labels (multi): {sample['labels']}")
if 'label_names' in sample:
print(f" Label names: {sample['label_names']}")
except Exception as e:
print(f"❌ Error loading Multi-label: {e}")
# Check fooddetection directory
print("\n3. FOODDETECTION DATASET")
print("-" * 60)
try:
fooddet_dir = os.path.join(base_dir, 'fooddetection')
if os.path.exists(fooddet_dir):
items = os.listdir(fooddet_dir)
print(f" Directory contents: {items}")
else:
print(" Directory not found")
except Exception as e:
print(f"❌ Error checking fooddetection: {e}")
print("\n" + "=" * 60)
print("SUMMARY:")
print("=" * 60)
print("These datasets can be used to:")
print("1. Fine-tune the EfficientNet model on Food-102 classes")
print("2. Train multi-label detection (multiple foods in one image)")
print("3. Improve accuracy on specific food categories")
print("\nNote: Fine-tuning requires GPU and several hours of training")
print("=" * 60)