{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "provenance": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" } }, "cells": [ { "cell_type": "markdown", "source": [ "# Let's try now with the big file\n" ], "metadata": { "id": "Ja0JNAIPlW1c" } }, { "cell_type": "markdown", "source": [ "import matplotlib.pyplot as plt\n", "from PIL import Image\n", "\n", "image = Image.open(\"candle_extracted/candle/Data/Images/Anomaly/000.JPG\")\n", "plt.imshow(image)\n", "plt.axis(\"off\")\n", "plt.show()\n" ], "metadata": { "id": "or5IXaAolcpQ" } }, { "cell_type": "code", "source": [ "import os\n", "from codecarbon import track_emissions\n", "import numpy as np\n", "import torch\n", "from PIL import Image\n", "from transformers import AutoModelForImageClassification, AutoFeatureExtractor\n", "\n", "# Chemin racine de vos données (à adapter)\n", "extract_path = \"VisA_20220922_extracted\"\n", "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n", "\n", "# Chargement du feature extractor et du modèle\n", "feature_extractor = AutoFeatureExtractor.from_pretrained(\"microsoft/resnet-50\")\n", "model = AutoModelForImageClassification.from_pretrained(\"microsoft/resnet-50\")\n", "model.to(device)\n", "model.eval()\n", "\n", "def load_and_preprocess_image(img_path):\n", " \"\"\"\n", " Charge et prétraite une image en utilisant le feature extractor.\n", " \"\"\"\n", " image = Image.open(img_path).convert(\"RGB\")\n", " inputs = feature_extractor(images=image, return_tensors=\"pt\")\n", " return inputs[\"pixel_values\"]\n", "\n", "@track_emissions()\n", "def extract_features(image_paths):\n", " \"\"\"\n", " Extrait des caractéristiques pour chaque image de la liste image_paths.\n", " Ici, on utilise les logits du modèle comme représentation.\n", " \"\"\"\n", " features = []\n", " with torch.no_grad():\n", " for img_path in image_paths:\n", " image_tensor = load_and_preprocess_image(img_path).to(device)\n", " outputs = model(pixel_values=image_tensor)\n", " # Dans ce cas, nous utilisons les logits comme vecteur de caractéristiques.\n", " feature_vector = outputs.logits.cpu().numpy()\n", " features.append(feature_vector)\n", " return np.vstack(features)\n", "\n", "# Charger les images normales depuis le dossier \"Normal\"\n", "normal_dir = os.path.join(extract_path, \"candle\", \"Data\", \"Images\", \"Normal\")\n", "\n", "# Récupérer tous les fichiers images du dossier \"Normal\"\n", "normal_image_paths = [\n", " os.path.join(normal_dir, filename)\n", " for filename in os.listdir(normal_dir)\n", " if filename.lower().endswith(('.jpg', '.jpeg', '.png'))\n", "]\n", "\n", "# Vérifier que des images ont bien été trouvées\n", "if not normal_image_paths:\n", " raise FileNotFoundError(f\"Aucune image trouvée dans le dossier {normal_dir}\")\n", "\n", "# Extraire les caractéristiques pour les images normales\n", "normal_features = extract_features(normal_image_paths)\n", "\n", "# Sauvegarder les caractéristiques extraites pour l'inférence\n", "np.save(\"normal_features.npy\", normal_features)\n", "print(\"Caractéristiques normales sauvegardées dans 'normal_features.npy'\")\n" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "ZWcZz-sp3lcc", "outputId": "64ef0e98-a930-43f4-db3a-ba0fe8a41d58" }, "execution_count": 26, "outputs": [ { "output_type": "stream", "name": "stderr", "text": [ "/usr/local/lib/python3.11/dist-packages/transformers/models/convnext/feature_extraction_convnext.py:28: FutureWarning: The class ConvNextFeatureExtractor is deprecated and will be removed in version 5 of Transformers. Please use ConvNextImageProcessor instead.\n", " warnings.warn(\n", "[codecarbon INFO @ 09:57:59] [setup] RAM Tracking...\n", "[codecarbon INFO @ 09:57:59] [setup] CPU Tracking...\n", "[codecarbon WARNING @ 09:57:59] No CPU tracking mode found. Falling back on CPU constant mode. \n", " Linux OS detected: Please ensure RAPL files exist at \\sys\\class\\powercap\\intel-rapl to measure CPU\n", "\n", "[codecarbon WARNING @ 09:58:00] We saw that you have a Intel(R) Xeon(R) CPU @ 2.20GHz but we don't know it. Please contact us.\n", "[codecarbon INFO @ 09:58:00] CPU Model on constant consumption mode: Intel(R) Xeon(R) CPU @ 2.20GHz\n", "[codecarbon INFO @ 09:58:00] [setup] GPU Tracking...\n", "[codecarbon INFO @ 09:58:00] No GPU found.\n", "[codecarbon INFO @ 09:58:00] >>> Tracker's metadata:\n", "[codecarbon INFO @ 09:58:00] Platform system: Linux-6.1.85+-x86_64-with-glibc2.35\n", "[codecarbon INFO @ 09:58:00] Python version: 3.11.11\n", "[codecarbon INFO @ 09:58:00] CodeCarbon version: 2.8.3\n", "[codecarbon INFO @ 09:58:00] Available RAM : 12.675 GB\n", "[codecarbon INFO @ 09:58:00] CPU count: 2\n", "[codecarbon INFO @ 09:58:00] CPU model: Intel(R) Xeon(R) CPU @ 2.20GHz\n", "[codecarbon INFO @ 09:58:00] GPU count: None\n", "[codecarbon INFO @ 09:58:00] GPU model: None\n", "[codecarbon INFO @ 09:58:00] Saving emissions data to file /content/emissions.csv\n", "[codecarbon INFO @ 09:58:15] Energy consumed for RAM : 0.000020 kWh. RAM Power : 4.7530388832092285 W\n", "[codecarbon INFO @ 09:58:15] Energy consumed for all CPUs : 0.000177 kWh. Total CPU Power : 42.5 W\n", "[codecarbon INFO @ 09:58:15] 0.000197 kWh of electricity used since the beginning.\n", "[codecarbon INFO @ 09:58:30] Energy consumed for RAM : 0.000040 kWh. RAM Power : 4.7530388832092285 W\n", "[codecarbon INFO @ 09:58:30] Energy consumed for all CPUs : 0.000354 kWh. Total CPU Power : 42.5 W\n", "[codecarbon INFO @ 09:58:30] 0.000394 kWh of electricity used since the beginning.\n", "[codecarbon INFO @ 09:58:45] Energy consumed for RAM : 0.000059 kWh. RAM Power : 4.7530388832092285 W\n", "[codecarbon INFO @ 09:58:45] Energy consumed for all CPUs : 0.000531 kWh. Total CPU Power : 42.5 W\n", "[codecarbon INFO @ 09:58:45] 0.000591 kWh of electricity used since the beginning.\n", "[codecarbon INFO @ 09:59:00] Energy consumed for RAM : 0.000079 kWh. RAM Power : 4.7530388832092285 W\n", "[codecarbon INFO @ 09:59:00] Energy consumed for all CPUs : 0.000708 kWh. Total CPU Power : 42.5 W\n", "[codecarbon INFO @ 09:59:00] 0.000787 kWh of electricity used since the beginning.\n", "[codecarbon INFO @ 09:59:15] Energy consumed for RAM : 0.000099 kWh. RAM Power : 4.7530388832092285 W\n", "[codecarbon INFO @ 09:59:15] Energy consumed for all CPUs : 0.000885 kWh. Total CPU Power : 42.5 W\n", "[codecarbon INFO @ 09:59:15] 0.000984 kWh of electricity used since the beginning.\n", "[codecarbon INFO @ 09:59:30] Energy consumed for RAM : 0.000119 kWh. RAM Power : 4.7530388832092285 W\n", "[codecarbon INFO @ 09:59:30] Energy consumed for all CPUs : 0.001062 kWh. Total CPU Power : 42.5 W\n", "[codecarbon INFO @ 09:59:30] 0.001181 kWh of electricity used since the beginning.\n", "[codecarbon INFO @ 09:59:45] Energy consumed for RAM : 0.000139 kWh. RAM Power : 4.7530388832092285 W\n", "[codecarbon INFO @ 09:59:45] Energy consumed for all CPUs : 0.001239 kWh. Total CPU Power : 42.5 W\n", "[codecarbon INFO @ 09:59:45] 0.001378 kWh of electricity used since the beginning.\n", "[codecarbon INFO @ 10:00:00] Energy consumed for RAM : 0.000158 kWh. RAM Power : 4.7530388832092285 W\n", "[codecarbon INFO @ 10:00:00] Energy consumed for all CPUs : 0.001417 kWh. Total CPU Power : 42.5 W\n", "[codecarbon INFO @ 10:00:00] 0.001575 kWh of electricity used since the beginning.\n", "[codecarbon INFO @ 10:00:00] 0.003746 g.CO2eq/s mean an estimation of 118.13927298866254 kg.CO2eq/year\n", "[codecarbon INFO @ 10:00:15] Energy consumed for RAM : 0.000178 kWh. RAM Power : 4.7530388832092285 W\n", "[codecarbon INFO @ 10:00:15] Energy consumed for all CPUs : 0.001594 kWh. Total CPU Power : 42.5 W\n", "[codecarbon INFO @ 10:00:15] 0.001772 kWh of electricity used since the beginning.\n", "[codecarbon INFO @ 10:00:30] Energy consumed for RAM : 0.000198 kWh. RAM Power : 4.7530388832092285 W\n", "[codecarbon INFO @ 10:00:30] Energy consumed for all CPUs : 0.001771 kWh. Total CPU Power : 42.5 W\n", "[codecarbon INFO @ 10:00:30] 0.001968 kWh of electricity used since the beginning.\n", "[codecarbon INFO @ 10:00:45] Energy consumed for RAM : 0.000218 kWh. RAM Power : 4.7530388832092285 W\n", "[codecarbon INFO @ 10:00:45] Energy consumed for all CPUs : 0.001948 kWh. Total CPU Power : 42.5 W\n", "[codecarbon INFO @ 10:00:45] 0.002165 kWh of electricity used since the beginning.\n", "[codecarbon INFO @ 10:01:00] Energy consumed for RAM : 0.000238 kWh. RAM Power : 4.7530388832092285 W\n", "[codecarbon INFO @ 10:01:00] Energy consumed for all CPUs : 0.002125 kWh. Total CPU Power : 42.5 W\n", "[codecarbon INFO @ 10:01:00] 0.002362 kWh of electricity used since the beginning.\n", "[codecarbon INFO @ 10:01:15] Energy consumed for RAM : 0.000257 kWh. RAM Power : 4.7530388832092285 W\n", "[codecarbon INFO @ 10:01:15] Energy consumed for all CPUs : 0.002302 kWh. Total CPU Power : 42.5 W\n", "[codecarbon INFO @ 10:01:15] 0.002559 kWh of electricity used since the beginning.\n", "[codecarbon INFO @ 10:01:30] Energy consumed for RAM : 0.000277 kWh. RAM Power : 4.7530388832092285 W\n", "[codecarbon INFO @ 10:01:30] Energy consumed for all CPUs : 0.002479 kWh. Total CPU Power : 42.5 W\n", "[codecarbon INFO @ 10:01:30] 0.002756 kWh of electricity used since the beginning.\n", "[codecarbon INFO @ 10:01:45] Energy consumed for RAM : 0.000297 kWh. RAM Power : 4.7530388832092285 W\n", "[codecarbon INFO @ 10:01:45] Energy consumed for all CPUs : 0.002656 kWh. Total CPU Power : 42.5 W\n", "[codecarbon INFO @ 10:01:45] 0.002953 kWh of electricity used since the beginning.\n", "[codecarbon INFO @ 10:02:00] Energy consumed for RAM : 0.000317 kWh. RAM Power : 4.7530388832092285 W\n", "[codecarbon INFO @ 10:02:00] Energy consumed for all CPUs : 0.002833 kWh. Total CPU Power : 42.5 W\n", "[codecarbon INFO @ 10:02:00] 0.003150 kWh of electricity used since the beginning.\n", "[codecarbon INFO @ 10:02:00] 0.003746 g.CO2eq/s mean an estimation of 118.12101028239238 kg.CO2eq/year\n", "[codecarbon INFO @ 10:02:12] \n", "Graceful stopping: collecting and writing information.\n", "Please wait a few seconds...\n", "[codecarbon INFO @ 10:02:12] Energy consumed for RAM : 0.000333 kWh. RAM Power : 4.7530388832092285 W\n", "[codecarbon INFO @ 10:02:12] Energy consumed for all CPUs : 0.002974 kWh. Total CPU Power : 42.5 W\n", "[codecarbon INFO @ 10:02:12] 0.003307 kWh of electricity used since the beginning.\n", "/usr/local/lib/python3.11/dist-packages/codecarbon/output_methods/file.py:52: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n", " df = pd.concat([df, pd.DataFrame.from_records([dict(total.values)])])\n", "[codecarbon INFO @ 10:02:12] Done!\n", "\n" ] } ] }, { "cell_type": "code", "source": [ "pip install codecarbon\n" ], "metadata": { "id": "z_64-lmgH8Zj" }, "execution_count": 21, "outputs": [] }, { "cell_type": "code", "source": [ "import pandas as pd\n", "\n", "# Ouvrir et afficher le contenu du fichier emissions.csv\n", "emissions_df = pd.read_csv(\"emissions.csv\")\n", "display(emissions_df)\n" ], "metadata": { "id": "gi4yhtJt-dx5", "outputId": "bea8384c-8475-43cb-d35a-64afab97fb0f", "colab": { "base_uri": "https://localhost:8080/", "height": 182 } }, "execution_count": 28, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ " timestamp project_name run_id \\\n", "0 2025-02-15T10:02:12 codecarbon 380e3ca2-82db-4172-a670-915f75ca4ac9 \n", "\n", " experiment_id duration emissions \\\n", "0 5b0fa12a-3dd7-45bb-9766-cc326314d9f1 252.051695 0.000944 \n", "\n", " emissions_rate cpu_power gpu_power ram_power ... cpu_count \\\n", "0 0.000004 42.5 0.0 4.753039 ... 2 \n", "\n", " cpu_model gpu_count gpu_model longitude latitude \\\n", "0 Intel(R) Xeon(R) CPU @ 2.20GHz NaN NaN -79.9746 32.8608 \n", "\n", " ram_total_size tracking_mode on_cloud pue \n", "0 12.67477 machine N 1.0 \n", "\n", "[1 rows x 32 columns]" ], "text/html": [ "\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
timestampproject_namerun_idexperiment_iddurationemissionsemissions_ratecpu_powergpu_powerram_power...cpu_countcpu_modelgpu_countgpu_modellongitudelatituderam_total_sizetracking_modeon_cloudpue
02025-02-15T10:02:12codecarbon380e3ca2-82db-4172-a670-915f75ca4ac95b0fa12a-3dd7-45bb-9766-cc326314d9f1252.0516950.0009440.00000442.50.04.753039...2Intel(R) Xeon(R) CPU @ 2.20GHzNaNNaN-79.974632.860812.67477machineN1.0
\n", "

1 rows × 32 columns

\n", "
\n", "
\n", "\n", "
\n", " \n", "\n", " \n", "\n", " \n", "
\n", "\n", "\n", "
\n", " \n", " \n", " \n", "
\n", "\n", "
\n", "
\n" ], "application/vnd.google.colaboratory.intrinsic+json": { "type": "dataframe", "variable_name": "emissions_df" } }, "metadata": {} } ] }, { "cell_type": "code", "source": [ "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "# Assuming your emissions_df has 'timestamp' and 'emissions' columns\n", "plt.figure(figsize=(10, 6)) # Adjust figure size as needed\n", "sns.lineplot(x='timestamp', y='emissions', data=emissions_df)\n", "plt.xlabel(\"Timestamp\")\n", "plt.ylabel(\"Emissions (kg CO2e)\")\n", "plt.title(\"Carbon Emissions over Time\")\n", "plt.xticks(rotation=45, ha='right') # Rotate x-axis labels for better readability\n", "plt.tight_layout()\n", "plt.show()" ], "metadata": { "id": "-f5nI8aMECsI", "outputId": "6e12ea45-35ba-4e77-a9a7-7b3ead1d78be", "colab": { "base_uri": "https://localhost:8080/", "height": 430 } }, "execution_count": 29, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "code", "source": [ "plt.figure(figsize=(8, 6))\n", "sns.scatterplot(x='duration', y='emissions', data=emissions_df)\n", "plt.xlabel(\"Duration (seconds)\")\n", "plt.ylabel(\"Emissions (kg CO2e)\")\n", "plt.title(\"Duration vs. Carbon Emissions\")\n", "plt.tight_layout()\n", "plt.show()\n" ], "metadata": { "id": "G_pb-KIaG8ly", "outputId": "435f53ae-bec8-4590-9e2a-de30499f1dba", "colab": { "base_uri": "https://localhost:8080/", "height": 534 } }, "execution_count": 30, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAAJOCAYAAAAqFJGJAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAWgRJREFUeJzt3XlcVHX////nALKpgIqCKKHmviSmgWhXmqKYS9Jll6JcuWSaV1maWmmf1OqqXMo0TTNb1MrdbDO1i3BpkXDLckut3BOXEBBzAeb9+8Of820EjfGAgD7ut9vcvOZ9XnPmdc5pvObpOe8zNmOMEQAAAABY4FbUDQAAAAAo+QgWAAAAACwjWAAAAACwjGABAAAAwDKCBQAAAADLCBYAAAAALCNYAAAAALCMYAEAAADAMoIFAAAAAMsIFgBQDD333HOy2WxF3cYN69L+PXnyZFG3ct3NmTNHNptN+/fvL9D1rl27VjabTWvXri3Q9QIoOQgWAG5Yl75AXXp4e3srJCREMTExmjp1qk6fPl2k/f3555967rnn+CL2/8vJydHs2bPVunVrlS9fXl5eXqpWrZr69eunTZs2FXV7he6v/61e/hg0aFBRtwcAf8tmjDFF3QQAFIY5c+aoX79+euGFF1S9enVlZWUpJSVFa9euVUJCgm655RZ99tlnuu2224qkv5MnT6pixYoaO3asnnvuOadl2dnZys7Olre3d5H0dr2dPXtW//znP7Vq1Srddddd6tKli8qXL6/9+/dr8eLF2rNnjw4ePKiqVasWyPs999xzev7553XixAkFBgYWyDqtstlsateunXr37p1rWe3atRUREVEg75OTk6OsrCx5eXkV6Fkxu92uCxcuyNPTU25u/LslcDPyKOoGAKCw3XPPPWrWrJnj+ahRo7R69Wp17txZ9957r3bt2iUfHx/L75OdnS273S5PT0/L6/Lw8JCHx83zV/STTz6pVatWafLkyRo6dKjTsrFjx2ry5MkF8j5nzpxR6dKlC2RdhaF27dr697//Xajv4e7uLnd39wJfr5ub200ThAHkjX9SAHBTatOmjUaPHq0DBw7oww8/dIy3bt1arVu3zlXft29fVatWzfF8//79stlsevXVVzVlyhTdeuut8vLy0s6dO3XhwgWNGTNGTZs2lb+/v0qXLq1//OMfWrNmjdPrK1asKEl6/vnnHZe8XDpzkdcci+zsbP33v/91vFe1atX0zDPP6Pz580511apVU+fOnfXtt98qIiJC3t7eqlGjht5///2r7pOsrCyVL19e/fr1y7UsIyND3t7eGjFihGNs2rRpatCggXx9fVWuXDk1a9ZM8+fPv+p75OXw4cN666231K5du1yhQrr4RXjEiBGOsxUHDhzQI488ojp16sjHx0cVKlTQv/71r1xzBi5dCrdu3To98sgjqlSpUq4zHidPnlT37t3l5+enChUqaMiQITp37pxTTWHvd1e1bt1aDRs21E8//aRWrVrJ19dXNWvW1NKlSyVJ69atU2RkpHx8fFSnTh199dVXee6Xv+6vTZs2KSYmRoGBgfLx8VH16tX14IMPOr1u4cKFatq0qcqWLSs/Pz81atRIr7/+umP5leZYLFmyRE2bNpWPj48CAwP173//W0eOHHGq6du3r8qUKaMjR44oNjZWZcqUUcWKFTVixAjl5OS41AeAokOwAHDTeuCBByRJ//vf/655HbNnz9a0adM0cOBATZo0SeXLl1dGRobeeecdtW7dWhMmTNBzzz2nEydOKCYmRlu3bpUkVaxYUW+++aYk6b777tMHH3ygDz74QP/85z+v+F4PPfSQxowZo9tvv12TJ09Wq1atNG7cOMXFxeWq/eWXX3T//ferXbt2mjRpksqVK6e+fftqx44dV1x/qVKldN999+mTTz7RhQsXnJZ98sknOn/+vOO93n77bT3++OOqX7++pkyZoueff17h4eFKTk52dRdq5cqVys7OdhyPv7Nx40atX79ecXFxmjp1qgYNGqTExES1bt1af/75Z676Rx55RDt37tSYMWM0cuRIp2Xdu3fXuXPnNG7cOHXs2FFTp07VwIEDnWoKe7//1blz53Ty5Mlcj8uPx6lTp9S5c2dFRkZq4sSJ8vLyUlxcnBYtWqS4uDh17NhR48eP15kzZ3T//fdfdT7R8ePH1b59e+3fv18jR47UtGnTFB8fr++//95Rk5CQoJ49e6pcuXKaMGGCxo8fr9atW+u777676vbMmTNH3bt3l7u7u8aNG6cBAwZo2bJluvPOO5WWluZUm5OTo5iYGFWoUEGvvvqqWrVqpUmTJmnWrFmW+wBwnRgAuEHNnj3bSDIbN268Yo2/v79p0qSJ43mrVq1Mq1atctX16dPHhIWFOZ7v27fPSDJ+fn7m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69fXokWLVLt2bZUvX14NGzZUw4YNc62zcePG6tOnj2bNmqW0tDS1atVKGzZs0Ny5cxUbG5trcq9VPXr00LRp0zR27Fg1atRI9erVc1revn17BQcHq2XLlgoKCtKuXbv0xhtvqFOnTo45Kxs2bNDdd9+d5y+LX27SpEn69ddf9fjjj2vZsmXq3LmzypUrp4MHD2rJkiX6+eefHZOVO3furA8++ED+/v6qX7++kpKS9NVXX6lChQoub+e+fft07733qkOHDkpKStKHH36oXr16OS77ut77fc+ePXmeuQkKClK7du0K9L0umTt3rmbMmKH77rtPt956q06fPq23335bfn5+jmD10EMPKTU1VW3atFHVqlV14MABTZs2TeHh4bn+27ikVKlSmjBhgvr166dWrVqpZ8+eOnbsmF5//XVVq1ZNTzzxhMu9XksfAK6jIrwjFQAUqku31bz08PT0NMHBwaZdu3bm9ddfNxkZGXm+7sMPPzQ1atQwnp6eJjw83Hz55ZdXvN3sK6+8kuv1drvdvPzyyyYsLMx4eXmZJk2amOXLl+dahzHGrF+/3jRt2tR4eno63Xr28tvNGmNMVlaWef7550316tVNqVKlTGhoqBk1apQ5d+6cU11YWJjp1KlTrr6udCvdvNjtdhMaGmokmRdffDHX8rfeesvcddddpkKFCsbLy8vceuut5sknnzTp6emOmku3H83rdrp5yc7ONu+88475xz/+Yfz9/U2pUqVMWFiY6devn9OtaE+dOmX69etnAgMDTZkyZUxMTIz5+eefTVhYmOnTp4+j7mq3G760f3fu3Gnuv/9+U7ZsWVOuXDkzePBgp1ujGnP99ruucrvZv76+VatWed7q90rvL8k8+uijjueX3252y5YtpmfPnuaWW24xXl5eplKlSqZz585m06ZNjtcsXbrUtG/f3lSqVMl4enqaW265xTz88MPm6NGjjprLbzd7yaJFi0yTJk2Ml5eXKV++vImPjzeHDx92qunTp48pXbp0rt4v/xzkpw8ARcdmTAHPKAMAAABw02GOBQAAAADLCBYAAAAALCNYAAAAALCMYAEAAADAMoIFAAAAAMsIFgAAAAAs4wfyipDdbtfvv/+usmXLymazFXU7AAAAgBNjjE6fPq2QkBC5uV39nATBogj9/vvvCg0NLeo2AAAAgKs6dOiQqlatetUagkUR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K/b03XffycPDQ+Hh4a5tPAAAAHADcHmORadOnfTkk09q586datSokUqVKuW0/N5773VpfYsWLdKwYcM0c+ZMRUZGasqUKYqJidHu3btVqVKlXPXr169Xz549NW7cOHXu3Fnz589XbGystmzZooYNG0qSJk6cqKlTp2ru3LmqXr26Ro8erZiYGO3cuVPe3t6SpPj4eB09elQJCQnKyspSv379NHDgQM2fP1+StHLlSsXHx2vatGlq3769du3apQEDBsjHx0eDBw926iktLU29e/dW27ZtdezYMZe2HwAAALgRuHy7WTe3K5/ksNlsysnJcamByMhI3XHHHXrjjTckSXa7XaGhoXrsscc0cuTIXPU9evTQmTNntHz5csdY8+bNFR4erpkzZ8oYo5CQEA0fPlwjRoyQJKWnpysoKEhz5sxRXFycdu3apfr162vjxo1q1qyZJGnVqlXq2LGjDh8+rJCQEPXq1UtZWVlasmSJ432mTZumiRMn6uDBg06T1uPi4lSrVi25u7vrk08+0datW/O17dxuFgAAAMWZK99XXb4Uym63X/Hhaqi4cOGCNm/erOjo6P/XkJuboqOjlZSUlOdrkpKSnOqli5dnXarft2+fUlJSnGr8/f0VGRnpqElKSlJAQIAjVEhSdHS03NzclJycLEk6f/684+zGJT4+Pjp8+LAOHDjgGJs9e7Z+++03jR071qVtBwAAAG4kLgeLgnTy5Enl5OQoKCjIaTwoKEgpKSl5viYlJeWq9Zf+/Luayy+z8vDwUPny5R01MTExWrZsmRITE2W327Vnzx5NmjRJknT06FFJ0t69ezVy5Eh9+OGH8vD4+6vKzp8/r4yMDKcHAAAAcCO4pmCxbt06denSRTVr1lTNmjV177336ptvvino3orUgAEDNHjwYHXu3Fmenp5q3ry54uLiJF08q5KTk6NevXrp+eefV+3atfO1znHjxsnf39/xCA0NLcxNAAAAAK4bl4PFhx9+qOjoaPn6+urxxx/X448/Lh8fH7Vt29Yx8Tm/AgMD5e7unmvC87FjxxQcHJzna4KDg69af+nPv6s5fvy40/Ls7GylpqY6amw2myZMmKDMzEwdOHBAKSkpioiIkCTVqFFDp0+f1qZNmzR48GB5eHjIw8NDL7zwgn788Ud5eHho9erVuXofNWqU0tPTHY9Dhw7laz8BAAAAxZ3L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9yV8tou3/BzrpKQkdejQQe3bt9eGDRu0ceNGDR482OlXk+Pj47Vjxw4lJCRo+fLl+vrrrzVw4MCi2CRcQUEda0l64YUXnD7Xjz32WOE0bYDLHD9+3Egy69atcxr/4YcfTJUqVczRo0eNJPPxxx87lq1YscK4ubmZlJQUx9ibb75p/Pz8zPnz569X63DRtRxrY0yeYyje8jrWrVq1MkOGDLnia/hcl1zXcryN4bNdEuV1rCMjI82zzz57xdfs3LnTSDIbN250jK1cudLYbDZz5MiRQu0X1+5ajrUxxoSFhZnJkycXcncXccYCuaSnp0uSypcv7xj7888/1atXL02fPl3BwcG5XpOUlKRGjRopKCjIMRYTE6OMjAzt2LGj8JvGNbmWY33Jo48+qsDAQEVEROi9996T4c7VxVpex1qS5s2bp8DAQDVs2FCjRo3Sn3/+6VjG57rkupbjfQmf7ZLl8mN9/PhxJScnq1KlSmrRooWCgoLUqlUrffvtt47XJCUlKSAgQM2aNXOMRUdHy83NTcnJydd3A5Bv13KsLxk/frwqVKigJk2a6JVXXim0S1o9CmWtKLHsdruGDh2qli1bqmHDho7xJ554Qi1atFDXrl3zfF1KSorTlw9JjucpKSmF1zCu2bUea+niKdU2bdrI19dX//vf//TII48oMzNTjz/++PVoHS660rHu1auXwsLCFBISop9++klPP/20du/erWXLlknic11SXevxlvhslzR5HevffvtNkvTcc8/p1VdfVXh4uN5//321bdtW27dvV61atZSSkqJKlSo5rcvDw0Ply5fns11MXeuxlqTHH39ct99+u8qXL6/169dr1KhROnr0qF577bWCb/S6nBdBiTFo0CATFhZmDh065Bj79NNPTc2aNc3p06cdY7rsdPmAAQNM+/btndZ15swZI8msWLGi0PuG6671WOdl9OjRpmrVqoXVKizK61jnJTEx0Ugyv/zyizGGz3VJda3HOy98tou3vI71d999ZySZUaNGOdU2atTIjBw50hhjzEsvvWRq166da30VK1Y0M2bMKNymcU2u9Vjn5d133zUeHh7m3LlzBd4nl0LBYfDgwVq+fLnWrFmjqlWrOsZXr16tX3/9VQEBAfLw8JCHx8UTXd26dVPr1q0lScHBwTp27JjT+i49v9rlNCgaVo51XiIjI3X48GGdP3++sFuHi650rPMSGRkpSfrll18k8bkuiawc7yvV8Nkunq50rCtXrixJql+/vlN9vXr1dPDgQUkXP7/Hjx93Wp6dna3U1FQ+28WQlWOdl8jISGVnZ2v//v0F3ivBAjLGaPDgwfr444+1evVqVa9e3Wn5yJEj9dNPP2nr1q2OhyRNnjxZs2fPliRFRUVp27ZtTn9RJSQkyM/PL9d/8Cg6BXGs87J161aVK1dOXl5ehdk+XPB3xzovl473pf+z4nNdchTE8b5SDZ/t4uXvjnW1atUUEhKS67ake/bsUVhYmKSLn+20tDRt3rzZsXz16tWy2+2OwImiVxDHOi9bt26Vm5tbrsvhCqpp3OT+85//GH9/f7N27Vpz9OhRx+PPP/+84mt02eUx2dnZpmHDhqZ9+/Zm69atZtWqVaZixYq5Ts+haBXEsf7ss8/M22+/bbZt22b27t1rZsyYYXx9fc2YMWOuwxYgv/7uWP/yyy/mhRdeMJs2bTL79u0zn376qalRo4a56667HOvgc11yFMTx5rNdMuTn7/HJkycbPz8/s2TJErN3717z7LPPGm9vb6fL3jp06GCaNGlikpOTzbfffmtq1aplevbsWRSbhCsoiGO9fv16M3nyZLN161bz66+/mg8//NBUrFjR9O7du1B6JljASMrzMXv27Ku+5vLr7vfv32/uuece4+PjYwIDA83w4cNNVlZW4TYPlxTEsV65cqUJDw83ZcqUMaVLlzaNGzc2M2fONDk5OYW/Aci3vzvWBw8eNHfddZcpX7688fLyMjVr1jRPPvmkSU9Pd1oPn+uSoSCON5/tkiG/f4+PGzfOVK1a1fj6+pqoqCjzzTffOC3/448/TM+ePU2ZMmWMn5+f6devn9P8OhS9gjjWmzdvNpGRkcbf3994e3ubevXqmZdffrlQ5lcYY4zt/28cAAAAAK4ZcywAAAAAWEawAAAAAGAZwQIAAACAZQQLAAAAAJYRLAAAAABYRrAAAAAAYBnBAgAAAIBlBAsAAAAAlhEsAADXxZw5cxQQEHBd3mv37t0KDg7W6dOnr8v7FZZq1appypQp+apt3ry5Pvroo8JtCACugmABADeQvn37ymazyWazqVSpUgoKClK7du303nvvyW63X7c+8vpC3KNHD+3Zs+e6vP+oUaP02GOPqWzZstfl/YqDZ599ViNHjryuxxkA/opgAQA3mA4dOujo0aPav3+/Vq5cqbvvvltDhgxR586dlZ2dfc3rNcZYer2Pj48qVap0za/Pr4MHD2r58uXq27dvob9XcXLPPffo9OnTWrlyZVG3AuAmRbAAgBuMl5eXgoODVaVKFd1+++165pln9Omnn2rlypWaM2eOJGn//v2y2WzaunWr43VpaWmy2Wxau3atJGnt2rWy2WxauXKlmjZtKi8vL3377bf69ddf1bVrVwUFBalMmTK644479NVXXznW07p1ax04cEBPPPGE4+yJlPelUG+++aZuvfVWeXp6qk6dOvrggw+clttsNr3zzju677775Ovrq1q1aumzzz676vYvXrxYjRs3VpUqVRxjBw4cUJcuXVSuXDmVLl1aDRo00IoVKxzLt2/frnvuuUdlypRRUFCQHnjgAZ08edKx3G63a+LEiapZs6a8vLx0yy236KWXXnIs37Ztm9q0aSMfHx9VqFBBAwcOVGZmpmN53759FRsbq1dffVWVK1dWhQoV9OijjyorK8tRc/z4cXXp0kU+Pj6qXr265s2b57Rdxhg999xzuuWWW+Tl5aWQkBA9/vjjjuXu7u7q2LGjFi5ceNX9AwCFhWABADeBNm3aqHHjxlq2bJnLrx05cqTGjx+vXbt26bbbblNmZqY6duyoxMRE/fDDD+rQoYO6dOmigwcPSpKWLVumqlWr6oUXXtDRo0d19OjRPNf78ccfa8iQIRo+fLi2b9+uhx9+WP369dOaNWuc6p5//nl1795dP/30kzp27Kj4+HilpqZesd9vvvlGzZo1cxp79NFHdf78eX399dfatm2bJkyYoDJlyki6GKjatGmjJk2aaNOmTVq1apWOHTum7t27O14/atQojR8/XqNHj9bOnTs1f/58BQUFSZLOnDmjmJgYlStXThs3btSSJUv01VdfafDgwU49rFmzRr/++qvWrFmjuXPnas6cOY6gJ10MH4cOHdKaNWu0dOlSzZgxQ8ePH3cs/+ijjzR58mS99dZb2rt3rz755BM1atTI6T0iIiL0zTffXHHfAEChMgCAG0afPn1M165d81zWo0cPU69ePWOMMfv27TOSzA8//OBYfurUKSPJrFmzxhhjzJo1a4wk88knn/zt+zZo0MBMmzbN8TwsLMxMnjzZqWb27NnG39/f8bxFixZmwIABTjX/+te/TMeOHR3PJZlnn33W8TwzM9NIMitXrrxiL40bNzYvvPCC01ijRo3Mc889l2f9f//7X9O+fXunsUOHDhlJZvfu3SYjI8N4eXmZt99+O8/Xz5o1y5QrV85kZmY6xr744gvj5uZmUlJSjDEXj0tYWJjJzs522tYePXoYY4zZvXu3kWQ2bNjgWL5r1y4jybEfJ02aZGrXrm0uXLhwxW3/9NNPjZubm8nJybliDQAUFs5YAMBNwhjjuCzJFZf/639mZqZGjBihevXqKSAgQGXKlNGuXbscZyzya9euXWrZsqXTWMuWLbVr1y6nsdtuu83xv0uXLi0/Pz+nf8m/3NmzZ+Xt7e009vjjj+vFF19Uy5YtNXbsWP3000+OZT/++KPWrFmjMmXKOB5169aVJP3666/atWuXzp8/r7Zt215xOxo3bqzSpUs7bYfdbtfu3bsdYw0aNJC7u7vjeeXKlR3bsWvXLnl4eKhp06aO5XXr1nW6dOxf//qXzp49qxo1amjAgAH6+OOPc8158fHxkd1u1/nz56+4fwCgsBAsAOAmsWvXLlWvXl2S5OZ28a9/Y4xj+V+v9/+rv35hlqQRI0bo448/1ssvv6xvvvlGW7duVaNGjXThwoVC6btUqVJOz20221XvfBQYGKhTp045jT300EP67bff9MADD2jbtm1q1qyZpk2bJuliUOrSpYu2bt3q9Ni7d6/uuusu+fj4FMl2XC40NFS7d+/WjBkz5OPjo0ceeUR33XWX03FLTU1V6dKlC6xnAHAFwQIAbgKrV6/Wtm3b1K1bN0lSxYoVJclp/sNfJ3JfzXfffae+ffvqvvvuU6NGjRQcHKz9+/c71Xh6eionJ+eq66lXr56+++67XOuuX79+vvq4kiZNmmjnzp25xkNDQzVo0CAtW7ZMw4cP19tvvy1Juv3227Vjxw5Vq1ZNNWvWdHqULl1atWrVko+PjxITE6+4HT/++KPOnDnjtB1ubm6qU6dOvnquW7eusrOztXnzZsfY7t27lZaW5lTn4+OjLl26aOrUqVq7dq2SkpK0bds2x/Lt27erSZMm+XpPAChoBAsAuMGcP39eKSkpOnLkiLZs2aKXX35ZXbt2VefOndW7d29JF7+gNm/e3DEpe926dXr22Wfztf5atWpp2bJl2rp1q3788Uf16tUr17+8V6tWTV9//bWOHDnidHelv3ryySc1Z84cvfnmm9q7d69ee+01LVu2TCNGjLC0/TExMUpKSnIKNkOHDtWXX36pffv2acuWLVqzZo3q1asn6eLE7tTUVPXs2VMbN27Ur7/+qi+//FL9+vVTTk6OvL299fTTT+upp57S+++/r19//VXff/+93n33XUlSfHy8vL291adPH23fvl1r1qzRY489pgceeMAxwfvv1KlTRx06dNDDDz+s5ORkbd68WQ899JDTmYc5c+bo3Xff1fbt2/Xbb7/pww8/lI+Pj8LCwhw133zzjdq3b29p/wHAtSJYAMANZtWqVapcubKqVaumDh06aM2aNZo6dao+/fRTp2v833vvPWVnZ6tp06YaOnSoXnzxxXyt/7XXXlO5cuXUokULdenSRTExMbr99tudal544QXt379ft956q+PsyOViY2P1+uuv69VXX1WDBg301ltvafbs2WrduvU1b7t08fccPDw8nG6Bm5OTo0cffVT16tVThw4dVLt2bc2YMUOSFBISou+++045OTlq3769GjVqpKFDhyogIMBxydjo0aM1fPhwjRkzRvXq1VOPHj0c8yN8fX315ZdfKjU1VXfccYfuv/9+tW3bVm+88YZLfc+ePVshISFq1aqV/vnPf2rgwIFOv/sREBCgt99+Wy1bttRtt92mr776Sp9//rkqVKggSTpy5IjWr1+vfv36Wdp/AHCtbOavF9gCAHADmD59uj777DN9+eWXRd3KdfP000/r1KlTmjVrVlG3AuAm5VHUDQAAUNAefvhhpaWl6fTp0ypbtmxRt3NdVKpUScOGDSvqNgDcxDhjAQAAAMAy5lgAAAAAsIxgAQAAAMAyggUAAAAAywgWAAAAACwjWAAAAACwjGABAAAAwDKCBQAAAADLCBYAAAAALCNYAAAAALCMYAEAAADAsv8PgPqG5XV84D8AAAAASUVORK5CYII=\n" }, "metadata": {} } ] }, { "cell_type": "code", "source": [ "plt.figure(figsize=(8, 6))\n", "sns.histplot(emissions_df['energy_consumed'], bins=20, kde=True) # Assuming 'energy_consumed' column\n", "plt.xlabel(\"Energy Consumed (kWh)\")\n", "plt.ylabel(\"Frequency\")\n", "plt.title(\"Distribution of Energy Consumption\")\n", "plt.tight_layout()\n", "plt.show()" ], "metadata": { "id": "Un7iA5_yHCX8", "outputId": "183eb039-4a32-4106-ab2e-598ba1e03da7", "colab": { "base_uri": "https://localhost:8080/", "height": 534 } }, "execution_count": 31, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAAJOCAYAAAAqFJGJAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAASTtJREFUeJzt3XlYVeX+///XRmRQVDQUHFDM2RzTIx8tM5XEIdPMMlNRsrSS40B10jLRzLRBs0HjZKVWlqbHzG8aagjllANqo/OEKaAeS3AChfX7w5/7uGUQ9g1sqefjuvZ1te51r7Xea++F8WKt+942y7IsAQAAAIABN1cXAAAAAKDkI1gAAAAAMEawAAAAAGCMYAEAAADAGMECAAAAgDGCBQAAAABjBAsAAAAAxggWAAAAAIwRLAAAAAAYI1gAKHYTJ06UzWYrlmPdfffduvvuu+3L8fHxstlsWrJkSbEcf8iQIQoKCiqWYznr7NmzeuyxxxQQECCbzabRo0e7uiT8TQQFBWnIkCGuLgNAISFYADAyb9482Ww2+8vLy0vVqlVTaGio3n77baWlpRXKcY4fP66JEydq586dhbK/wnQz15Yfr7zyiubNm6cnn3xSn3zyiQYNGpRr36CgIIfP+9pX165di7Fq19m5c6cGDhyowMBAeXp6qlKlSgoJCdHcuXOVmZnp6vJuOhs3btTEiRP1559/uroUAEXM3dUFAPhreOmll1S7dm1dunRJycnJio+P1+jRozVjxgwtX75czZo1s/cdP368xo4dW6D9Hz9+XJMmTVJQUJBatGiR7+1Wr15doOM4I6/a5syZo6ysrCKvwcTatWv1f//3f4qKispX/xYtWujpp5/O1l6tWrXCLu2m88EHH+iJJ56Qv7+/Bg0apHr16iktLU2xsbEaOnSokpKS9Pzzz7u6zJvKxo0bNWnSJA0ZMkS+vr4O6/bs2SM3N/7GCfxVECwAFIpu3bqpdevW9uVx48Zp7dq1uvfee3Xfffdp165d8vb2liS5u7vL3b1o//k5f/68ypQpIw8PjyI9zo2ULl3apcfPjxMnTqhx48b57l+9enUNHDiwCCvKH8uydPHiRft1VdR++OEHPfHEE2rbtq1WrlypcuXK2deNHj1a27Zt0y+//FIstfxVeHp6uroEAIWIPxMAKDKdOnXSiy++qCNHjujTTz+1t+c0xmLNmjW688475evrKx8fHzVo0MD+l9/4+Hj94x//kCSFh4fbH72ZN2+epCvjKJo0aaKEhATdddddKlOmjH3b68dYXJWZmannn39eAQEBKlu2rO677z4dPXrUoU9uz39fu88b1ZbTGItz587p6aeftj9K06BBA73xxhuyLMuhn81mU0REhJYtW6YmTZrI09NTt912m2JiYnJ+w69z4sQJDR06VP7+/vLy8lLz5s01f/58+/qr400OHTqkFStW2Gs/fPhwvvaflyFDhsjHx0fHjh1T79695ePjo8qVK+uZZ57J9rhQVlaWZs6cqdtuu01eXl7y9/fX8OHD9ccffzj0CwoK0r333qtVq1apdevW8vb21r///W9J0pEjR3TfffepbNmyqlKlisaMGaNVq1bJZrMpPj5ekhQVFaXSpUvr5MmT2eodNmyYfH19dfHixVzPadKkSbLZbFqwYIFDqLiqdevWDtdLYX/OaWlpGj16tIKCguTp6akqVaronnvu0fbt2x3eoxtds9L/PvsvvvhCkyZNUvXq1VWuXDn17dtXZ86cUXp6ukaPHq0qVarIx8dH4eHhSk9Pz7HuBQsWqEGDBvLy8lKrVq30/fff2/tMnDhRzz77rCSpdu3a2a6xnOo9ePCgHnzwQVWqVEllypTR//3f/2nFihUOfa6tf8qUKapRo4a8vLzUuXNn7d+/P9v5Ayge3LEAUKQGDRqk559/XqtXr9bjjz+eY59ff/1V9957r5o1a6aXXnpJnp6e2r9/vzZs2CBJatSokV566SVNmDBBw4YNU/v27SVJ7dq1s+/jv//9r7p166aHH35YAwcOlL+/f551TZkyRTabTc8995xOnDihmTNnKiQkRDt37izQX8DzU9u1LMvSfffdp7i4OA0dOlQtWrTQqlWr9Oyzz+rYsWN68803HfqvX79eS5cu1VNPPaVy5crp7bff1gMPPKDExETdcsstudZ14cIF3X333dq/f78iIiJUu3ZtLV68WEOGDNGff/6pUaNGqVGjRvrkk080ZswY1ahRw/54U+XKlfM850uXLunUqVPZ2suWLevw3mVmZio0NFTBwcF644039O2332r69OmqU6eOnnzySXu/4cOHa968eQoPD9fIkSN16NAhvfvuu9qxY4c2bNjgcNdnz5496t+/v4YPH67HH39cDRo00Llz59SpUyclJSVp1KhRCggI0Geffaa4uDiH+gYNGqSXXnpJixYtUkREhL09IyNDS5Ys0QMPPCAvL68cz/n8+fOKjY3VXXfdpZo1a+b5/khF8zk/8cQTWrJkiSIiItS4cWP997//1fr167Vr1y7dfvvtN6wpJ1OnTpW3t7fGjh2r/fv365133lHp0qXl5uamP/74QxMnTtQPP/ygefPmqXbt2powYYLD9t99950WLVqkkSNHytPTU7Nnz1bXrl21ZcsWNWnSRH369NHevXv1+eef680335Sfn5+k3K+xlJQUtWvXTufPn9fIkSN1yy23aP78+brvvvu0ZMkS3X///Q79p02bJjc3Nz3zzDM6c+aMXnvtNQ0YMECbN2926v0AYMgCAANz5861JFlbt27NtU+FChWsli1b2pejoqKsa//5efPNNy1J1smTJ3Pdx9atWy1J1ty5c7Ot69ChgyXJio6OznFdhw4d7MtxcXGWJKt69epWamqqvf2LL76wJFlvvfWWva1WrVrW4MGDb7jPvGobPHiwVatWLfvysmXLLEnWyy+/7NCvb9++ls1ms/bv329vk2R5eHg4tP3444+WJOudd97JdqxrzZw505Jkffrpp/a2jIwMq23btpaPj4/DudeqVcvq0aNHnvu7tq+kHF9Tp051OG9J1ksvveSwfcuWLa1WrVrZl9etW2dJshYsWODQLyYmJlv71WPHxMQ49J0+fbolyVq2bJm97cKFC1bDhg0tSVZcXJy9vW3btlZwcLDD9kuXLs3W73pX3/dRo0bl2udaRfE5V6hQwRoxYkSex83vNXv156BJkyZWRkaGvb1///6WzWazunXr5rB927ZtHa7jq3VLsrZt22ZvO3LkiOXl5WXdf//99rbXX3/dkmQdOnTohvWOHj3akmStW7fO3paWlmbVrl3bCgoKsjIzMx3qb9SokZWenm7v+9Zbb1mSrJ9//jnH9wdA0eJRKABFzsfHJ8/Zoa4O6Pzqq6+cHujs6emp8PDwfPcPCwtzeJylb9++qlq1qlauXOnU8fNr5cqVKlWqlEaOHOnQ/vTTT8uyLH3zzTcO7SEhIapTp459uVmzZipfvrwOHjx4w+MEBASof//+9rbSpUtr5MiROnv2rL777junzyE4OFhr1qzJ9rr2WFc98cQTDsvt27d3qH3x4sWqUKGC7rnnHp06dcr+atWqlXx8fLLddahdu7ZCQ0Md2mJiYlS9enXdd9999jYvL68c75CFhYVp8+bNOnDggL1twYIFCgwMVIcOHXI959TUVEnK8RGonBTF5+zr66vNmzfr+PHj+aohP8LCwhzuCAUHB8uyLD366KMO/YKDg3X06FFdvnzZob1t27Zq1aqVfblmzZrq1auXVq1a5dQMWStXrlSbNm1055132tt8fHw0bNgwHT58WL/99ptD//DwcIdxVFfvGN7o5wNA0SBYAChyZ8+ezfMXsn79+umOO+7QY489Jn9/fz388MP64osvChQyqlevXqCB2vXq1XNYttlsqlu3bqGML8jLkSNHVK1atWzvR6NGjezrr5XTYzcVK1bMNv4gp+PUq1cv24w7uR2nIPz8/BQSEpLtVatWLYd+Xl5e2R55ub72ffv26cyZM6pSpYoqV67s8Dp79qxOnDjhsH3t2rVzPNc6depkG7dTt27dbH379esnT09PLViwQJJ05swZff311xowYECe361Svnx5Scr39MlF8Tm/9tpr+uWXXxQYGKg2bdpo4sSJxr9AX3/cChUqSJICAwOztWdlZenMmTMO7df/HElS/fr1df78+RzHstzIkSNH1KBBg2zt+X3fKlasKEk3/PkAUDQYYwGgSP3+++86c+ZMjr/kXeXt7a3vv/9ecXFxWrFihWJiYrRo0SJ16tRJq1evVqlSpW54nKKYGSi3XzQzMzPzVVNhyO041nUDgG9G+XmPsrKyVKVKFfsv+te7PpiYfs4VK1bUvffeqwULFmjChAlasmSJ0tPTbzjLVd26deXu7q6ff/7Z6Pi5yc/n/NBDD6l9+/b68ssvtXr1ar3++ut69dVXtXTpUnXr1k1Swa/Z3I5bUq67klIn8HfBHQsAReqTTz6RpGyPr1zPzc1NnTt31owZM/Tbb79pypQpWrt2rf1RmML+pu59+/Y5LFuWpf379zvM4FSxYsUcv9Tr+r+aFqS2WrVq6fjx49n+8r179277+sJQq1Yt7du3L9tdn8I+jqk6derov//9r+64444c74I0b978hvuoVauWDhw4kO2XydxmBwoLC9PevXu1detWLViwQC1bttRtt92W5zHKlCmjTp066fvvv882e1huNRXF51y1alU99dRTWrZsmQ4dOqRbbrlFU6ZMsa/P7zVbWK7/OZKkvXv3qkyZMvZQWNCfjz179mRrv9muWwA5I1gAKDJr167V5MmTVbt2bQ0YMCDXfqdPn87WdvWL5q5OcVm2bFlJKrRv7/34448dfulbsmSJkpKS7H/5la780vvDDz8oIyPD3vb1119n+8WyILV1795dmZmZevfddx3a33zzTdlsNofjm+jevbuSk5O1aNEie9vly5f1zjvvyMfHJ8/xBMXpoYceUmZmpiZPnpxt3eXLl/P1noaGhurYsWNavny5ve3ixYuaM2dOjv27desmPz8/vfrqq/ruu+/y/Z0cUVFRsixLgwYN0tmzZ7OtT0hIsE/nW9ifc2ZmZrbHkKpUqaJq1ao5TAOb32u2sGzatMlhutujR4/qq6++UpcuXex3Ewr687FlyxZt2rTJ3nbu3Dm9//77CgoKKtD3rQAofjwKBaBQfPPNN9q9e7cuX76slJQUrV27VmvWrFGtWrW0fPnyXKfxlK58a/f333+vHj16qFatWjpx4oRmz56tGjVq2Adx1qlTR76+voqOjla5cuVUtmxZBQcH5/jMfX5UqlRJd955p8LDw5WSkqKZM2eqbt26DgN+H3vsMS1ZskRdu3bVQw89pAMHDujTTz91GGRb0Np69uypjh076oUXXtDhw4fVvHlzrV69Wl999ZVGjx6dbd/OGjZsmP79739ryJAhSkhIUFBQkJYsWaINGzZo5syZ+R6EnJNjx445fC/JVT4+Purdu3eB9tWhQwcNHz5cU6dO1c6dO9WlSxeVLl1a+/bt0+LFi/XWW2+pb9++ee5j+PDhevfdd9W/f3+NGjVKVatW1YIFC+zX3PV/MS9durQefvhhvfvuuypVqlSOg85z0q5dO82aNUtPPfWUGjZs6PDN2/Hx8Vq+fLlefvllSYX/OaelpalGjRrq27evmjdvLh8fH3377bfaunWrpk+fbu+X32u2sDRp0kShoaEO081KV77z46qrg7tfeOEFPfzwwypdurR69uxpDxzXGjt2rD7//HN169ZNI0eOVKVKlTR//nwdOnRI//nPf/iWbuBm56rpqAD8NVydbvbqy8PDwwoICLDuuece66233nKY1vSq66ebjY2NtXr16mVVq1bN8vDwsKpVq2b179/f2rt3r8N2X331ldW4cWPL3d3dYXrXDh06WLfddluO9eU2zebnn39ujRs3zqpSpYrl7e1t9ejRwzpy5Ei27adPn25Vr17d8vT0tO644w5r27Zt2faZV23XTzdrWVemzxwzZoxVrVo1q3Tp0la9evWs119/3crKynLoJynH6UVzm1L0eikpKVZ4eLjl5+dneXh4WE2bNs1xStzCmm722vMcPHiwVbZs2WzbX//ZX/X+++9brVq1sry9va1y5cpZTZs2tf71r39Zx48fz1edBw8etHr06GF5e3tblStXtp5++mnrP//5jyXJ+uGHH7L137JliyXJ6tKlS77O+1oJCQnWI488Yv/8KlasaHXu3NmaP3++fTpUyyrczzk9Pd169tlnrebNm1vlypWzypYtazVv3tyaPXt2tu3yc81e/TlYvHixw7a5TR999XO7dkroq3V/+umnVr169SxPT0+rZcuWOU7bO3nyZKt69eqWm5ubw9SzOV3LBw4csPr27Wv5+vpaXl5eVps2bayvv/7aoU9u9R86dCjXqZ8BFD2bZTHCCQDw1zNz5kyNGTNGv//+u6pXr+6w7scff1SLFi308ccfa9CgQS6qsGSz2WwaMWJEtse9APx9cU8RAFDiXbhwwWH54sWL+ve//6169eplCxWSNGfOHPn4+KhPnz7FVSIA/OUxxgIAUOL16dNHNWvWVIsWLXTmzBl9+umn2r17d7ZpbP/f//t/+u233/T+++8rIiIix+f8AQDOIVgAAEq80NBQffDBB1qwYIEyMzPVuHFjLVy4UP369XPo989//lMpKSnq3r27wwBjAIA5xlgAAAAAMMYYCwAAAADGCBYAAAAAjP3txlhkZWXp+PHjKleuXLYvTQIAAADwP5ZlKS0tTdWqVbvhl1T+7YLF8ePHFRgY6OoyAAAAgBLj6NGjqlGjRp59/nbBoly5cpKuvDnly5d3cTUAAADAzSs1NVWBgYH236Hz8rcLFlcffypfvjzBAgAAAMiH/AwhYPA2AAAAAGMECwAAAADGCBYAAAAAjBEsAAAAABgjWAAAAAAwRrAAAAAAYIxgAQAAAMAYwQIAAACAMYIFAAAAAGMECwAAAADGCBYAAAAAjBEsAAAAABgjWAAAAAAwRrAAAAAAYIxgAQAAAMAYwQIAAACAMYIFAAAAAGMuDRbff/+9evbsqWrVqslms2nZsmU33CY+Pl633367PD09VbduXc2bN6/I6wQAAACQN5cGi3Pnzql58+aaNWtWvvofOnRIPXr0UMeOHbVz506NHj1ajz32mFatWlXElQIAAADIi7sr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QKtWrVJ4eLgyMzNz3W748OHavXu3nnvuOe3du1dffPGF/c7EtXckKlasqD59+ujZZ59Vly5dVKNGjTzrmTVrljIzM9WmTRv95z//0b59+7Rr1y69/fbbatu2rSQpJCRETZs21YABA7R9+3Zt2bJFYWFh6tChg1q3bp2v8968ebNeeeUVbdu2TYmJiVq6dKlOnjypRo0aSZI6deqkFStWaMWKFdq9e7eefPLJG/5ynx/PPfecNm7cqIiICPudoa+++so+eLtBgwbq2rWrhg8frs2bNyshIUGPPfaYvL2989zv1Rmefv311xzX//Of/9TLL7+se++9V+vXr8+27ezZs1W3bl37o1vSlbsW77zzjn2Qd0GtW7dOt956q9GdGAAoKIIFADgpJiZGVatWdXjdeeed+d6+WrVq2rBhgzIzM9WlSxc1bdpUo0ePlq+vr9zccv/nuXbt2lqyZImWLl2qZs2a6b333rPPCuXp6enQd+jQocrIyMg2a1BObr31Vm3fvl0dO3bU008/rSZNmuiee+5RbGys3nvvPUlXgstXX32lihUr6q677lJISIhuvfVWLVq0KN/nXb58eX3//ffq3r276tevr/Hjx2v69Onq1q2bpCtf8DZ48GB7YLn11lud+qv99Zo1a6bvvvtOe/fuVfv27dWyZUtNmDDB4Rf3uXPnqlq1aurQoYP69OmjYcOGqUqVKnnu95ZbbtH999+f59S0o0eP1qRJk9S9e3f7t3NLV4JFWlqafXzFVR06dFBaWprT5/3555/r8ccfd2pbAHCWzcrviD0AwE1rypQpio6OdnhESZI++eQTjRkzRsePH5eHh4eLqvvr++mnn3TPPffowIED8vHxcWktv/76qzp16qS9e/dmGzAOAEXJ3dUFAAAKbvbs2frHP/6hW265RRs2bNDrr7/u8H0M58+fV1JSkqZNm6bhw4cTKopYs2bN9Oqrr+rQoUMOM1O5QlJSkj7++GNCBYBixx0LACiBxowZo0WLFun06dOqWbOmBg0apHHjxsnd/crfiyZOnKgpU6borrvu0ldffeXyv6IDAP76CBYAAAAAjDF4GwAAAIAxggUAAAAAYwQLAAAAAMYIFgAAAACMESwAAAAAGCNYAAAAADBGsAAAAABgjGABAAAAwBjBAgAAAICx/w/1LDlaJbbnawAAAABJRU5ErkJggg==\n" }, "metadata": {} } ] }, { "cell_type": "code", "source": [], "metadata": { "id": "kKlQm8apHJxs" }, "execution_count": null, "outputs": [] } ] }