{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 🚧 Info\n", "\n", "https://huggingface.co/datasets/pyronear/pyro-sdis\n", "\n", "https://frugalaichallenge.org/participate/\n", "\n", "- tester si amélioration avec et sans égalisation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Image task notebook template\n", "## Loading the necessary libraries" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/julmat/Documents/hugging_face/frugal_cviz/.venv/lib/python3.12/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", " from .autonotebook import tqdm as notebook_tqdm\n", "[codecarbon WARNING @ 17:05:07] Multiple instances of codecarbon are allowed to run at the same time.\n", "[codecarbon INFO @ 17:05:07] [setup] RAM Tracking...\n", "[codecarbon INFO @ 17:05:07] [setup] CPU Tracking...\n", "[codecarbon WARNING @ 17:05:08] No CPU tracking mode found. Falling back on CPU constant mode. \n", " Mac OS and ARM processor detected: Please enable PowerMetrics sudo to measure CPU\n", "\n", "[codecarbon INFO @ 17:05:08] CPU Model on constant consumption mode: Apple M1\n", "[codecarbon INFO @ 17:05:08] [setup] GPU Tracking...\n", "[codecarbon INFO @ 17:05:08] No GPU found.\n", "[codecarbon INFO @ 17:05:08] >>> Tracker's metadata:\n", "[codecarbon INFO @ 17:05:08] Platform system: macOS-15.2-arm64-arm-64bit\n", "[codecarbon INFO @ 17:05:08] Python version: 3.12.7\n", "[codecarbon INFO @ 17:05:08] CodeCarbon version: 2.8.3\n", "[codecarbon INFO @ 17:05:08] Available RAM : 16.000 GB\n", "[codecarbon INFO @ 17:05:08] CPU count: 8\n", "[codecarbon INFO @ 17:05:08] CPU model: Apple M1\n", "[codecarbon INFO @ 17:05:08] GPU count: None\n", "[codecarbon INFO @ 17:05:08] GPU model: None\n", "[codecarbon INFO @ 17:05:11] Saving emissions data to file /Users/julmat/Documents/hugging_face/frugal_cviz/emissions.csv\n" ] } ], "source": [ "from fastapi import APIRouter\n", "from datetime import datetime\n", "from sklearn.metrics import accuracy_score, precision_score, recall_score\n", "\n", "import yaml\n", "import logging\n", "import random\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "from PIL import Image, ImageOps, ImageEnhance, ImageFilter\n", "from scipy.ndimage import median_filter\n", "\n", "from src.load_data import load_data\n", "from src.models import eval_pretrained_model, ConditionalAugmentation\n", "from tasks.utils.evaluation import ImageEvaluationRequest\n", "from tasks.utils.emissions import tracker, clean_emissions_data, get_space_info\n", "from tasks.image import parse_boxes,compute_iou,compute_max_iou\n", "\n", "# logging configuration (see all outputs, even DEBUG or INFO)\n", "logger = logging.getLogger()\n", "logger.setLevel(logging.INFO)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Load config" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# local config\n", "with open(\"config.yaml\", \"r\") as f:\n", " cfg = yaml.safe_load(f)\n", "OUTPUT_DIR = cfg[\"data_dir\"]\n", "DB_INFO_URI = cfg[\"db_info_uri\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Load data" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "request = ImageEvaluationRequest()\n", "# Define paths\n", "REPO_ID = request.dataset_name\n", "# Load data and export in Ultralytics format\n", "# ⚠️ clear cache folder after it is done\n", "df = load_data(OUTPUT_DIR, REPO_ID, DB_INFO_URI)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | width | \n", "height | \n", "format | \n", "mode | \n", "name | \n", "uri | \n", "annotations | \n", "partner | \n", "camera | \n", "timestamp | \n", "
---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "1280 | \n", "720 | \n", "JPEG | \n", "RGB | \n", "sdis-07_brison-110_2024-09-05T11-05-43.jpg | \n", "data/images/val/sdis-07_brison-110_2024-09-05T... | \n", "1 0.082372 0.572803 0.028621599999999997 0.047... | \n", "sdis-07 | \n", "brison-110 | \n", "2024-09-05T11-05-43 | \n", "
1 | \n", "1280 | \n", "720 | \n", "JPEG | \n", "RGB | \n", "sdis-07_brison-20_2024-02-05T16-59-10.jpg | \n", "data/images/val/sdis-07_brison-20_2024-02-05T1... | \n", "1 0.568154 0.353062 0.027667000000000108 0.033... | \n", "sdis-07 | \n", "brison-20 | \n", "2024-02-05T16-59-10 | \n", "
2 | \n", "1280 | \n", "720 | \n", "JPEG | \n", "RGB | \n", "sdis-07_brison-20_2024-02-05T17-19-11.jpg | \n", "data/images/val/sdis-07_brison-20_2024-02-05T1... | \n", "1 0.560564 0.349347 0.028460699999999894 0.037... | \n", "sdis-07 | \n", "brison-20 | \n", "2024-02-05T17-19-11 | \n", "
3 | \n", "1280 | \n", "720 | \n", "JPEG | \n", "RGB | \n", "sdis-07_brison-226_2024-09-15T15-17-58.jpg | \n", "data/images/val/sdis-07_brison-226_2024-09-15T... | \n", "1 0.099354 0.702043 0.021461200000000014 0.028... | \n", "sdis-07 | \n", "brison-226 | \n", "2024-09-15T15-17-58 | \n", "
4 | \n", "1280 | \n", "720 | \n", "JPEG | \n", "RGB | \n", "sdis-07_brison-20_2024-02-06T13-16-28.jpg | \n", "data/images/val/sdis-07_brison-20_2024-02-06T1... | \n", "1 0.564186 0.429952 0.04552620000000007 0.1073... | \n", "sdis-07 | \n", "brison-20 | \n", "2024-02-06T13-16-28 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
33631 | \n", "1280 | \n", "720 | \n", "JPEG | \n", "RGB | \n", "sdis-07_brison-200_2024-01-24T15-54-58.jpg | \n", "data/images/train/sdis-07_brison-200_2024-01-2... | \n", "1 0.127209 0.626804 0.007731270000000012 0.018... | \n", "sdis-07 | \n", "brison-200 | \n", "2024-01-24T15-54-58 | \n", "
33632 | \n", "1280 | \n", "720 | \n", "JPEG | \n", "RGB | \n", "force-06_courmettes-275_2024-02-28T13-15-08.jpg | \n", "data/images/train/force-06_courmettes-275_2024... | \n", "1 0.0931379 0.430174 0.01030020000000001 0.018... | \n", "force-06 | \n", "courmettes-275 | \n", "2024-02-28T13-15-08 | \n", "
33633 | \n", "1280 | \n", "720 | \n", "JPEG | \n", "RGB | \n", "force-06_courmettes-160_2024-04-20T18-32-12.jpg | \n", "data/images/train/force-06_courmettes-160_2024... | \n", "1 0.03690439999999999 0.696173 0.0712459 0.092... | \n", "force-06 | \n", "courmettes-160 | \n", "2024-04-20T18-32-12 | \n", "
33634 | \n", "1280 | \n", "720 | \n", "JPEG | \n", "RGB | \n", "sdis-07_marguerite-339_2024-02-07T17-00-13.jpg | \n", "data/images/train/sdis-07_marguerite-339_2024-... | \n", "NaN | \n", "sdis-07 | \n", "marguerite-339 | \n", "2024-02-07T17-00-13 | \n", "
33635 | \n", "1280 | \n", "720 | \n", "JPEG | \n", "RGB | \n", "sdis-07_brison-110_2024-02-21T11-30-17.jpg | \n", "data/images/train/sdis-07_brison-110_2024-02-2... | \n", "1 0.427088 0.65522 0.018086399999999947 0.0462... | \n", "sdis-07 | \n", "brison-110 | \n", "2024-02-21T11-30-17 | \n", "
33636 rows × 10 columns
\n", "\n", " | width | \n", "height | \n", "format | \n", "mode | \n", "name | \n", "uri | \n", "annotations | \n", "partner | \n", "camera | \n", "timestamp | \n", "
---|---|---|---|---|---|---|---|---|---|---|
count | \n", "33636.0 | \n", "33636.0 | \n", "33636 | \n", "33636 | \n", "33636 | \n", "33636 | \n", "28103 | \n", "33636 | \n", "33636 | \n", "33636 | \n", "
unique | \n", "NaN | \n", "NaN | \n", "1 | \n", "1 | \n", "33636 | \n", "33636 | \n", "27247 | \n", "3 | \n", "40 | \n", "33464 | \n", "
top | \n", "NaN | \n", "NaN | \n", "JPEG | \n", "RGB | \n", "sdis-07_brison-110_2024-09-05T11-05-43.jpg | \n", "data/images/val/sdis-07_brison-110_2024-09-05T... | \n", "1 0.0776863 0.568912 0.029480299999999987 0.08... | \n", "sdis-07 | \n", "brison-200 | \n", "2024-01-20T10-47-07 | \n", "
freq | \n", "NaN | \n", "NaN | \n", "33636 | \n", "33636 | \n", "1 | \n", "1 | \n", "6 | \n", "17766 | \n", "4971 | \n", "3 | \n", "
mean | \n", "1280.0 | \n", "720.0 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
std | \n", "0.0 | \n", "0.0 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
min | \n", "1280.0 | \n", "720.0 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
25% | \n", "1280.0 | \n", "720.0 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
50% | \n", "1280.0 | \n", "720.0 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
75% | \n", "1280.0 | \n", "720.0 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
max | \n", "1280.0 | \n", "720.0 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "