{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Qwen3-ASR-0.6B — Multi-Language Fine-tuning\n",
    "### Dataset: `ghananlpcommunity/ghana-bible-combined-90k-twi-ewe-dagbani`\n",
    "\n",
    "Trains on **all three languages** (Twi, Ewe, Dagbani) with language-prefixed targets so the model learns both transcription and language identification simultaneously.\n",
    "\n",
    "**JSONL target format used:**\n",
    "```\n",
    "language Twi<asr_text>me din de Kwame\n",
    "language Ewe<asr_text>ŋdi na mi\n",
    "language Dagbani<asr_text>n yuli di Alhassan\n",
    "```\n",
    "\n",
    "**Runtime:** T4 GPU minimum → *Runtime → Change runtime type → T4 GPU*\n",
    "\n",
    "---\n",
    "| Section | Description |\n",
    "|---------|-------------|\n",
    "| 1 | GPU check |\n",
    "| 2 | Install dependencies |\n",
    "| 3 | Mount Google Drive |\n",
    "| 4 | Config — paths & hyperparameters |\n",
    "| 5 | Load HuggingFace dataset → build JSONL |\n",
    "| 6 | Write fine-tuning script |\n",
    "| 7 | Run training |\n",
    "| 8 | Resume from checkpoint |\n",
    "| 9 | Inference test |\n",
    "| 10 | Push to HuggingFace Hub |"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "accepted Terms of Service for \u001b[4;94mhttps://repo.anaconda.com/pkgs/main\u001b[0m\n",
      "accepted Terms of Service for \u001b[4;94mhttps://repo.anaconda.com/pkgs/r\u001b[0m\n"
     ]
    }
   ],
   "source": [
    "!conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main\n",
    "!conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1;33mJupyter detected\u001b[0m\u001b[1;33m...\u001b[0m\n",
      "\u001b[1;32m2\u001b[0m\u001b[1;32m channel Terms of Service accepted\u001b[0m\n",
      "Retrieving notices: done\n",
      "Channels:\n",
      " - defaults\n",
      "Platform: linux-64\n",
      "Collecting package metadata (repodata.json): done\n",
      "Solving environment: done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "==> WARNING: A newer version of conda exists. <==\n",
      "    current version: 26.1.1\n",
      "    latest version: 26.3.2\n",
      "\n",
      "Please update conda by running\n",
      "\n",
      "    $ conda update -n base -c defaults conda\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "## Package Plan ##\n",
      "\n",
      "  environment location: /home/user/miniconda/envs/ghana_speech\n",
      "\n",
      "  added / updated specs:\n",
      "    - python=3.11\n",
      "\n",
      "\n",
      "The following packages will be downloaded:\n",
      "\n",
      "    package                    |            build\n",
      "    ---------------------------|-----------------\n",
      "    _libgcc_mutex-0.1          |             main           3 KB\n",
      "    _openmp_mutex-5.1          |            1_gnu          21 KB\n",
      "    ca-certificates-2026.3.19  |       h06a4308_0         126 KB\n",
      "    ld_impl_linux-64-2.44      |       h9e0c5a2_3         725 KB\n",
      "    libexpat-2.7.5             |       h7354ed3_0         122 KB\n",
      "    libffi-3.4.8               |       hc5d346e_2         136 KB\n",
      "    libgcc-ng-15.2.0           |       h166f726_7          28 KB\n",
      "    libnsl-2.0.0               |       h5eee18b_0          31 KB\n",
      "    libzlib-1.3.1              |       h47b2149_1          59 KB\n",
      "    openssl-3.5.6              |       h1b28b03_0         5.6 MB\n",
      "    packaging-26.0             |  py311h06a4308_0         197 KB\n",
      "    pip-26.0.1                 |     pyhc872135_1         1.1 MB\n",
      "    pthread-stubs-0.3          |       h0ce48e5_1           5 KB\n",
      "    python-3.11.15             |       h741d88c_0        29.5 MB\n",
      "    setuptools-82.0.1          |  py311h06a4308_0         1.6 MB\n",
      "    sqlite-3.51.2              |       h3e8d24a_0         1.2 MB\n",
      "    tzdata-2026a               |       he532380_0         117 KB\n",
      "    wheel-0.46.3               |  py311h06a4308_0          71 KB\n",
      "    zlib-1.3.1                 |       h47b2149_1          89 KB\n",
      "    ------------------------------------------------------------\n",
      "                                           Total:        40.7 MB\n",
      "\n",
      "The following NEW packages will be INSTALLED:\n",
      "\n",
      "  _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main \n",
      "  _openmp_mutex      pkgs/main/linux-64::_openmp_mutex-5.1-1_gnu \n",
      "  bzip2              pkgs/main/linux-64::bzip2-1.0.8-h5eee18b_6 \n",
      "  ca-certificates    pkgs/main/linux-64::ca-certificates-2026.3.19-h06a4308_0 \n",
      "  ld_impl_linux-64   pkgs/main/linux-64::ld_impl_linux-64-2.44-h9e0c5a2_3 \n",
      "  libexpat           pkgs/main/linux-64::libexpat-2.7.5-h7354ed3_0 \n",
      "  libffi             pkgs/main/linux-64::libffi-3.4.8-hc5d346e_2 \n",
      "  libgcc             pkgs/main/linux-64::libgcc-15.2.0-h69a1729_7 \n",
      "  libgcc-ng          pkgs/main/linux-64::libgcc-ng-15.2.0-h166f726_7 \n",
      "  libgomp            pkgs/main/linux-64::libgomp-15.2.0-h4751f2c_7 \n",
      "  libnsl             pkgs/main/linux-64::libnsl-2.0.0-h5eee18b_0 \n",
      "  libstdcxx          pkgs/main/linux-64::libstdcxx-15.2.0-h39759b7_7 \n",
      "  libuuid            pkgs/main/linux-64::libuuid-1.41.5-h5eee18b_0 \n",
      "  libxcb             pkgs/main/linux-64::libxcb-1.17.0-h9b100fa_0 \n",
      "  libzlib            pkgs/main/linux-64::libzlib-1.3.1-h47b2149_1 \n",
      "  ncurses            pkgs/main/linux-64::ncurses-6.5-h7934f7d_0 \n",
      "  openssl            pkgs/main/linux-64::openssl-3.5.6-h1b28b03_0 \n",
      "  packaging          pkgs/main/linux-64::packaging-26.0-py311h06a4308_0 \n",
      "  pip                pkgs/main/noarch::pip-26.0.1-pyhc872135_1 \n",
      "  pthread-stubs      pkgs/main/linux-64::pthread-stubs-0.3-h0ce48e5_1 \n",
      "  python             pkgs/main/linux-64::python-3.11.15-h741d88c_0 \n",
      "  readline           pkgs/main/linux-64::readline-8.3-hc2a1206_0 \n",
      "  setuptools         pkgs/main/linux-64::setuptools-82.0.1-py311h06a4308_0 \n",
      "  sqlite             pkgs/main/linux-64::sqlite-3.51.2-h3e8d24a_0 \n",
      "  tk                 pkgs/main/linux-64::tk-8.6.15-h54e0aa7_0 \n",
      "  tzdata             pkgs/main/noarch::tzdata-2026a-he532380_0 \n",
      "  wheel              pkgs/main/linux-64::wheel-0.46.3-py311h06a4308_0 \n",
      "  xorg-libx11        pkgs/main/linux-64::xorg-libx11-1.8.12-h9b100fa_1 \n",
      "  xorg-libxau        pkgs/main/linux-64::xorg-libxau-1.0.12-h9b100fa_0 \n",
      "  xorg-libxdmcp      pkgs/main/linux-64::xorg-libxdmcp-1.1.5-h9b100fa_0 \n",
      "  xorg-xorgproto     pkgs/main/linux-64::xorg-xorgproto-2024.1-h5eee18b_1 \n",
      "  xz                 pkgs/main/linux-64::xz-5.8.2-h448239c_0 \n",
      "  zlib               pkgs/main/linux-64::zlib-1.3.1-h47b2149_1 \n",
      "\n",
      "\n",
      "\n",
      "python-3.11.15       | 29.5 MB   |            |   0% \n",
      "openssl-3.5.6        | 5.6 MB    |            |   0% \u001b[A\n",
      "\n",
      "setuptools-82.0.1    | 1.6 MB    |            |   0% \u001b[A\u001b[A\n",
      "\n",
      "\n",
      "sqlite-3.51.2        | 1.2 MB    |            |   0% \u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "pip-26.0.1           | 1.1 MB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "ld_impl_linux-64-2.4 | 725 KB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "packaging-26.0       | 197 KB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libffi-3.4.8         | 136 KB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "ca-certificates-2026 | 126 KB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libexpat-2.7.5       | 122 KB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "tzdata-2026a         | 117 KB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "zlib-1.3.1           | 89 KB     |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "wheel-0.46.3         | 71 KB     |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libzlib-1.3.1        | 59 KB     |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libnsl-2.0.0         | 31 KB     |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libgcc-ng-15.2.0     | 28 KB     |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "_openmp_mutex-5.1    | 21 KB     |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "pthread-stubs-0.3    | 5 KB      |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "_libgcc_mutex-0.1    | 3 KB      |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "pip-26.0.1           | 1.1 MB    | #1         |  11% \u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "pip-26.0.1           | 1.1 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "sqlite-3.51.2        | 1.2 MB    | 1          |   1% \u001b[A\u001b[A\u001b[A\n",
      "openssl-3.5.6        | 5.6 MB    |            |   0% \u001b[A\n",
      "\n",
      "\n",
      "sqlite-3.51.2        | 1.2 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "ld_impl_linux-64-2.4 | 725 KB    | 2          |   2% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "ld_impl_linux-64-2.4 | 725 KB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "packaging-26.0       | 197 KB    | 8          |   8% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "setuptools-82.0.1    | 1.6 MB    |            |   1% \u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "packaging-26.0       | 197 KB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "sqlite-3.51.2        | 1.2 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\n",
      "openssl-3.5.6        | 5.6 MB    | #########2 |  92% \u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libffi-3.4.8         | 136 KB    | #1         |  12% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libffi-3.4.8         | 136 KB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "ld_impl_linux-64-2.4 | 725 KB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "ca-certificates-2026 | 126 KB    | #2         |  13% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "ca-certificates-2026 | 126 KB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "setuptools-82.0.1    | 1.6 MB    | ########## | 100% \u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "packaging-26.0       | 197 KB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "packaging-26.0       | 197 KB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libexpat-2.7.5       | 122 KB    | #3         |  13% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libexpat-2.7.5       | 122 KB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "openssl-3.5.6        | 5.6 MB    | ########## | 100% \u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "tzdata-2026a         | 117 KB    | #3         |  14% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "ca-certificates-2026 | 126 KB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "tzdata-2026a         | 117 KB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "zlib-1.3.1           | 89 KB     | #7         |  18% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "python-3.11.15       | 29.5 MB   |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "wheel-0.46.3         | 71 KB     | ##2        |  23% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "wheel-0.46.3         | 71 KB     | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libnsl-2.0.0         | 31 KB     | #####1     |  52% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libgcc-ng-15.2.0     | 28 KB     | #####7     |  58% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libnsl-2.0.0         | 31 KB     | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libgcc-ng-15.2.0     | 28 KB     | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libzlib-1.3.1        | 59 KB     | ##7        |  27% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libzlib-1.3.1        | 59 KB     | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "_openmp_mutex-5.1    | 21 KB     | #######6   |  77% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "_openmp_mutex-5.1    | 21 KB     | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "pthread-stubs-0.3    | 5 KB      | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "pthread-stubs-0.3    | 5 KB      | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "_libgcc_mutex-0.1    | 3 KB      | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "python-3.11.15       | 29.5 MB   | 1          |   1% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libffi-3.4.8         | 136 KB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libffi-3.4.8         | 136 KB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libexpat-2.7.5       | 122 KB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libexpat-2.7.5       | 122 KB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "pip-26.0.1           | 1.1 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "python-3.11.15       | 29.5 MB   | #9         |  19% \u001b[A\u001b[A\u001b[A\u001b[A\n",
      "python-3.11.15       | 29.5 MB   | ###1       |  31% \u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "zlib-1.3.1           | 89 KB     | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "zlib-1.3.1           | 89 KB     | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "tzdata-2026a         | 117 KB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "tzdata-2026a         | 117 KB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "wheel-0.46.3         | 71 KB     | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "wheel-0.46.3         | 71 KB     | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libnsl-2.0.0         | 31 KB     | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libnsl-2.0.0         | 31 KB     | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libzlib-1.3.1        | 59 KB     | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libzlib-1.3.1        | 59 KB     | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libgcc-ng-15.2.0     | 28 KB     | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libgcc-ng-15.2.0     | 28 KB     | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "pthread-stubs-0.3    | 5 KB      | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "python-3.11.15       | 29.5 MB   | ###9       |  40% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "setuptools-82.0.1    | 1.6 MB    | ########## | 100% \u001b[A\u001b[A\n",
      "\n",
      "setuptools-82.0.1    | 1.6 MB    | ########## | 100% \u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "_openmp_mutex-5.1    | 21 KB     | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "                                                     \u001b[A\n",
      "\n",
      "                                                     \u001b[A\u001b[A\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A done\n",
      "Preparing transaction: done\n",
      "Verifying transaction: done\n",
      "Executing transaction: done\n",
      "#\n",
      "# To activate this environment, use\n",
      "#\n",
      "#     $ conda activate ghana_speech\n",
      "#\n",
      "# To deactivate an active environment, use\n",
      "#\n",
      "#     $ conda deactivate\n",
      "\n",
      "Looking in indexes: https://download.pytorch.org/whl/cu121\n",
      "Collecting torch\n",
      "  Downloading https://download-r2.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp311-cp311-linux_x86_64.whl (780.5 MB)\n",
      "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━[0m[9╺\u001bm\u001b[9m━━\u001b[0m \u001b[32m0.0/780.5 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m21.0/780.5 MB\u001b[0m \u001b[31m106.3 MB/s\u001b[0m eta \u001b[36m0:00:08\u001b[0m━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m44.6/780.5 MB\u001b[0m \u001b[31m111.5 MB/s\u001b[0m eta \u001b[36m0:00:07\u001b[0m━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m66.1/780.5 MB\u001b[0m \u001b[31m109.9 MB/s\u001b[0m eta \u001b[36m0:00:07\u001b[0m━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m87.0/780.5 MB\u001b[0m \u001b[31m108.7 MB/s\u001b[0m eta \u001b[36m0:00:07\u001b[0m━━━━━━━━━━━━━━━\u001b[0m \u001b[32m107.2/780.5 MB\u001b[0m \u001b[31m107.3 MB/s\u001b[0m eta \u001b[36m0:00:07\u001b[0m━━━━━━━━━━━━━━━\u001b[0m \u001b[32m131.3/780.5 MB\u001b[0m \u001b[31m108.9 MB/s\u001b[0m eta \u001b[36m0:00:06\u001b[0m━━━━━━━━━━━━━━━\u001b[0m \u001b[32m155.7/780.5 MB\u001b[0m \u001b[31m110.9 MB/s\u001b[0m eta \u001b[36m0:00:06\u001b[0m━━━━━━━━━━━━━━━\u001b[0m \u001b[32m177.2/780.5 MB\u001b[0m \u001b[31m110.2 MB/s\u001b[0m eta \u001b[36m0:00:06\u001b[0m━━━━━━━━━━━━━━━\u001b[0m \u001b[32m197.1/780.5 MB\u001b[0m \u001b[31m109.0 MB/s\u001b[0m eta \u001b[36m0:00:06\u001b[0m━━━━━━━━━━━━━━━\u001b[0m \u001b[32m221.5/780.5 MB\u001b[0m \u001b[31m110.1 MB/s\u001b[0m eta \u001b[36m0:00:06\u001b[0m━━━━━━━━━━━━━━━\u001b[0m \u001b[32m242.0/780.5 MB\u001b[0m \u001b[31m109.3 MB/s\u001b[0m eta \u001b[36m0:00:05\u001b[0m━━━━━━━━━━━━━━━\u001b[0m \u001b[32m262.1/780.5 MB\u001b[0m \u001b[31m108.7 MB/s\u001b[0m eta \u001b[36m0:00:05\u001b[0m━━━━━━━━━━━━━━━\u001b[0m \u001b[32m287.3/780.5 MB\u001b[0m \u001b[31m110.1 MB/s\u001b[0m eta \u001b[36m0:00:05\u001b[0m━━━━━━━━━━━━━━━\u001b[0m \u001b[32m316.1/780.5 MB\u001b[0m \u001b[31m113.0 MB/s\u001b[0m eta \u001b[36m0:00:05\u001b[0m━━━━━━━━━━━━━━━\u001b[0m \u001b[32m347.3/780.5 MB\u001b[0m \u001b[31m116.7 MB/s\u001b[0m eta \u001b[36m0:00:04\u001b[0m━━━━━━━━━━━━━━━\u001b[0m \u001b[32m372.2/780.5 MB\u001b[0m \u001b[31m119.2 MB/s\u001b[0m eta \u001b[36m0:00:04\u001b[0m━━━━━━━━━━━━━━━\u001b[0m \u001b[32m399.0/780.5 MB\u001b[0m \u001b[31m120.4 MB/s\u001b[0m eta \u001b[36m0:00:04\u001b[0m━━━━━━━━━━━━━━━\u001b[0m \u001b[32m422.6/780.5 MB\u001b[0m \u001b[31m119.9 MB/s\u001b[0m eta \u001b[36m0:00:03\u001b[0m━━━━━━━━━━━━━━━\u001b[0m \u001b[32m447.0/780.5 MB\u001b[0m \u001b[31m123.5 MB/s\u001b[0m eta \u001b[36m0:00:03\u001b[0m0m━━━━━━━━━━━━━━\u001b[0m \u001b[32m482.1/780.5 MB\u001b[0m \u001b[31m129.3 MB/s\u001b[0m eta \u001b[36m0:00:03\u001b[0m[0m\u001b[90m━━━━━━━━━━━━\u001b[0m \u001b[32m514.1/780.5 MB\u001b[0m \u001b[31m136.7 MB/s\u001b[0m eta \u001b[36m0:00:02\u001b[0m0m╺\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m \u001b[32m550.2/780.5 MB\u001b[0m \u001b[31m144.8 MB/s\u001b[0m eta \u001b[36m0:00:02\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m \u001b[32m581.4/780.5 MB\u001b[0m \u001b[31m146.1 MB/s\u001b[0m eta \u001b[36m0:00:02\u001b[0m━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━\u001b[0m \u001b[32m612.6/780.5 MB\u001b[0m \u001b[31m145.9 MB/s\u001b[0m eta \u001b[36m0:00:02\u001b[0m━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━\u001b[0m \u001b[32m643.6/780.5 MB\u001b[0m \u001b[31m150.2 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m676.9/780.5 MB\u001b[0m \u001b[31m156.6 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━\u001b[0m \u001b[32m712.2/780.5 MB\u001b[0m \u001b[31m164.9 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━\u001b[0m \u001b[32m746.3/780.5 MB\u001b[0m \u001b[31m163.5 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m \u001b[32m774.9/780.5 MB\u001b[0m \u001b[31m161.8 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m \u001b[32m780.4/780.5 MB\u001b[0m \u001b[31m162.3 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m \u001b[32m780.4/780.5 MB\u001b[0m \u001b[31m162.3 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━━━━━━━━━\u001b[0m \u001b[32m780.5/780.5 MB\u001b[0m \u001b[31m130.5 MB/s\u001b[0m  \u001b[33m0:00:06\u001b[0m\n",
      "\u001b[?25hCollecting torchvision\n",
      "  Downloading https://download-r2.pytorch.org/whl/cu121/torchvision-0.20.1%2Bcu121-cp311-cp311-linux_x86_64.whl (7.3 MB)\n",
      "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/7.3 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━━\u001b[0m \u001b[32m7.3/7.3 MB\u001b[0m \u001b[31m188.2 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hCollecting torchaudio\n",
      "  Downloading https://download-r2.pytorch.org/whl/cu121/torchaudio-2.5.1%2Bcu121-cp311-cp311-linux_x86_64.whl (3.4 MB)\n",
      "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/3.4 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━━\u001b[0m \u001b[32m3.4/3.4 MB\u001b[0m \u001b[31m267.7 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hCollecting torchcodec\n",
      "  Downloading https://download.pytorch.org/whl/cu121/TorchCodec-0.1.1%2Bcu121-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)\n",
      "Collecting filelock (from torch)\n",
      "  Downloading filelock-3.25.2-py3-none-any.whl.metadata (2.0 kB)\n",
      "Collecting typing-extensions>=4.8.0 (from torch)\n",
      "  Downloading https://download.pytorch.org/whl/typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB)\n",
      "Collecting networkx (from torch)\n",
      "  Downloading networkx-3.6.1-py3-none-any.whl.metadata (6.8 kB)\n",
      "Collecting jinja2 (from torch)\n",
      "  Downloading https://download.pytorch.org/whl/jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)\n",
      "Collecting fsspec (from torch)\n",
      "  Downloading fsspec-2026.2.0-py3-none-any.whl.metadata (10 kB)\n",
      "Collecting nvidia-cuda-nvrtc-cu12==12.1.105 (from torch)\n",
      "  Downloading https://download.pytorch.org/whl/cu121/nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (23.7 MB)\n",
      "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/23.7 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━━\u001b[0m \u001b[32m23.7/23.7 MB\u001b[0m \u001b[31m309.0 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hCollecting nvidia-cuda-runtime-cu12==12.1.105 (from torch)\n",
      "  Downloading https://download.pytorch.org/whl/cu121/nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (823 kB)\n",
      "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/823.6 kB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━━\u001b[0m \u001b[32m823.6/823.6 kB\u001b[0m \u001b[31m198.8 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hCollecting nvidia-cuda-cupti-cu12==12.1.105 (from torch)\n",
      "  Downloading https://download.pytorch.org/whl/cu121/nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (14.1 MB)\n",
      "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/14.1 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━━\u001b[0m \u001b[32m14.1/14.1 MB\u001b[0m \u001b[31m269.8 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hCollecting nvidia-cudnn-cu12==9.1.0.70 (from torch)\n",
      "  Downloading https://download.pytorch.org/whl/cu121/nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)\n",
      "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b91m╸\u001b[0mm━━━━\u001b[0m \u001b[32m0.0/664.8 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m32.0/664.8 MB\u001b[0m \u001b[31m160.1 MB/s\u001b[0m eta \u001b[36m0:00:04\u001b[0m━━━━━━━━━━━━━━━\u001b[0m \u001b[32m102.8/664.8 MB\u001b[0m \u001b[31m256.2 MB/s\u001b[0m eta \u001b[36m0:00:03\u001b[0m━━━━━━━━━━━━━━━\u001b[0m \u001b[32m173.8/664.8 MB\u001b[0m \u001b[31m288.2 MB/s\u001b[0m eta \u001b[36m0:00:02\u001b[0m━━━━━━━━━━━━━━━\u001b[0m \u001b[32m260.6/664.8 MB\u001b[0m \u001b[31m323.8 MB/s\u001b[0m eta \u001b[36m0:00:02\u001b[0m━━━━━━━━━━━━━━━\u001b[0m \u001b[32m347.3/664.8 MB\u001b[0m \u001b[31m394.3 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m \u001b[32m425.5/664.8 MB\u001b[0m \u001b[31m412.0 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m505.7/664.8 MB\u001b[0m \u001b[31m407.3 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m588.8/664.8 MB\u001b[0m \u001b[31m401.7 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━━━━━\u001b[0m\u001b[90m╺\u001b[0m \u001b[32m654.0/664.8 MB\u001b[0m \u001b[31m385.1 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m \u001b[32m664.5/664.8 MB\u001b[0m \u001b[31m382.2 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━━━━━━━━━\u001b[0m \u001b[32m664.8/664.8 MB\u001b[0m \u001b[31m253.9 MB/s\u001b[0m  \u001b[33m0:00:02\u001b[0m\n",
      "\u001b[?25hCollecting nvidia-cublas-cu12==12.1.3.1 (from torch)\n",
      "  Downloading https://download.pytorch.org/whl/cu121/nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl (410.6 MB)\n",
      "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━[90m╺\u001b[0m━━━━━\u001b[0m \u001b[32m0.0/410.6 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m81.8/410.6 MB\u001b[0m \u001b[31m409.9 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━━━━━━━━━━━━\u001b[0m \u001b[32m164.6/410.6 MB\u001b[0m \u001b[31m410.1 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m \u001b[32m255.3/410.6 MB\u001b[0m \u001b[31m423.8 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━\u001b[0m \u001b[32m322.4/410.6 MB\u001b[0m \u001b[31m400.5 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━━━━━\u001b[0m\u001b[90m╺\u001b[0m \u001b[32m404.8/410.6 MB\u001b[0m \u001b[31m395.5 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m \u001b[32m410.5/410.6 MB\u001b[0m \u001b[31m398.3 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━━━━━━━━━\u001b[0m \u001b[32m410.6/410.6 MB\u001b[0m \u001b[31m307.0 MB/s\u001b[0m  \u001b[33m0:00:01\u001b[0m\n",
      "\u001b[?25hCollecting nvidia-cufft-cu12==11.0.2.54 (from torch)\n",
      "  Downloading https://download.pytorch.org/whl/cu121/nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl (121.6 MB)\n",
      "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━0m━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/121.6 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m37.2/121.6 MB\u001b[0m \u001b[31m185.5 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━\u001b[0m \u001b[32m116.4/121.6 MB\u001b[0m \u001b[31m289.4 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━━━━━━━━━\u001b[0m \u001b[32m121.6/121.6 MB\u001b[0m \u001b[31m267.0 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hCollecting nvidia-curand-cu12==10.3.2.106 (from torch)\n",
      "  Downloading https://download.pytorch.org/whl/cu121/nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl (56.5 MB)\n",
      "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/56.5 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━━\u001b[0m \u001b[32m56.5/56.5 MB\u001b[0m \u001b[31m344.4 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hCollecting nvidia-cusolver-cu12==11.4.5.107 (from torch)\n",
      "  Downloading https://download.pytorch.org/whl/cu121/nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl (124.2 MB)\n",
      "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━m\u001b[91m━━━━━━━━\u001b[0m \u001b[32m0.0/124.2 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m \u001b[32m83.4/124.2 MB\u001b[0m \u001b[31m417.4 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━━━━━━━━━\u001b[0m \u001b[32m124.2/124.2 MB\u001b[0m \u001b[31m366.5 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hCollecting nvidia-cusparse-cu12==12.1.0.106 (from torch)\n",
      "  Downloading https://download.pytorch.org/whl/cu121/nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl (196.0 MB)\n",
      "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m0.0/196.0 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m78.4/196.0 MB\u001b[0m \u001b[31m393.0 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━\u001b[0m \u001b[32m160.7/196.0 MB\u001b[0m \u001b[31m400.5 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━━━━━━━━━\u001b[0m \u001b[32m196.0/196.0 MB\u001b[0m \u001b[31m352.5 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hCollecting nvidia-nccl-cu12==2.21.5 (from torch)\n",
      "  Downloading https://download.pytorch.org/whl/nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl (188.7 MB)\n",
      "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━0m\u001b[90m━━━━━━━\u001b[0m \u001b[32m0.0/188.7 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m81.8/188.7 MB\u001b[0m \u001b[31m410.2 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━\u001b[0m \u001b[32m168.6/188.7 MB\u001b[0m \u001b[31m420.5 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━━━━━━━━━\u001b[0m \u001b[32m188.7/188.7 MB\u001b[0m \u001b[31m371.5 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hCollecting nvidia-nvtx-cu12==12.1.105 (from torch)\n",
      "  Downloading https://download.pytorch.org/whl/cu121/nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (99 kB)\n",
      "Collecting triton==3.1.0 (from torch)\n",
      "  Downloading https://download-r2.pytorch.org/whl/triton-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (209.5 MB)\n",
      "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━90m╺\u001b[0m\u001b[9━━━\u001b[0m \u001b[32m0.0/209.5 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m42.2/209.5 MB\u001b[0m \u001b[31m210.3 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m83.4/209.5 MB\u001b[0m \u001b[31m207.5 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m0m━━━━━━━━━━━━━━\u001b[0m \u001b[32m125.6/209.5 MB\u001b[0m \u001b[31m208.0 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━\u001b[0m \u001b[32m178.3/209.5 MB\u001b[0m \u001b[31m221.8 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m \u001b[32m208.7/209.5 MB\u001b[0m \u001b[31m207.4 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m━━━━━━━━━━━━\u001b[0m \u001b[32m209.5/209.5 MB\u001b[0m \u001b[31m193.1 MB/s\u001b[0m  \u001b[33m0:00:01\u001b[0m\n",
      "\u001b[?25hCollecting sympy==1.13.1 (from torch)\n",
      "  Downloading sympy-1.13.1-py3-none-any.whl.metadata (12 kB)\n",
      "Collecting nvidia-nvjitlink-cu12 (from nvidia-cusolver-cu12==11.4.5.107->torch)\n",
      "  Downloading https://download.pytorch.org/whl/nvidia_nvjitlink_cu12-12.9.86-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl.metadata (1.7 kB)\n",
      "Collecting mpmath<1.4,>=1.1.0 (from sympy==1.13.1->torch)\n",
      "  Downloading mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)\n",
      "Collecting numpy (from torchvision)\n",
      "  Downloading numpy-2.4.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (6.6 kB)\n",
      "Collecting pillow!=8.3.*,>=5.3.0 (from torchvision)\n",
      "  Downloading pillow-12.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (8.8 kB)\n",
      "Collecting MarkupSafe>=2.0 (from jinja2->torch)\n",
      "  Downloading https://download.pytorch.org/whl/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.7 kB)\n",
      "Downloading sympy-1.13.1-py3-none-any.whl (6.2 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/6.2 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━\u001b[0m \u001b[32m6.2/6.2 MB\u001b[0m \u001b[31m108.2 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading mpmath-1.3.0-py3-none-any.whl (536 kB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/536.2 kB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━\u001b[0m \u001b[32m536.2/536.2 kB\u001b[0m \u001b[31m112.2 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading https://download.pytorch.org/whl/cu121/TorchCodec-0.1.1%2Bcu121-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (636 kB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/636.4 kB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━\u001b[0m \u001b[32m636.4/636.4 kB\u001b[0m \u001b[31m145.9 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading pillow-12.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.0 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/7.0 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━\u001b[0m \u001b[32m7.0/7.0 MB\u001b[0m \u001b[31m80.2 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading https://download.pytorch.org/whl/typing_extensions-4.15.0-py3-none-any.whl (44 kB)\n",
      "Downloading filelock-3.25.2-py3-none-any.whl (26 kB)\n",
      "Downloading fsspec-2026.2.0-py3-none-any.whl (202 kB)\n",
      "Downloading https://download.pytorch.org/whl/jinja2-3.1.6-py3-none-any.whl (134 kB)\n",
      "Downloading https://download.pytorch.org/whl/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (22 kB)\n",
      "Downloading networkx-3.6.1-py3-none-any.whl (2.1 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/2.1 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━\u001b[0m \u001b[32m2.1/2.1 MB\u001b[0m \u001b[31m278.6 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading numpy-2.4.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (16.9 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/16.9 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━\u001b[0m \u001b[32m16.9/16.9 MB\u001b[0m \u001b[31m87.0 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading https://download.pytorch.org/whl/nvidia_nvjitlink_cu12-12.9.86-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl (39.7 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/39.7 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━\u001b[0m \u001b[32m39.7/39.7 MB\u001b[0m \u001b[31m324.8 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hInstalling collected packages: mpmath, typing-extensions, torchcodec, sympy, pillow, nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, numpy, networkx, MarkupSafe, fsspec, filelock, triton, nvidia-cusparse-cu12, nvidia-cudnn-cu12, jinja2, nvidia-cusolver-cu12, torch, torchvision, torchaudio\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[090m╺m\u001b[90m[0m \u001b[32m 0/27\u001b[0m [mpmath]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 2/27\u001b[0m [torchcodec]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/27\u001b[0m [sympy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 4/27\u001b[0m [pillow]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 4/27\u001b[0m [pillow]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 6/27\u001b[0m [nvidia-nvjitlink-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 6/27\u001b[0m [nvidia-nvjitlink-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 6/27\u001b[0m [nvidia-nvjitlink-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 7/27\u001b[0m [nvidia-nccl-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 7/27\u001b[0m [nvidia-nccl-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 7/27\u001b[0m [nvidia-nccl-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 7/27\u001b[0m [nvidia-nccl-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 7/27\u001b[0m [nvidia-nccl-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 7/27\u001b[0m [nvidia-nccl-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 7/27\u001b[0m [nvidia-nccl-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 7/27\u001b[0m [nvidia-nccl-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 7/27\u001b[0m [nvidia-nccl-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 7/27\u001b[0m [nvidia-nccl-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 8/27\u001b[0m [nvidia-curand-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 9/27\u001b[0m [nvidia-cufft-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 9/27\u001b[0m [nvidia-cufft-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 9/27\u001b[0m [nvidia-cufft-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 9/27\u001b[0m [nvidia-cufft-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 9/27\u001b[0m [nvidia-cufft-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 9/27\u001b[0m [nvidia-cufft-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 9/27\u001b[0m [nvidia-cufft-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11/27\u001b[0m [nvidia-cuda-nvrtc-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11/27\u001b[0m [nvidia-cuda-nvrtc-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m12/27\u001b[0m [nvidia-cuda-cupti-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/27\u001b[0m [nvidia-cublas-cu12]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m14/27\u001b[0m [numpy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m14/27\u001b[0m [numpy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m14/27\u001b[0m [numpy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m14/27\u001b[0m [numpy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m14/27\u001b[0m [numpy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m14/27\u001b[0m [numpy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m14/27\u001b[0m [numpy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m14/27\u001b[0m [numpy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m14/27\u001b[0m [numpy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m14/27\u001b[0m [numpy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m15/27\u001b[0m [networkx]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m15/27\u001b[0m [networkx]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m15/27\u001b[0m [networkx]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m15/27\u001b[0m [networkx]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m15/27\u001b[0m [networkx]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m15/27\u001b[0m [networkx]\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m \u001b[32m17/27\u001b[0m [fsspec]m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m \u001b[32m19/27\u001b[0m [triton]m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m \u001b[32m19/27\u001b[0m [triton]m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m \u001b[32m19/27\u001b[0m [triton]m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m \u001b[32m19/27\u001b[0m [triton]m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m \u001b[32m19/27\u001b[0m [triton]m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m \u001b[32m19/27\u001b[0m [triton]m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m \u001b[32m19/27\u001b[0m [triton]m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m \u001b[32m19/27\u001b[0m [triton]m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m \u001b[32m19/27\u001b[0m [triton]m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m \u001b[32m19/27\u001b[0m [triton]m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m \u001b[32m19/27\u001b[0m [triton]m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m \u001b[32m19/27\u001b[0m [triton]m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m \u001b[32m19/27\u001b[0m [triton]m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m \u001b[32m19/27\u001b[0m [triton]\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m \u001b[32m20/27\u001b[0m [nvidia-cusparse-cu12]\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m \u001b[32m20/27\u001b[0m [nvidia-cusparse-cu12]\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m \u001b[32m20/27\u001b[0m [nvidia-cusparse-cu12]\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m \u001b[32m20/27\u001b[0m [nvidia-cusparse-cu12]\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m \u001b[32m20/27\u001b[0m [nvidia-cusparse-cu12]\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m \u001b[32m20/27\u001b[0m [nvidia-cusparse-cu12]\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m \u001b[32m20/27\u001b[0m [nvidia-cusparse-cu12]\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m \u001b[32m20/27\u001b[0m [nvidia-cusparse-cu12]\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m \u001b[32m20/27\u001b[0m [nvidia-cusparse-cu12]\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m \u001b[32m20/27\u001b[0m [nvidia-cusparse-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m21/27\u001b[0m [nvidia-cudnn-cu12]━━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━\u001b[0m \u001b[32m23/27\u001b[0m [nvidia-cusolver-cu12]━━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━\u001b[0m \u001b[32m23/27\u001b[0m [nvidia-cusolver-cu12]━━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━\u001b[0m \u001b[32m23/27\u001b[0m [nvidia-cusolver-cu12]━━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━\u001b[0m \u001b[32m23/27\u001b[0m [nvidia-cusolver-cu12]━━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━\u001b[0m \u001b[32m23/27\u001b[0m [nvidia-cusolver-cu12]━━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━\u001b[0m \u001b[32m23/27\u001b[0m [nvidia-cusolver-cu12]━━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━\u001b[0m \u001b[32m23/27\u001b[0m [nvidia-cusolver-cu12]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m24/27\u001b[0m [torch]━━━━━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━\u001b[0m \u001b[32m25/27\u001b[0m [torchvision]━━━━━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━\u001b[0m \u001b[32m25/27\u001b[0m [torchvision]━━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━\u001b[0m \u001b[32m26/27\u001b[0m [torchaudio]━━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━\u001b[0m \u001b[32m26/27\u001b[0m [torchaudio]━━━━━━━━━━━\u001b[0m \u001b[32m27/27\u001b[0m [torchaudio]\n",
      "\u001b[1A\u001b[2KSuccessfully installed MarkupSafe-3.0.3 filelock-3.25.2 fsspec-2026.2.0 jinja2-3.1.6 mpmath-1.3.0 networkx-3.6.1 numpy-2.4.3 nvidia-cublas-cu12-12.1.3.1 nvidia-cuda-cupti-cu12-12.1.105 nvidia-cuda-nvrtc-cu12-12.1.105 nvidia-cuda-runtime-cu12-12.1.105 nvidia-cudnn-cu12-9.1.0.70 nvidia-cufft-cu12-11.0.2.54 nvidia-curand-cu12-10.3.2.106 nvidia-cusolver-cu12-11.4.5.107 nvidia-cusparse-cu12-12.1.0.106 nvidia-nccl-cu12-2.21.5 nvidia-nvjitlink-cu12-12.9.86 nvidia-nvtx-cu12-12.1.105 pillow-12.1.1 sympy-1.13.1 torch-2.5.1+cu121 torchaudio-2.5.1+cu121 torchcodec-0.1.1+cu121 torchvision-0.20.1+cu121 triton-3.1.0 typing-extensions-4.15.0\n",
      "\u001b[1;33mJupyter detected\u001b[0m\u001b[1;33m...\u001b[0m\n",
      "\u001b[1;32m2\u001b[0m\u001b[1;32m channel Terms of Service accepted\u001b[0m\n",
      "Channels:\n",
      " - conda-forge\n",
      " - defaults\n",
      "Platform: linux-64\n",
      "Collecting package metadata (repodata.json): done\n",
      "Solving environment: done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "==> WARNING: A newer version of conda exists. <==\n",
      "    current version: 26.1.1\n",
      "    latest version: 26.3.2\n",
      "\n",
      "Please update conda by running\n",
      "\n",
      "    $ conda update -n base -c defaults conda\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "## Package Plan ##\n",
      "\n",
      "  environment location: /home/user/miniconda/envs/ghana_speech\n",
      "\n",
      "  added / updated specs:\n",
      "    - ffmpeg=7\n",
      "\n",
      "\n",
      "The following packages will be downloaded:\n",
      "\n",
      "    package                    |            build\n",
      "    ---------------------------|-----------------\n",
      "    alsa-lib-1.2.15.3          |       hb03c661_0         571 KB  conda-forge\n",
      "    aom-3.9.1                  |       hac33072_0         2.6 MB  conda-forge\n",
      "    ca-certificates-2026.4.22  |       hbd8a1cb_0         128 KB  conda-forge\n",
      "    cairo-1.18.4               |       he90730b_1         966 KB  conda-forge\n",
      "    dav1d-1.2.1                |       hd590300_0         742 KB  conda-forge\n",
      "    dbus-1.16.2                |       h24cb091_1         437 KB  conda-forge\n",
      "    ffmpeg-7.1.1               | gpl_hbbdf940_911        10.0 MB  conda-forge\n",
      "    font-ttf-dejavu-sans-mono-2.37|       hab24e00_0         388 KB  conda-forge\n",
      "    font-ttf-inconsolata-3.000 |       h77eed37_0          94 KB  conda-forge\n",
      "    font-ttf-source-code-pro-2.038|       h77eed37_0         684 KB  conda-forge\n",
      "    font-ttf-ubuntu-0.83       |       h77eed37_3         1.5 MB  conda-forge\n",
      "    fontconfig-2.17.1          |       h062c814_0         269 KB\n",
      "    fonts-conda-ecosystem-1    |                0           4 KB  conda-forge\n",
      "    fonts-conda-forge-1        |       hc364b38_1           4 KB  conda-forge\n",
      "    freetype-2.14.2            |       ha770c72_0         170 KB  conda-forge\n",
      "    fribidi-1.0.16             |       hb03c661_0          60 KB  conda-forge\n",
      "    gdk-pixbuf-2.44.5          |       h2b0a6b4_0         562 KB  conda-forge\n",
      "    gmp-6.3.0                  |       hac33072_2         449 KB  conda-forge\n",
      "    graphite2-1.3.14           |       hecca717_2          97 KB  conda-forge\n",
      "    harfbuzz-12.3.2            |       h6083320_0         1.9 MB  conda-forge\n",
      "    icu-78.3                   |       h33c6efd_0        12.1 MB  conda-forge\n",
      "    intel-gmmlib-22.10.0       |       hb700be7_0         990 KB  conda-forge\n",
      "    intel-media-driver-25.3.4  |       hecca717_0         8.0 MB  conda-forge\n",
      "    lame-3.100                 |    h166bdaf_1003         496 KB  conda-forge\n",
      "    lerc-4.1.0                 |       hdb68285_0         255 KB  conda-forge\n",
      "    level-zero-1.28.4          |       hb700be7_0         838 KB  conda-forge\n",
      "    libabseil-20250512.1       | cxx17_hba17884_0         1.2 MB  conda-forge\n",
      "    libass-0.17.4              |       h96ad9f0_0         149 KB  conda-forge\n",
      "    libcap-2.77                |       hd0affe5_1         122 KB  conda-forge\n",
      "    libdeflate-1.25            |       h17f619e_0          72 KB  conda-forge\n",
      "    libdrm-2.4.125             |       hb03c661_1         304 KB  conda-forge\n",
      "    libegl-1.7.0               |       ha4b6fd6_2          44 KB  conda-forge\n",
      "    libflac-1.5.0              |       he200343_1         415 KB  conda-forge\n",
      "    libfreetype-2.14.2         |       ha770c72_0           8 KB  conda-forge\n",
      "    libfreetype6-2.14.2        |       h73754d4_0         377 KB  conda-forge\n",
      "    libgl-1.7.0                |       ha4b6fd6_2         132 KB  conda-forge\n",
      "    libglib-2.86.3             |       h8b17d9a_0         3.9 MB\n",
      "    libglvnd-1.7.0             |       ha4b6fd6_2         129 KB  conda-forge\n",
      "    libglx-1.7.0               |       ha4b6fd6_2          74 KB  conda-forge\n",
      "    libhwloc-2.12.2            |default_hafda6a7_1000         2.3 MB  conda-forge\n",
      "    libiconv-1.18              |       h3b78370_2         772 KB  conda-forge\n",
      "    libjpeg-turbo-3.1.4.1      |       hb03c661_0         619 KB  conda-forge\n",
      "    liblzma-5.8.2              |       hb03c661_0         111 KB  conda-forge\n",
      "    libogg-1.3.5               |       hd0c01bc_1         213 KB  conda-forge\n",
      "    libopenvino-2025.2.0       |       hb617929_1         6.0 MB  conda-forge\n",
      "    libopenvino-auto-batch-plugin-2025.2.0|       hed573e4_1         112 KB  conda-forge\n",
      "    libopenvino-auto-plugin-2025.2.0|       hed573e4_1         245 KB  conda-forge\n",
      "    libopenvino-hetero-plugin-2025.2.0|       hd41364c_1         190 KB  conda-forge\n",
      "    libopenvino-intel-cpu-plugin-2025.2.0|       hb617929_1        11.8 MB  conda-forge\n",
      "    libopenvino-intel-gpu-plugin-2025.2.0|       hb617929_1        10.3 MB  conda-forge\n",
      "    libopenvino-intel-npu-plugin-2025.2.0|       hb617929_1         1.2 MB  conda-forge\n",
      "    libopenvino-ir-frontend-2025.2.0|       hd41364c_1         200 KB  conda-forge\n",
      "    libopenvino-onnx-frontend-2025.2.0|       h1862bb8_1         1.6 MB  conda-forge\n",
      "    libopenvino-paddle-frontend-2025.2.0|       h1862bb8_1         727 KB  conda-forge\n",
      "    libopenvino-pytorch-frontend-2025.2.0|       hecca717_1         1.2 MB  conda-forge\n",
      "    libopenvino-tensorflow-frontend-2025.2.0|       h0767aad_1         1.3 MB  conda-forge\n",
      "    libopenvino-tensorflow-lite-frontend-2025.2.0|       hecca717_1         485 KB  conda-forge\n",
      "    libopus-1.6.1              |       h280c20c_0         317 KB  conda-forge\n",
      "    libpciaccess-0.18          |       hb9d3cd8_0          28 KB  conda-forge\n",
      "    libpng-1.6.55              |       h421ea60_0         310 KB  conda-forge\n",
      "    libprotobuf-6.31.1         |       h49aed37_4         4.2 MB  conda-forge\n",
      "    librsvg-2.60.0             |       h61e6d4b_0         3.3 MB  conda-forge\n",
      "    libsndfile-1.2.2           |       hc7d488a_2         347 KB  conda-forge\n",
      "    libstdcxx-ng-15.2.0        |       hc03a8fd_7          28 KB\n",
      "    libsystemd0-257.13         |       hd0affe5_0         481 KB  conda-forge\n",
      "    libtiff-4.7.1              |       h9d88235_1         425 KB  conda-forge\n",
      "    libudev1-257.13            |       hd0affe5_0         142 KB  conda-forge\n",
      "    libunwind-1.8.3            |       h65a8314_0          74 KB  conda-forge\n",
      "    liburing-2.13              |       hb700be7_0         129 KB  conda-forge\n",
      "    libusb-1.0.29              |       h73b1eb8_0          87 KB  conda-forge\n",
      "    libva-2.23.0               |       he1eb515_0         216 KB  conda-forge\n",
      "    libvorbis-1.3.7            |       h54a6638_2         279 KB  conda-forge\n",
      "    libvpl-2.15.0              |       h54a6638_1         281 KB  conda-forge\n",
      "    libvpx-1.14.1              |       hac33072_0         999 KB  conda-forge\n",
      "    libvulkan-loader-1.4.341.0 |       h5279c79_0         195 KB  conda-forge\n",
      "    libwebp-base-1.6.0         |       hd42ef1d_0         419 KB  conda-forge\n",
      "    libxkbcommon-1.13.1        |       hca5e8e5_0         818 KB  conda-forge\n",
      "    libxml2-2.14.6             |       he237659_3          46 KB  conda-forge\n",
      "    libxml2-16-2.14.6          |       hca6bf5a_3         555 KB  conda-forge\n",
      "    mpg123-1.32.9              |       hc50e24c_0         480 KB  conda-forge\n",
      "    ocl-icd-2.3.3              |       hb9d3cd8_0         104 KB  conda-forge\n",
      "    opencl-headers-2025.06.13  |       hecca717_0          54 KB  conda-forge\n",
      "    openh264-2.6.0             |       hc22cd8d_0         714 KB  conda-forge\n",
      "    openssl-3.6.2              |       h35e630c_0         3.0 MB  conda-forge\n",
      "    pango-1.56.4               |       hadf4263_0         445 KB  conda-forge\n",
      "    pcre2-10.46                |       h1321c63_0         1.2 MB  conda-forge\n",
      "    pixman-0.46.4              |       h54a6638_1         440 KB  conda-forge\n",
      "    pugixml-1.15               |       h3f63f65_0         116 KB  conda-forge\n",
      "    pulseaudio-client-17.0     |       h9a6aba3_3         733 KB  conda-forge\n",
      "    sdl2-2.32.56               |       h54a6638_0         575 KB  conda-forge\n",
      "    sdl3-3.4.0                 |       h3b84278_0         2.0 MB  conda-forge\n",
      "    snappy-1.2.2               |       h03e3b7b_1          45 KB  conda-forge\n",
      "    svt-av1-3.1.2              |       hecca717_0         2.6 MB  conda-forge\n",
      "    tbb-2022.3.0               |       hb700be7_2         177 KB  conda-forge\n",
      "    wayland-1.24.0             |       h3e06ad9_0         323 KB  conda-forge\n",
      "    wayland-protocols-1.47     |       hd8ed1ab_0         137 KB  conda-forge\n",
      "    x264-1!164.3095            |       h166bdaf_2         877 KB  conda-forge\n",
      "    x265-3.5                   |       h924138e_3         3.2 MB  conda-forge\n",
      "    xkeyboard-config-2.46      |       hb03c661_0         388 KB  conda-forge\n",
      "    xorg-libice-1.1.2          |       hb9d3cd8_0          57 KB  conda-forge\n",
      "    xorg-libsm-1.2.6           |       h9b100fa_0          26 KB\n",
      "    xorg-libxcursor-1.2.3      |       hb9d3cd8_0          32 KB  conda-forge\n",
      "    xorg-libxext-1.3.7         |       hb03c661_0          49 KB  conda-forge\n",
      "    xorg-libxfixes-6.0.2       |       hb03c661_0          20 KB  conda-forge\n",
      "    xorg-libxi-1.8.2           |       hb9d3cd8_0          46 KB  conda-forge\n",
      "    xorg-libxrandr-1.5.5       |       hb03c661_0          30 KB  conda-forge\n",
      "    xorg-libxrender-0.9.12     |       hb9d3cd8_0          32 KB  conda-forge\n",
      "    xorg-libxscrnsaver-1.2.4   |       hb9d3cd8_0          14 KB  conda-forge\n",
      "    xorg-libxtst-1.2.5         |       hb9d3cd8_3          32 KB  conda-forge\n",
      "    zstd-1.5.7                 |       hb78ec9c_6         587 KB  conda-forge\n",
      "    ------------------------------------------------------------\n",
      "                                           Total:       122.4 MB\n",
      "\n",
      "The following NEW packages will be INSTALLED:\n",
      "\n",
      "  alsa-lib           conda-forge/linux-64::alsa-lib-1.2.15.3-hb03c661_0 \n",
      "  aom                conda-forge/linux-64::aom-3.9.1-hac33072_0 \n",
      "  cairo              conda-forge/linux-64::cairo-1.18.4-he90730b_1 \n",
      "  dav1d              conda-forge/linux-64::dav1d-1.2.1-hd590300_0 \n",
      "  dbus               conda-forge/linux-64::dbus-1.16.2-h24cb091_1 \n",
      "  ffmpeg             conda-forge/linux-64::ffmpeg-7.1.1-gpl_hbbdf940_911 \n",
      "  font-ttf-dejavu-s~ conda-forge/noarch::font-ttf-dejavu-sans-mono-2.37-hab24e00_0 \n",
      "  font-ttf-inconsol~ conda-forge/noarch::font-ttf-inconsolata-3.000-h77eed37_0 \n",
      "  font-ttf-source-c~ conda-forge/noarch::font-ttf-source-code-pro-2.038-h77eed37_0 \n",
      "  font-ttf-ubuntu    conda-forge/noarch::font-ttf-ubuntu-0.83-h77eed37_3 \n",
      "  fontconfig         pkgs/main/linux-64::fontconfig-2.17.1-h062c814_0 \n",
      "  fonts-conda-ecosy~ conda-forge/noarch::fonts-conda-ecosystem-1-0 \n",
      "  fonts-conda-forge  conda-forge/noarch::fonts-conda-forge-1-hc364b38_1 \n",
      "  freetype           conda-forge/linux-64::freetype-2.14.2-ha770c72_0 \n",
      "  fribidi            conda-forge/linux-64::fribidi-1.0.16-hb03c661_0 \n",
      "  gdk-pixbuf         conda-forge/linux-64::gdk-pixbuf-2.44.5-h2b0a6b4_0 \n",
      "  gmp                conda-forge/linux-64::gmp-6.3.0-hac33072_2 \n",
      "  graphite2          conda-forge/linux-64::graphite2-1.3.14-hecca717_2 \n",
      "  harfbuzz           conda-forge/linux-64::harfbuzz-12.3.2-h6083320_0 \n",
      "  icu                conda-forge/linux-64::icu-78.3-h33c6efd_0 \n",
      "  intel-gmmlib       conda-forge/linux-64::intel-gmmlib-22.10.0-hb700be7_0 \n",
      "  intel-media-driver conda-forge/linux-64::intel-media-driver-25.3.4-hecca717_0 \n",
      "  lame               conda-forge/linux-64::lame-3.100-h166bdaf_1003 \n",
      "  lerc               conda-forge/linux-64::lerc-4.1.0-hdb68285_0 \n",
      "  level-zero         conda-forge/linux-64::level-zero-1.28.4-hb700be7_0 \n",
      "  libabseil          conda-forge/linux-64::libabseil-20250512.1-cxx17_hba17884_0 \n",
      "  libass             conda-forge/linux-64::libass-0.17.4-h96ad9f0_0 \n",
      "  libcap             conda-forge/linux-64::libcap-2.77-hd0affe5_1 \n",
      "  libdeflate         conda-forge/linux-64::libdeflate-1.25-h17f619e_0 \n",
      "  libdrm             conda-forge/linux-64::libdrm-2.4.125-hb03c661_1 \n",
      "  libegl             conda-forge/linux-64::libegl-1.7.0-ha4b6fd6_2 \n",
      "  libflac            conda-forge/linux-64::libflac-1.5.0-he200343_1 \n",
      "  libfreetype        conda-forge/linux-64::libfreetype-2.14.2-ha770c72_0 \n",
      "  libfreetype6       conda-forge/linux-64::libfreetype6-2.14.2-h73754d4_0 \n",
      "  libgl              conda-forge/linux-64::libgl-1.7.0-ha4b6fd6_2 \n",
      "  libglib            pkgs/main/linux-64::libglib-2.86.3-h8b17d9a_0 \n",
      "  libglvnd           conda-forge/linux-64::libglvnd-1.7.0-ha4b6fd6_2 \n",
      "  libglx             conda-forge/linux-64::libglx-1.7.0-ha4b6fd6_2 \n",
      "  libhwloc           conda-forge/linux-64::libhwloc-2.12.2-default_hafda6a7_1000 \n",
      "  libiconv           conda-forge/linux-64::libiconv-1.18-h3b78370_2 \n",
      "  libjpeg-turbo      conda-forge/linux-64::libjpeg-turbo-3.1.4.1-hb03c661_0 \n",
      "  liblzma            conda-forge/linux-64::liblzma-5.8.2-hb03c661_0 \n",
      "  libogg             conda-forge/linux-64::libogg-1.3.5-hd0c01bc_1 \n",
      "  libopenvino        conda-forge/linux-64::libopenvino-2025.2.0-hb617929_1 \n",
      "  libopenvino-auto-~ conda-forge/linux-64::libopenvino-auto-batch-plugin-2025.2.0-hed573e4_1 \n",
      "  libopenvino-auto-~ conda-forge/linux-64::libopenvino-auto-plugin-2025.2.0-hed573e4_1 \n",
      "  libopenvino-heter~ conda-forge/linux-64::libopenvino-hetero-plugin-2025.2.0-hd41364c_1 \n",
      "  libopenvino-intel~ conda-forge/linux-64::libopenvino-intel-cpu-plugin-2025.2.0-hb617929_1 \n",
      "  libopenvino-intel~ conda-forge/linux-64::libopenvino-intel-gpu-plugin-2025.2.0-hb617929_1 \n",
      "  libopenvino-intel~ conda-forge/linux-64::libopenvino-intel-npu-plugin-2025.2.0-hb617929_1 \n",
      "  libopenvino-ir-fr~ conda-forge/linux-64::libopenvino-ir-frontend-2025.2.0-hd41364c_1 \n",
      "  libopenvino-onnx-~ conda-forge/linux-64::libopenvino-onnx-frontend-2025.2.0-h1862bb8_1 \n",
      "  libopenvino-paddl~ conda-forge/linux-64::libopenvino-paddle-frontend-2025.2.0-h1862bb8_1 \n",
      "  libopenvino-pytor~ conda-forge/linux-64::libopenvino-pytorch-frontend-2025.2.0-hecca717_1 \n",
      "  libopenvino-tenso~ conda-forge/linux-64::libopenvino-tensorflow-frontend-2025.2.0-h0767aad_1 \n",
      "  libopenvino-tenso~ conda-forge/linux-64::libopenvino-tensorflow-lite-frontend-2025.2.0-hecca717_1 \n",
      "  libopus            conda-forge/linux-64::libopus-1.6.1-h280c20c_0 \n",
      "  libpciaccess       conda-forge/linux-64::libpciaccess-0.18-hb9d3cd8_0 \n",
      "  libpng             conda-forge/linux-64::libpng-1.6.55-h421ea60_0 \n",
      "  libprotobuf        conda-forge/linux-64::libprotobuf-6.31.1-h49aed37_4 \n",
      "  librsvg            conda-forge/linux-64::librsvg-2.60.0-h61e6d4b_0 \n",
      "  libsndfile         conda-forge/linux-64::libsndfile-1.2.2-hc7d488a_2 \n",
      "  libstdcxx-ng       pkgs/main/linux-64::libstdcxx-ng-15.2.0-hc03a8fd_7 \n",
      "  libsystemd0        conda-forge/linux-64::libsystemd0-257.13-hd0affe5_0 \n",
      "  libtiff            conda-forge/linux-64::libtiff-4.7.1-h9d88235_1 \n",
      "  libudev1           conda-forge/linux-64::libudev1-257.13-hd0affe5_0 \n",
      "  libunwind          conda-forge/linux-64::libunwind-1.8.3-h65a8314_0 \n",
      "  liburing           conda-forge/linux-64::liburing-2.13-hb700be7_0 \n",
      "  libusb             conda-forge/linux-64::libusb-1.0.29-h73b1eb8_0 \n",
      "  libva              conda-forge/linux-64::libva-2.23.0-he1eb515_0 \n",
      "  libvorbis          conda-forge/linux-64::libvorbis-1.3.7-h54a6638_2 \n",
      "  libvpl             conda-forge/linux-64::libvpl-2.15.0-h54a6638_1 \n",
      "  libvpx             conda-forge/linux-64::libvpx-1.14.1-hac33072_0 \n",
      "  libvulkan-loader   conda-forge/linux-64::libvulkan-loader-1.4.341.0-h5279c79_0 \n",
      "  libwebp-base       conda-forge/linux-64::libwebp-base-1.6.0-hd42ef1d_0 \n",
      "  libxkbcommon       conda-forge/linux-64::libxkbcommon-1.13.1-hca5e8e5_0 \n",
      "  libxml2            conda-forge/linux-64::libxml2-2.14.6-he237659_3 \n",
      "  libxml2-16         conda-forge/linux-64::libxml2-16-2.14.6-hca6bf5a_3 \n",
      "  mpg123             conda-forge/linux-64::mpg123-1.32.9-hc50e24c_0 \n",
      "  ocl-icd            conda-forge/linux-64::ocl-icd-2.3.3-hb9d3cd8_0 \n",
      "  opencl-headers     conda-forge/linux-64::opencl-headers-2025.06.13-hecca717_0 \n",
      "  openh264           conda-forge/linux-64::openh264-2.6.0-hc22cd8d_0 \n",
      "  pango              conda-forge/linux-64::pango-1.56.4-hadf4263_0 \n",
      "  pcre2              conda-forge/linux-64::pcre2-10.46-h1321c63_0 \n",
      "  pixman             conda-forge/linux-64::pixman-0.46.4-h54a6638_1 \n",
      "  pugixml            conda-forge/linux-64::pugixml-1.15-h3f63f65_0 \n",
      "  pulseaudio-client  conda-forge/linux-64::pulseaudio-client-17.0-h9a6aba3_3 \n",
      "  sdl2               conda-forge/linux-64::sdl2-2.32.56-h54a6638_0 \n",
      "  sdl3               conda-forge/linux-64::sdl3-3.4.0-h3b84278_0 \n",
      "  snappy             conda-forge/linux-64::snappy-1.2.2-h03e3b7b_1 \n",
      "  svt-av1            conda-forge/linux-64::svt-av1-3.1.2-hecca717_0 \n",
      "  tbb                conda-forge/linux-64::tbb-2022.3.0-hb700be7_2 \n",
      "  wayland            conda-forge/linux-64::wayland-1.24.0-h3e06ad9_0 \n",
      "  wayland-protocols  conda-forge/noarch::wayland-protocols-1.47-hd8ed1ab_0 \n",
      "  x264               conda-forge/linux-64::x264-1!164.3095-h166bdaf_2 \n",
      "  x265               conda-forge/linux-64::x265-3.5-h924138e_3 \n",
      "  xkeyboard-config   conda-forge/linux-64::xkeyboard-config-2.46-hb03c661_0 \n",
      "  xorg-libice        conda-forge/linux-64::xorg-libice-1.1.2-hb9d3cd8_0 \n",
      "  xorg-libsm         pkgs/main/linux-64::xorg-libsm-1.2.6-h9b100fa_0 \n",
      "  xorg-libxcursor    conda-forge/linux-64::xorg-libxcursor-1.2.3-hb9d3cd8_0 \n",
      "  xorg-libxext       conda-forge/linux-64::xorg-libxext-1.3.7-hb03c661_0 \n",
      "  xorg-libxfixes     conda-forge/linux-64::xorg-libxfixes-6.0.2-hb03c661_0 \n",
      "  xorg-libxi         conda-forge/linux-64::xorg-libxi-1.8.2-hb9d3cd8_0 \n",
      "  xorg-libxrandr     conda-forge/linux-64::xorg-libxrandr-1.5.5-hb03c661_0 \n",
      "  xorg-libxrender    conda-forge/linux-64::xorg-libxrender-0.9.12-hb9d3cd8_0 \n",
      "  xorg-libxscrnsaver conda-forge/linux-64::xorg-libxscrnsaver-1.2.4-hb9d3cd8_0 \n",
      "  xorg-libxtst       conda-forge/linux-64::xorg-libxtst-1.2.5-hb9d3cd8_3 \n",
      "  zstd               conda-forge/linux-64::zstd-1.5.7-hb78ec9c_6 \n",
      "\n",
      "The following packages will be UPDATED:\n",
      "\n",
      "  ca-certificates    pkgs/main/linux-64::ca-certificates-2~ --> conda-forge/noarch::ca-certificates-2026.4.22-hbd8a1cb_0 \n",
      "  openssl               pkgs/main::openssl-3.5.6-h1b28b03_0 --> conda-forge::openssl-3.6.2-h35e630c_0 \n",
      "\n",
      "\n",
      "\n",
      "icu-78.3             | 12.1 MB   |            | ..  0% \n",
      "libopenvino-intel-cp | 11.8 MB   |            |   0% \u001b[A\n",
      "\n",
      "libopenvino-intel-gp | 10.3 MB   |            |   0% \u001b[A\u001b[A\n",
      "\n",
      "\n",
      "ffmpeg-7.1.1         | 10.0 MB   |            |   0% \u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "intel-media-driver-2 | 8.0 MB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libopenvino-2025.2.0 | 6.0 MB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libprotobuf-6.31.1   | 4.2 MB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libglib-2.86.3       | 3.9 MB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "librsvg-2.60.0       | 3.3 MB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "x265-3.5             | 3.2 MB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "openssl-3.6.2        | 3.0 MB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "svt-av1-3.1.2        | 2.6 MB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "aom-3.9.1            | 2.6 MB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libhwloc-2.12.2      | 2.3 MB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "sdl3-3.4.0           | 2.0 MB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "harfbuzz-12.3.2      | 1.9 MB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libopenvino-onnx-fro | 1.6 MB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "font-ttf-ubuntu-0.83 | 1.5 MB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libopenvino-tensorfl | 1.3 MB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "icu-78.3             | 12.1 MB   | ###        |  31% [A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "libopenvino-intel-cp | 11.8 MB   | 3          |   3% \u001b[A\n",
      "\n",
      "\n",
      "ffmpeg-7.1.1         | 10.0 MB   | 2          |   2% \u001b[A\u001b[A\u001b[A\n",
      "\n",
      "libopenvino-intel-gp | 10.3 MB   |            |   0% \u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "icu-78.3             | 12.1 MB   | ########3  |  83% \u001b[A\u001b[A\u001b[A\u001b[A\n",
      "libopenvino-intel-cp | 11.8 MB   | #####7     |  57% \u001b[A\n",
      "\n",
      "\n",
      "ffmpeg-7.1.1         | 10.0 MB   | ######4    |  64% \u001b[A\u001b[A\u001b[A\n",
      "\n",
      "libopenvino-intel-gp | 10.3 MB   | ####4      |  45% \u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "intel-media-driver-2 | 8.0 MB    | ########5  |  86% \u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "intel-media-driver-2 | 8.0 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "icu-78.3             | 12.1 MB   | ########## | 100% \u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libopenvino-2025.2.0 | 6.0 MB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "libopenvino-intel-gp | 10.3 MB   | ########## | 100% \u001b[A\u001b[A\n",
      "\n",
      "libopenvino-intel-gp | 10.3 MB   | ########## | 100% \u001b[A\u001b[A\n",
      "libopenvino-intel-cp | 11.8 MB   | ########## | 100% \u001b[A\n",
      "libopenvino-intel-cp | 11.8 MB   | ########## | 100% \u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libprotobuf-6.31.1   | 4.2 MB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "librsvg-2.60.0       | 3.3 MB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "x265-3.5             | 3.2 MB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libglib-2.86.3       | 3.9 MB    |            |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libopenvino-2025.2.0 | 6.0 MB    | #########3 |  93% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "librsvg-2.60.0       | 3.3 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "librsvg-2.60.0       | 3.3 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "x265-3.5             | 3.2 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "x265-3.5             | 3.2 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libprotobuf-6.31.1   | 4.2 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libprotobuf-6.31.1   | 4.2 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libopenvino-2025.2.0 | 6.0 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libglib-2.86.3       | 3.9 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libglib-2.86.3       | 3.9 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "svt-av1-3.1.2        | 2.6 MB    |            |   1% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "openssl-3.6.2        | 3.0 MB    |            |   1% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "aom-3.9.1            | 2.6 MB    |            |   1% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libhwloc-2.12.2      | 2.3 MB    |            |   1% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "sdl3-3.4.0           | 2.0 MB    |            |   1% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "svt-av1-3.1.2        | 2.6 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "openssl-3.6.2        | 3.0 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "sdl3-3.4.0           | 2.0 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libhwloc-2.12.2      | 2.3 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "aom-3.9.1            | 2.6 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "harfbuzz-12.3.2      | 1.9 MB    |            |   1% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libopenvino-onnx-fro | 1.6 MB    |            |   1% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libopenvino-tensorfl | 1.3 MB    | 1          |   1% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "font-ttf-ubuntu-0.83 | 1.5 MB    | 1          |   1% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      " ... (more hidden) ...\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "harfbuzz-12.3.2      | 1.9 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libopenvino-tensorfl | 1.3 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      " ... (more hidden) ...\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libopenvino-onnx-fro | 1.6 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "font-ttf-ubuntu-0.83 | 1.5 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "intel-media-driver-2 | 8.0 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "icu-78.3             | 12.1 MB   | ########## | 100% \u001b[A\u001b[A\u001b[A\n",
      "\n",
      "libopenvino-intel-gp | 10.3 MB   | ########## | 100% \u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "librsvg-2.60.0       | 3.3 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "libopenvino-intel-cp | 11.8 MB   | ########## | 100% \u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libprotobuf-6.31.1   | 4.2 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libopenvino-2025.2.0 | 6.0 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "svt-av1-3.1.2        | 2.6 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "svt-av1-3.1.2        | 2.6 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "openssl-3.6.2        | 3.0 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "openssl-3.6.2        | 3.0 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libglib-2.86.3       | 3.9 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "sdl3-3.4.0           | 2.0 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "sdl3-3.4.0           | 2.0 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "aom-3.9.1            | 2.6 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "aom-3.9.1            | 2.6 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libhwloc-2.12.2      | 2.3 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libhwloc-2.12.2      | 2.3 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "x265-3.5             | 3.2 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "harfbuzz-12.3.2      | 1.9 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "harfbuzz-12.3.2      | 1.9 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libopenvino-tensorfl | 1.3 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libopenvino-tensorfl | 1.3 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libopenvino-onnx-fro | 1.6 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libopenvino-onnx-fro | 1.6 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "font-ttf-ubuntu-0.83 | 1.5 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "font-ttf-ubuntu-0.83 | 1.5 MB    | ########## | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      " ... (more hidden) ...\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      " ... (more hidden) ...\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     A\u001b[A\n",
      "                                                     \u001b[A\n",
      "\n",
      "                                                     \u001b[A\u001b[A\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                     \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\u001b[A\n",
      "\n",
      "\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\u001b[A\n",
      "\n",
      "\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\u001b[A\n",
      "\n",
      "\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\u001b[A\n",
      "\n",
      "\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\u001b[A\n",
      "\n",
      "\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A done\n",
      "Preparing transaction: done\n",
      "Verifying transaction: done\n",
      "Executing transaction: \\ \n",
      "- \n",
      "done\n",
      "Collecting ipykernel\n",
      "  Downloading ipykernel-7.2.0-py3-none-any.whl.metadata (4.5 kB)\n",
      "Collecting comm>=0.1.1 (from ipykernel)\n",
      "  Downloading comm-0.2.3-py3-none-any.whl.metadata (3.7 kB)\n",
      "Collecting debugpy>=1.6.5 (from ipykernel)\n",
      "  Downloading debugpy-1.8.20-py2.py3-none-any.whl.metadata (1.5 kB)\n",
      "Collecting ipython>=7.23.1 (from ipykernel)\n",
      "  Downloading ipython-9.13.0-py3-none-any.whl.metadata (4.6 kB)\n",
      "Collecting jupyter-client>=8.8.0 (from ipykernel)\n",
      "  Downloading jupyter_client-8.8.0-py3-none-any.whl.metadata (8.4 kB)\n",
      "Collecting jupyter-core!=6.0.*,>=5.1 (from ipykernel)\n",
      "  Downloading jupyter_core-5.9.1-py3-none-any.whl.metadata (1.5 kB)\n",
      "Collecting matplotlib-inline>=0.1 (from ipykernel)\n",
      "  Downloading matplotlib_inline-0.2.1-py3-none-any.whl.metadata (2.3 kB)\n",
      "Collecting nest-asyncio>=1.4 (from ipykernel)\n",
      "  Downloading nest_asyncio-1.6.0-py3-none-any.whl.metadata (2.8 kB)\n",
      "Requirement already satisfied: packaging>=22 in /home/user/miniconda/envs/ghana_speech/lib/python3.11/site-packages (from ipykernel) (26.0)\n",
      "Collecting psutil>=5.7 (from ipykernel)\n",
      "  Downloading psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl.metadata (22 kB)\n",
      "Collecting pyzmq>=25 (from ipykernel)\n",
      "  Downloading pyzmq-27.1.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.metadata (6.0 kB)\n",
      "Collecting tornado>=6.4.1 (from ipykernel)\n",
      "  Downloading tornado-6.5.5-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.metadata (2.8 kB)\n",
      "Collecting traitlets>=5.4.0 (from ipykernel)\n",
      "  Downloading traitlets-5.14.3-py3-none-any.whl.metadata (10 kB)\n",
      "Collecting decorator>=5.1.0 (from ipython>=7.23.1->ipykernel)\n",
      "  Downloading decorator-5.2.1-py3-none-any.whl.metadata (3.9 kB)\n",
      "Collecting ipython-pygments-lexers>=1.0.0 (from ipython>=7.23.1->ipykernel)\n",
      "  Downloading ipython_pygments_lexers-1.1.1-py3-none-any.whl.metadata (1.1 kB)\n",
      "Collecting jedi>=0.18.2 (from ipython>=7.23.1->ipykernel)\n",
      "  Downloading jedi-0.19.2-py2.py3-none-any.whl.metadata (22 kB)\n",
      "Collecting pexpect>4.6 (from ipython>=7.23.1->ipykernel)\n",
      "  Downloading pexpect-4.9.0-py2.py3-none-any.whl.metadata (2.5 kB)\n",
      "Collecting prompt_toolkit<3.1.0,>=3.0.41 (from ipython>=7.23.1->ipykernel)\n",
      "  Downloading prompt_toolkit-3.0.52-py3-none-any.whl.metadata (6.4 kB)\n",
      "Collecting pygments>=2.14.0 (from ipython>=7.23.1->ipykernel)\n",
      "  Downloading pygments-2.20.0-py3-none-any.whl.metadata (2.5 kB)\n",
      "Collecting stack_data>=0.6.0 (from ipython>=7.23.1->ipykernel)\n",
      "  Downloading stack_data-0.6.3-py3-none-any.whl.metadata (18 kB)\n",
      "Requirement already satisfied: typing_extensions>=4.6 in /home/user/miniconda/envs/ghana_speech/lib/python3.11/site-packages (from ipython>=7.23.1->ipykernel) (4.15.0)\n",
      "Collecting wcwidth (from prompt_toolkit<3.1.0,>=3.0.41->ipython>=7.23.1->ipykernel)\n",
      "  Downloading wcwidth-0.6.0-py3-none-any.whl.metadata (30 kB)\n",
      "Collecting parso<0.9.0,>=0.8.4 (from jedi>=0.18.2->ipython>=7.23.1->ipykernel)\n",
      "  Downloading parso-0.8.6-py2.py3-none-any.whl.metadata (8.4 kB)\n",
      "Collecting python-dateutil>=2.8.2 (from jupyter-client>=8.8.0->ipykernel)\n",
      "  Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)\n",
      "Collecting platformdirs>=2.5 (from jupyter-core!=6.0.*,>=5.1->ipykernel)\n",
      "  Downloading platformdirs-4.9.6-py3-none-any.whl.metadata (4.7 kB)\n",
      "Collecting ptyprocess>=0.5 (from pexpect>4.6->ipython>=7.23.1->ipykernel)\n",
      "  Downloading ptyprocess-0.7.0-py2.py3-none-any.whl.metadata (1.3 kB)\n",
      "Collecting six>=1.5 (from python-dateutil>=2.8.2->jupyter-client>=8.8.0->ipykernel)\n",
      "  Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)\n",
      "Collecting executing>=1.2.0 (from stack_data>=0.6.0->ipython>=7.23.1->ipykernel)\n",
      "  Downloading executing-2.2.1-py2.py3-none-any.whl.metadata (8.9 kB)\n",
      "Collecting asttokens>=2.1.0 (from stack_data>=0.6.0->ipython>=7.23.1->ipykernel)\n",
      "  Downloading asttokens-3.0.1-py3-none-any.whl.metadata (4.9 kB)\n",
      "Collecting pure-eval (from stack_data>=0.6.0->ipython>=7.23.1->ipykernel)\n",
      "  Downloading pure_eval-0.2.3-py3-none-any.whl.metadata (6.3 kB)\n",
      "Downloading ipykernel-7.2.0-py3-none-any.whl (118 kB)\n",
      "Downloading comm-0.2.3-py3-none-any.whl (7.3 kB)\n",
      "Downloading debugpy-1.8.20-py2.py3-none-any.whl (5.3 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/5.3 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━\u001b[0m \u001b[32m5.3/5.3 MB\u001b[0m \u001b[31m96.4 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading ipython-9.13.0-py3-none-any.whl (627 kB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/627.3 kB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━\u001b[0m \u001b[32m627.3/627.3 kB\u001b[0m \u001b[31m86.0 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading prompt_toolkit-3.0.52-py3-none-any.whl (391 kB)\n",
      "Downloading decorator-5.2.1-py3-none-any.whl (9.2 kB)\n",
      "Downloading ipython_pygments_lexers-1.1.1-py3-none-any.whl (8.1 kB)\n",
      "Downloading jedi-0.19.2-py2.py3-none-any.whl (1.6 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/1.6 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━\u001b[0m \u001b[32m1.6/1.6 MB\u001b[0m \u001b[31m219.7 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading parso-0.8.6-py2.py3-none-any.whl (106 kB)\n",
      "Downloading jupyter_client-8.8.0-py3-none-any.whl (107 kB)\n",
      "Downloading jupyter_core-5.9.1-py3-none-any.whl (29 kB)\n",
      "Downloading matplotlib_inline-0.2.1-py3-none-any.whl (9.5 kB)\n",
      "Downloading nest_asyncio-1.6.0-py3-none-any.whl (5.2 kB)\n",
      "Downloading pexpect-4.9.0-py2.py3-none-any.whl (63 kB)\n",
      "Downloading platformdirs-4.9.6-py3-none-any.whl (21 kB)\n",
      "Downloading psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl (155 kB)\n",
      "Downloading ptyprocess-0.7.0-py2.py3-none-any.whl (13 kB)\n",
      "Downloading pygments-2.20.0-py3-none-any.whl (1.2 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/1.2 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━\u001b[0m \u001b[32m1.2/1.2 MB\u001b[0m \u001b[31m220.1 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)\n",
      "Downloading pyzmq-27.1.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (857 kB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/857.0 kB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m━━━━━━━━━━━\u001b[0m \u001b[32m857.0/857.0 kB\u001b[0m \u001b[31m107.0 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading six-1.17.0-py2.py3-none-any.whl (11 kB)\n",
      "Downloading stack_data-0.6.3-py3-none-any.whl (24 kB)\n",
      "Downloading asttokens-3.0.1-py3-none-any.whl (27 kB)\n",
      "Downloading executing-2.2.1-py2.py3-none-any.whl (28 kB)\n",
      "Downloading tornado-6.5.5-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (447 kB)\n",
      "Downloading traitlets-5.14.3-py3-none-any.whl (85 kB)\n",
      "Downloading pure_eval-0.2.3-py3-none-any.whl (11 kB)\n",
      "Downloading wcwidth-0.6.0-py3-none-any.whl (94 kB)\n",
      "Installing collected packages: pure-eval, ptyprocess, wcwidth, traitlets, tornado, six, pyzmq, pygments, psutil, platformdirs, pexpect, parso, nest-asyncio, executing, decorator, debugpy, comm, asttokens, stack_data, python-dateutil, prompt_toolkit, matplotlib-inline, jupyter-core, jedi, ipython-pygments-lexers, jupyter-client, ipython, ipykernel\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[0\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 4/28\u001b[0m [tornado]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 6/28\u001b[0m [pyzmq]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 7/28\u001b[0m [pygments]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 7/28\u001b[0m [pygments]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 7/28\u001b[0m [pygments]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 8/28\u001b[0m [psutil]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m15/28\u001b[0m [debugpy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m15/28\u001b[0m [debugpy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m15/28\u001b[0m [debugpy]━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m15/28\u001b[0m [debugpy]m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m \u001b[32m20/28\u001b[0m [prompt_toolkit]m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m \u001b[32m20/28\u001b[0m [prompt_toolkit]━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m \u001b[32m23/28\u001b[0m [jedi]━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m \u001b[32m23/28\u001b[0m [jedi]━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━\u001b[0m \u001b[32m25/28\u001b[0m [jupyter-client]━━━━━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━\u001b[0m \u001b[32m26/28\u001b[0m [ipython]━━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━\u001b[0m \u001b[32m27/28\u001b[0m [ipykernel]━━━━━━━━━━━\u001b[0m \u001b[32m28/28\u001b[0m [ipykernel]\n",
      "\u001b[1A\u001b[2KSuccessfully installed asttokens-3.0.1 comm-0.2.3 debugpy-1.8.20 decorator-5.2.1 executing-2.2.1 ipykernel-7.2.0 ipython-9.13.0 ipython-pygments-lexers-1.1.1 jedi-0.19.2 jupyter-client-8.8.0 jupyter-core-5.9.1 matplotlib-inline-0.2.1 nest-asyncio-1.6.0 parso-0.8.6 pexpect-4.9.0 platformdirs-4.9.6 prompt_toolkit-3.0.52 psutil-7.2.2 ptyprocess-0.7.0 pure-eval-0.2.3 pygments-2.20.0 python-dateutil-2.9.0.post0 pyzmq-27.1.0 six-1.17.0 stack_data-0.6.3 tornado-6.5.5 traitlets-5.14.3 wcwidth-0.6.0\n",
      "Installed kernelspec ghana_speech in /home/user/.local/share/jupyter/kernels/ghana_speech\n",
      "----------------------------------------------------------------\n",
      "✅ SETUP COMPLETE! Refresh browser, then Kernel -> Change Kernel -> Ghana Speech\n",
      "----------------------------------------------------------------\n"
     ]
    }
   ],
   "source": [
    "%%bash\n",
    "# 1. Create the environment\n",
    "conda create -n ghana_speech python=3.11 -y\n",
    "\n",
    "# 2. Install AI stack\n",
    "/home/user/miniconda/envs/ghana_speech/bin/pip install torch torchvision torchaudio torchcodec --index-url https://download.pytorch.org/whl/cu121\n",
    "\n",
    "# 3. Install FFmpeg 7\n",
    "conda install -y -p /home/user/miniconda/envs/ghana_speech -c conda-forge ffmpeg=7\n",
    "\n",
    "# 4. Install kernel\n",
    "/home/user/miniconda/envs/ghana_speech/bin/pip install ipykernel\n",
    "/home/user/miniconda/envs/ghana_speech/bin/python -m ipykernel install --user --name ghana_speech --display-name \"Python 3.11 (Ghana Speech-2)\"\n",
    "\n",
    "echo \"----------------------------------------------------------------\"\n",
    "echo \"✅ SETUP COMPLETE! Refresh browser, then Kernel -> Change Kernel -> Ghana Speech\"\n",
    "echo \"----------------------------------------------------------------\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Collecting transformers==5.5.0\n",
      "  Downloading transformers-5.5.0-py3-none-any.whl.metadata (32 kB)\n",
      "Collecting trl==0.22.2\n",
      "  Downloading trl-0.22.2-py3-none-any.whl.metadata (11 kB)\n",
      "Collecting bitsandbytes==0.49.2\n",
      "  Downloading bitsandbytes-0.49.2-py3-none-manylinux_2_24_x86_64.whl.metadata (10 kB)\n",
      "Collecting xformers==0.0.34\n",
      "  Downloading xformers-0.0.34-cp39-abi3-manylinux_2_28_x86_64.whl.metadata (1.2 kB)\n",
      "Collecting datasets==4.3.0\n",
      "  Downloading datasets-4.3.0-py3-none-any.whl.metadata (18 kB)\n",
      "Collecting peft==0.18.1\n",
      "  Downloading peft-0.18.1-py3-none-any.whl.metadata (14 kB)\n",
      "Collecting accelerate==1.13.0\n",
      "  Downloading accelerate-1.13.0-py3-none-any.whl.metadata (19 kB)\n",
      "Collecting timm==1.0.26\n",
      "  Downloading timm-1.0.26-py3-none-any.whl.metadata (39 kB)\n",
      "Collecting huggingface-hub\n",
      "  Downloading huggingface_hub-1.13.0-py3-none-any.whl.metadata (14 kB)\n",
      "Collecting hf_transfer==0.1.9\n",
      "  Downloading hf_transfer-0.1.9-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.7 kB)\n",
      "Collecting hf-xet==1.4.2\n",
      "  Downloading hf_xet-1.4.2-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (4.9 kB)\n",
      "Collecting pyarrow==23.0.1\n",
      "  Downloading pyarrow-23.0.1-cp311-cp311-manylinux_2_28_x86_64.whl.metadata (3.1 kB)\n",
      "Collecting protobuf==5.29.6\n",
      "  Downloading protobuf-5.29.6-cp38-abi3-manylinux2014_x86_64.whl.metadata (592 bytes)\n",
      "Collecting sentencepiece==0.2.1\n",
      "  Downloading sentencepiece-0.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (10 kB)\n",
      "Collecting numpy==2.0.2\n",
      "  Downloading numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (60 kB)\n",
      "Collecting pandas==2.2.2\n",
      "  Downloading pandas-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (19 kB)\n",
      "Collecting requests==2.32.4\n",
      "  Downloading requests-2.32.4-py3-none-any.whl.metadata (4.9 kB)\n",
      "Collecting httpx==0.28.1\n",
      "  Downloading httpx-0.28.1-py3-none-any.whl.metadata (7.1 kB)\n",
      "Collecting tqdm==4.67.3\n",
      "  Downloading tqdm-4.67.3-py3-none-any.whl.metadata (57 kB)\n",
      "Collecting fsspec==2025.3.0\n",
      "  Downloading fsspec-2025.3.0-py3-none-any.whl.metadata (11 kB)\n",
      "Collecting safetensors==0.7.0\n",
      "  Downloading safetensors-0.7.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.1 kB)\n",
      "Collecting regex==2025.11.3\n",
      "  Downloading regex-2025.11.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (40 kB)\n",
      "Collecting triton==3.6.0\n",
      "  Downloading triton-3.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (1.7 kB)\n",
      "Collecting typer==0.24.1\n",
      "  Downloading typer-0.24.1-py3-none-any.whl.metadata (16 kB)\n",
      "Collecting click==8.3.1\n",
      "  Downloading click-8.3.1-py3-none-any.whl.metadata (2.6 kB)\n",
      "Collecting rich==13.9.4\n",
      "  Downloading rich-13.9.4-py3-none-any.whl.metadata (18 kB)\n",
      "Collecting pyyaml==6.0.3\n",
      "  Downloading pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB)\n",
      "Requirement already satisfied: python-dateutil==2.9.0.post0 in /home/user/miniconda/envs/ghana_speech/lib/python3.11/site-packages (2.9.0.post0)\n",
      "Requirement already satisfied: typing-extensions==4.15.0 in /home/user/miniconda/envs/ghana_speech/lib/python3.11/site-packages (4.15.0)\n",
      "Collecting jiwer\n",
      "  Downloading jiwer-4.0.0-py3-none-any.whl.metadata (3.3 kB)\n",
      "Collecting unsloth\n",
      "  Downloading unsloth-2026.4.8-py3-none-any.whl.metadata (56 kB)\n",
      "Collecting matplotlib\n",
      "  Downloading matplotlib-3.10.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (52 kB)\n",
      "Collecting unsloth_zoo\n",
      "  Downloading unsloth_zoo-2026.4.9-py3-none-any.whl.metadata (32 kB)\n",
      "Requirement already satisfied: setuptools in /home/user/miniconda/envs/ghana_speech/lib/python3.11/site-packages (82.0.1)\n",
      "Requirement already satisfied: packaging>=20.0 in /home/user/miniconda/envs/ghana_speech/lib/python3.11/site-packages (from transformers==5.5.0) (26.0)\n",
      "Collecting tokenizers<=0.23.0,>=0.22.0 (from transformers==5.5.0)\n",
      "  Downloading tokenizers-0.22.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (7.3 kB)\n",
      "Requirement already satisfied: torch<3,>=2.3 in /home/user/miniconda/envs/ghana_speech/lib/python3.11/site-packages (from bitsandbytes==0.49.2) (2.5.1+cu121)\n",
      "Collecting torch<3,>=2.3 (from bitsandbytes==0.49.2)\n",
      "  Downloading torch-2.10.0-3-cp311-cp311-manylinux_2_28_x86_64.whl.metadata (31 kB)\n",
      "Requirement already satisfied: filelock in /home/user/miniconda/envs/ghana_speech/lib/python3.11/site-packages (from torch<3,>=2.3->bitsandbytes==0.49.2) (3.25.2)\n",
      "Collecting sympy>=1.13.3 (from torch<3,>=2.3->bitsandbytes==0.49.2)\n",
      "  Downloading sympy-1.14.0-py3-none-any.whl.metadata (12 kB)\n",
      "Requirement already satisfied: networkx>=2.5.1 in /home/user/miniconda/envs/ghana_speech/lib/python3.11/site-packages (from torch<3,>=2.3->bitsandbytes==0.49.2) (3.6.1)\n",
      "Requirement already satisfied: jinja2 in /home/user/miniconda/envs/ghana_speech/lib/python3.11/site-packages (from torch<3,>=2.3->bitsandbytes==0.49.2) (3.1.6)\n",
      "Collecting cuda-bindings==12.9.4 (from torch<3,>=2.3->bitsandbytes==0.49.2)\n",
      "  Downloading cuda_bindings-12.9.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (2.6 kB)\n",
      "Collecting nvidia-cuda-nvrtc-cu12==12.8.93 (from torch<3,>=2.3->bitsandbytes==0.49.2)\n",
      "  Downloading nvidia_cuda_nvrtc_cu12-12.8.93-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl.metadata (1.7 kB)\n",
      "Collecting nvidia-cuda-runtime-cu12==12.8.90 (from torch<3,>=2.3->bitsandbytes==0.49.2)\n",
      "  Downloading nvidia_cuda_runtime_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.7 kB)\n",
      "Collecting nvidia-cuda-cupti-cu12==12.8.90 (from torch<3,>=2.3->bitsandbytes==0.49.2)\n",
      "  Downloading nvidia_cuda_cupti_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.7 kB)\n",
      "Collecting nvidia-cudnn-cu12==9.10.2.21 (from torch<3,>=2.3->bitsandbytes==0.49.2)\n",
      "  Downloading nvidia_cudnn_cu12-9.10.2.21-py3-none-manylinux_2_27_x86_64.whl.metadata (1.8 kB)\n",
      "Collecting nvidia-cublas-cu12==12.8.4.1 (from torch<3,>=2.3->bitsandbytes==0.49.2)\n",
      "  Downloading nvidia_cublas_cu12-12.8.4.1-py3-none-manylinux_2_27_x86_64.whl.metadata (1.7 kB)\n",
      "Collecting nvidia-cufft-cu12==11.3.3.83 (from torch<3,>=2.3->bitsandbytes==0.49.2)\n",
      "  Downloading nvidia_cufft_cu12-11.3.3.83-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.7 kB)\n",
      "Collecting nvidia-curand-cu12==10.3.9.90 (from torch<3,>=2.3->bitsandbytes==0.49.2)\n",
      "  Downloading nvidia_curand_cu12-10.3.9.90-py3-none-manylinux_2_27_x86_64.whl.metadata (1.7 kB)\n",
      "Collecting nvidia-cusolver-cu12==11.7.3.90 (from torch<3,>=2.3->bitsandbytes==0.49.2)\n",
      "  Downloading nvidia_cusolver_cu12-11.7.3.90-py3-none-manylinux_2_27_x86_64.whl.metadata (1.8 kB)\n",
      "Collecting nvidia-cusparse-cu12==12.5.8.93 (from torch<3,>=2.3->bitsandbytes==0.49.2)\n",
      "  Downloading nvidia_cusparse_cu12-12.5.8.93-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.8 kB)\n",
      "Collecting nvidia-cusparselt-cu12==0.7.1 (from torch<3,>=2.3->bitsandbytes==0.49.2)\n",
      "  Downloading nvidia_cusparselt_cu12-0.7.1-py3-none-manylinux2014_x86_64.whl.metadata (7.0 kB)\n",
      "Collecting nvidia-nccl-cu12==2.27.5 (from torch<3,>=2.3->bitsandbytes==0.49.2)\n",
      "  Downloading nvidia_nccl_cu12-2.27.5-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.0 kB)\n",
      "Collecting nvidia-nvshmem-cu12==3.4.5 (from torch<3,>=2.3->bitsandbytes==0.49.2)\n",
      "  Downloading nvidia_nvshmem_cu12-3.4.5-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.1 kB)\n",
      "Collecting nvidia-nvtx-cu12==12.8.90 (from torch<3,>=2.3->bitsandbytes==0.49.2)\n",
      "  Downloading nvidia_nvtx_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.8 kB)\n",
      "Collecting nvidia-nvjitlink-cu12==12.8.93 (from torch<3,>=2.3->bitsandbytes==0.49.2)\n",
      "  Downloading nvidia_nvjitlink_cu12-12.8.93-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl.metadata (1.7 kB)\n",
      "Collecting nvidia-cufile-cu12==1.13.1.3 (from torch<3,>=2.3->bitsandbytes==0.49.2)\n",
      "  Downloading nvidia_cufile_cu12-1.13.1.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.7 kB)\n",
      "Collecting dill<0.4.1,>=0.3.0 (from datasets==4.3.0)\n",
      "  Downloading dill-0.4.0-py3-none-any.whl.metadata (10 kB)\n",
      "Collecting xxhash (from datasets==4.3.0)\n",
      "  Downloading xxhash-3.7.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (13 kB)\n",
      "Collecting multiprocess<0.70.17 (from datasets==4.3.0)\n",
      "  Downloading multiprocess-0.70.16-py311-none-any.whl.metadata (7.2 kB)\n",
      "Collecting anyio (from httpx==0.28.1)\n",
      "  Downloading anyio-4.13.0-py3-none-any.whl.metadata (4.5 kB)\n",
      "Collecting certifi (from httpx==0.28.1)\n",
      "  Downloading certifi-2026.4.22-py3-none-any.whl.metadata (2.5 kB)\n",
      "Collecting httpcore==1.* (from httpx==0.28.1)\n",
      "  Downloading httpcore-1.0.9-py3-none-any.whl.metadata (21 kB)\n",
      "Collecting idna (from httpx==0.28.1)\n",
      "  Downloading idna-3.13-py3-none-any.whl.metadata (8.0 kB)\n",
      "Requirement already satisfied: psutil in /home/user/miniconda/envs/ghana_speech/lib/python3.11/site-packages (from peft==0.18.1) (7.2.2)\n",
      "Requirement already satisfied: torchvision in /home/user/miniconda/envs/ghana_speech/lib/python3.11/site-packages (from timm==1.0.26) (0.20.1+cu121)\n",
      "Collecting pytz>=2020.1 (from pandas==2.2.2)\n",
      "  Downloading pytz-2026.1.post1-py2.py3-none-any.whl.metadata (22 kB)\n",
      "Collecting tzdata>=2022.7 (from pandas==2.2.2)\n",
      "  Downloading tzdata-2026.2-py2.py3-none-any.whl.metadata (1.4 kB)\n",
      "Collecting charset_normalizer<4,>=2 (from requests==2.32.4)\n",
      "  Downloading charset_normalizer-3.4.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (40 kB)\n",
      "Collecting urllib3<3,>=1.21.1 (from requests==2.32.4)\n",
      "  Downloading urllib3-2.6.3-py3-none-any.whl.metadata (6.9 kB)\n",
      "Collecting shellingham>=1.3.0 (from typer==0.24.1)\n",
      "  Downloading shellingham-1.5.4-py2.py3-none-any.whl.metadata (3.5 kB)\n",
      "Collecting annotated-doc>=0.0.2 (from typer==0.24.1)\n",
      "  Downloading annotated_doc-0.0.4-py3-none-any.whl.metadata (6.6 kB)\n",
      "Collecting markdown-it-py>=2.2.0 (from rich==13.9.4)\n",
      "  Downloading markdown_it_py-4.0.0-py3-none-any.whl.metadata (7.3 kB)\n",
      "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /home/user/miniconda/envs/ghana_speech/lib/python3.11/site-packages (from rich==13.9.4) (2.20.0)\n",
      "Requirement already satisfied: six>=1.5 in /home/user/miniconda/envs/ghana_speech/lib/python3.11/site-packages (from python-dateutil==2.9.0.post0) (1.17.0)\n",
      "Collecting cuda-pathfinder~=1.1 (from cuda-bindings==12.9.4->torch<3,>=2.3->bitsandbytes==0.49.2)\n",
      "  Downloading cuda_pathfinder-1.5.4-py3-none-any.whl.metadata (1.9 kB)\n",
      "INFO: pip is looking at multiple versions of huggingface-hub to determine which version is compatible with other requirements. This could take a while.\n",
      "Collecting huggingface-hub\n",
      "  Downloading huggingface_hub-1.12.2-py3-none-any.whl.metadata (14 kB)\n",
      "  Downloading huggingface_hub-1.12.1-py3-none-any.whl.metadata (14 kB)\n",
      "  Downloading huggingface_hub-1.12.0-py3-none-any.whl.metadata (14 kB)\n",
      "  Downloading huggingface_hub-1.11.0-py3-none-any.whl.metadata (14 kB)\n",
      "  Downloading huggingface_hub-1.10.2-py3-none-any.whl.metadata (14 kB)\n",
      "  Downloading huggingface_hub-1.10.1-py3-none-any.whl.metadata (14 kB)\n",
      "  Downloading huggingface_hub-1.10.0-py3-none-any.whl.metadata (14 kB)\n",
      "INFO: pip is still looking at multiple versions of huggingface-hub to determine which version is compatible with other requirements. This could take a while.\n",
      "  Downloading huggingface_hub-1.9.2-py3-none-any.whl.metadata (14 kB)\n",
      "  Downloading huggingface_hub-1.9.1-py3-none-any.whl.metadata (14 kB)\n",
      "  Downloading huggingface_hub-1.9.0-py3-none-any.whl.metadata (14 kB)\n",
      "  Downloading huggingface_hub-1.8.0-py3-none-any.whl.metadata (13 kB)\n",
      "Collecting aiohttp!=4.0.0a0,!=4.0.0a1 (from fsspec[http]<=2025.9.0,>=2023.1.0->datasets==4.3.0)\n",
      "  Downloading aiohttp-3.13.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (8.1 kB)\n",
      "Collecting h11>=0.16 (from httpcore==1.*->httpx==0.28.1)\n",
      "  Downloading h11-0.16.0-py3-none-any.whl.metadata (8.3 kB)\n",
      "Collecting rapidfuzz>=3.9.7 (from jiwer)\n",
      "  Downloading rapidfuzz-3.14.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (12 kB)\n",
      "Requirement already satisfied: wheel>=0.42.0 in /home/user/miniconda/envs/ghana_speech/lib/python3.11/site-packages (from unsloth) (0.46.3)\n",
      "Collecting tyro (from unsloth)\n",
      "  Downloading tyro-1.0.13-py3-none-any.whl.metadata (12 kB)\n",
      "Collecting diffusers (from unsloth)\n",
      "  Downloading diffusers-0.37.1-py3-none-any.whl.metadata (20 kB)\n",
      "Collecting pydantic (from unsloth)\n",
      "  Downloading pydantic-2.13.3-py3-none-any.whl.metadata (108 kB)\n",
      "Requirement already satisfied: nest-asyncio in /home/user/miniconda/envs/ghana_speech/lib/python3.11/site-packages (from unsloth) (1.6.0)\n",
      "Collecting contourpy>=1.0.1 (from matplotlib)\n",
      "  Downloading contourpy-1.3.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (5.5 kB)\n",
      "Collecting cycler>=0.10 (from matplotlib)\n",
      "  Downloading cycler-0.12.1-py3-none-any.whl.metadata (3.8 kB)\n",
      "Collecting fonttools>=4.22.0 (from matplotlib)\n",
      "  Downloading fonttools-4.62.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (117 kB)\n",
      "Collecting kiwisolver>=1.3.1 (from matplotlib)\n",
      "  Downloading kiwisolver-1.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (5.1 kB)\n",
      "Requirement already satisfied: pillow>=8 in /home/user/miniconda/envs/ghana_speech/lib/python3.11/site-packages (from matplotlib) (12.1.1)\n",
      "Collecting pyparsing>=3 (from matplotlib)\n",
      "  Downloading pyparsing-3.3.2-py3-none-any.whl.metadata (5.8 kB)\n",
      "Collecting torchao>=0.13.0 (from unsloth_zoo)\n",
      "  Downloading torchao-0.17.0-cp310-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (20 kB)\n",
      "Collecting cut_cross_entropy (from unsloth_zoo)\n",
      "  Downloading cut_cross_entropy-25.1.1-py3-none-any.whl.metadata (9.3 kB)\n",
      "Collecting msgspec (from unsloth_zoo)\n",
      "  Downloading msgspec-0.21.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (5.8 kB)\n",
      "Collecting aiohappyeyeballs>=2.5.0 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.9.0,>=2023.1.0->datasets==4.3.0)\n",
      "  Downloading aiohappyeyeballs-2.6.1-py3-none-any.whl.metadata (5.9 kB)\n",
      "Collecting aiosignal>=1.4.0 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.9.0,>=2023.1.0->datasets==4.3.0)\n",
      "  Downloading aiosignal-1.4.0-py3-none-any.whl.metadata (3.7 kB)\n",
      "Collecting attrs>=17.3.0 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.9.0,>=2023.1.0->datasets==4.3.0)\n",
      "  Downloading attrs-26.1.0-py3-none-any.whl.metadata (8.8 kB)\n",
      "Collecting frozenlist>=1.1.1 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.9.0,>=2023.1.0->datasets==4.3.0)\n",
      "  Downloading frozenlist-1.8.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.metadata (20 kB)\n",
      "Collecting multidict<7.0,>=4.5 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.9.0,>=2023.1.0->datasets==4.3.0)\n",
      "  Downloading multidict-6.7.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (5.3 kB)\n",
      "Collecting propcache>=0.2.0 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.9.0,>=2023.1.0->datasets==4.3.0)\n",
      "  Downloading propcache-0.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (13 kB)\n",
      "Collecting yarl<2.0,>=1.17.0 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.9.0,>=2023.1.0->datasets==4.3.0)\n",
      "  Downloading yarl-1.23.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (79 kB)\n",
      "Collecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich==13.9.4)\n",
      "  Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)\n",
      "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /home/user/miniconda/envs/ghana_speech/lib/python3.11/site-packages (from sympy>=1.13.3->torch<3,>=2.3->bitsandbytes==0.49.2) (1.3.0)\n",
      "Collecting importlib-metadata (from diffusers->unsloth)\n",
      "  Downloading importlib_metadata-9.0.0-py3-none-any.whl.metadata (4.5 kB)\n",
      "Collecting zipp>=3.20 (from importlib-metadata->diffusers->unsloth)\n",
      "  Downloading zipp-3.23.1-py3-none-any.whl.metadata (3.6 kB)\n",
      "Requirement already satisfied: MarkupSafe>=2.0 in /home/user/miniconda/envs/ghana_speech/lib/python3.11/site-packages (from jinja2->torch<3,>=2.3->bitsandbytes==0.49.2) (3.0.3)\n",
      "Collecting annotated-types>=0.6.0 (from pydantic->unsloth)\n",
      "  Downloading annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)\n",
      "Collecting pydantic-core==2.46.3 (from pydantic->unsloth)\n",
      "  Downloading pydantic_core-2.46.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)\n",
      "Collecting typing-inspection>=0.4.2 (from pydantic->unsloth)\n",
      "  Downloading typing_inspection-0.4.2-py3-none-any.whl.metadata (2.6 kB)\n",
      "INFO: pip is looking at multiple versions of torchvision to determine which version is compatible with other requirements. This could take a while.\n",
      "Collecting torchvision (from timm==1.0.26)\n",
      "  Downloading torchvision-0.26.0-cp311-cp311-manylinux_2_28_x86_64.whl.metadata (5.5 kB)\n",
      "  Downloading torchvision-0.25.0-cp311-cp311-manylinux_2_28_x86_64.whl.metadata (5.4 kB)\n",
      "Collecting docstring-parser>=0.15 (from tyro->unsloth)\n",
      "  Downloading docstring_parser-0.18.0-py3-none-any.whl.metadata (3.5 kB)\n",
      "Collecting typeguard>=4.0.0 (from tyro->unsloth)\n",
      "  Downloading typeguard-4.5.1-py3-none-any.whl.metadata (3.8 kB)\n",
      "Downloading transformers-5.5.0-py3-none-any.whl (10.2 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.2/10.2 MB\u001b[0m \u001b[31m74.5 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading trl-0.22.2-py3-none-any.whl (544 kB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m544.8/544.8 kB\u001b[0m \u001b[31m111.5 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading bitsandbytes-0.49.2-py3-none-manylinux_2_24_x86_64.whl (60.7 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m60.7/60.7 MB\u001b[0m \u001b[31m79.7 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m eta \u001b[36m0:00:01\u001b[0m\n",
      "\u001b[?25hDownloading xformers-0.0.34-cp39-abi3-manylinux_2_28_x86_64.whl (110.8 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m110.8/110.8 MB\u001b[0m \u001b[31m91.6 MB/s\u001b[0m  \u001b[33m0:00:01\u001b[0mm0:00:01\u001b[0m0:01\u001b[0mm\n",
      "\u001b[?25hDownloading torch-2.10.0-3-cp311-cp311-manylinux_2_28_x86_64.whl (915.5 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m915.5/915.5 MB\u001b[0m \u001b[31m79.0 MB/s\u001b[0m  \u001b[33m0:00:09\u001b[0mm0:00:01\u001b[0m00:01\u001b[0m\n",
      "\u001b[?25hDownloading datasets-4.3.0-py3-none-any.whl (506 kB)\n",
      "Downloading httpx-0.28.1-py3-none-any.whl (73 kB)\n",
      "Downloading fsspec-2025.3.0-py3-none-any.whl (193 kB)\n",
      "Downloading peft-0.18.1-py3-none-any.whl (556 kB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m557.0/557.0 kB\u001b[0m \u001b[31m95.2 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading accelerate-1.13.0-py3-none-any.whl (383 kB)\n",
      "Downloading timm-1.0.26-py3-none-any.whl (2.6 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.6/2.6 MB\u001b[0m \u001b[31m79.2 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading hf_transfer-0.1.9-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.6/3.6 MB\u001b[0m \u001b[31m63.3 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading hf_xet-1.4.2-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.2 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m4.2/4.2 MB\u001b[0m \u001b[31m89.7 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading pyarrow-23.0.1-cp311-cp311-manylinux_2_28_x86_64.whl (47.6 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m47.6/47.6 MB\u001b[0m \u001b[31m63.4 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m eta \u001b[36m0:00:01\u001b[0m\n",
      "\u001b[?25hDownloading protobuf-5.29.6-cp38-abi3-manylinux2014_x86_64.whl (320 kB)\n",
      "Downloading sentencepiece-0.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.4 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.4/1.4 MB\u001b[0m \u001b[31m85.6 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.5 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m19.5/19.5 MB\u001b[0m \u001b[31m71.4 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m eta \u001b[36m0:00:01\u001b[0m\n",
      "\u001b[?25hDownloading pandas-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.0 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13.0/13.0 MB\u001b[0m \u001b[31m64.7 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading requests-2.32.4-py3-none-any.whl (64 kB)\n",
      "Downloading tqdm-4.67.3-py3-none-any.whl (78 kB)\n",
      "Downloading safetensors-0.7.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (507 kB)\n",
      "Downloading regex-2025.11.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (800 kB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m800.4/800.4 kB\u001b[0m \u001b[31m131.5 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading triton-3.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (188.2 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m188.2/188.2 MB\u001b[0m \u001b[31m242.9 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n",
      "\u001b[?25hDownloading typer-0.24.1-py3-none-any.whl (56 kB)\n",
      "Downloading click-8.3.1-py3-none-any.whl (108 kB)\n",
      "Downloading rich-13.9.4-py3-none-any.whl (242 kB)\n",
      "Downloading pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (806 kB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m806.6/806.6 kB\u001b[0m \u001b[31m97.7 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading cuda_bindings-12.9.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (12.2 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m12.2/12.2 MB\u001b[0m \u001b[31m83.5 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading nvidia_cublas_cu12-12.8.4.1-py3-none-manylinux_2_27_x86_64.whl (594.3 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m594.3/594.3 MB\u001b[0m \u001b[31m105.3 MB/s\u001b[0m  \u001b[33m0:00:05\u001b[0m0:00:01\u001b[0m00:01\u001b[0m\n",
      "\u001b[?25hDownloading nvidia_cuda_cupti_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (10.2 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.2/10.2 MB\u001b[0m \u001b[31m86.1 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading nvidia_cuda_nvrtc_cu12-12.8.93-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl (88.0 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m88.0/88.0 MB\u001b[0m \u001b[31m79.8 MB/s\u001b[0m  \u001b[33m0:00:01\u001b[0m eta \u001b[36m0:00:01\u001b[0mm\n",
      "\u001b[?25hDownloading nvidia_cuda_runtime_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (954 kB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m954.8/954.8 kB\u001b[0m \u001b[31m39.9 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading nvidia_cudnn_cu12-9.10.2.21-py3-none-manylinux_2_27_x86_64.whl (706.8 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m706.8/706.8 MB\u001b[0m \u001b[31m65.9 MB/s\u001b[0m  \u001b[33m0:00:07\u001b[0mm0:00:01\u001b[0m00:01\u001b[0m\n",
      "\u001b[?25hDownloading nvidia_cufft_cu12-11.3.3.83-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (193.1 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m193.1/193.1 MB\u001b[0m \u001b[31m98.2 MB/s\u001b[0m  \u001b[33m0:00:01\u001b[0m eta \u001b[36m0:00:01\u001b[0m\n",
      "\u001b[?25hDownloading nvidia_cufile_cu12-1.13.1.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.2 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.2/1.2 MB\u001b[0m \u001b[31m83.6 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading nvidia_curand_cu12-10.3.9.90-py3-none-manylinux_2_27_x86_64.whl (63.6 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m63.6/63.6 MB\u001b[0m \u001b[31m116.8 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m eta \u001b[36m0:00:01\u001b[0m\n",
      "\u001b[?25hDownloading nvidia_cusolver_cu12-11.7.3.90-py3-none-manylinux_2_27_x86_64.whl (267.5 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m267.5/267.5 MB\u001b[0m \u001b[31m116.6 MB/s\u001b[0m  \u001b[33m0:00:02\u001b[0m0:00:01\u001b[0m00:01\u001b[0m\n",
      "\u001b[?25hDownloading nvidia_cusparse_cu12-12.5.8.93-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (288.2 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m288.2/288.2 MB\u001b[0m \u001b[31m108.8 MB/s\u001b[0m  \u001b[33m0:00:02\u001b[0m0:00:01\u001b[0m00:01\u001b[0m\n",
      "\u001b[?25hDownloading nvidia_cusparselt_cu12-0.7.1-py3-none-manylinux2014_x86_64.whl (287.2 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m287.2/287.2 MB\u001b[0m \u001b[31m135.4 MB/s\u001b[0m  \u001b[33m0:00:02\u001b[0m0:00:01\u001b[0m00:01\u001b[0m\n",
      "\u001b[?25hDownloading nvidia_nccl_cu12-2.27.5-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (322.3 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m322.3/322.3 MB\u001b[0m \u001b[31m85.3 MB/s\u001b[0m  \u001b[33m0:00:03\u001b[0mm0:00:01\u001b[0m00:01\u001b[0m\n",
      "\u001b[?25hDownloading nvidia_nvjitlink_cu12-12.8.93-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl (39.3 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m39.3/39.3 MB\u001b[0m \u001b[31m106.6 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m eta \u001b[36m0:00:01\u001b[0m\n",
      "\u001b[?25hDownloading nvidia_nvshmem_cu12-3.4.5-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (139.1 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m139.1/139.1 MB\u001b[0m \u001b[31m73.5 MB/s\u001b[0m  \u001b[33m0:00:01\u001b[0mm0:00:01\u001b[0m00:01\u001b[0m\n",
      "\u001b[?25hDownloading nvidia_nvtx_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (89 kB)\n",
      "Downloading huggingface_hub-1.8.0-py3-none-any.whl (625 kB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m625.2/625.2 kB\u001b[0m \u001b[31m58.1 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading charset_normalizer-3.4.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (214 kB)\n",
      "Downloading cuda_pathfinder-1.5.4-py3-none-any.whl (51 kB)\n",
      "Downloading dill-0.4.0-py3-none-any.whl (119 kB)\n",
      "Downloading httpcore-1.0.9-py3-none-any.whl (78 kB)\n",
      "Downloading idna-3.13-py3-none-any.whl (68 kB)\n",
      "Downloading multiprocess-0.70.16-py311-none-any.whl (143 kB)\n",
      "Downloading tokenizers-0.22.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.3/3.3 MB\u001b[0m \u001b[31m173.3 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading urllib3-2.6.3-py3-none-any.whl (131 kB)\n",
      "Downloading jiwer-4.0.0-py3-none-any.whl (23 kB)\n",
      "Downloading unsloth-2026.4.8-py3-none-any.whl (67.0 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m67.0/67.0 MB\u001b[0m \u001b[31m76.5 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m eta \u001b[36m0:00:01\u001b[0mm\n",
      "\u001b[?25hDownloading matplotlib-3.10.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (8.8 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m8.8/8.8 MB\u001b[0m \u001b[31m118.1 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading unsloth_zoo-2026.4.9-py3-none-any.whl (421 kB)\n",
      "Downloading aiohttp-3.13.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.8 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.8/1.8 MB\u001b[0m \u001b[31m138.8 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading multidict-6.7.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (246 kB)\n",
      "Downloading yarl-1.23.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (102 kB)\n",
      "Downloading aiohappyeyeballs-2.6.1-py3-none-any.whl (15 kB)\n",
      "Downloading aiosignal-1.4.0-py3-none-any.whl (7.5 kB)\n",
      "Downloading annotated_doc-0.0.4-py3-none-any.whl (5.3 kB)\n",
      "Downloading attrs-26.1.0-py3-none-any.whl (67 kB)\n",
      "Downloading certifi-2026.4.22-py3-none-any.whl (135 kB)\n",
      "Downloading contourpy-1.3.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (355 kB)\n",
      "Downloading cycler-0.12.1-py3-none-any.whl (8.3 kB)\n",
      "Downloading fonttools-4.62.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (5.1 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m5.1/5.1 MB\u001b[0m \u001b[31m116.1 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading frozenlist-1.8.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (231 kB)\n",
      "Downloading h11-0.16.0-py3-none-any.whl (37 kB)\n",
      "Downloading kiwisolver-1.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.4 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.4/1.4 MB\u001b[0m \u001b[31m67.5 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading markdown_it_py-4.0.0-py3-none-any.whl (87 kB)\n",
      "Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)\n",
      "Downloading propcache-0.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (210 kB)\n",
      "Downloading pyparsing-3.3.2-py3-none-any.whl (122 kB)\n",
      "Downloading pytz-2026.1.post1-py2.py3-none-any.whl (510 kB)\n",
      "Downloading rapidfuzz-3.14.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.2 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.2/3.2 MB\u001b[0m \u001b[31m154.8 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading shellingham-1.5.4-py2.py3-none-any.whl (9.8 kB)\n",
      "Downloading sympy-1.14.0-py3-none-any.whl (6.3 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m6.3/6.3 MB\u001b[0m \u001b[31m161.2 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading torchao-0.17.0-cp310-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.2 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.2/3.2 MB\u001b[0m \u001b[31m103.2 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading tzdata-2026.2-py2.py3-none-any.whl (349 kB)\n",
      "Downloading anyio-4.13.0-py3-none-any.whl (114 kB)\n",
      "Downloading cut_cross_entropy-25.1.1-py3-none-any.whl (22 kB)\n",
      "Downloading diffusers-0.37.1-py3-none-any.whl (5.0 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m5.0/5.0 MB\u001b[0m \u001b[31m154.2 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading importlib_metadata-9.0.0-py3-none-any.whl (27 kB)\n",
      "Downloading zipp-3.23.1-py3-none-any.whl (10 kB)\n",
      "Downloading msgspec-0.21.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (219 kB)\n",
      "Downloading pydantic-2.13.3-py3-none-any.whl (471 kB)\n",
      "Downloading pydantic_core-2.46.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.1/2.1 MB\u001b[0m \u001b[31m158.0 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading annotated_types-0.7.0-py3-none-any.whl (13 kB)\n",
      "Downloading typing_inspection-0.4.2-py3-none-any.whl (14 kB)\n",
      "Downloading torchvision-0.25.0-cp311-cp311-manylinux_2_28_x86_64.whl (8.1 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m8.1/8.1 MB\u001b[0m \u001b[31m151.4 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading tyro-1.0.13-py3-none-any.whl (185 kB)\n",
      "Downloading docstring_parser-0.18.0-py3-none-any.whl (22 kB)\n",
      "Downloading typeguard-4.5.1-py3-none-any.whl (36 kB)\n",
      "Downloading xxhash-3.7.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (193 kB)\n",
      "Installing collected packages: torchao, pytz, nvidia-cusparselt-cu12, zipp, xxhash, urllib3, tzdata, typing-inspection, typeguard, triton, tqdm, sympy, shellingham, sentencepiece, safetensors, regex, rapidfuzz, pyyaml, pyparsing, pydantic-core, pyarrow, protobuf, propcache, nvidia-nvtx-cu12, nvidia-nvshmem-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufile-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, numpy, multidict, msgspec, mdurl, kiwisolver, idna, hf-xet, hf_transfer, h11, fsspec, frozenlist, fonttools, docstring-parser, dill, cycler, cuda-pathfinder, click, charset_normalizer, certifi, attrs, annotated-types, annotated-doc, aiohappyeyeballs, yarl, tyro, requests, pydantic, pandas, nvidia-cusparse-cu12, nvidia-cufft-cu12, nvidia-cudnn-cu12, multiprocess, markdown-it-py, jiwer, importlib-metadata, httpcore, cuda-bindings, contourpy, anyio, aiosignal, rich, nvidia-cusolver-cu12, matplotlib, httpx, aiohttp, typer, torch, xformers, torchvision, huggingface-hub, cut_cross_entropy, bitsandbytes, tokenizers, timm, diffusers, datasets, accelerate, transformers, trl, peft, unsloth_zoo, unsloth\n",
      "\u001b[2K  Attempting uninstall: triton━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 6/95\u001b[0m [tzdata]t-cu12]\n",
      "\u001b[2K    Found existing installation: triton 3.1.0━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 6/95\u001b[0m [tzdata]\n",
      "\u001b[2K    Uninstalling triton-3.1.0:━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 6/95\u001b[0m [tzdata]\n",
      "\u001b[2K      Successfully uninstalled triton-3.1.0━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 6/95\u001b[0m [tzdata]\n",
      "\u001b[2K  Attempting uninstall: sympym━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 9/95\u001b[0m [triton]\n",
      "\u001b[2K    Found existing installation: sympy 1.13.1━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 9/95\u001b[0m [triton]\n",
      "\u001b[2K    Uninstalling sympy-1.13.1:m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11/95\u001b[0m [sympy]\n",
      "\u001b[2K      Successfully uninstalled sympy-1.13.1━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11/95\u001b[0m [sympy]\n",
      "\u001b[2K  Attempting uninstall: nvidia-nvtx-cu12━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m21/95\u001b[0m [protobuf]\n",
      "\u001b[2K    Found existing installation: nvidia-nvtx-cu12 12.1.105━━━━\u001b[0m \u001b[32m21/95\u001b[0m [protobuf]\n",
      "\u001b[2K    Uninstalling nvidia-nvtx-cu12-12.1.105:━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m21/95\u001b[0m [protobuf]\n",
      "\u001b[2K      Successfully uninstalled nvidia-nvtx-cu12-12.1.105━━━━━━\u001b[0m \u001b[32m21/95\u001b[0m [protobuf]\n",
      "\u001b[2K  Attempting uninstall: nvidia-nvjitlink-cu12━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m24/95\u001b[0m [nvidia-nvshmem-cu12]\n",
      "\u001b[2K    Found existing installation: nvidia-nvjitlink-cu12 12.9.86\u001b[0m \u001b[32m24/95\u001b[0m [nvidia-nvshmem-cu12]\n",
      "\u001b[2K    Uninstalling nvidia-nvjitlink-cu12-12.9.86:━━━━━━━━━━━━━━━\u001b[0m \u001b[32m24/95\u001b[0m [nvidia-nvshmem-cu12]\n",
      "\u001b[2K      Successfully uninstalled nvidia-nvjitlink-cu12-12.9.86━━\u001b[0m \u001b[32m24/95\u001b[0m [nvidia-nvshmem-cu12]\n",
      "\u001b[2K  Attempting uninstall: nvidia-nccl-cu12━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m25/95\u001b[0m [nvidia-nvjitlink-cu12]\n",
      "\u001b[2K    Found existing installation: nvidia-nccl-cu12 2.21.5━━━━━━\u001b[0m \u001b[32m25/95\u001b[0m [nvidia-nvjitlink-cu12]\n",
      "\u001b[2K    Uninstalling nvidia-nccl-cu12-2.21.5:━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m25/95\u001b[0m [nvidia-nvjitlink-cu12]\n",
      "\u001b[2K      Successfully uninstalled nvidia-nccl-cu12-2.21.5━━━━━━━━\u001b[0m \u001b[32m25/95\u001b[0m [nvidia-nvjitlink-cu12]\n",
      "\u001b[2K  Attempting uninstall: nvidia-curand-cu12━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m26/95\u001b[0m [nvidia-nccl-cu12]]\n",
      "\u001b[2K    Found existing installation: nvidia-curand-cu12 10.3.2.106\u001b[0m \u001b[32m26/95\u001b[0m [nvidia-nccl-cu12]\n",
      "\u001b[2K    Uninstalling nvidia-curand-cu12-10.3.2.106:━━━━━━━━━━━━━━━\u001b[0m \u001b[32m26/95\u001b[0m [nvidia-nccl-cu12]\n",
      "\u001b[2K      Successfully uninstalled nvidia-curand-cu12-10.3.2.106━━\u001b[0m \u001b[32m26/95\u001b[0m [nvidia-nccl-cu12]\n",
      "\u001b[2K  Attempting uninstall: nvidia-cuda-runtime-cu12━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m27/95\u001b[0m [nvidia-curand-cu12]\n",
      "\u001b[2K    Found existing installation: nvidia-cuda-runtime-cu12 12.1.105 \u001b[32m27/95\u001b[0m [nvidia-curand-cu12]\n",
      "\u001b[2K    Uninstalling nvidia-cuda-runtime-cu12-12.1.105:━━━━━━━━━━━\u001b[0m \u001b[32m27/95\u001b[0m [nvidia-curand-cu12]\n",
      "\u001b[2K      Successfully uninstalled nvidia-cuda-runtime-cu12-12.1.1050m \u001b[32m27/95\u001b[0m [nvidia-curand-cu12]\n",
      "\u001b[2K  Attempting uninstall: nvidia-cuda-nvrtc-cu12━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m29/95\u001b[0m [nvidia-cuda-runtime-cu12]\n",
      "\u001b[2K    Found existing installation: nvidia-cuda-nvrtc-cu12 12.1.1050m \u001b[32m29/95\u001b[0m [nvidia-cuda-runtime-cu12]\n",
      "\u001b[2K    Uninstalling nvidia-cuda-nvrtc-cu12-12.1.105:━━━━━━━━━━━━━\u001b[0m \u001b[32m29/95\u001b[0m [nvidia-cuda-runtime-cu12]\n",
      "\u001b[2K      Successfully uninstalled nvidia-cuda-nvrtc-cu12-12.1.105\u001b[0m \u001b[32m29/95\u001b[0m [nvidia-cuda-runtime-cu12]\n",
      "\u001b[2K  Attempting uninstall: nvidia-cuda-cupti-cu12━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m30/95\u001b[0m [nvidia-cuda-nvrtc-cu12]\n",
      "\u001b[2K    Found existing installation: nvidia-cuda-cupti-cu12 12.1.1050m \u001b[32m30/95\u001b[0m [nvidia-cuda-nvrtc-cu12]\n",
      "\u001b[2K    Uninstalling nvidia-cuda-cupti-cu12-12.1.105:━━━━━━━━━━━━━\u001b[0m \u001b[32m30/95\u001b[0m [nvidia-cuda-nvrtc-cu12]\n",
      "\u001b[2K      Successfully uninstalled nvidia-cuda-cupti-cu12-12.1.105\u001b[0m \u001b[32m30/95\u001b[0m [nvidia-cuda-nvrtc-cu12]\n",
      "\u001b[2K  Attempting uninstall: nvidia-cublas-cu12━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m31/95\u001b[0m [nvidia-cuda-cupti-cu12]\n",
      "\u001b[2K    Found existing installation: nvidia-cublas-cu12 12.1.3.1━━\u001b[0m \u001b[32m31/95\u001b[0m [nvidia-cuda-cupti-cu12]\n",
      "\u001b[2K    Uninstalling nvidia-cublas-cu12-12.1.3.1:━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m31/95\u001b[0m [nvidia-cuda-cupti-cu12]\n",
      "\u001b[2K      Successfully uninstalled nvidia-cublas-cu12-12.1.3.1━━━━\u001b[0m \u001b[32m31/95\u001b[0m [nvidia-cuda-cupti-cu12]\n",
      "\u001b[2K  Attempting uninstall: numpym╺\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m32/95\u001b[0m [nvidia-cublas-cu12]\n",
      "\u001b[2K    Found existing installation: numpy 2.4.3━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m32/95\u001b[0m [nvidia-cublas-cu12]\n",
      "\u001b[2K    Uninstalling numpy-2.4.3:0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m32/95\u001b[0m [nvidia-cublas-cu12]\n",
      "\u001b[2K      Successfully uninstalled numpy-2.4.3━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m32/95\u001b[0m [nvidia-cublas-cu12]\n",
      "\u001b[2K  Attempting uninstall: fsspec91m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m40/95\u001b[0m [hf_transfer]12]\n",
      "\u001b[2K    Found existing installation: fsspec 2026.2.0━━━━━━━━━━━━━━\u001b[0m \u001b[32m40/95\u001b[0m [hf_transfer]\n",
      "\u001b[2K    Uninstalling fsspec-2026.2.0:m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m40/95\u001b[0m [hf_transfer]\n",
      "\u001b[2K      Successfully uninstalled fsspec-2026.2.0━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m40/95\u001b[0m [hf_transfer]\n",
      "\u001b[2K  Attempting uninstall: nvidia-cusparse-cu12[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m \u001b[32m60/95\u001b[0m [pandas]c]]\n",
      "\u001b[2K    Found existing installation: nvidia-cusparse-cu12 12.1.0.1060m \u001b[32m60/95\u001b[0m [pandas]\n",
      "\u001b[2K    Uninstalling nvidia-cusparse-cu12-12.1.0.106:━━━━━━━━━━━━━\u001b[0m \u001b[32m60/95\u001b[0m [pandas]\n",
      "\u001b[2K      Successfully uninstalled nvidia-cusparse-cu12-12.1.0.106\u001b[0m \u001b[32m60/95\u001b[0m [pandas]\n",
      "\u001b[2K  Attempting uninstall: nvidia-cufft-cu12m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m \u001b[32m61/95\u001b[0m [nvidia-cusparse-cu12]\n",
      "\u001b[2K    Found existing installation: nvidia-cufft-cu12 11.0.2.54━━\u001b[0m \u001b[32m61/95\u001b[0m [nvidia-cusparse-cu12]\n",
      "\u001b[2K    Uninstalling nvidia-cufft-cu12-11.0.2.54:90m━━━━━━━━━━━━━━\u001b[0m \u001b[32m61/95\u001b[0m [nvidia-cusparse-cu12]\n",
      "\u001b[2K      Successfully uninstalled nvidia-cufft-cu12-11.0.2.54━━━━━━━━\u001b[0m \u001b[32m62/95\u001b[0m [nvidia-cufft-cu12]\n",
      "\u001b[2K  Attempting uninstall: nvidia-cudnn-cu120m╺\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m \u001b[32m62/95\u001b[0m [nvidia-cufft-cu12]\n",
      "\u001b[2K    Found existing installation: nvidia-cudnn-cu12 9.1.0.70━━━\u001b[0m \u001b[32m62/95\u001b[0m [nvidia-cufft-cu12]\n",
      "\u001b[2K    Uninstalling nvidia-cudnn-cu12-9.1.0.70:\u001b[90m━━━━━━━━━━━━━\u001b[0m \u001b[32m62/95\u001b[0m [nvidia-cufft-cu12]\n",
      "\u001b[2K      Successfully uninstalled nvidia-cudnn-cu12-9.1.0.70━━━━━━━━━\u001b[0m \u001b[32m63/95\u001b[0m [nvidia-cudnn-cu12]\n",
      "\u001b[2K  Attempting uninstall: nvidia-cusolver-cu1291m╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m \u001b[32m73/95\u001b[0m [rich]]indings]u12]\n",
      "\u001b[2K    Found existing installation: nvidia-cusolver-cu12 11.4.5.1070m \u001b[32m73/95\u001b[0m [rich]\n",
      "\u001b[2K    Uninstalling nvidia-cusolver-cu12-11.4.5.107:[90m━━━━━━━━━\u001b[0m \u001b[32m73/95\u001b[0m [rich]\n",
      "\u001b[2K      Successfully uninstalled nvidia-cusolver-cu12-11.4.5.107\u001b[0m \u001b[32m73/95\u001b[0m [rich]\n",
      "\u001b[2K  Attempting uninstall: torch━━━━━━━━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━\u001b[0m \u001b[32m77/95\u001b[0m [aiohttp]ib]lver-cu12]\n",
      "\u001b[2K    Found existing installation: torch 2.5.1+cu121\u001b[90m━━━━━━━\u001b[0m \u001b[32m77/95\u001b[0m [aiohttp]\n",
      "\u001b[2K    Uninstalling torch-2.5.1+cu121:━━━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━\u001b[0m \u001b[32m79/95\u001b[0m [torch]\n",
      "\u001b[2K      Successfully uninstalled torch-2.5.1+cu121[0m\u001b[90m━━━━━━\u001b[0m \u001b[32m79/95\u001b[0m [torch]\n",
      "\u001b[2K  Attempting uninstall: torchvision━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━\u001b[0m \u001b[32m80/95\u001b[0m [xformers]\n",
      "\u001b[2K    Found existing installation: torchvision 0.20.1+cu121━━━━━\u001b[0m \u001b[32m80/95\u001b[0m [xformers]\n",
      "\u001b[2K    Uninstalling torchvision-0.20.1+cu121:[91m╸\u001b[0m\u001b[90m━━━━━━\u001b[0m \u001b[32m80/95\u001b[0m [xformers]\n",
      "\u001b[2K      Successfully uninstalled torchvision-0.20.1+cu121m━━━━━━\u001b[0m \u001b[32m80/95\u001b[0m [xformers]\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m95/95\u001b[0m [unsloth][unsloth]zoo]t]formers]ub]\n",
      "\u001b[1A\u001b[2K\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n",
      "torchaudio 2.5.1+cu121 requires torch==2.5.1, but you have torch 2.10.0 which is incompatible.\u001b[0m\u001b[31m\n",
      "\u001b[0mSuccessfully installed accelerate-1.13.0 aiohappyeyeballs-2.6.1 aiohttp-3.13.5 aiosignal-1.4.0 annotated-doc-0.0.4 annotated-types-0.7.0 anyio-4.13.0 attrs-26.1.0 bitsandbytes-0.49.2 certifi-2026.4.22 charset_normalizer-3.4.7 click-8.3.1 contourpy-1.3.3 cuda-bindings-12.9.4 cuda-pathfinder-1.5.4 cut_cross_entropy-25.1.1 cycler-0.12.1 datasets-4.3.0 diffusers-0.37.1 dill-0.4.0 docstring-parser-0.18.0 fonttools-4.62.1 frozenlist-1.8.0 fsspec-2025.3.0 h11-0.16.0 hf-xet-1.4.2 hf_transfer-0.1.9 httpcore-1.0.9 httpx-0.28.1 huggingface-hub-1.8.0 idna-3.13 importlib-metadata-9.0.0 jiwer-4.0.0 kiwisolver-1.5.0 markdown-it-py-4.0.0 matplotlib-3.10.9 mdurl-0.1.2 msgspec-0.21.1 multidict-6.7.1 multiprocess-0.70.16 numpy-2.0.2 nvidia-cublas-cu12-12.8.4.1 nvidia-cuda-cupti-cu12-12.8.90 nvidia-cuda-nvrtc-cu12-12.8.93 nvidia-cuda-runtime-cu12-12.8.90 nvidia-cudnn-cu12-9.10.2.21 nvidia-cufft-cu12-11.3.3.83 nvidia-cufile-cu12-1.13.1.3 nvidia-curand-cu12-10.3.9.90 nvidia-cusolver-cu12-11.7.3.90 nvidia-cusparse-cu12-12.5.8.93 nvidia-cusparselt-cu12-0.7.1 nvidia-nccl-cu12-2.27.5 nvidia-nvjitlink-cu12-12.8.93 nvidia-nvshmem-cu12-3.4.5 nvidia-nvtx-cu12-12.8.90 pandas-2.2.2 peft-0.18.1 propcache-0.4.1 protobuf-5.29.6 pyarrow-23.0.1 pydantic-2.13.3 pydantic-core-2.46.3 pyparsing-3.3.2 pytz-2026.1.post1 pyyaml-6.0.3 rapidfuzz-3.14.5 regex-2025.11.3 requests-2.32.4 rich-13.9.4 safetensors-0.7.0 sentencepiece-0.2.1 shellingham-1.5.4 sympy-1.14.0 timm-1.0.26 tokenizers-0.22.2 torch-2.10.0 torchao-0.17.0 torchvision-0.25.0 tqdm-4.67.3 transformers-5.5.0 triton-3.6.0 trl-0.22.2 typeguard-4.5.1 typer-0.24.1 typing-inspection-0.4.2 tyro-1.0.13 tzdata-2026.2 unsloth-2026.4.8 unsloth_zoo-2026.4.9 urllib3-2.6.3 xformers-0.0.34 xxhash-3.7.0 yarl-1.23.0 zipp-3.23.1\n",
      "Note: you may need to restart the kernel to use updated packages.\n"
     ]
    }
   ],
   "source": [
    "%pip install transformers==5.5.0 trl==0.22.2 bitsandbytes==0.49.2 \\\n",
    "xformers==0.0.34 datasets==4.3.0 peft==0.18.1 accelerate==1.13.0 \\\n",
    "timm==1.0.26 huggingface-hub hf_transfer==0.1.9 \\\n",
    "hf-xet==1.4.2 pyarrow==23.0.1 protobuf==5.29.6 \\\n",
    "sentencepiece==0.2.1 numpy==2.0.2 pandas==2.2.2 \\\n",
    "requests==2.32.4 httpx==0.28.1 tqdm==4.67.3 \\\n",
    "fsspec==2025.3.0 safetensors==0.7.0 regex==2025.11.3 \\\n",
    "triton==3.6.0 typer==0.24.1 click==8.3.1 \\\n",
    "rich==13.9.4 pyyaml==6.0.3 python-dateutil==2.9.0.post0 \\\n",
    "typing-extensions==4.15.0 jiwer unsloth matplotlib pandas unsloth_zoo setuptools"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Looking in indexes: https://download.pytorch.org/whl/cu128\n",
      "Requirement already satisfied: torch==2.10.0 in /home/user/miniconda/lib/python3.13/site-packages (2.10.0)\n",
      "Collecting torchaudio==2.10.0\n",
      "  Downloading https://download-r2.pytorch.org/whl/cu128/torchaudio-2.10.0%2Bcu128-cp313-cp313-manylinux_2_28_x86_64.whl.metadata (6.9 kB)\n",
      "Requirement already satisfied: torchvision==0.25.0 in /home/user/miniconda/lib/python3.13/site-packages (0.25.0)\n",
      "Collecting torchcodec==0.10.0\n",
      "  Downloading https://download.pytorch.org/whl/cu128/torchcodec-0.10.0%2Bcu128-cp313-cp313-manylinux_2_28_x86_64.whl.metadata (11 kB)\n",
      "Requirement already satisfied: filelock in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (3.29.0)\n",
      "Requirement already satisfied: typing-extensions>=4.10.0 in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (4.15.0)\n",
      "Requirement already satisfied: setuptools in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (80.10.2)\n",
      "Requirement already satisfied: sympy>=1.13.3 in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (1.14.0)\n",
      "Requirement already satisfied: networkx>=2.5.1 in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (3.6.1)\n",
      "Requirement already satisfied: jinja2 in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (3.1.6)\n",
      "Requirement already satisfied: fsspec>=0.8.5 in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (2025.3.0)\n",
      "Requirement already satisfied: cuda-bindings==12.9.4 in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (12.9.4)\n",
      "Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.8.93 in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (12.8.93)\n",
      "Requirement already satisfied: nvidia-cuda-runtime-cu12==12.8.90 in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (12.8.90)\n",
      "Requirement already satisfied: nvidia-cuda-cupti-cu12==12.8.90 in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (12.8.90)\n",
      "Requirement already satisfied: nvidia-cudnn-cu12==9.10.2.21 in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (9.10.2.21)\n",
      "Requirement already satisfied: nvidia-cublas-cu12==12.8.4.1 in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (12.8.4.1)\n",
      "Requirement already satisfied: nvidia-cufft-cu12==11.3.3.83 in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (11.3.3.83)\n",
      "Requirement already satisfied: nvidia-curand-cu12==10.3.9.90 in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (10.3.9.90)\n",
      "Requirement already satisfied: nvidia-cusolver-cu12==11.7.3.90 in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (11.7.3.90)\n",
      "Requirement already satisfied: nvidia-cusparse-cu12==12.5.8.93 in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (12.5.8.93)\n",
      "Requirement already satisfied: nvidia-cusparselt-cu12==0.7.1 in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (0.7.1)\n",
      "Requirement already satisfied: nvidia-nccl-cu12==2.27.5 in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (2.27.5)\n",
      "Requirement already satisfied: nvidia-nvshmem-cu12==3.4.5 in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (3.4.5)\n",
      "Requirement already satisfied: nvidia-nvtx-cu12==12.8.90 in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (12.8.90)\n",
      "Requirement already satisfied: nvidia-nvjitlink-cu12==12.8.93 in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (12.8.93)\n",
      "Requirement already satisfied: nvidia-cufile-cu12==1.13.1.3 in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (1.13.1.3)\n",
      "Requirement already satisfied: triton==3.6.0 in /home/user/miniconda/lib/python3.13/site-packages (from torch==2.10.0) (3.6.0)\n",
      "Requirement already satisfied: numpy in /home/user/miniconda/lib/python3.13/site-packages (from torchvision==0.25.0) (2.0.2)\n",
      "Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in /home/user/miniconda/lib/python3.13/site-packages (from torchvision==0.25.0) (12.2.0)\n",
      "Requirement already satisfied: cuda-pathfinder~=1.1 in /home/user/miniconda/lib/python3.13/site-packages (from cuda-bindings==12.9.4->torch==2.10.0) (1.5.4)\n",
      "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /home/user/miniconda/lib/python3.13/site-packages (from sympy>=1.13.3->torch==2.10.0) (1.3.0)\n",
      "Requirement already satisfied: MarkupSafe>=2.0 in /home/user/miniconda/lib/python3.13/site-packages (from jinja2->torch==2.10.0) (3.0.3)\n",
      "Downloading https://download-r2.pytorch.org/whl/cu128/torchaudio-2.10.0%2Bcu128-cp313-cp313-manylinux_2_28_x86_64.whl (1.8 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.8/1.8 MB\u001b[0m \u001b[31m102.9 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hDownloading https://download.pytorch.org/whl/cu128/torchcodec-0.10.0%2Bcu128-cp313-cp313-manylinux_2_28_x86_64.whl (2.4 MB)\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.4/2.4 MB\u001b[0m \u001b[31m26.7 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n",
      "\u001b[?25hInstalling collected packages: torchcodec, torchaudio\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2/2\u001b[0m [torchaudio]2\u001b[0m [torchaudio]\n",
      "\u001b[1A\u001b[2KSuccessfully installed torchaudio-2.10.0+cu128 torchcodec-0.10.0+cu128\n",
      "Note: you may need to restart the kernel to use updated packages.\n",
      "\u001b[1;33mJupyter detected\u001b[0m\u001b[1;33m...\u001b[0m\n",
      "\u001b[1;32m2\u001b[0m\u001b[1;32m channel Terms of Service accepted\u001b[0m\n",
      "Channels:\n",
      " - conda-forge\n",
      " - defaults\n",
      "Platform: linux-64\n",
      "Collecting package metadata (repodata.json): done\n",
      "Solving environment: done\n",
      "\n",
      "\n",
      "==> WARNING: A newer version of conda exists. <==\n",
      "    current version: 26.1.1\n",
      "    latest version: 26.3.2\n",
      "\n",
      "Please update conda by running\n",
      "\n",
      "    $ conda update -n base -c defaults conda\n",
      "\n",
      "\n",
      "\n",
      "## Package Plan ##\n",
      "\n",
      "  environment location: /home/user/miniconda\n",
      "\n",
      "  added / updated specs:\n",
      "    - ffmpeg=7\n",
      "\n",
      "\n",
      "The following packages will be downloaded:\n",
      "\n",
      "    package                    |            build\n",
      "    ---------------------------|-----------------\n",
      "    cairo-1.18.4               |       h44eff21_0         728 KB\n",
      "    certifi-2026.4.22          |     pyhd8ed1ab_0         132 KB  conda-forge\n",
      "    ffmpeg-7.1.1               | gpl_ha0aeed6_910        10.1 MB  conda-forge\n",
      "    fontconfig-2.15.0          |       h2c49b7f_0         262 KB\n",
      "    harfbuzz-12.3.0            |       h79d275a_1         2.0 MB\n",
      "    libhwloc-2.12.1            |default_h3d81e11_1000         2.3 MB  conda-forge\n",
      "    librsvg-2.58.4             |       h49af25d_2         6.0 MB  conda-forge\n",
      "    liburing-2.12              |       hb700be7_0         125 KB  conda-forge\n",
      "    libxkbcommon-1.11.0        |       he8b52b9_0         773 KB  conda-forge\n",
      "    sdl3-3.2.24                |       h68140b3_0         1.8 MB  conda-forge\n",
      "    tbb-2022.3.0               |       h8d10470_1         177 KB  conda-forge\n",
      "    wayland-1.24.0             |       hdac8c69_0         356 KB\n",
      "    ------------------------------------------------------------\n",
      "                                           Total:        24.7 MB\n",
      "\n",
      "The following NEW packages will be INSTALLED:\n",
      "\n",
      "  alsa-lib           conda-forge/linux-64::alsa-lib-1.2.15.3-hb03c661_0 \n",
      "  aom                conda-forge/linux-64::aom-3.9.1-hac33072_0 \n",
      "  cairo              pkgs/main/linux-64::cairo-1.18.4-h44eff21_0 \n",
      "  dav1d              conda-forge/linux-64::dav1d-1.2.1-hd590300_0 \n",
      "  ffmpeg             conda-forge/linux-64::ffmpeg-7.1.1-gpl_ha0aeed6_910 \n",
      "  font-ttf-dejavu-s~ conda-forge/noarch::font-ttf-dejavu-sans-mono-2.37-hab24e00_0 \n",
      "  font-ttf-inconsol~ conda-forge/noarch::font-ttf-inconsolata-3.000-h77eed37_0 \n",
      "  font-ttf-source-c~ conda-forge/noarch::font-ttf-source-code-pro-2.038-h77eed37_0 \n",
      "  font-ttf-ubuntu    conda-forge/noarch::font-ttf-ubuntu-0.83-h77eed37_3 \n",
      "  fontconfig         pkgs/main/linux-64::fontconfig-2.15.0-h2c49b7f_0 \n",
      "  fonts-conda-ecosy~ conda-forge/noarch::fonts-conda-ecosystem-1-0 \n",
      "  fonts-conda-forge  conda-forge/noarch::fonts-conda-forge-1-hc364b38_1 \n",
      "  freetype           conda-forge/linux-64::freetype-2.14.2-ha770c72_0 \n",
      "  fribidi            conda-forge/linux-64::fribidi-1.0.16-hb03c661_0 \n",
      "  gdk-pixbuf         conda-forge/linux-64::gdk-pixbuf-2.44.5-h2b0a6b4_0 \n",
      "  gmp                conda-forge/linux-64::gmp-6.3.0-hac33072_2 \n",
      "  graphite2          conda-forge/linux-64::graphite2-1.3.14-hecca717_2 \n",
      "  harfbuzz           pkgs/main/linux-64::harfbuzz-12.3.0-h79d275a_1 \n",
      "  intel-gmmlib       conda-forge/linux-64::intel-gmmlib-22.10.0-hb700be7_0 \n",
      "  intel-media-driver conda-forge/linux-64::intel-media-driver-25.3.4-hecca717_0 \n",
      "  lame               conda-forge/linux-64::lame-3.100-h166bdaf_1003 \n",
      "  lerc               conda-forge/linux-64::lerc-4.1.0-hdb68285_0 \n",
      "  level-zero         conda-forge/linux-64::level-zero-1.28.4-hb700be7_0 \n",
      "  libabseil          conda-forge/linux-64::libabseil-20250512.1-cxx17_hba17884_0 \n",
      "  libass             conda-forge/linux-64::libass-0.17.4-h96ad9f0_0 \n",
      "  libcap             conda-forge/linux-64::libcap-2.77-hd0affe5_1 \n",
      "  libdeflate         conda-forge/linux-64::libdeflate-1.25-h17f619e_0 \n",
      "  libdrm             conda-forge/linux-64::libdrm-2.4.125-hb03c661_1 \n",
      "  libegl             conda-forge/linux-64::libegl-1.7.0-ha4b6fd6_2 \n",
      "  libflac            conda-forge/linux-64::libflac-1.5.0-he200343_1 \n",
      "  libfreetype        conda-forge/linux-64::libfreetype-2.14.2-ha770c72_0 \n",
      "  libfreetype6       conda-forge/linux-64::libfreetype6-2.14.2-h73754d4_0 \n",
      "  libgl              conda-forge/linux-64::libgl-1.7.0-ha4b6fd6_2 \n",
      "  libglib            pkgs/main/linux-64::libglib-2.86.3-h8b17d9a_0 \n",
      "  libglvnd           conda-forge/linux-64::libglvnd-1.7.0-ha4b6fd6_2 \n",
      "  libglx             conda-forge/linux-64::libglx-1.7.0-ha4b6fd6_2 \n",
      "  libhwloc           conda-forge/linux-64::libhwloc-2.12.1-default_h3d81e11_1000 \n",
      "  libjpeg-turbo      conda-forge/linux-64::libjpeg-turbo-3.1.4.1-hb03c661_0 \n",
      "  liblzma            conda-forge/linux-64::liblzma-5.8.2-hb03c661_0 \n",
      "  libogg             conda-forge/linux-64::libogg-1.3.5-hd0c01bc_1 \n",
      "  libopenvino        conda-forge/linux-64::libopenvino-2025.2.0-hb617929_1 \n",
      "  libopenvino-auto-~ conda-forge/linux-64::libopenvino-auto-batch-plugin-2025.2.0-hed573e4_1 \n",
      "  libopenvino-auto-~ conda-forge/linux-64::libopenvino-auto-plugin-2025.2.0-hed573e4_1 \n",
      "  libopenvino-heter~ conda-forge/linux-64::libopenvino-hetero-plugin-2025.2.0-hd41364c_1 \n",
      "  libopenvino-intel~ conda-forge/linux-64::libopenvino-intel-cpu-plugin-2025.2.0-hb617929_1 \n",
      "  libopenvino-intel~ conda-forge/linux-64::libopenvino-intel-gpu-plugin-2025.2.0-hb617929_1 \n",
      "  libopenvino-intel~ conda-forge/linux-64::libopenvino-intel-npu-plugin-2025.2.0-hb617929_1 \n",
      "  libopenvino-ir-fr~ conda-forge/linux-64::libopenvino-ir-frontend-2025.2.0-hd41364c_1 \n",
      "  libopenvino-onnx-~ conda-forge/linux-64::libopenvino-onnx-frontend-2025.2.0-h1862bb8_1 \n",
      "  libopenvino-paddl~ conda-forge/linux-64::libopenvino-paddle-frontend-2025.2.0-h1862bb8_1 \n",
      "  libopenvino-pytor~ conda-forge/linux-64::libopenvino-pytorch-frontend-2025.2.0-hecca717_1 \n",
      "  libopenvino-tenso~ conda-forge/linux-64::libopenvino-tensorflow-frontend-2025.2.0-h0767aad_1 \n",
      "  libopenvino-tenso~ conda-forge/linux-64::libopenvino-tensorflow-lite-frontend-2025.2.0-hecca717_1 \n",
      "  libopus            conda-forge/linux-64::libopus-1.6.1-h280c20c_0 \n",
      "  libpciaccess       conda-forge/linux-64::libpciaccess-0.18-hb9d3cd8_0 \n",
      "  libpng             conda-forge/linux-64::libpng-1.6.55-h421ea60_0 \n",
      "  libprotobuf        conda-forge/linux-64::libprotobuf-6.31.1-h49aed37_4 \n",
      "  librsvg            conda-forge/linux-64::librsvg-2.58.4-h49af25d_2 \n",
      "  libsndfile         conda-forge/linux-64::libsndfile-1.2.2-hc7d488a_2 \n",
      "  libsystemd0        conda-forge/linux-64::libsystemd0-257.13-hd0affe5_0 \n",
      "  libtiff            conda-forge/linux-64::libtiff-4.7.1-h9d88235_1 \n",
      "  libudev1           conda-forge/linux-64::libudev1-257.13-hd0affe5_0 \n",
      "  libunwind          conda-forge/linux-64::libunwind-1.8.3-h65a8314_0 \n",
      "  liburing           conda-forge/linux-64::liburing-2.12-hb700be7_0 \n",
      "  libusb             conda-forge/linux-64::libusb-1.0.29-h73b1eb8_0 \n",
      "  libva              conda-forge/linux-64::libva-2.23.0-he1eb515_0 \n",
      "  libvorbis          conda-forge/linux-64::libvorbis-1.3.7-h54a6638_2 \n",
      "  libvpl             conda-forge/linux-64::libvpl-2.15.0-h54a6638_1 \n",
      "  libvpx             conda-forge/linux-64::libvpx-1.14.1-hac33072_0 \n",
      "  libvulkan-loader   conda-forge/linux-64::libvulkan-loader-1.4.341.0-h5279c79_0 \n",
      "  libwebp-base       conda-forge/linux-64::libwebp-base-1.6.0-hd42ef1d_0 \n",
      "  libxkbcommon       conda-forge/linux-64::libxkbcommon-1.11.0-he8b52b9_0 \n",
      "  mpg123             conda-forge/linux-64::mpg123-1.32.9-hc50e24c_0 \n",
      "  ocl-icd            conda-forge/linux-64::ocl-icd-2.3.3-hb9d3cd8_0 \n",
      "  opencl-headers     conda-forge/linux-64::opencl-headers-2025.06.13-hecca717_0 \n",
      "  openh264           conda-forge/linux-64::openh264-2.6.0-hc22cd8d_0 \n",
      "  pango              conda-forge/linux-64::pango-1.56.4-hadf4263_0 \n",
      "  pixman             conda-forge/linux-64::pixman-0.46.4-h54a6638_1 \n",
      "  pugixml            conda-forge/linux-64::pugixml-1.15-h3f63f65_0 \n",
      "  pulseaudio-client  conda-forge/linux-64::pulseaudio-client-17.0-h9a6aba3_3 \n",
      "  sdl2               conda-forge/linux-64::sdl2-2.32.56-h54a6638_0 \n",
      "  sdl3               conda-forge/linux-64::sdl3-3.2.24-h68140b3_0 \n",
      "  snappy             conda-forge/linux-64::snappy-1.2.2-h03e3b7b_1 \n",
      "  svt-av1            conda-forge/linux-64::svt-av1-3.1.2-hecca717_0 \n",
      "  tbb                conda-forge/linux-64::tbb-2022.3.0-h8d10470_1 \n",
      "  wayland            pkgs/main/linux-64::wayland-1.24.0-hdac8c69_0 \n",
      "  wayland-protocols  conda-forge/noarch::wayland-protocols-1.47-hd8ed1ab_0 \n",
      "  x264               conda-forge/linux-64::x264-1!164.3095-h166bdaf_2 \n",
      "  x265               conda-forge/linux-64::x265-3.5-h924138e_3 \n",
      "  xkeyboard-config   conda-forge/linux-64::xkeyboard-config-2.46-hb03c661_0 \n",
      "  xorg-libxcursor    conda-forge/linux-64::xorg-libxcursor-1.2.3-hb9d3cd8_0 \n",
      "  xorg-libxext       conda-forge/linux-64::xorg-libxext-1.3.7-hb03c661_0 \n",
      "  xorg-libxfixes     conda-forge/linux-64::xorg-libxfixes-6.0.2-hb03c661_0 \n",
      "  xorg-libxrandr     conda-forge/linux-64::xorg-libxrandr-1.5.5-hb03c661_0 \n",
      "  xorg-libxrender    conda-forge/linux-64::xorg-libxrender-0.9.12-hb9d3cd8_0 \n",
      "  xorg-libxscrnsaver conda-forge/linux-64::xorg-libxscrnsaver-1.2.4-hb9d3cd8_0 \n",
      "\n",
      "The following packages will be UPDATED:\n",
      "\n",
      "  ca-certificates    pkgs/main/linux-64::ca-certificates-2~ --> conda-forge/noarch::ca-certificates-2026.4.22-hbd8a1cb_0 \n",
      "  certifi            pkgs/main/linux-64::certifi-2026.01.0~ --> conda-forge/noarch::certifi-2026.4.22-pyhd8ed1ab_0 \n",
      "  openssl               pkgs/main::openssl-3.5.5-h1b28b03_0 --> conda-forge::openssl-3.6.2-h35e630c_0 \n",
      "\n",
      "\n",
      "\n",
      "Downloading and Extracting Packages:\n",
      "ffmpeg-7.1.1         | 10.1 MB   |                                       |   0% \n",
      "librsvg-2.58.4       | 6.0 MB    |                                       |   0% \u001b[A\n",
      "\n",
      "libhwloc-2.12.1      | 2.3 MB    |                                       |   0% \u001b[A\u001b[A\n",
      "\n",
      "\n",
      "harfbuzz-12.3.0      | 2.0 MB    |                                       |   0% \u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "sdl3-3.2.24          | 1.8 MB    |                                       |   0% \u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libxkbcommon-1.11.0  | 773 KB    |                                       |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "cairo-1.18.4         | 728 KB    |                                       |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "wayland-1.24.0       | 356 KB    |                                       |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "fontconfig-2.15.0    | 262 KB    |                                       |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "tbb-2022.3.0         | 177 KB    |                                       |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "certifi-2026.4.22    | 132 KB    |                                       |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "liburing-2.12        | 125 KB    |                                       |   0% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "ffmpeg-7.1.1         | 10.1 MB   | #################3                    |  47% \u001b[A\u001b[A\n",
      "librsvg-2.58.4       | 6.0 MB    | ########                              |  22% \u001b[A\n",
      "\n",
      "\n",
      "harfbuzz-12.3.0      | 2.0 MB    | ############################2         |  76% \u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "sdl3-3.2.24          | 1.8 MB    | #######2                              |  19% \u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libxkbcommon-1.11.0  | 773 KB    | 7                                     |   2% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "harfbuzz-12.3.0      | 2.0 MB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libxkbcommon-1.11.0  | 773 KB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "sdl3-3.2.24          | 1.8 MB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "cairo-1.18.4         | 728 KB    | 8                                     |   2% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "libxkbcommon-1.11.0  | 773 KB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "cairo-1.18.4         | 728 KB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "librsvg-2.58.4       | 6.0 MB    | ##################################### | 100% \u001b[A\n",
      "librsvg-2.58.4       | 6.0 MB    | ##################################### | 100% \u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "fontconfig-2.15.0    | 262 KB    | ##2                                   |   6% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "fontconfig-2.15.0    | 262 KB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "wayland-1.24.0       | 356 KB    | #6                                    |   4% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "certifi-2026.4.22    | 132 KB    | ####4                                 |  12% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "certifi-2026.4.22    | 132 KB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "ffmpeg-7.1.1         | 10.1 MB   | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "wayland-1.24.0       | 356 KB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "tbb-2022.3.0         | 177 KB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "liburing-2.12        | 125 KB    | ####7                                 |  13% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "liburing-2.12        | 125 KB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "harfbuzz-12.3.0      | 2.0 MB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "sdl3-3.2.24          | 1.8 MB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "sdl3-3.2.24          | 1.8 MB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "cairo-1.18.4         | 728 KB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "cairo-1.18.4         | 728 KB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "fontconfig-2.15.0    | 262 KB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "fontconfig-2.15.0    | 262 KB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "certifi-2026.4.22    | 132 KB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "certifi-2026.4.22    | 132 KB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "libhwloc-2.12.1      | 2.3 MB    | ##################################### | 100% \u001b[A\u001b[A\n",
      "\n",
      "libhwloc-2.12.1      | 2.3 MB    | ##################################### | 100% \u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "wayland-1.24.0       | 356 KB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "wayland-1.24.0       | 356 KB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "tbb-2022.3.0         | 177 KB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "tbb-2022.3.0         | 177 KB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "librsvg-2.58.4       | 6.0 MB    | ##################################### | 100% \u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "liburing-2.12        | 125 KB    | ##################################### | 100% \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                                                \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "                                                                                \u001b[A\n",
      "\n",
      "                                                                                \u001b[A\u001b[A\n",
      "\n",
      "\n",
      "                                                                                \u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "                                                                                \u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                                                \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                                                \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                                                \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                                                \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                                                \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                                                \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "                                                                                \u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\n",
      "Preparing transaction: done\n",
      "Verifying transaction: done\n",
      "Executing transaction: / \n",
      "/ \n",
      "done\n",
      "\n",
      "Note: you may need to restart the kernel to use updated packages.\n"
     ]
    }
   ],
   "source": [
    "%pip install torch==2.10.0 torchaudio==2.10.0 torchvision==0.25.0 torchcodec==0.10.0 \\\n",
    "--index-url https://download.pytorch.org/whl/cu128\n",
    "\n",
    "%conda install -y -c conda-forge ffmpeg=7"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. GPU Check"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Thu Apr 30 16:55:20 2026       \n",
      "+-----------------------------------------------------------------------------------------+\n",
      "| NVIDIA-SMI 575.57.08              Driver Version: 575.57.08      CUDA Version: 12.9     |\n",
      "|-----------------------------------------+------------------------+----------------------+\n",
      "| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |\n",
      "| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |\n",
      "|                                         |                        |               MIG M. |\n",
      "|=========================================+========================+======================|\n",
      "|   0  NVIDIA A100-SXM4-80GB          On  |   00000000:20:1D.0 Off |                    0 |\n",
      "| N/A   25C    P0             57W /  400W |       0MiB /  81920MiB |      0%      Default |\n",
      "|                                         |                        |             Disabled |\n",
      "+-----------------------------------------+------------------------+----------------------+\n",
      "                                                                                         \n",
      "+-----------------------------------------------------------------------------------------+\n",
      "| Processes:                                                                              |\n",
      "|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |\n",
      "|        ID   ID                                                               Usage      |\n",
      "|=========================================================================================|\n",
      "|  No running processes found                                                             |\n",
      "+-----------------------------------------------------------------------------------------+\n",
      "\n"
     ]
    }
   ],
   "source": [
    "import subprocess\n",
    "r = subprocess.run(['nvidia-smi'], capture_output=True, text=True)\n",
    "print(r.stdout if r.returncode == 0 else '❌ No GPU — switch to GPU runtime first!')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. Install Dependencies\n",
    "\n",
    "> **FlashAttention 2** is skipped — T4 is Turing (compute 7.5) and incompatible with FA2.  \n",
    "> On an A100 Colab Pro runtime, uncomment the flash-attn line for a significant speedup."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n",
      "unsloth-zoo 2026.4.9 requires datasets!=4.0.*,!=4.1.0,<4.4.0,>=3.4.1, but you have datasets 4.8.5 which is incompatible.\n",
      "unsloth 2026.4.8 requires datasets!=4.0.*,!=4.1.0,<4.4.0,>=3.4.1, but you have datasets 4.8.5 which is incompatible.\u001b[0m\u001b[31m\n",
      "\u001b[0mNote: you may need to restart the kernel to use updated packages.\n"
     ]
    }
   ],
   "source": [
    "%pip install -q -U qwen-asr datasets librosa transformers accelerate soundfile\n",
    "\n",
    "# Uncomment on A100 / Colab Pro:\n",
    "%pip install -q -U flash-attn --no-build-isolation\n",
    "\n",
    "import importlib\n",
    "for pkg in ['qwen_asr', 'datasets', 'librosa', 'transformers', 'accelerate']:\n",
    "    try:\n",
    "        m = importlib.import_module(pkg)\n",
    "        print(f'  ✅ {pkg}: {getattr(m, \"__version__\", \"ok\")}')\n",
    "    except ImportError:\n",
    "        print(f'  ❌ {pkg}: MISSING — re-run this cell')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4. Config — Paths & Hyperparameters\n",
    "\n",
    "**Edit this cell** before running anything else."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "✅ Config ready\n",
      "   Model      : Qwen/Qwen3-ASR-0.6B\n",
      "   Dataset    : ghananlpcommunity/ghana-bible-combined-90k-twi-ewe-dagbani\n",
      "   Train JSONL: outputs/QWEN-ASR-fintuning/train.jsonl\n",
      "   Eval  JSONL: outputs/QWEN-ASR-fintuning/eval.jsonl\n",
      "   Output dir : outputs/QWEN-ASR-fintuning/qwen3-asr-0.6b-ghana-out\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "\n",
    "# ── Model ─────────────────────────────────────────────────────────────────────\n",
    "MODEL_PATH = 'Qwen/Qwen3-ASR-0.6B'\n",
    "\n",
    "# ── HuggingFace dataset ───────────────────────────────────────────────────────\n",
    "HF_DATASET  = 'ghananlpcommunity/ghana-bible-combined-90k-twi-ewe-dagbani'\n",
    "HF_SPLIT    = 'train'          # dataset only has a train split\n",
    "\n",
    "# Language column values → Qwen3-ASR language prefix mapping\n",
    "# Adjust if the column uses different casing / spellings\n",
    "LANG_MAP = {\n",
    "    'twi':     'Twi',\n",
    "    'ewe':     'Ewe',\n",
    "    'dagbani': 'Dagbani',\n",
    "}\n",
    "\n",
    "# ── Local paths ───────────────────────────────────────────────────────────────\n",
    "BASE_DIR    = 'outputs/QWEN-ASR-fintuning'\n",
    "AUDIO_DIR   = 'ghana_audio'          # temp audio cache (Colab local, fast I/O)\n",
    "TRAIN_FILE  = f'{BASE_DIR}/train.jsonl'\n",
    "EVAL_FILE   = f'{BASE_DIR}/eval.jsonl'\n",
    "OUTPUT_DIR  = f'{BASE_DIR}/qwen3-asr-0.6b-ghana-out'\n",
    "\n",
    "# ── Data split ────────────────────────────────────────────────────────────────\n",
    "EVAL_RATIO  = 0.02     # 2 % held out for eval (~1800 samples)\n",
    "MAX_SAMPLES = None     # set e.g. 5000 to do a quick smoke-test; None = use all\n",
    "\n",
    "# ── Hyperparameters ───────────────────────────────────────────────────────────\n",
    "BATCH_SIZE   = 4       # per-device; reduce to 1 if OOM on T4\n",
    "GRAD_ACC     = 16      # effective batch = 2 * 16 = 32\n",
    "LR           = 2e-5\n",
    "EPOCHS       = 10\n",
    "SAVE_STEPS   = 500\n",
    "SAVE_LIMIT   = 100\n",
    "LOG_STEPS    = 20\n",
    "WARMUP_RATIO = 0.05\n",
    "SR           = 16000   # sampling rate expected by Qwen3-ASR\n",
    "\n",
    "for d in [BASE_DIR, AUDIO_DIR, OUTPUT_DIR]:\n",
    "    os.makedirs(d, exist_ok=True)\n",
    "\n",
    "print('✅ Config ready')\n",
    "print(f'   Model      : {MODEL_PATH}')\n",
    "print(f'   Dataset    : {HF_DATASET}')\n",
    "print(f'   Train JSONL: {TRAIN_FILE}')\n",
    "print(f'   Eval  JSONL: {EVAL_FILE}')\n",
    "print(f'   Output dir : {OUTPUT_DIR}')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 5. Load HuggingFace Dataset → Build JSONL\n",
    "\n",
    "This cell:\n",
    "1. Streams the dataset from HuggingFace\n",
    "2. Saves each audio clip as a `.wav` file to `AUDIO_DIR`\n",
    "3. Writes `train.jsonl` and `eval.jsonl` with the format:\n",
    "   ```json\n",
    "   {\"audio\": \"/content/ghana_audio/00001.wav\", \"text\": \"language Twi<asr_text>...\"}\n",
    "   ```\n",
    "\n",
    "**Runtime:** ~20-40 min for the full 90k dataset on Colab. Set `MAX_SAMPLES` in cell 4 to a small number for a quick test."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/user/miniconda/envs/ghana_speech/lib/python3.11/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"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "✅ JSONL already built — train=87840, eval=1793\n",
      "   Delete files and re-run to rebuild.\n",
      "\n",
      "Language distribution in train:\n",
      "   language Dagbani: 29393\n",
      "   language Ewe: 29334\n",
      "   language Twi: 29113\n"
     ]
    }
   ],
   "source": [
    "import json, os, soundfile as sf, numpy as np, librosa\n",
    "from datasets import load_dataset, Audio\n",
    "from tqdm.auto import tqdm\n",
    "\n",
    "# ── Skip if JSONL already exists ──────────────────────────────────────────\n",
    "if os.path.exists(TRAIN_FILE) and os.path.exists(EVAL_FILE):\n",
    "    n_train = sum(1 for _ in open(TRAIN_FILE))\n",
    "    n_eval  = sum(1 for _ in open(EVAL_FILE))\n",
    "    print(f'✅ JSONL already built — train={n_train}, eval={n_eval}')\n",
    "    print('   Delete files and re-run to rebuild.')\n",
    "else:\n",
    "    print(f'Loading {HF_DATASET} (streaming)...')\n",
    "    ds = load_dataset(\n",
    "        HF_DATASET,\n",
    "        split=HF_SPLIT,\n",
    "        streaming=True,\n",
    "    ).cast_column('audio', Audio(sampling_rate=SR))\n",
    "    # .cast_column forces AudioDecoder to decode + resample in one step\n",
    "\n",
    "    train_records, eval_records = [], []\n",
    "    skipped = 0\n",
    "    idx = 0\n",
    "\n",
    "    for ex in tqdm(ds, desc='Processing'):\n",
    "        if MAX_SAMPLES and idx >= MAX_SAMPLES:\n",
    "            break\n",
    "\n",
    "        # ── Language ──────────────────────────────────────────────────────────\n",
    "        raw_lang  = str(ex.get('language', '')).strip().lower()\n",
    "        qwen_lang = LANG_MAP.get(raw_lang)\n",
    "        if qwen_lang is None:\n",
    "            skipped += 1\n",
    "            continue\n",
    "\n",
    "        # ── Text ──────────────────────────────────────────────────────────────\n",
    "        text = str(ex.get('text', '')).strip()\n",
    "        if not text:\n",
    "            skipped += 1\n",
    "            continue\n",
    "\n",
    "        # ── Audio — AudioDecoder is now decoded by cast_column ─────────────\n",
    "        audio_col = ex.get('audio')\n",
    "        if audio_col is None:\n",
    "            skipped += 1\n",
    "            continue\n",
    "\n",
    "        # After cast_column, audio_col is a plain dict: {'array': ..., 'sampling_rate': ...}\n",
    "        array   = np.array(audio_col['array'], dtype=np.float32)\n",
    "        orig_sr = audio_col['sampling_rate']\n",
    "\n",
    "        if orig_sr != SR:\n",
    "            array = librosa.resample(array, orig_sr=orig_sr, target_sr=SR)\n",
    "\n",
    "        # ── Save wav ──────────────────────────────────────────────────────────\n",
    "        wav_path = os.path.join(AUDIO_DIR, f'{idx:06d}.wav')\n",
    "        sf.write(wav_path, array, SR)\n",
    "\n",
    "        # ── Build JSONL record ────────────────────────────────────────────────\n",
    "        target = f'language {qwen_lang}<asr_text>{text}'\n",
    "        record = {'audio': wav_path, 'text': target}\n",
    "\n",
    "        if idx % 50 == 0:\n",
    "            eval_records.append(record)\n",
    "        else:\n",
    "            train_records.append(record)\n",
    "\n",
    "        idx += 1\n",
    "\n",
    "    # ── Write JSONL ───────────────────────────────────────────────────────\n",
    "    os.makedirs(os.path.dirname(TRAIN_FILE), exist_ok=True)\n",
    "    with open(TRAIN_FILE, 'w', encoding='utf-8') as f:\n",
    "        for r in train_records:\n",
    "            f.write(json.dumps(r, ensure_ascii=False) + '\\n')\n",
    "    with open(EVAL_FILE, 'w', encoding='utf-8') as f:\n",
    "        for r in eval_records:\n",
    "            f.write(json.dumps(r, ensure_ascii=False) + '\\n')\n",
    "\n",
    "    print(f'\\n✅ Done')\n",
    "    print(f'   Train: {len(train_records)}, Eval: {len(eval_records)}, Skipped: {skipped}')\n",
    "\n",
    "# ── Language distribution ─────────────────────────────────────────────────\n",
    "from collections import Counter\n",
    "lang_counts = Counter()\n",
    "with open(TRAIN_FILE) as f:\n",
    "    for line in f:\n",
    "        rec = json.loads(line)\n",
    "        prefix = rec['text'].split('<asr_text>')[0]\n",
    "        lang_counts[prefix] += 1\n",
    "print('\\nLanguage distribution in train:')\n",
    "for lang, count in lang_counts.most_common():\n",
    "    print(f'   {lang}: {count}')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 6. Write Fine-tuning Script\n",
    "\n",
    "Writes `qwen3_asr_sft.py` to `/content/`. Based on the official Qwen3-ASR example, adapted for single-GPU Colab."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "✅ qwen3_asr_sft.py written to /content/\n"
     ]
    }
   ],
   "source": [
    "script = r'''\n",
    "# coding=utf-8\n",
    "# Qwen3-ASR SFT script — single-GPU Colab edition\n",
    "# Adapted from: https://github.com/QwenLM/Qwen3-ASR\n",
    "import argparse, os, re, shutil\n",
    "from dataclasses import dataclass\n",
    "from typing import Any, Dict, List, Optional\n",
    "\n",
    "import librosa\n",
    "import torch\n",
    "from datasets import load_dataset\n",
    "from qwen_asr import Qwen3ASRModel\n",
    "from transformers import (GenerationConfig, Trainer, TrainerCallback,\n",
    "                          TrainingArguments)\n",
    "\n",
    "\n",
    "# ── Forward patch ─────────────────────────────────────────────────────────────\n",
    "def patch_outer_forward(model):\n",
    "    cls = model.__class__\n",
    "    if getattr(cls, \"_forward_patched\", False):\n",
    "        return\n",
    "    if not hasattr(model, \"thinker\") or not hasattr(model.thinker, \"forward\"):\n",
    "        raise RuntimeError(\n",
    "            \"Cannot patch forward: model has no .thinker.forward. \"\n",
    "            \"Check your qwen-asr version.\"\n",
    "        )\n",
    "    def forward(self, input_ids=None, attention_mask=None, input_features=None,\n",
    "                feature_attention_mask=None, labels=None, **kwargs):\n",
    "        return self.thinker.forward(\n",
    "            input_ids=input_ids, attention_mask=attention_mask,\n",
    "            input_features=input_features,\n",
    "            feature_attention_mask=feature_attention_mask,\n",
    "            labels=labels, **kwargs,\n",
    "        )\n",
    "    cls.forward = forward\n",
    "    cls._forward_patched = True\n",
    "\n",
    "\n",
    "# ── Checkpoint utils ──────────────────────────────────────────────────────────\n",
    "_CKPT_RE = re.compile(r\"^checkpoint-(\\d+)$\")\n",
    "\n",
    "def find_latest_checkpoint(output_dir: str) -> Optional[str]:\n",
    "    if not output_dir or not os.path.isdir(output_dir):\n",
    "        return None\n",
    "    best_step, best_path = None, None\n",
    "    for name in os.listdir(output_dir):\n",
    "        m = _CKPT_RE.match(name)\n",
    "        if not m:\n",
    "            continue\n",
    "        step = int(m.group(1))\n",
    "        path = os.path.join(output_dir, name)\n",
    "        if os.path.isdir(path) and (best_step is None or step > best_step):\n",
    "            best_step, best_path = step, path\n",
    "    return best_path\n",
    "\n",
    "\n",
    "# ── Audio ─────────────────────────────────────────────────────────────────────\n",
    "def load_audio(path: str, sr: int = 16000):\n",
    "    wav, _ = librosa.load(path, sr=sr, mono=True)\n",
    "    return wav\n",
    "\n",
    "\n",
    "# ── Preprocessing ─────────────────────────────────────────────────────────────\n",
    "def build_prefix_messages(prompt: str, audio_array):\n",
    "    return [\n",
    "        {\"role\": \"system\", \"content\": prompt or \"\"},\n",
    "        {\"role\": \"user\",   \"content\": [{\"type\": \"audio\", \"audio\": audio_array}]},\n",
    "    ]\n",
    "\n",
    "def make_preprocess_fn(processor):\n",
    "    def _preprocess(ex: Dict[str, Any]) -> Dict[str, Any]:\n",
    "        prompt = ex.get(\"prompt\", \"\")\n",
    "        prefix_msgs = build_prefix_messages(prompt, None)\n",
    "        prefix_text = processor.apply_chat_template(\n",
    "            [prefix_msgs], add_generation_prompt=True, tokenize=False\n",
    "        )[0]\n",
    "        return {\n",
    "            \"prompt\":      prompt,\n",
    "            \"audio\":       ex[\"audio\"],\n",
    "            \"target\":      ex[\"text\"],\n",
    "            \"prefix_text\": prefix_text,\n",
    "        }\n",
    "    return _preprocess\n",
    "\n",
    "\n",
    "# ── Collator ──────────────────────────────────────────────────────────────────\n",
    "@dataclass\n",
    "class DataCollatorQwen3ASR:\n",
    "    processor:     Any\n",
    "    sampling_rate: int = 16000\n",
    "\n",
    "    def __call__(self, features: List[Dict[str, Any]]) -> Dict[str, torch.Tensor]:\n",
    "        audio_paths  = [f[\"audio\"]       for f in features]\n",
    "        prefix_texts = [f[\"prefix_text\"] for f in features]\n",
    "        targets      = [f[\"target\"]      for f in features]\n",
    "\n",
    "        eos        = self.processor.tokenizer.eos_token or \"\"\n",
    "        full_texts = [p + t + eos for p, t in zip(prefix_texts, targets)]\n",
    "        audios     = [load_audio(p, self.sampling_rate) for p in audio_paths]\n",
    "\n",
    "        full_inp   = self.processor(text=full_texts,   audio=audios,\n",
    "                                    return_tensors=\"pt\", padding=True, truncation=False)\n",
    "        prefix_inp = self.processor(text=prefix_texts, audio=audios,\n",
    "                                    return_tensors=\"pt\", padding=True, truncation=False)\n",
    "\n",
    "        prefix_lens = prefix_inp[\"attention_mask\"].sum(dim=1).tolist()\n",
    "        labels = full_inp[\"input_ids\"].clone()\n",
    "        for i, pl in enumerate(prefix_lens):\n",
    "            labels[i, :pl] = -100           # mask prompt tokens from loss\n",
    "\n",
    "        pad_id = self.processor.tokenizer.pad_token_id\n",
    "        if pad_id is not None:\n",
    "            labels[labels == pad_id] = -100\n",
    "\n",
    "        full_inp[\"labels\"] = labels\n",
    "        return full_inp\n",
    "\n",
    "\n",
    "# ── Trainer ───────────────────────────────────────────────────────────────────\n",
    "class CastFloatTrainer(Trainer):\n",
    "    \"\"\"Cast all float inputs to the model's dtype (handles fp16 / bf16 mismatches).\"\"\"\n",
    "    def _prepare_inputs(self, inputs):\n",
    "        inputs = super()._prepare_inputs(inputs)\n",
    "        model_dtype = getattr(self.model, \"dtype\", None)\n",
    "        if model_dtype is not None:\n",
    "            for k, v in list(inputs.items()):\n",
    "                if torch.is_tensor(v) and v.is_floating_point():\n",
    "                    inputs[k] = v.to(dtype=model_dtype)\n",
    "        return inputs\n",
    "\n",
    "\n",
    "# ── Callback: copy HF config files into every checkpoint ─────────────────────\n",
    "def copy_hf_config_files(src_dir: str, dst_dir: str):\n",
    "    os.makedirs(dst_dir, exist_ok=True)\n",
    "    for fn in [\n",
    "        \"config.json\", \"generation_config.json\", \"preprocessor_config.json\",\n",
    "        \"processor_config.json\", \"tokenizer_config.json\", \"tokenizer.json\",\n",
    "        \"special_tokens_map.json\", \"chat_template.json\", \"merges.txt\", \"vocab.json\",\n",
    "    ]:\n",
    "        src = os.path.join(src_dir, fn)\n",
    "        if os.path.exists(src):\n",
    "            shutil.copy2(src, os.path.join(dst_dir, fn))\n",
    "\n",
    "class MakeCheckpointInferableCallback(TrainerCallback):\n",
    "    def __init__(self, base_model_path: str):\n",
    "        self.base_model_path = base_model_path\n",
    "\n",
    "    def on_save(self, args: TrainingArguments, state, control, **kwargs):\n",
    "        if args.process_index != 0:\n",
    "            return control\n",
    "        ckpt_dir = os.path.join(args.output_dir, f\"checkpoint-{state.global_step}\")\n",
    "        copy_hf_config_files(self.base_model_path, ckpt_dir)\n",
    "        return control\n",
    "\n",
    "\n",
    "# ── Argument parsing ──────────────────────────────────────────────────────────\n",
    "def parse_args():\n",
    "    p = argparse.ArgumentParser(\"Qwen3-ASR SFT\")\n",
    "    p.add_argument(\"--model_path\",      default=\"Qwen/Qwen3-ASR-0.6B\")\n",
    "    p.add_argument(\"--train_file\",      required=True)\n",
    "    p.add_argument(\"--eval_file\",       default=\"\")\n",
    "    p.add_argument(\"--output_dir\",      default=\"./qwen3-asr-out\")\n",
    "    p.add_argument(\"--sr\",              type=int,   default=16000)\n",
    "    p.add_argument(\"--batch_size\",      type=int,   default=2)\n",
    "    p.add_argument(\"--grad_acc\",        type=int,   default=16)\n",
    "    p.add_argument(\"--lr\",              type=float, default=2e-5)\n",
    "    p.add_argument(\"--epochs\",          type=float, default=3)\n",
    "    p.add_argument(\"--log_steps\",       type=int,   default=20)\n",
    "    p.add_argument(\"--warmup_ratio\",    type=float, default=0.05)\n",
    "    p.add_argument(\"--save_strategy\",   default=\"steps\")\n",
    "    p.add_argument(\"--save_steps\",      type=int,   default=200)\n",
    "    p.add_argument(\"--save_total_limit\",type=int,   default=3)\n",
    "    p.add_argument(\"--num_workers\",     type=int,   default=2)\n",
    "    p.add_argument(\"--resume_from\",     default=\"\")\n",
    "    p.add_argument(\"--resume\",          type=int,   default=0)\n",
    "    return p.parse_args()\n",
    "\n",
    "\n",
    "# ── Main ──────────────────────────────────────────────────────────────────────\n",
    "def main():\n",
    "    args = parse_args()\n",
    "\n",
    "    use_bf16 = (\n",
    "        torch.cuda.is_available()\n",
    "        and torch.cuda.get_device_capability(0)[0] >= 8\n",
    "    )\n",
    "    print(f\"Using {'bf16' if use_bf16 else 'fp16'}\")\n",
    "\n",
    "    asr_wrapper = Qwen3ASRModel.from_pretrained(\n",
    "        args.model_path,\n",
    "        dtype=torch.bfloat16 if use_bf16 else torch.float16,\n",
    "        device_map=None,\n",
    "    )\n",
    "    model     = asr_wrapper.model\n",
    "    processor = asr_wrapper.processor\n",
    "\n",
    "    patch_outer_forward(model)\n",
    "    model.generation_config = GenerationConfig.from_model_config(model.config)\n",
    "\n",
    "    # ── Dataset ───────────────────────────────────────────────────────────────\n",
    "    data_files = {\"train\": args.train_file}\n",
    "    if args.eval_file:\n",
    "        data_files[\"validation\"] = args.eval_file\n",
    "\n",
    "    raw_ds = load_dataset(\"json\", data_files=data_files)\n",
    "    ds     = raw_ds.map(make_preprocess_fn(processor), num_proc=1)\n",
    "\n",
    "    keep = {\"prompt\", \"audio\", \"target\", \"prefix_text\"}\n",
    "    for split in ds.keys():\n",
    "        drop = [c for c in ds[split].column_names if c not in keep]\n",
    "        if drop:\n",
    "            ds[split] = ds[split].remove_columns(drop)\n",
    "\n",
    "    # ── Training args ─────────────────────────────────────────────────────────\n",
    "    training_args = TrainingArguments(\n",
    "        output_dir                  = args.output_dir,\n",
    "        per_device_train_batch_size = args.batch_size,\n",
    "        gradient_accumulation_steps = args.grad_acc,\n",
    "        learning_rate               = args.lr,\n",
    "        num_train_epochs            = args.epochs,\n",
    "        logging_steps               = args.log_steps,\n",
    "        lr_scheduler_type           = \"cosine\",\n",
    "        warmup_ratio                = args.warmup_ratio,\n",
    "        dataloader_num_workers      = args.num_workers,\n",
    "        save_strategy               = args.save_strategy,\n",
    "        save_steps                  = args.save_steps,\n",
    "        save_total_limit            = args.save_total_limit,\n",
    "        save_safetensors            = True,\n",
    "        eval_strategy               = \"steps\" if args.eval_file else \"no\",\n",
    "        eval_steps                  = args.save_steps if args.eval_file else None,\n",
    "        do_eval                     = bool(args.eval_file),\n",
    "        bf16                        = use_bf16,\n",
    "        fp16                        = not use_bf16,\n",
    "        ddp_find_unused_parameters  = False,\n",
    "        remove_unused_columns       = False,\n",
    "        report_to                   = \"none\",\n",
    "    )\n",
    "\n",
    "    collator = DataCollatorQwen3ASR(processor=processor, sampling_rate=args.sr)\n",
    "\n",
    "    trainer = CastFloatTrainer(\n",
    "        model         = model,\n",
    "        args          = training_args,\n",
    "        train_dataset = ds[\"train\"],\n",
    "        eval_dataset  = ds.get(\"validation\", None),\n",
    "        data_collator = collator,\n",
    "        tokenizer     = processor.tokenizer,\n",
    "        callbacks     = [MakeCheckpointInferableCallback(args.model_path)],\n",
    "    )\n",
    "\n",
    "    resume = (args.resume_from or \"\").strip()\n",
    "    if not resume and args.resume == 1:\n",
    "        resume = find_latest_checkpoint(training_args.output_dir) or \"\"\n",
    "    if resume:\n",
    "        print(f\"Resuming from: {resume}\")\n",
    "        trainer.train(resume_from_checkpoint=resume)\n",
    "    else:\n",
    "        trainer.train()\n",
    "\n",
    "\n",
    "if __name__ == \"__main__\":\n",
    "    main()\n",
    "'''\n",
    "\n",
    "with open('qwen3_asr_sft.py', 'w') as f:\n",
    "    f.write(script.strip())\n",
    "\n",
    "print('✅ qwen3_asr_sft.py written to /content/')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 7. Run Training\n",
    "\n",
    "Single-GPU training. All config variables come from Section 4.\n",
    "\n",
    "**Expected throughput on T4:** ~0.3–0.5 it/s at batch_size=2, grad_acc=16.  \n",
    "Full 90k dataset × 3 epochs ≈ 15–25 hours — use Colab Pro or train in multiple sessions with resume (Section 8)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Running: /home/user/miniconda/envs/ghana_speech/bin/python qwen3_asr_sft.py --model_path Qwen/Qwen3-ASR-0.6B --train_file outputs/QWEN-ASR-fintuning/train.jsonl --eval_file outputs/QWEN-ASR-fintuning/eval.jsonl --output_dir outputs/QWEN-ASR-fintuning/qwen3-asr-0.6b-ghana-out --sr 16000 --batch_size 4 --grad_acc 16 --lr 2e-05 --epochs 10 --save_steps 500 --save_total_limit 100 --log_steps 20 --warmup_ratio 0.05 --num_workers 8\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Skipping import of cpp extensions due to incompatible torch version. Please upgrade to torch >= 2.11.0 (found 2.10.0+cu128).\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Using bf16\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "The following generation flags are not valid and may be ignored: ['temperature']. Set `TRANSFORMERS_VERBOSITY=info` for more details.\n",
      "/data/qwen3_asr_sft.py:240: FutureWarning: `tokenizer` is deprecated and will be removed in version 5.0.0 for `CastFloatTrainer.__init__`. Use `processing_class` instead.\n",
      "  trainer = CastFloatTrainer(\n",
      "The tokenizer has new PAD/BOS/EOS tokens that differ from the model config and generation config. The model config and generation config were aligned accordingly, being updated with the tokenizer's values. Updated tokens: {'eos_token_id': 151645, 'pad_token_id': 151643}.\n",
      "  0%|          | 20/13730 [01:38<18:20:50,  4.82s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 158.3451, 'grad_norm': 3136.0, 'learning_rate': 5.531295487627366e-07, 'epoch': 0.01}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  0%|          | 40/13730 [03:22<20:23:39,  5.36s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 155.1705, 'grad_norm': 2144.0, 'learning_rate': 1.1353711790393014e-06, 'epoch': 0.03}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  0%|          | 60/13730 [05:07<19:31:42,  5.14s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 141.6759, 'grad_norm': 2496.0, 'learning_rate': 1.717612809315866e-06, 'epoch': 0.04}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  1%|          | 80/13730 [06:56<20:28:02,  5.40s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 122.1048, 'grad_norm': 1936.0, 'learning_rate': 2.299854439592431e-06, 'epoch': 0.06}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  1%|          | 100/13730 [08:47<21:35:09,  5.70s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 91.1826, 'grad_norm': 1000.0, 'learning_rate': 2.882096069868996e-06, 'epoch': 0.07}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  1%|          | 120/13730 [10:31<18:56:01,  5.01s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 78.3795, 'grad_norm': 1072.0, 'learning_rate': 3.464337700145561e-06, 'epoch': 0.09}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  1%|          | 140/13730 [12:11<18:19:33,  4.85s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 68.2136, 'grad_norm': 3520.0, 'learning_rate': 4.046579330422125e-06, 'epoch': 0.1}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  1%|          | 160/13730 [13:52<19:32:23,  5.18s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 64.0835, 'grad_norm': 1080.0, 'learning_rate': 4.628820960698691e-06, 'epoch': 0.12}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  1%|▏         | 180/13730 [15:33<19:31:36,  5.19s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 61.5341, 'grad_norm': 1440.0, 'learning_rate': 5.211062590975255e-06, 'epoch': 0.13}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  1%|▏         | 200/13730 [17:17<18:23:47,  4.89s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 58.333, 'grad_norm': 1432.0, 'learning_rate': 5.7933042212518195e-06, 'epoch': 0.15}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  2%|▏         | 220/13730 [18:55<18:24:09,  4.90s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 53.9882, 'grad_norm': 1760.0, 'learning_rate': 6.375545851528385e-06, 'epoch': 0.16}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  2%|▏         | 240/13730 [21:04<26:09:32,  6.98s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 50.0553, 'grad_norm': 1976.0, 'learning_rate': 6.957787481804949e-06, 'epoch': 0.17}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  2%|▏         | 260/13730 [22:47<18:59:42,  5.08s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 45.1488, 'grad_norm': 1576.0, 'learning_rate': 7.540029112081514e-06, 'epoch': 0.19}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  2%|▏         | 280/13730 [24:28<19:06:02,  5.11s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 40.5636, 'grad_norm': 1456.0, 'learning_rate': 8.122270742358079e-06, 'epoch': 0.2}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  2%|▏         | 300/13730 [26:05<17:35:20,  4.71s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 35.5731, 'grad_norm': 1328.0, 'learning_rate': 8.704512372634644e-06, 'epoch': 0.22}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  2%|▏         | 320/13730 [27:39<17:37:03,  4.73s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 29.3922, 'grad_norm': 1336.0, 'learning_rate': 9.28675400291121e-06, 'epoch': 0.23}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  2%|▏         | 340/13730 [29:15<18:21:31,  4.94s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 24.2719, 'grad_norm': 1184.0, 'learning_rate': 9.868995633187773e-06, 'epoch': 0.25}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  3%|▎         | 360/13730 [30:51<17:45:20,  4.78s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 20.1246, 'grad_norm': 792.0, 'learning_rate': 1.0451237263464339e-05, 'epoch': 0.26}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  3%|▎         | 380/13730 [32:27<18:07:58,  4.89s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 16.4645, 'grad_norm': 410.0, 'learning_rate': 1.1033478893740904e-05, 'epoch': 0.28}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  3%|▎         | 400/13730 [34:03<17:43:18,  4.79s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 13.4064, 'grad_norm': 211.0, 'learning_rate': 1.1615720524017469e-05, 'epoch': 0.29}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  3%|▎         | 420/13730 [35:39<17:43:50,  4.80s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 10.5793, 'grad_norm': 253.0, 'learning_rate': 1.2197962154294034e-05, 'epoch': 0.31}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  3%|▎         | 440/13730 [37:13<17:22:45,  4.71s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 8.7951, 'grad_norm': 141.0, 'learning_rate': 1.2780203784570598e-05, 'epoch': 0.32}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  3%|▎         | 460/13730 [38:53<18:47:41,  5.10s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 7.9361, 'grad_norm': 125.5, 'learning_rate': 1.3362445414847163e-05, 'epoch': 0.34}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  3%|▎         | 480/13730 [40:38<18:54:24,  5.14s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 7.2463, 'grad_norm': 133.0, 'learning_rate': 1.3944687045123729e-05, 'epoch': 0.35}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  4%|▎         | 500/13730 [42:24<19:12:05,  5.22s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 6.3626, 'grad_norm': 136.0, 'learning_rate': 1.452692867540029e-05, 'epoch': 0.36}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "  0%|          | 0/225 [00:00<?, ?it/s]\u001b[A\n",
      "  1%|          | 2/225 [00:00<00:19, 11.61it/s]\u001b[A\n",
      "  2%|▏         | 4/225 [00:00<00:29,  7.37it/s]\u001b[A\n",
      "  2%|▏         | 5/225 [00:00<00:31,  6.91it/s]\u001b[A\n",
      "  3%|▎         | 6/225 [00:00<00:32,  6.64it/s]\u001b[A\n",
      "  3%|▎         | 7/225 [00:01<00:34,  6.39it/s]\u001b[A\n",
      "  4%|▎         | 8/225 [00:02<02:31,  1.43it/s]\u001b[A\n",
      "  4%|▍         | 9/225 [00:03<01:56,  1.85it/s]\u001b[A\n",
      "  4%|▍         | 10/225 [00:03<01:32,  2.32it/s]\u001b[A\n",
      "  5%|▍         | 11/225 [00:03<01:15,  2.82it/s]\u001b[A\n",
      "  5%|▌         | 12/225 [00:03<01:03,  3.34it/s]\u001b[A\n",
      "  6%|▌         | 13/225 [00:03<00:55,  3.85it/s]\u001b[A\n",
      "  6%|▌         | 14/225 [00:04<00:57,  3.68it/s]\u001b[A\n",
      "  7%|▋         | 15/225 [00:04<00:51,  4.10it/s]\u001b[A\n",
      "  7%|▋         | 16/225 [00:06<02:34,  1.35it/s]\u001b[A\n",
      "  8%|▊         | 17/225 [00:06<01:58,  1.76it/s]\u001b[A\n",
      "  8%|▊         | 18/225 [00:06<01:33,  2.23it/s]\u001b[A\n",
      "  8%|▊         | 19/225 [00:06<01:15,  2.73it/s]\u001b[A\n",
      "  9%|▉         | 20/225 [00:06<01:06,  3.09it/s]\u001b[A\n",
      "  9%|▉         | 21/225 [00:07<00:56,  3.63it/s]\u001b[A\n",
      " 10%|▉         | 22/225 [00:07<00:49,  4.14it/s]\u001b[A\n",
      " 10%|█         | 23/225 [00:07<00:44,  4.58it/s]\u001b[A\n",
      " 11%|█         | 24/225 [00:09<02:04,  1.61it/s]\u001b[A\n",
      " 11%|█         | 25/225 [00:10<02:40,  1.25it/s]\u001b[A\n",
      " 12%|█▏        | 26/225 [00:10<02:01,  1.63it/s]\u001b[A\n",
      " 12%|█▏        | 27/225 [00:10<01:38,  2.02it/s]\u001b[A\n",
      " 12%|█▏        | 28/225 [00:10<01:17,  2.53it/s]\u001b[A\n",
      " 13%|█▎        | 29/225 [00:10<01:04,  3.06it/s]\u001b[A\n",
      " 13%|█▎        | 30/225 [00:11<00:54,  3.59it/s]\u001b[A\n",
      " 14%|█▍        | 31/225 [00:11<00:47,  4.08it/s]\u001b[A\n",
      " 14%|█▍        | 32/225 [00:11<00:53,  3.58it/s]\u001b[A\n",
      " 15%|█▍        | 33/225 [00:12<01:54,  1.68it/s]\u001b[A\n",
      " 15%|█▌        | 34/225 [00:13<01:29,  2.14it/s]\u001b[A\n",
      " 16%|█▌        | 35/225 [00:13<01:12,  2.64it/s]\u001b[A\n",
      " 16%|█▌        | 36/225 [00:13<01:05,  2.87it/s]\u001b[A\n",
      " 16%|█▋        | 37/225 [00:13<00:55,  3.39it/s]\u001b[A\n",
      " 17%|█▋        | 38/225 [00:13<00:48,  3.89it/s]\u001b[A\n",
      " 17%|█▋        | 39/225 [00:14<00:42,  4.33it/s]\u001b[A\n",
      " 18%|█▊        | 40/225 [00:14<01:18,  2.36it/s]\u001b[A\n",
      " 18%|█▊        | 41/225 [00:15<01:45,  1.75it/s]\u001b[A\n",
      " 19%|█▊        | 42/225 [00:16<01:22,  2.21it/s]\u001b[A\n",
      " 19%|█▉        | 43/225 [00:16<01:06,  2.72it/s]\u001b[A\n",
      " 20%|█▉        | 44/225 [00:17<01:32,  1.96it/s]\u001b[A\n",
      " 20%|██        | 45/225 [00:17<01:13,  2.46it/s]\u001b[A\n",
      " 20%|██        | 46/225 [00:17<00:59,  3.00it/s]\u001b[A\n",
      " 21%|██        | 47/225 [00:17<00:50,  3.51it/s]\u001b[A\n",
      " 21%|██▏       | 48/225 [00:18<01:39,  1.79it/s]\u001b[A\n",
      " 22%|██▏       | 49/225 [00:19<01:47,  1.64it/s]\u001b[A\n",
      " 22%|██▏       | 50/225 [00:19<01:23,  2.08it/s]\u001b[A\n",
      " 23%|██▎       | 51/225 [00:19<01:08,  2.54it/s]\u001b[A\n",
      " 23%|██▎       | 52/225 [00:20<01:22,  2.11it/s]\u001b[A\n",
      " 24%|██▎       | 53/225 [00:20<01:05,  2.61it/s]\u001b[A\n",
      " 24%|██▍       | 54/225 [00:21<01:04,  2.64it/s]\u001b[A\n",
      " 24%|██▍       | 55/225 [00:21<00:58,  2.89it/s]\u001b[A\n",
      " 25%|██▍       | 56/225 [00:21<01:03,  2.66it/s]\u001b[A\n",
      " 25%|██▌       | 57/225 [00:22<00:57,  2.94it/s]\u001b[A\n",
      " 26%|██▌       | 58/225 [00:22<00:48,  3.45it/s]\u001b[A\n",
      " 26%|██▌       | 59/225 [00:22<00:42,  3.94it/s]\u001b[A\n",
      " 27%|██▋       | 60/225 [00:23<01:24,  1.96it/s]\u001b[A\n",
      " 27%|██▋       | 61/225 [00:23<01:10,  2.32it/s]\u001b[A\n",
      " 28%|██▊       | 62/225 [00:24<01:11,  2.27it/s]\u001b[A\n",
      " 28%|██▊       | 63/225 [00:24<00:58,  2.75it/s]\u001b[A\n",
      " 28%|██▊       | 64/225 [00:24<01:03,  2.55it/s]\u001b[A\n",
      " 29%|██▉       | 65/225 [00:25<00:51,  3.08it/s]\u001b[A\n",
      " 29%|██▉       | 66/225 [00:25<00:44,  3.54it/s]\u001b[A\n",
      " 30%|██▉       | 67/225 [00:25<00:39,  4.01it/s]\u001b[A\n",
      " 30%|███       | 68/225 [00:26<01:41,  1.55it/s]\u001b[A\n",
      " 31%|███       | 69/225 [00:27<01:20,  1.93it/s]\u001b[A\n",
      " 31%|███       | 70/225 [00:27<01:04,  2.42it/s]\u001b[A\n",
      " 32%|███▏      | 71/225 [00:27<00:52,  2.93it/s]\u001b[A\n",
      " 32%|███▏      | 72/225 [00:27<00:58,  2.60it/s]\u001b[A\n",
      " 32%|███▏      | 73/225 [00:28<00:48,  3.11it/s]\u001b[A\n",
      " 33%|███▎      | 74/225 [00:28<00:41,  3.64it/s]\u001b[A\n",
      " 33%|███▎      | 75/225 [00:28<00:36,  4.11it/s]\u001b[A\n",
      " 34%|███▍      | 76/225 [00:30<01:56,  1.28it/s]\u001b[A\n",
      " 34%|███▍      | 77/225 [00:30<01:28,  1.67it/s]\u001b[A\n",
      " 35%|███▍      | 78/225 [00:30<01:08,  2.13it/s]\u001b[A\n",
      " 35%|███▌      | 79/225 [00:31<00:55,  2.65it/s]\u001b[A\n",
      " 36%|███▌      | 80/225 [00:31<01:19,  1.83it/s]\u001b[A\n",
      " 36%|███▌      | 81/225 [00:32<01:02,  2.30it/s]\u001b[A\n",
      " 36%|███▋      | 82/225 [00:32<00:50,  2.83it/s]\u001b[A\n",
      " 37%|███▋      | 83/225 [00:32<00:42,  3.36it/s]\u001b[A\n",
      " 37%|███▋      | 84/225 [00:34<02:02,  1.15it/s]\u001b[A\n",
      " 38%|███▊      | 85/225 [00:34<01:32,  1.52it/s]\u001b[A\n",
      " 38%|███▊      | 86/225 [00:35<01:11,  1.96it/s]\u001b[A\n",
      " 39%|███▊      | 87/225 [00:35<00:56,  2.43it/s]\u001b[A\n",
      " 39%|███▉      | 88/225 [00:35<01:12,  1.90it/s]\u001b[A\n",
      " 40%|███▉      | 89/225 [00:36<00:56,  2.39it/s]\u001b[A\n",
      " 40%|████      | 90/225 [00:36<00:46,  2.91it/s]\u001b[A\n",
      " 40%|████      | 91/225 [00:36<00:40,  3.31it/s]\u001b[A\n",
      " 41%|████      | 92/225 [00:38<01:35,  1.39it/s]\u001b[A\n",
      " 41%|████▏     | 93/225 [00:38<01:13,  1.80it/s]\u001b[A\n",
      " 42%|████▏     | 94/225 [00:38<00:58,  2.23it/s]\u001b[A\n",
      " 42%|████▏     | 95/225 [00:38<00:47,  2.73it/s]\u001b[A\n",
      " 43%|████▎     | 96/225 [00:39<00:44,  2.93it/s]\u001b[A\n",
      " 43%|████▎     | 97/225 [00:39<00:37,  3.45it/s]\u001b[A\n",
      " 44%|████▎     | 98/225 [00:39<00:32,  3.93it/s]\u001b[A\n",
      " 44%|████▍     | 99/225 [00:39<00:35,  3.51it/s]\u001b[A\n",
      " 44%|████▍     | 100/225 [00:41<01:23,  1.50it/s]\u001b[A\n",
      " 45%|████▍     | 101/225 [00:41<01:04,  1.93it/s]\u001b[A\n",
      " 45%|████▌     | 102/225 [00:41<01:00,  2.04it/s]\u001b[A\n",
      " 46%|████▌     | 103/225 [00:42<00:48,  2.53it/s]\u001b[A\n",
      " 46%|████▌     | 104/225 [00:42<00:39,  3.03it/s]\u001b[A\n",
      " 47%|████▋     | 105/225 [00:42<00:35,  3.38it/s]\u001b[A\n",
      " 47%|████▋     | 106/225 [00:43<00:50,  2.37it/s]\u001b[A\n",
      " 48%|████▊     | 107/225 [00:43<00:40,  2.88it/s]\u001b[A\n",
      " 48%|████▊     | 108/225 [00:44<01:09,  1.68it/s]\u001b[A\n",
      " 48%|████▊     | 109/225 [00:44<00:54,  2.14it/s]\u001b[A\n",
      " 49%|████▉     | 110/225 [00:46<01:30,  1.27it/s]\u001b[A\n",
      " 49%|████▉     | 111/225 [00:46<01:08,  1.65it/s]\u001b[A\n",
      " 50%|████▉     | 112/225 [00:46<00:54,  2.08it/s]\u001b[A\n",
      " 50%|█████     | 113/225 [00:46<00:44,  2.51it/s]\u001b[A\n",
      " 51%|█████     | 114/225 [00:46<00:36,  3.04it/s]\u001b[A\n",
      " 51%|█████     | 115/225 [00:47<00:30,  3.57it/s]\u001b[A\n",
      " 52%|█████▏    | 116/225 [00:48<01:03,  1.71it/s]\u001b[A\n",
      " 52%|█████▏    | 117/225 [00:48<00:55,  1.95it/s]\u001b[A\n",
      " 52%|█████▏    | 118/225 [00:49<00:47,  2.25it/s]\u001b[A\n",
      " 53%|█████▎    | 119/225 [00:49<00:38,  2.76it/s]\u001b[A\n",
      " 53%|█████▎    | 120/225 [00:49<00:32,  3.28it/s]\u001b[A\n",
      " 54%|█████▍    | 121/225 [00:49<00:27,  3.76it/s]\u001b[A\n",
      " 54%|█████▍    | 122/225 [00:49<00:30,  3.40it/s]\u001b[A\n",
      " 55%|█████▍    | 123/225 [00:50<00:27,  3.68it/s]\u001b[A\n",
      " 55%|█████▌    | 124/225 [00:52<01:17,  1.30it/s]\u001b[A\n",
      " 56%|█████▌    | 125/225 [00:52<00:58,  1.70it/s]\u001b[A\n",
      " 56%|█████▌    | 126/225 [00:52<00:48,  2.03it/s]\u001b[A\n",
      " 56%|█████▋    | 127/225 [00:52<00:38,  2.53it/s]\u001b[A\n",
      " 57%|█████▋    | 128/225 [00:52<00:31,  3.07it/s]\u001b[A\n",
      " 57%|█████▋    | 129/225 [00:53<00:26,  3.56it/s]\u001b[A\n",
      " 58%|█████▊    | 130/225 [00:53<00:25,  3.72it/s]\u001b[A\n",
      " 58%|█████▊    | 131/225 [00:53<00:22,  4.09it/s]\u001b[A\n",
      " 59%|█████▊    | 132/225 [00:55<01:10,  1.31it/s]\u001b[A\n",
      " 59%|█████▉    | 133/225 [00:55<00:53,  1.71it/s]\u001b[A\n",
      " 60%|█████▉    | 134/225 [00:56<00:48,  1.88it/s]\u001b[A\n",
      " 60%|██████    | 135/225 [00:56<00:37,  2.38it/s]\u001b[A\n",
      " 60%|██████    | 136/225 [00:56<00:30,  2.92it/s]\u001b[A\n",
      " 61%|██████    | 137/225 [00:56<00:25,  3.43it/s]\u001b[A\n",
      " 61%|██████▏   | 138/225 [00:57<00:33,  2.60it/s]\u001b[A\n",
      " 62%|██████▏   | 139/225 [00:57<00:45,  1.91it/s]\u001b[A\n",
      " 62%|██████▏   | 140/225 [00:59<01:10,  1.21it/s]\u001b[A\n",
      " 63%|██████▎   | 141/225 [00:59<00:54,  1.55it/s]\u001b[A\n",
      " 63%|██████▎   | 142/225 [00:59<00:41,  1.99it/s]\u001b[A\n",
      " 64%|██████▎   | 143/225 [01:00<00:32,  2.49it/s]\u001b[A\n",
      " 64%|██████▍   | 144/225 [01:00<00:26,  3.02it/s]\u001b[A\n",
      " 64%|██████▍   | 145/225 [01:00<00:22,  3.54it/s]\u001b[A\n",
      " 65%|██████▍   | 146/225 [01:00<00:22,  3.52it/s]\u001b[A\n",
      " 65%|██████▌   | 147/225 [01:01<00:37,  2.08it/s]\u001b[A\n",
      " 66%|██████▌   | 148/225 [01:02<00:44,  1.73it/s]\u001b[A\n",
      " 66%|██████▌   | 149/225 [01:02<00:34,  2.19it/s]\u001b[A\n",
      " 67%|██████▋   | 150/225 [01:02<00:27,  2.71it/s]\u001b[A\n",
      " 67%|██████▋   | 151/225 [01:02<00:22,  3.25it/s]\u001b[A\n",
      " 68%|██████▊   | 152/225 [01:03<00:19,  3.78it/s]\u001b[A\n",
      " 68%|██████▊   | 153/225 [01:03<00:16,  4.25it/s]\u001b[A\n",
      " 68%|██████▊   | 154/225 [01:04<00:30,  2.35it/s]\u001b[A\n",
      " 69%|██████▉   | 155/225 [01:06<01:06,  1.05it/s]\u001b[A\n",
      " 69%|██████▉   | 156/225 [01:06<00:49,  1.39it/s]\u001b[A\n",
      " 70%|██████▉   | 157/225 [01:06<00:37,  1.81it/s]\u001b[A\n",
      " 70%|███████   | 158/225 [01:06<00:29,  2.29it/s]\u001b[A\n",
      " 71%|███████   | 159/225 [01:06<00:23,  2.81it/s]\u001b[A\n",
      " 71%|███████   | 160/225 [01:07<00:19,  3.37it/s]\u001b[A\n",
      " 72%|███████▏  | 161/225 [01:07<00:16,  3.90it/s]\u001b[A\n",
      " 72%|███████▏  | 162/225 [01:07<00:19,  3.17it/s]\u001b[A\n",
      " 72%|███████▏  | 163/225 [01:09<00:40,  1.54it/s]\u001b[A\n",
      " 73%|███████▎  | 164/225 [01:09<00:30,  1.98it/s]\u001b[A\n",
      " 73%|███████▎  | 165/225 [01:09<00:24,  2.50it/s]\u001b[A\n",
      " 74%|███████▍  | 166/225 [01:09<00:24,  2.36it/s]\u001b[A\n",
      " 74%|███████▍  | 167/225 [01:10<00:20,  2.85it/s]\u001b[A\n",
      " 75%|███████▍  | 168/225 [01:10<00:16,  3.39it/s]\u001b[A\n",
      " 75%|███████▌  | 169/225 [01:10<00:14,  3.95it/s]\u001b[A\n",
      " 76%|███████▌  | 170/225 [01:11<00:21,  2.58it/s]\u001b[A\n",
      " 76%|███████▌  | 171/225 [01:13<00:45,  1.19it/s]\u001b[A\n",
      " 76%|███████▋  | 172/225 [01:13<00:33,  1.56it/s]\u001b[A\n",
      " 77%|███████▋  | 173/225 [01:13<00:25,  2.00it/s]\u001b[A\n",
      " 77%|███████▋  | 174/225 [01:13<00:20,  2.50it/s]\u001b[A\n",
      " 78%|███████▊  | 175/225 [01:13<00:16,  2.97it/s]\u001b[A\n",
      " 78%|███████▊  | 176/225 [01:13<00:13,  3.52it/s]\u001b[A\n",
      " 79%|███████▊  | 177/225 [01:14<00:11,  4.04it/s]\u001b[A\n",
      " 79%|███████▉  | 178/225 [01:14<00:14,  3.17it/s]\u001b[A\n",
      " 80%|███████▉  | 179/225 [01:16<00:31,  1.46it/s]\u001b[A\n",
      " 80%|████████  | 180/225 [01:16<00:23,  1.88it/s]\u001b[A\n",
      " 80%|████████  | 181/225 [01:16<00:18,  2.37it/s]\u001b[A\n",
      " 81%|████████  | 182/225 [01:16<00:14,  2.90it/s]\u001b[A\n",
      " 81%|████████▏ | 183/225 [01:17<00:21,  1.91it/s]\u001b[A\n",
      " 82%|████████▏ | 184/225 [01:17<00:17,  2.40it/s]\u001b[A\n",
      " 82%|████████▏ | 185/225 [01:17<00:13,  2.92it/s]\u001b[A\n",
      " 83%|████████▎ | 186/225 [01:18<00:12,  3.03it/s]\u001b[A\n",
      " 83%|████████▎ | 187/225 [01:20<00:29,  1.29it/s]\u001b[A\n",
      " 84%|████████▎ | 188/225 [01:20<00:22,  1.66it/s]\u001b[A\n",
      " 84%|████████▍ | 189/225 [01:20<00:17,  2.12it/s]\u001b[A\n",
      " 84%|████████▍ | 190/225 [01:20<00:13,  2.56it/s]\u001b[A\n",
      " 85%|████████▍ | 191/225 [01:21<00:15,  2.17it/s]\u001b[A\n",
      " 85%|████████▌ | 192/225 [01:21<00:12,  2.65it/s]\u001b[A\n",
      " 86%|████████▌ | 193/225 [01:21<00:10,  3.19it/s]\u001b[A\n",
      " 86%|████████▌ | 194/225 [01:21<00:08,  3.72it/s]\u001b[A\n",
      " 87%|████████▋ | 195/225 [01:23<00:24,  1.25it/s]\u001b[A\n",
      " 87%|████████▋ | 196/225 [01:23<00:17,  1.63it/s]\u001b[A\n",
      " 88%|████████▊ | 197/225 [01:24<00:13,  2.09it/s]\u001b[A\n",
      " 88%|████████▊ | 198/225 [01:24<00:10,  2.58it/s]\u001b[A\n",
      " 88%|████████▊ | 199/225 [01:24<00:11,  2.35it/s]\u001b[A\n",
      " 89%|████████▉ | 200/225 [01:24<00:08,  2.88it/s]\u001b[A\n",
      " 89%|████████▉ | 201/225 [01:25<00:07,  3.41it/s]\u001b[A\n",
      " 90%|████████▉ | 202/225 [01:25<00:07,  3.11it/s]\u001b[A\n",
      " 90%|█████████ | 203/225 [01:26<00:12,  1.71it/s]\u001b[A\n",
      " 91%|█████████ | 204/225 [01:26<00:09,  2.17it/s]\u001b[A\n",
      " 91%|█████████ | 205/225 [01:27<00:07,  2.69it/s]\u001b[A\n",
      " 92%|█████████▏| 206/225 [01:27<00:06,  3.12it/s]\u001b[A\n",
      " 92%|█████████▏| 207/225 [01:27<00:07,  2.41it/s]\u001b[A\n",
      " 92%|█████████▏| 208/225 [01:28<00:05,  2.93it/s]\u001b[A\n",
      " 93%|█████████▎| 209/225 [01:28<00:04,  3.45it/s]\u001b[A\n",
      " 93%|█████████▎| 210/225 [01:28<00:06,  2.46it/s]\u001b[A\n",
      " 94%|█████████▍| 211/225 [01:30<00:10,  1.36it/s]\u001b[A\n",
      " 94%|█████████▍| 212/225 [01:30<00:07,  1.77it/s]\u001b[A\n",
      " 95%|█████████▍| 213/225 [01:30<00:05,  2.20it/s]\u001b[A\n",
      " 95%|█████████▌| 214/225 [01:30<00:04,  2.72it/s]\u001b[A\n",
      " 96%|█████████▌| 215/225 [01:31<00:03,  3.26it/s]\u001b[A\n",
      " 96%|█████████▌| 216/225 [01:31<00:02,  3.77it/s]\u001b[A\n",
      " 96%|█████████▋| 217/225 [01:31<00:01,  4.22it/s]\u001b[A\n",
      " 97%|█████████▋| 218/225 [01:31<00:01,  4.65it/s]\u001b[A\n",
      " 97%|█████████▋| 219/225 [01:32<00:02,  2.52it/s]\u001b[A\n",
      " 98%|█████████▊| 220/225 [01:32<00:01,  3.05it/s]\u001b[A\n",
      " 98%|█████████▊| 221/225 [01:32<00:01,  3.57it/s]\u001b[A\n",
      " 99%|█████████▊| 222/225 [01:32<00:00,  3.92it/s]\u001b[A\n",
      " 99%|█████████▉| 223/225 [01:33<00:00,  4.40it/s]\u001b[A\n",
      "100%|█████████▉| 224/225 [01:33<00:00,  4.80it/s]\u001b[A\n",
      "                                                      \n",
      "  4%|▎         | 500/13730 [44:03<19:12:05,  5.22s/it]\n",
      "100%|██████████| 225/225 [01:33<00:00,  4.79it/s]\u001b[A\n",
      "                                                 \u001b[A"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'eval_loss': 0.32397130131721497, 'eval_runtime': 99.0019, 'eval_samples_per_second': 18.111, 'eval_steps_per_second': 2.273, 'epoch': 0.36}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  4%|▍         | 520/13730 [45:59<20:03:22,  5.47s/it] "
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 6.0476, 'grad_norm': 109.5, 'learning_rate': 1.5109170305676858e-05, 'epoch': 0.38}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  4%|▍         | 540/13730 [47:46<19:23:45,  5.29s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 5.6971, 'grad_norm': 97.0, 'learning_rate': 1.5691411935953423e-05, 'epoch': 0.39}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  4%|▍         | 560/13730 [49:31<19:12:52,  5.25s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 5.339, 'grad_norm': 112.5, 'learning_rate': 1.6273653566229986e-05, 'epoch': 0.41}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  4%|▍         | 580/13730 [51:17<19:19:07,  5.29s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 5.0163, 'grad_norm': 94.5, 'learning_rate': 1.685589519650655e-05, 'epoch': 0.42}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  4%|▍         | 600/13730 [53:10<20:55:06,  5.74s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 4.8201, 'grad_norm': 83.0, 'learning_rate': 1.7438136826783117e-05, 'epoch': 0.44}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  5%|▍         | 620/13730 [54:58<19:03:42,  5.23s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 4.6324, 'grad_norm': 71.5, 'learning_rate': 1.802037845705968e-05, 'epoch': 0.45}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  5%|▍         | 640/13730 [56:43<18:09:18,  4.99s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 4.5086, 'grad_norm': 83.0, 'learning_rate': 1.8602620087336244e-05, 'epoch': 0.47}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  5%|▍         | 660/13730 [58:25<18:37:06,  5.13s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 4.3518, 'grad_norm': 82.5, 'learning_rate': 1.918486171761281e-05, 'epoch': 0.48}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  5%|▍         | 680/13730 [1:00:06<19:20:51,  5.34s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 4.3337, 'grad_norm': 74.5, 'learning_rate': 1.9767103347889375e-05, 'epoch': 0.5}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  5%|▌         | 700/13730 [1:01:45<17:54:50,  4.95s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 4.1923, 'grad_norm': 102.0, 'learning_rate': 1.999995822880009e-05, 'epoch': 0.51}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  5%|▌         | 720/13730 [1:03:26<19:02:54,  5.27s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 4.1708, 'grad_norm': 80.5, 'learning_rate': 1.999970296161993e-05, 'epoch': 0.52}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  5%|▌         | 740/13730 [1:05:04<17:02:44,  4.72s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 4.0156, 'grad_norm': 91.0, 'learning_rate': 1.999921563939838e-05, 'epoch': 0.54}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  6%|▌         | 760/13730 [1:06:41<17:23:29,  4.83s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 3.8055, 'grad_norm': 72.0, 'learning_rate': 1.9998496273444334e-05, 'epoch': 0.55}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  6%|▌         | 780/13730 [1:08:22<18:38:09,  5.18s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 3.6625, 'grad_norm': 85.5, 'learning_rate': 1.999754488045154e-05, 'epoch': 0.57}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  6%|▌         | 800/13730 [1:10:03<18:13:02,  5.07s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 3.755, 'grad_norm': 81.5, 'learning_rate': 1.9996361482498207e-05, 'epoch': 0.58}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  6%|▌         | 820/13730 [1:11:41<17:46:23,  4.96s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 3.3968, 'grad_norm': 63.5, 'learning_rate': 1.99949461070465e-05, 'epoch': 0.6}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  6%|▌         | 840/13730 [1:13:17<17:24:30,  4.86s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 3.418, 'grad_norm': 84.0, 'learning_rate': 1.9993298786941887e-05, 'epoch': 0.61}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  6%|▋         | 860/13730 [1:14:56<18:05:35,  5.06s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 3.4451, 'grad_norm': 77.0, 'learning_rate': 1.9991419560412405e-05, 'epoch': 0.63}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  6%|▋         | 880/13730 [1:16:30<16:57:47,  4.75s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 3.4411, 'grad_norm': 70.0, 'learning_rate': 1.998930847106774e-05, 'epoch': 0.64}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  7%|▋         | 900/13730 [1:18:06<17:12:38,  4.83s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 3.3242, 'grad_norm': 72.5, 'learning_rate': 1.998696556789825e-05, 'epoch': 0.66}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  7%|▋         | 920/13730 [1:19:44<17:12:50,  4.84s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 3.1462, 'grad_norm': 79.5, 'learning_rate': 1.9984390905273795e-05, 'epoch': 0.67}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  7%|▋         | 940/13730 [1:21:20<16:56:22,  4.77s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 3.0645, 'grad_norm': 57.5, 'learning_rate': 1.998158454294249e-05, 'epoch': 0.68}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  7%|▋         | 960/13730 [1:22:59<18:09:41,  5.12s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 3.1252, 'grad_norm': 74.5, 'learning_rate': 1.9978546546029328e-05, 'epoch': 0.7}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  7%|▋         | 980/13730 [1:24:34<16:31:43,  4.67s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 3.1733, 'grad_norm': 64.0, 'learning_rate': 1.9975276985034648e-05, 'epoch': 0.71}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  7%|▋         | 1000/13730 [1:26:09<16:48:38,  4.75s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 3.0225, 'grad_norm': 60.75, 'learning_rate': 1.997177593583252e-05, 'epoch': 0.73}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "  0%|          | 0/225 [00:00<?, ?it/s]\u001b[A\n",
      "  1%|          | 2/225 [00:00<00:19, 11.68it/s]\u001b[A\n",
      "  2%|▏         | 4/225 [00:00<00:29,  7.39it/s]\u001b[A\n",
      "  2%|▏         | 5/225 [00:00<00:31,  6.97it/s]\u001b[A\n",
      "  3%|▎         | 6/225 [00:00<00:32,  6.66it/s]\u001b[A\n",
      "  3%|▎         | 7/225 [00:01<00:34,  6.34it/s]\u001b[A\n",
      "  4%|▎         | 8/225 [00:01<00:35,  6.18it/s]\u001b[A\n",
      "  4%|▍         | 9/225 [00:02<01:18,  2.74it/s]\u001b[A\n",
      "  4%|▍         | 10/225 [00:02<01:05,  3.26it/s]\u001b[A\n",
      "  5%|▍         | 11/225 [00:02<00:57,  3.75it/s]\u001b[A\n",
      "  5%|▌         | 12/225 [00:02<00:50,  4.19it/s]\u001b[A\n",
      "  6%|▌         | 13/225 [00:02<00:46,  4.57it/s]\u001b[A\n",
      "  6%|▌         | 14/225 [00:02<00:43,  4.89it/s]\u001b[A\n",
      "  7%|▋         | 15/225 [00:03<00:41,  5.10it/s]\u001b[A\n",
      "  7%|▋         | 16/225 [00:03<00:39,  5.33it/s]\u001b[A\n",
      "  8%|▊         | 17/225 [00:03<00:58,  3.53it/s]\u001b[A\n",
      "  8%|▊         | 18/225 [00:04<01:14,  2.77it/s]\u001b[A\n",
      "  8%|▊         | 19/225 [00:04<01:02,  3.29it/s]\u001b[A\n",
      "  9%|▉         | 20/225 [00:04<00:58,  3.53it/s]\u001b[A\n",
      "  9%|▉         | 21/225 [00:04<00:50,  4.04it/s]\u001b[A\n",
      " 10%|▉         | 22/225 [00:05<00:45,  4.49it/s]\u001b[A\n",
      " 10%|█         | 23/225 [00:05<00:41,  4.87it/s]\u001b[A\n",
      " 11%|█         | 24/225 [00:05<00:39,  5.14it/s]\u001b[A\n",
      " 11%|█         | 25/225 [00:06<01:19,  2.52it/s]\u001b[A\n",
      " 12%|█▏        | 26/225 [00:06<01:05,  3.03it/s]\u001b[A\n",
      " 12%|█▏        | 27/225 [00:06<00:58,  3.36it/s]\u001b[A\n",
      " 12%|█▏        | 28/225 [00:06<00:50,  3.89it/s]\u001b[A\n",
      " 13%|█▎        | 29/225 [00:06<00:45,  4.36it/s]\u001b[A\n",
      " 13%|█▎        | 30/225 [00:07<00:40,  4.76it/s]\u001b[A\n",
      " 14%|█▍        | 31/225 [00:07<00:38,  5.10it/s]\u001b[A\n",
      " 14%|█▍        | 32/225 [00:07<00:35,  5.36it/s]\u001b[A\n",
      " 15%|█▍        | 33/225 [00:07<00:54,  3.55it/s]\u001b[A\n",
      " 15%|█▌        | 34/225 [00:08<00:50,  3.78it/s]\u001b[A\n",
      " 16%|█▌        | 35/225 [00:08<00:44,  4.27it/s]\u001b[A\n",
      " 16%|█▌        | 36/225 [00:08<00:40,  4.66it/s]\u001b[A\n",
      " 16%|█▋        | 37/225 [00:08<00:37,  5.00it/s]\u001b[A\n",
      " 17%|█▋        | 38/225 [00:08<00:36,  5.13it/s]\u001b[A\n",
      " 17%|█▋        | 39/225 [00:09<00:34,  5.38it/s]\u001b[A\n",
      " 18%|█▊        | 40/225 [00:09<00:33,  5.55it/s]\u001b[A\n",
      " 18%|█▊        | 41/225 [00:09<01:04,  2.83it/s]\u001b[A\n",
      " 19%|█▊        | 42/225 [00:10<01:11,  2.55it/s]\u001b[A\n",
      " 19%|█▉        | 43/225 [00:10<00:58,  3.09it/s]\u001b[A\n",
      " 20%|█▉        | 44/225 [00:10<00:50,  3.59it/s]\u001b[A\n",
      " 20%|██        | 45/225 [00:10<00:43,  4.11it/s]\u001b[A\n",
      " 20%|██        | 46/225 [00:11<00:39,  4.52it/s]\u001b[A\n",
      " 21%|██        | 47/225 [00:11<00:36,  4.87it/s]\u001b[A\n",
      " 21%|██▏       | 48/225 [00:11<00:36,  4.90it/s]\u001b[A\n",
      " 22%|██▏       | 49/225 [00:12<01:04,  2.71it/s]\u001b[A\n",
      " 22%|██▏       | 50/225 [00:12<00:54,  3.22it/s]\u001b[A\n",
      " 23%|██▎       | 51/225 [00:12<00:46,  3.74it/s]\u001b[A\n",
      " 23%|██▎       | 52/225 [00:12<00:40,  4.23it/s]\u001b[A\n",
      " 24%|██▎       | 53/225 [00:12<00:37,  4.62it/s]\u001b[A\n",
      " 24%|██▍       | 54/225 [00:13<00:36,  4.65it/s]\u001b[A\n",
      " 24%|██▍       | 55/225 [00:13<00:39,  4.32it/s]\u001b[A\n",
      " 25%|██▍       | 56/225 [00:13<00:38,  4.43it/s]\u001b[A\n",
      " 25%|██▌       | 57/225 [00:13<00:36,  4.64it/s]\u001b[A\n",
      " 26%|██▌       | 58/225 [00:14<00:37,  4.46it/s]\u001b[A\n",
      " 26%|██▌       | 59/225 [00:14<00:34,  4.84it/s]\u001b[A\n",
      " 27%|██▋       | 60/225 [00:14<00:32,  5.13it/s]\u001b[A\n",
      " 27%|██▋       | 61/225 [00:14<00:46,  3.49it/s]\u001b[A\n",
      " 28%|██▊       | 62/225 [00:15<00:40,  3.99it/s]\u001b[A\n",
      " 28%|██▊       | 63/225 [00:15<00:37,  4.37it/s]\u001b[A\n",
      " 28%|██▊       | 64/225 [00:15<00:33,  4.75it/s]\u001b[A\n",
      " 29%|██▉       | 65/225 [00:15<00:49,  3.21it/s]\u001b[A\n",
      " 29%|██▉       | 66/225 [00:16<00:50,  3.15it/s]\u001b[A\n",
      " 30%|██▉       | 67/225 [00:16<00:43,  3.64it/s]\u001b[A\n",
      " 30%|███       | 68/225 [00:16<00:38,  4.13it/s]\u001b[A\n",
      " 31%|███       | 69/225 [00:16<00:40,  3.87it/s]\u001b[A\n",
      " 31%|███       | 70/225 [00:17<00:37,  4.16it/s]\u001b[A\n",
      " 32%|███▏      | 71/225 [00:17<00:33,  4.55it/s]\u001b[A\n",
      " 32%|███▏      | 72/225 [00:17<00:31,  4.90it/s]\u001b[A\n",
      " 32%|███▏      | 73/225 [00:18<00:53,  2.86it/s]\u001b[A\n",
      " 33%|███▎      | 74/225 [00:18<00:44,  3.38it/s]\u001b[A\n",
      " 33%|███▎      | 75/225 [00:18<00:38,  3.90it/s]\u001b[A\n",
      " 34%|███▍      | 76/225 [00:18<00:34,  4.36it/s]\u001b[A\n",
      " 34%|███▍      | 77/225 [00:18<00:36,  4.06it/s]\u001b[A\n",
      " 35%|███▍      | 78/225 [00:19<00:42,  3.49it/s]\u001b[A\n",
      " 35%|███▌      | 79/225 [00:19<00:36,  4.01it/s]\u001b[A\n",
      " 36%|███▌      | 80/225 [00:19<00:32,  4.46it/s]\u001b[A\n",
      " 36%|███▌      | 81/225 [00:20<00:53,  2.69it/s]\u001b[A\n",
      " 36%|███▋      | 82/225 [00:20<00:44,  3.18it/s]\u001b[A\n",
      " 37%|███▋      | 83/225 [00:20<00:38,  3.71it/s]\u001b[A\n",
      " 37%|███▋      | 84/225 [00:20<00:34,  4.14it/s]\u001b[A\n",
      " 38%|███▊      | 85/225 [00:21<00:35,  3.91it/s]\u001b[A\n",
      " 38%|███▊      | 86/225 [00:21<00:43,  3.20it/s]\u001b[A\n",
      " 39%|███▊      | 87/225 [00:21<00:37,  3.70it/s]\u001b[A\n",
      " 39%|███▉      | 88/225 [00:21<00:32,  4.17it/s]\u001b[A\n",
      " 40%|███▉      | 89/225 [00:22<00:33,  4.04it/s]\u001b[A\n",
      " 40%|████      | 90/225 [00:22<00:47,  2.82it/s]\u001b[A\n",
      " 40%|████      | 91/225 [00:22<00:40,  3.35it/s]\u001b[A\n",
      " 41%|████      | 92/225 [00:23<00:34,  3.86it/s]\u001b[A\n",
      " 41%|████▏     | 93/225 [00:23<00:34,  3.79it/s]\u001b[A\n",
      " 42%|████▏     | 94/225 [00:24<00:48,  2.71it/s]\u001b[A\n",
      " 42%|████▏     | 95/225 [00:24<00:40,  3.24it/s]\u001b[A\n",
      " 43%|████▎     | 96/225 [00:24<00:34,  3.76it/s]\u001b[A\n",
      " 43%|████▎     | 97/225 [00:25<00:52,  2.43it/s]\u001b[A\n",
      " 44%|████▎     | 98/225 [00:25<00:43,  2.95it/s]\u001b[A\n",
      " 44%|████▍     | 99/225 [00:25<00:36,  3.48it/s]\u001b[A\n",
      " 44%|████▍     | 100/225 [00:25<00:31,  3.98it/s]\u001b[A\n",
      " 45%|████▍     | 101/225 [00:26<00:47,  2.59it/s]\u001b[A\n",
      " 45%|████▌     | 102/225 [00:26<00:40,  3.05it/s]\u001b[A\n",
      " 46%|████▌     | 103/225 [00:26<00:34,  3.58it/s]\u001b[A\n",
      " 46%|████▌     | 104/225 [00:26<00:29,  4.05it/s]\u001b[A\n",
      " 47%|████▋     | 105/225 [00:27<00:37,  3.21it/s]\u001b[A\n",
      " 47%|████▋     | 106/225 [00:27<00:31,  3.72it/s]\u001b[A\n",
      " 48%|████▊     | 107/225 [00:27<00:28,  4.20it/s]\u001b[A\n",
      " 48%|████▊     | 108/225 [00:27<00:25,  4.61it/s]\u001b[A\n",
      " 48%|████▊     | 109/225 [00:28<00:34,  3.40it/s]\u001b[A\n",
      " 49%|████▉     | 110/225 [00:29<00:49,  2.33it/s]\u001b[A\n",
      " 49%|████▉     | 111/225 [00:29<00:40,  2.84it/s]\u001b[A\n",
      " 50%|████▉     | 112/225 [00:29<00:34,  3.27it/s]\u001b[A\n",
      " 50%|█████     | 113/225 [00:29<00:29,  3.81it/s]\u001b[A\n",
      " 51%|█████     | 114/225 [00:29<00:25,  4.32it/s]\u001b[A\n",
      " 51%|█████     | 115/225 [00:29<00:23,  4.73it/s]\u001b[A\n",
      " 52%|█████▏    | 116/225 [00:30<00:21,  5.04it/s]\u001b[A\n",
      " 52%|█████▏    | 117/225 [00:30<00:31,  3.47it/s]\u001b[A\n",
      " 52%|█████▏    | 118/225 [00:31<00:40,  2.62it/s]\u001b[A\n",
      " 53%|█████▎    | 119/225 [00:31<00:33,  3.15it/s]\u001b[A\n",
      " 53%|█████▎    | 120/225 [00:31<00:28,  3.66it/s]\u001b[A\n",
      " 54%|█████▍    | 121/225 [00:31<00:25,  4.14it/s]\u001b[A\n",
      " 54%|█████▍    | 122/225 [00:31<00:22,  4.55it/s]\u001b[A\n",
      " 55%|█████▍    | 123/225 [00:31<00:20,  4.93it/s]\u001b[A\n",
      " 55%|█████▌    | 124/225 [00:32<00:19,  5.21it/s]\u001b[A\n",
      " 56%|█████▌    | 125/225 [00:33<00:42,  2.35it/s]\u001b[A\n",
      " 56%|█████▌    | 126/225 [00:33<00:34,  2.88it/s]\u001b[A\n",
      " 56%|█████▋    | 127/225 [00:33<00:28,  3.41it/s]\u001b[A\n",
      " 57%|█████▋    | 128/225 [00:33<00:24,  3.91it/s]\u001b[A\n",
      " 57%|█████▋    | 129/225 [00:33<00:22,  4.31it/s]\u001b[A\n",
      " 58%|█████▊    | 130/225 [00:34<00:32,  2.94it/s]\u001b[A\n",
      " 58%|█████▊    | 131/225 [00:34<00:26,  3.48it/s]\u001b[A\n",
      " 59%|█████▊    | 132/225 [00:34<00:23,  3.98it/s]\u001b[A\n",
      " 59%|█████▉    | 133/225 [00:35<00:28,  3.23it/s]\u001b[A\n",
      " 60%|█████▉    | 134/225 [00:35<00:24,  3.77it/s]\u001b[A\n",
      " 60%|██████    | 135/225 [00:35<00:21,  4.27it/s]\u001b[A\n",
      " 60%|██████    | 136/225 [00:35<00:19,  4.65it/s]\u001b[A\n",
      " 61%|██████    | 137/225 [00:35<00:17,  4.98it/s]\u001b[A\n",
      " 61%|██████▏   | 138/225 [00:36<00:37,  2.31it/s]\u001b[A\n",
      " 62%|██████▏   | 139/225 [00:36<00:30,  2.84it/s]\u001b[A\n",
      " 62%|██████▏   | 140/225 [00:37<00:25,  3.35it/s]\u001b[A\n",
      " 63%|██████▎   | 141/225 [00:37<00:23,  3.63it/s]\u001b[A\n",
      " 63%|██████▎   | 142/225 [00:37<00:23,  3.47it/s]\u001b[A\n",
      " 64%|██████▎   | 143/225 [00:37<00:20,  3.98it/s]\u001b[A\n",
      " 64%|██████▍   | 144/225 [00:37<00:18,  4.46it/s]\u001b[A\n",
      " 64%|██████▍   | 145/225 [00:38<00:16,  4.84it/s]\u001b[A\n",
      " 65%|██████▍   | 146/225 [00:38<00:30,  2.62it/s]\u001b[A\n",
      " 65%|██████▌   | 147/225 [00:39<00:24,  3.16it/s]\u001b[A\n",
      " 66%|██████▌   | 148/225 [00:39<00:20,  3.69it/s]\u001b[A\n",
      " 66%|██████▌   | 149/225 [00:39<00:18,  4.18it/s]\u001b[A\n",
      " 67%|██████▋   | 150/225 [00:39<00:24,  3.10it/s]\u001b[A\n",
      " 67%|██████▋   | 151/225 [00:40<00:20,  3.61it/s]\u001b[A\n",
      " 68%|██████▊   | 152/225 [00:40<00:17,  4.11it/s]\u001b[A\n",
      " 68%|██████▊   | 153/225 [00:40<00:15,  4.54it/s]\u001b[A\n",
      " 68%|██████▊   | 154/225 [00:41<00:28,  2.49it/s]\u001b[A\n",
      " 69%|██████▉   | 155/225 [00:41<00:23,  3.03it/s]\u001b[A\n",
      " 69%|██████▉   | 156/225 [00:41<00:19,  3.56it/s]\u001b[A\n",
      " 70%|██████▉   | 157/225 [00:41<00:16,  4.01it/s]\u001b[A\n",
      " 70%|███████   | 158/225 [00:41<00:15,  4.46it/s]\u001b[A\n",
      " 71%|███████   | 159/225 [00:42<00:14,  4.55it/s]\u001b[A\n",
      " 71%|███████   | 160/225 [00:42<00:13,  4.93it/s]\u001b[A\n",
      " 72%|███████▏  | 161/225 [00:42<00:12,  5.22it/s]\u001b[A\n",
      " 72%|███████▏  | 162/225 [00:43<00:31,  2.03it/s]\u001b[A\n",
      " 72%|███████▏  | 163/225 [00:43<00:24,  2.54it/s]\u001b[A\n",
      " 73%|███████▎  | 164/225 [00:44<00:19,  3.06it/s]\u001b[A\n",
      " 73%|███████▎  | 165/225 [00:44<00:16,  3.62it/s]\u001b[A\n",
      " 74%|███████▍  | 166/225 [00:44<00:24,  2.44it/s]\u001b[A\n",
      " 74%|███████▍  | 167/225 [00:45<00:19,  2.98it/s]\u001b[A\n",
      " 75%|███████▍  | 168/225 [00:45<00:16,  3.54it/s]\u001b[A\n",
      " 75%|███████▌  | 169/225 [00:45<00:13,  4.07it/s]\u001b[A\n",
      " 76%|███████▌  | 170/225 [00:45<00:18,  3.05it/s]\u001b[A\n",
      " 76%|███████▌  | 171/225 [00:46<00:15,  3.58it/s]\u001b[A\n",
      " 76%|███████▋  | 172/225 [00:46<00:12,  4.10it/s]\u001b[A\n",
      " 77%|███████▋  | 173/225 [00:46<00:11,  4.55it/s]\u001b[A\n",
      " 77%|███████▋  | 174/225 [00:46<00:15,  3.22it/s]\u001b[A\n",
      " 78%|███████▊  | 175/225 [00:47<00:14,  3.52it/s]\u001b[A\n",
      " 78%|███████▊  | 176/225 [00:47<00:12,  4.03it/s]\u001b[A\n",
      " 79%|███████▊  | 177/225 [00:47<00:10,  4.51it/s]\u001b[A\n",
      " 79%|███████▉  | 178/225 [00:48<00:19,  2.43it/s]\u001b[A\n",
      " 80%|███████▉  | 179/225 [00:48<00:15,  2.98it/s]\u001b[A\n",
      " 80%|████████  | 180/225 [00:48<00:12,  3.52it/s]\u001b[A\n",
      " 80%|████████  | 181/225 [00:48<00:10,  4.03it/s]\u001b[A\n",
      " 81%|████████  | 182/225 [00:48<00:09,  4.52it/s]\u001b[A\n",
      " 81%|████████▏ | 183/225 [00:49<00:12,  3.43it/s]\u001b[A\n",
      " 82%|████████▏ | 184/225 [00:49<00:10,  3.96it/s]\u001b[A\n",
      " 82%|████████▏ | 185/225 [00:49<00:09,  4.39it/s]\u001b[A\n",
      " 83%|████████▎ | 186/225 [00:50<00:18,  2.06it/s]\u001b[A\n",
      " 83%|████████▎ | 187/225 [00:51<00:14,  2.55it/s]\u001b[A\n",
      " 84%|████████▎ | 188/225 [00:51<00:12,  3.02it/s]\u001b[A\n",
      " 84%|████████▍ | 189/225 [00:51<00:10,  3.51it/s]\u001b[A\n",
      " 84%|████████▍ | 190/225 [00:51<00:09,  3.85it/s]\u001b[A\n",
      " 85%|████████▍ | 191/225 [00:51<00:07,  4.28it/s]\u001b[A\n",
      " 85%|████████▌ | 192/225 [00:51<00:07,  4.66it/s]\u001b[A\n",
      " 86%|████████▌ | 193/225 [00:52<00:06,  5.02it/s]\u001b[A\n",
      " 86%|████████▌ | 194/225 [00:53<00:13,  2.30it/s]\u001b[A\n",
      " 87%|████████▋ | 195/225 [00:53<00:10,  2.83it/s]\u001b[A\n",
      " 87%|████████▋ | 196/225 [00:53<00:08,  3.38it/s]\u001b[A\n",
      " 88%|████████▊ | 197/225 [00:53<00:07,  3.90it/s]\u001b[A\n",
      " 88%|████████▊ | 198/225 [00:53<00:06,  4.36it/s]\u001b[A\n",
      " 88%|████████▊ | 199/225 [00:53<00:05,  4.78it/s]\u001b[A\n",
      " 89%|████████▉ | 200/225 [00:54<00:04,  5.04it/s]\u001b[A\n",
      " 89%|████████▉ | 201/225 [00:54<00:04,  5.30it/s]\u001b[A\n",
      " 90%|████████▉ | 202/225 [00:55<00:11,  2.00it/s]\u001b[A\n",
      " 90%|█████████ | 203/225 [00:55<00:08,  2.48it/s]\u001b[A\n",
      " 91%|█████████ | 204/225 [00:55<00:06,  3.02it/s]\u001b[A\n",
      " 91%|█████████ | 205/225 [00:55<00:05,  3.56it/s]\u001b[A\n",
      " 92%|█████████▏| 206/225 [00:56<00:04,  3.82it/s]\u001b[A\n",
      " 92%|█████████▏| 207/225 [00:56<00:04,  4.27it/s]\u001b[A\n",
      " 92%|█████████▏| 208/225 [00:56<00:03,  4.68it/s]\u001b[A\n",
      " 93%|█████████▎| 209/225 [00:56<00:03,  5.01it/s]\u001b[A\n",
      " 93%|█████████▎| 210/225 [00:57<00:07,  1.91it/s]\u001b[A\n",
      " 94%|█████████▍| 211/225 [00:58<00:05,  2.41it/s]\u001b[A\n",
      " 94%|█████████▍| 212/225 [00:58<00:04,  2.93it/s]\u001b[A\n",
      " 95%|█████████▍| 213/225 [00:58<00:03,  3.35it/s]\u001b[A\n",
      " 95%|█████████▌| 214/225 [00:58<00:02,  3.84it/s]\u001b[A\n",
      " 96%|█████████▌| 215/225 [00:58<00:02,  4.31it/s]\u001b[A\n",
      " 96%|█████████▌| 216/225 [00:58<00:01,  4.71it/s]\u001b[A\n",
      " 96%|█████████▋| 217/225 [00:59<00:01,  5.04it/s]\u001b[A\n",
      " 97%|█████████▋| 218/225 [00:59<00:01,  3.95it/s]\u001b[A\n",
      " 97%|█████████▋| 219/225 [00:59<00:01,  4.39it/s]\u001b[A\n",
      " 98%|█████████▊| 220/225 [00:59<00:01,  4.73it/s]\u001b[A\n",
      " 98%|█████████▊| 221/225 [01:00<00:00,  5.00it/s]\u001b[A\n",
      " 99%|█████████▊| 222/225 [01:00<00:00,  5.02it/s]\u001b[A\n",
      " 99%|█████████▉| 223/225 [01:00<00:00,  5.31it/s]\u001b[A\n",
      "100%|█████████▉| 224/225 [01:00<00:00,  5.52it/s]\u001b[A\n",
      "                                                         \n",
      "  7%|▋         | 1000/13730 [1:27:14<16:48:38,  4.75s/it]\n",
      "100%|██████████| 225/225 [01:00<00:00,  5.29it/s]\u001b[A\n",
      "                                                 \u001b[A"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'eval_loss': 0.15667811036109924, 'eval_runtime': 65.0211, 'eval_samples_per_second': 27.576, 'eval_steps_per_second': 3.46, 'epoch': 0.73}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  7%|▋         | 1020/13730 [1:28:59<17:13:03,  4.88s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 3.0615, 'grad_norm': 63.0, 'learning_rate': 1.9968043479668965e-05, 'epoch': 0.74}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  8%|▊         | 1040/13730 [1:30:33<16:31:34,  4.69s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 3.035, 'grad_norm': 67.5, 'learning_rate': 1.996407970316008e-05, 'epoch': 0.76}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  8%|▊         | 1060/13730 [1:32:08<16:52:31,  4.79s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 3.0076, 'grad_norm': 63.25, 'learning_rate': 1.995988469829004e-05, 'epoch': 0.77}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  8%|▊         | 1080/13730 [1:33:42<16:23:05,  4.66s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.9662, 'grad_norm': 70.0, 'learning_rate': 1.9955458562408932e-05, 'epoch': 0.79}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  8%|▊         | 1100/13730 [1:35:16<16:26:19,  4.69s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.8282, 'grad_norm': 60.5, 'learning_rate': 1.9950801398230522e-05, 'epoch': 0.8}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  8%|▊         | 1120/13730 [1:36:50<16:20:49,  4.67s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.8459, 'grad_norm': 63.5, 'learning_rate': 1.9945913313829865e-05, 'epoch': 0.82}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  8%|▊         | 1140/13730 [1:38:26<16:43:29,  4.78s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.7764, 'grad_norm': 52.5, 'learning_rate': 1.994079442264079e-05, 'epoch': 0.83}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  8%|▊         | 1160/13730 [1:40:00<16:45:56,  4.80s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.8082, 'grad_norm': 60.25, 'learning_rate': 1.9935444843453277e-05, 'epoch': 0.85}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  9%|▊         | 1180/13730 [1:41:39<17:00:01,  4.88s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.7169, 'grad_norm': 60.25, 'learning_rate': 1.99298647004107e-05, 'epoch': 0.86}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  9%|▊         | 1200/13730 [1:43:17<17:32:32,  5.04s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.7872, 'grad_norm': 60.25, 'learning_rate': 1.992405412300693e-05, 'epoch': 0.87}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  9%|▉         | 1220/13730 [1:45:00<18:17:12,  5.26s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.7523, 'grad_norm': 60.0, 'learning_rate': 1.991801324608336e-05, 'epoch': 0.89}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  9%|▉         | 1240/13730 [1:46:40<17:10:55,  4.95s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.796, 'grad_norm': 50.25, 'learning_rate': 1.9911742209825737e-05, 'epoch': 0.9}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  9%|▉         | 1260/13730 [1:48:21<17:08:11,  4.95s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.6696, 'grad_norm': 61.5, 'learning_rate': 1.9905241159760954e-05, 'epoch': 0.92}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  9%|▉         | 1280/13730 [1:50:03<17:16:27,  5.00s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.6553, 'grad_norm': 57.0, 'learning_rate': 1.9898510246753627e-05, 'epoch': 0.93}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  9%|▉         | 1300/13730 [1:51:44<17:10:04,  4.97s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.6849, 'grad_norm': 57.5, 'learning_rate': 1.989154962700263e-05, 'epoch': 0.95}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 10%|▉         | 1320/13730 [1:53:22<17:27:27,  5.06s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.7262, 'grad_norm': 60.75, 'learning_rate': 1.988435946203745e-05, 'epoch': 0.96}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 10%|▉         | 1340/13730 [1:54:59<16:48:25,  4.88s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.5417, 'grad_norm': 68.5, 'learning_rate': 1.9876939918714445e-05, 'epoch': 0.98}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 10%|▉         | 1360/13730 [1:56:35<16:30:02,  4.80s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.4229, 'grad_norm': 47.5, 'learning_rate': 1.9869291169212973e-05, 'epoch': 0.99}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 10%|█         | 1380/13730 [1:58:13<16:32:10,  4.82s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.2749, 'grad_norm': 50.25, 'learning_rate': 1.98614133910314e-05, 'epoch': 1.01}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 10%|█         | 1400/13730 [1:59:48<16:14:12,  4.74s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.2412, 'grad_norm': 54.5, 'learning_rate': 1.9853306766982962e-05, 'epoch': 1.02}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 10%|█         | 1420/13730 [2:01:23<16:00:08,  4.68s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.2525, 'grad_norm': 46.75, 'learning_rate': 1.984497148519155e-05, 'epoch': 1.03}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 10%|█         | 1440/13730 [2:02:57<15:56:53,  4.67s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.2535, 'grad_norm': 51.0, 'learning_rate': 1.9836407739087324e-05, 'epoch': 1.05}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 11%|█         | 1460/13730 [2:04:32<16:12:18,  4.75s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.2184, 'grad_norm': 49.25, 'learning_rate': 1.9827615727402233e-05, 'epoch': 1.06}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 11%|█         | 1480/13730 [2:06:08<15:58:49,  4.70s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.2432, 'grad_norm': 51.5, 'learning_rate': 1.9818595654165402e-05, 'epoch': 1.08}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 11%|█         | 1500/13730 [2:07:43<16:07:06,  4.74s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.1333, 'grad_norm': 47.5, 'learning_rate': 1.9809347728698394e-05, 'epoch': 1.09}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "  0%|          | 0/225 [00:00<?, ?it/s]\u001b[A\n",
      "  1%|          | 2/225 [00:00<00:18, 12.15it/s]\u001b[A\n",
      "  2%|▏         | 4/225 [00:00<00:28,  7.75it/s]\u001b[A\n",
      "  2%|▏         | 5/225 [00:00<00:30,  7.24it/s]\u001b[A\n",
      "  3%|▎         | 6/225 [00:00<00:31,  6.92it/s]\u001b[A\n",
      "  3%|▎         | 7/225 [00:00<00:32,  6.65it/s]\u001b[A\n",
      "  4%|▎         | 8/225 [00:01<01:20,  2.71it/s]\u001b[A\n",
      "  4%|▍         | 9/225 [00:02<02:02,  1.77it/s]\u001b[A\n",
      "  4%|▍         | 10/225 [00:03<01:35,  2.24it/s]\u001b[A\n",
      "  5%|▍         | 11/225 [00:03<01:17,  2.75it/s]\u001b[A\n",
      "  5%|▌         | 12/225 [00:03<01:04,  3.30it/s]\u001b[A\n",
      "  6%|▌         | 13/225 [00:03<00:55,  3.84it/s]\u001b[A\n",
      "  6%|▌         | 14/225 [00:03<00:49,  4.28it/s]\u001b[A\n",
      "  7%|▋         | 15/225 [00:03<00:45,  4.62it/s]\u001b[A\n",
      "  7%|▋         | 16/225 [00:04<00:41,  4.99it/s]\u001b[A\n",
      "  8%|▊         | 17/225 [00:04<01:10,  2.95it/s]\u001b[A\n",
      "  8%|▊         | 18/225 [00:05<01:08,  3.01it/s]\u001b[A\n",
      "  8%|▊         | 19/225 [00:05<00:58,  3.54it/s]\u001b[A\n",
      "  9%|▉         | 20/225 [00:05<00:54,  3.78it/s]\u001b[A\n",
      "  9%|▉         | 21/225 [00:05<00:47,  4.30it/s]\u001b[A\n",
      " 10%|▉         | 22/225 [00:05<00:42,  4.72it/s]\u001b[A\n",
      " 10%|█         | 23/225 [00:05<00:39,  5.09it/s]\u001b[A\n",
      " 11%|█         | 24/225 [00:06<00:37,  5.34it/s]\u001b[A\n",
      " 11%|█         | 25/225 [00:07<01:39,  2.00it/s]\u001b[A\n",
      " 12%|█▏        | 26/225 [00:07<01:20,  2.49it/s]\u001b[A\n",
      " 12%|█▏        | 27/225 [00:07<01:09,  2.86it/s]\u001b[A\n",
      " 12%|█▏        | 28/225 [00:07<00:58,  3.35it/s]\u001b[A\n",
      " 13%|█▎        | 29/225 [00:08<00:51,  3.84it/s]\u001b[A\n",
      " 13%|█▎        | 30/225 [00:08<00:45,  4.28it/s]\u001b[A\n",
      " 14%|█▍        | 31/225 [00:08<00:41,  4.68it/s]\u001b[A\n",
      " 14%|█▍        | 32/225 [00:08<00:38,  5.02it/s]\u001b[A\n",
      " 15%|█▍        | 33/225 [00:09<01:11,  2.70it/s]\u001b[A\n",
      " 15%|█▌        | 34/225 [00:09<00:59,  3.21it/s]\u001b[A\n",
      " 16%|█▌        | 35/225 [00:09<00:51,  3.72it/s]\u001b[A\n",
      " 16%|█▌        | 36/225 [00:09<00:45,  4.19it/s]\u001b[A\n",
      " 16%|█▋        | 37/225 [00:10<00:40,  4.59it/s]\u001b[A\n",
      " 17%|█▋        | 38/225 [00:10<00:38,  4.91it/s]\u001b[A\n",
      " 17%|█▋        | 39/225 [00:10<00:35,  5.19it/s]\u001b[A\n",
      " 18%|█▊        | 40/225 [00:10<00:47,  3.91it/s]\u001b[A\n",
      " 18%|█▊        | 41/225 [00:11<01:33,  1.96it/s]\u001b[A\n",
      " 19%|█▊        | 42/225 [00:12<01:15,  2.43it/s]\u001b[A\n",
      " 19%|█▉        | 43/225 [00:12<01:01,  2.95it/s]\u001b[A\n",
      " 20%|█▉        | 44/225 [00:12<00:52,  3.48it/s]\u001b[A\n",
      " 20%|██        | 45/225 [00:12<00:45,  3.99it/s]\u001b[A\n",
      " 20%|██        | 46/225 [00:12<00:40,  4.44it/s]\u001b[A\n",
      " 21%|██        | 47/225 [00:12<00:37,  4.77it/s]\u001b[A\n",
      " 21%|██▏       | 48/225 [00:13<00:36,  4.82it/s]\u001b[A\n",
      " 22%|██▏       | 49/225 [00:14<01:26,  2.04it/s]\u001b[A\n",
      " 22%|██▏       | 50/225 [00:14<01:08,  2.55it/s]\u001b[A\n",
      " 23%|██▎       | 51/225 [00:14<00:56,  3.10it/s]\u001b[A\n",
      " 23%|██▎       | 52/225 [00:14<00:47,  3.65it/s]\u001b[A\n",
      " 24%|██▎       | 53/225 [00:14<00:41,  4.13it/s]\u001b[A\n",
      " 24%|██▍       | 54/225 [00:15<00:38,  4.47it/s]\u001b[A\n",
      " 24%|██▍       | 55/225 [00:15<00:40,  4.22it/s]\u001b[A\n",
      " 25%|██▍       | 56/225 [00:15<00:38,  4.37it/s]\u001b[A\n",
      " 25%|██▌       | 57/225 [00:16<01:18,  2.15it/s]\u001b[A\n",
      " 26%|██▌       | 58/225 [00:16<01:02,  2.66it/s]\u001b[A\n",
      " 26%|██▌       | 59/225 [00:16<00:52,  3.19it/s]\u001b[A\n",
      " 27%|██▋       | 60/225 [00:17<00:44,  3.71it/s]\u001b[A\n",
      " 27%|██▋       | 61/225 [00:17<00:38,  4.21it/s]\u001b[A\n",
      " 28%|██▊       | 62/225 [00:17<00:35,  4.62it/s]\u001b[A\n",
      " 28%|██▊       | 63/225 [00:17<00:33,  4.79it/s]\u001b[A\n",
      " 28%|██▊       | 64/225 [00:17<00:31,  5.06it/s]\u001b[A\n",
      " 29%|██▉       | 65/225 [00:18<01:12,  2.21it/s]\u001b[A\n",
      " 29%|██▉       | 66/225 [00:18<00:59,  2.69it/s]\u001b[A\n",
      " 30%|██▉       | 67/225 [00:19<00:49,  3.20it/s]\u001b[A\n",
      " 30%|███       | 68/225 [00:19<00:42,  3.72it/s]\u001b[A\n",
      " 31%|███       | 69/225 [00:19<00:36,  4.23it/s]\u001b[A\n",
      " 31%|███       | 70/225 [00:19<00:33,  4.62it/s]\u001b[A\n",
      " 32%|███▏      | 71/225 [00:19<00:31,  4.95it/s]\u001b[A\n",
      " 32%|███▏      | 72/225 [00:20<00:35,  4.27it/s]\u001b[A\n",
      " 32%|███▏      | 73/225 [00:20<00:59,  2.58it/s]\u001b[A\n",
      " 33%|███▎      | 74/225 [00:21<00:48,  3.11it/s]\u001b[A\n",
      " 33%|███▎      | 75/225 [00:21<00:41,  3.64it/s]\u001b[A\n",
      " 34%|███▍      | 76/225 [00:21<00:35,  4.15it/s]\u001b[A\n",
      " 34%|███▍      | 77/225 [00:21<00:32,  4.58it/s]\u001b[A\n",
      " 35%|███▍      | 78/225 [00:22<00:47,  3.07it/s]\u001b[A\n",
      " 35%|███▌      | 79/225 [00:22<00:40,  3.61it/s]\u001b[A\n",
      " 36%|███▌      | 80/225 [00:22<00:35,  4.10it/s]\u001b[A\n",
      " 36%|███▌      | 81/225 [00:24<02:06,  1.13it/s]\u001b[A\n",
      " 36%|███▋      | 82/225 [00:24<01:35,  1.50it/s]\u001b[A\n",
      " 37%|███▋      | 83/225 [00:25<01:13,  1.94it/s]\u001b[A\n",
      " 37%|███▋      | 84/225 [00:25<00:57,  2.43it/s]\u001b[A\n",
      " 38%|███▊      | 85/225 [00:25<00:47,  2.97it/s]\u001b[A\n",
      " 38%|███▊      | 86/225 [00:25<00:45,  3.04it/s]\u001b[A\n",
      " 39%|███▊      | 87/225 [00:25<00:38,  3.57it/s]\u001b[A\n",
      " 39%|███▉      | 88/225 [00:26<00:33,  4.06it/s]\u001b[A\n",
      " 40%|███▉      | 89/225 [00:26<00:55,  2.47it/s]\u001b[A\n",
      " 40%|████      | 90/225 [00:27<00:45,  2.99it/s]\u001b[A\n",
      " 40%|████      | 91/225 [00:27<00:37,  3.53it/s]\u001b[A\n",
      " 41%|████      | 92/225 [00:27<00:32,  4.05it/s]\u001b[A\n",
      " 41%|████▏     | 93/225 [00:27<00:29,  4.47it/s]\u001b[A\n",
      " 42%|████▏     | 94/225 [00:28<00:39,  3.29it/s]\u001b[A\n",
      " 42%|████▏     | 95/225 [00:28<00:34,  3.80it/s]\u001b[A\n",
      " 43%|████▎     | 96/225 [00:28<00:45,  2.84it/s]\u001b[A\n",
      " 43%|████▎     | 97/225 [00:29<01:02,  2.04it/s]\u001b[A\n",
      " 44%|████▎     | 98/225 [00:29<00:50,  2.54it/s]\u001b[A\n",
      " 44%|████▍     | 99/225 [00:29<00:40,  3.08it/s]\u001b[A\n",
      " 44%|████▍     | 100/225 [00:30<00:34,  3.62it/s]\u001b[A\n",
      " 45%|████▍     | 101/225 [00:30<00:29,  4.13it/s]\u001b[A\n",
      " 45%|████▌     | 102/225 [00:30<00:31,  3.90it/s]\u001b[A\n",
      " 46%|████▌     | 103/225 [00:30<00:28,  4.34it/s]\u001b[A\n",
      " 46%|████▌     | 104/225 [00:31<00:38,  3.14it/s]\u001b[A\n",
      " 47%|████▋     | 105/225 [00:32<01:10,  1.69it/s]\u001b[A\n",
      " 47%|████▋     | 106/225 [00:32<00:55,  2.16it/s]\u001b[A\n",
      " 48%|████▊     | 107/225 [00:32<00:44,  2.66it/s]\u001b[A\n",
      " 48%|████▊     | 108/225 [00:32<00:36,  3.18it/s]\u001b[A\n",
      " 48%|████▊     | 109/225 [00:33<00:31,  3.72it/s]\u001b[A\n",
      " 49%|████▉     | 110/225 [00:33<00:42,  2.69it/s]\u001b[A\n",
      " 49%|████▉     | 111/225 [00:33<00:35,  3.21it/s]\u001b[A\n",
      " 50%|████▉     | 112/225 [00:34<00:31,  3.63it/s]\u001b[A\n",
      " 50%|█████     | 113/225 [00:34<00:48,  2.30it/s]\u001b[A\n",
      " 51%|█████     | 114/225 [00:35<00:39,  2.83it/s]\u001b[A\n",
      " 51%|█████     | 115/225 [00:35<00:32,  3.37it/s]\u001b[A\n",
      " 52%|█████▏    | 116/225 [00:35<00:28,  3.85it/s]\u001b[A\n",
      " 52%|█████▏    | 117/225 [00:35<00:25,  4.31it/s]\u001b[A\n",
      " 52%|█████▏    | 118/225 [00:36<00:35,  3.03it/s]\u001b[A\n",
      " 53%|█████▎    | 119/225 [00:36<00:29,  3.57it/s]\u001b[A\n",
      " 53%|█████▎    | 120/225 [00:36<00:25,  4.07it/s]\u001b[A\n",
      " 54%|█████▍    | 121/225 [00:37<00:35,  2.95it/s]\u001b[A\n",
      " 54%|█████▍    | 122/225 [00:37<00:29,  3.49it/s]\u001b[A\n",
      " 55%|█████▍    | 123/225 [00:37<00:25,  4.02it/s]\u001b[A\n",
      " 55%|█████▌    | 124/225 [00:37<00:22,  4.46it/s]\u001b[A\n",
      " 56%|█████▌    | 125/225 [00:37<00:20,  4.87it/s]\u001b[A\n",
      " 56%|█████▌    | 126/225 [00:38<00:31,  3.17it/s]\u001b[A\n",
      " 56%|█████▋    | 127/225 [00:38<00:26,  3.71it/s]\u001b[A\n",
      " 57%|█████▋    | 128/225 [00:38<00:23,  4.20it/s]\u001b[A\n",
      " 57%|█████▋    | 129/225 [00:39<00:34,  2.82it/s]\u001b[A\n",
      " 58%|█████▊    | 130/225 [00:39<00:28,  3.38it/s]\u001b[A\n",
      " 58%|█████▊    | 131/225 [00:39<00:24,  3.91it/s]\u001b[A\n",
      " 59%|█████▊    | 132/225 [00:39<00:21,  4.38it/s]\u001b[A\n",
      " 59%|█████▉    | 133/225 [00:39<00:19,  4.82it/s]\u001b[A\n",
      " 60%|█████▉    | 134/225 [00:40<00:21,  4.24it/s]\u001b[A\n",
      " 60%|██████    | 135/225 [00:40<00:22,  4.01it/s]\u001b[A\n",
      " 60%|██████    | 136/225 [00:40<00:19,  4.49it/s]\u001b[A\n",
      " 61%|██████    | 137/225 [00:41<00:39,  2.23it/s]\u001b[A\n",
      " 61%|██████▏   | 138/225 [00:41<00:31,  2.77it/s]\u001b[A\n",
      " 62%|██████▏   | 139/225 [00:41<00:25,  3.33it/s]\u001b[A\n",
      " 62%|██████▏   | 140/225 [00:42<00:22,  3.86it/s]\u001b[A\n",
      " 63%|██████▎   | 141/225 [00:42<00:20,  4.02it/s]\u001b[A\n",
      " 63%|██████▎   | 142/225 [00:42<00:20,  4.13it/s]\u001b[A\n",
      " 64%|██████▎   | 143/225 [00:42<00:20,  4.01it/s]\u001b[A\n",
      " 64%|██████▍   | 144/225 [00:43<00:21,  3.84it/s]\u001b[A\n",
      " 64%|██████▍   | 145/225 [00:43<00:31,  2.56it/s]\u001b[A\n",
      " 65%|██████▍   | 146/225 [00:43<00:25,  3.12it/s]\u001b[A\n",
      " 65%|██████▌   | 147/225 [00:44<00:21,  3.68it/s]\u001b[A\n",
      " 66%|██████▌   | 148/225 [00:44<00:20,  3.76it/s]\u001b[A\n",
      " 66%|██████▌   | 149/225 [00:44<00:17,  4.27it/s]\u001b[A\n",
      " 67%|██████▋   | 150/225 [00:44<00:22,  3.32it/s]\u001b[A\n",
      " 67%|██████▋   | 151/225 [00:45<00:20,  3.64it/s]\u001b[A\n",
      " 68%|██████▊   | 152/225 [00:45<00:26,  2.79it/s]\u001b[A\n",
      " 68%|██████▊   | 153/225 [00:45<00:21,  3.30it/s]\u001b[A\n",
      " 68%|██████▊   | 154/225 [00:46<00:18,  3.84it/s]\u001b[A\n",
      " 69%|██████▉   | 155/225 [00:46<00:16,  4.34it/s]\u001b[A\n",
      " 69%|██████▉   | 156/225 [00:46<00:17,  4.05it/s]\u001b[A\n",
      " 70%|██████▉   | 157/225 [00:46<00:15,  4.47it/s]\u001b[A\n",
      " 70%|███████   | 158/225 [00:47<00:18,  3.60it/s]\u001b[A\n",
      " 71%|███████   | 159/225 [00:47<00:27,  2.41it/s]\u001b[A\n",
      " 71%|███████   | 160/225 [00:47<00:22,  2.93it/s]\u001b[A\n",
      " 72%|███████▏  | 161/225 [00:48<00:20,  3.11it/s]\u001b[A\n",
      " 72%|███████▏  | 162/225 [00:48<00:17,  3.67it/s]\u001b[A\n",
      " 72%|███████▏  | 163/225 [00:48<00:14,  4.16it/s]\u001b[A\n",
      " 73%|███████▎  | 164/225 [00:48<00:16,  3.78it/s]\u001b[A\n",
      " 73%|███████▎  | 165/225 [00:49<00:14,  4.29it/s]\u001b[A\n",
      " 74%|███████▍  | 166/225 [00:49<00:16,  3.52it/s]\u001b[A\n",
      " 74%|███████▍  | 167/225 [00:50<00:29,  1.98it/s]\u001b[A\n",
      " 75%|███████▍  | 168/225 [00:50<00:22,  2.49it/s]\u001b[A\n",
      " 75%|███████▌  | 169/225 [00:50<00:18,  3.04it/s]\u001b[A\n",
      " 76%|███████▌  | 170/225 [00:50<00:15,  3.57it/s]\u001b[A\n",
      " 76%|███████▌  | 171/225 [00:51<00:13,  4.10it/s]\u001b[A\n",
      " 76%|███████▋  | 172/225 [00:51<00:11,  4.57it/s]\u001b[A\n",
      " 77%|███████▋  | 173/225 [00:51<00:10,  4.96it/s]\u001b[A\n",
      " 77%|███████▋  | 174/225 [00:51<00:11,  4.48it/s]\u001b[A\n",
      " 78%|███████▊  | 175/225 [00:52<00:20,  2.42it/s]\u001b[A\n",
      " 78%|███████▊  | 176/225 [00:52<00:16,  2.98it/s]\u001b[A\n",
      " 79%|███████▊  | 177/225 [00:52<00:13,  3.53it/s]\u001b[A\n",
      " 79%|███████▉  | 178/225 [00:53<00:11,  4.08it/s]\u001b[A\n",
      " 80%|███████▉  | 179/225 [00:53<00:10,  4.58it/s]\u001b[A\n",
      " 80%|████████  | 180/225 [00:53<00:09,  4.98it/s]\u001b[A\n",
      " 80%|████████  | 181/225 [00:53<00:11,  3.86it/s]\u001b[A\n",
      " 81%|████████  | 182/225 [00:53<00:10,  3.93it/s]\u001b[A\n",
      " 81%|████████▏ | 183/225 [00:55<00:24,  1.72it/s]\u001b[A\n",
      " 82%|████████▏ | 184/225 [00:55<00:18,  2.19it/s]\u001b[A\n",
      " 82%|████████▏ | 185/225 [00:55<00:14,  2.71it/s]\u001b[A\n",
      " 83%|████████▎ | 186/225 [00:55<00:11,  3.27it/s]\u001b[A\n",
      " 83%|████████▎ | 187/225 [00:55<00:10,  3.78it/s]\u001b[A\n",
      " 84%|████████▎ | 188/225 [00:56<00:09,  4.11it/s]\u001b[A\n",
      " 84%|████████▍ | 189/225 [00:56<00:07,  4.55it/s]\u001b[A\n",
      " 84%|████████▍ | 190/225 [00:56<00:07,  4.69it/s]\u001b[A\n",
      " 85%|████████▍ | 191/225 [00:57<00:19,  1.72it/s]\u001b[A\n",
      " 85%|████████▌ | 192/225 [00:58<00:15,  2.19it/s]\u001b[A\n",
      " 86%|████████▌ | 193/225 [00:58<00:12,  2.64it/s]\u001b[A\n",
      " 86%|████████▌ | 194/225 [00:58<00:10,  3.08it/s]\u001b[A\n",
      " 87%|████████▋ | 195/225 [00:58<00:08,  3.45it/s]\u001b[A\n",
      " 87%|████████▋ | 196/225 [00:58<00:07,  3.78it/s]\u001b[A\n",
      " 88%|████████▊ | 197/225 [00:59<00:06,  4.07it/s]\u001b[A\n",
      " 88%|████████▊ | 198/225 [00:59<00:06,  4.33it/s]\u001b[A\n",
      " 88%|████████▊ | 199/225 [01:00<00:09,  2.69it/s]\u001b[A\n",
      " 89%|████████▉ | 200/225 [01:00<00:08,  3.11it/s]\u001b[A\n",
      " 89%|████████▉ | 201/225 [01:00<00:06,  3.50it/s]\u001b[A\n",
      " 90%|████████▉ | 202/225 [01:00<00:06,  3.82it/s]\u001b[A\n",
      " 90%|█████████ | 203/225 [01:00<00:05,  4.09it/s]\u001b[A\n",
      " 91%|█████████ | 204/225 [01:01<00:04,  4.32it/s]\u001b[A\n",
      " 91%|█████████ | 205/225 [01:01<00:04,  4.48it/s]\u001b[A\n",
      " 92%|█████████▏| 206/225 [01:01<00:04,  4.14it/s]\u001b[A\n",
      " 92%|█████████▏| 207/225 [01:02<00:07,  2.44it/s]\u001b[A\n",
      " 92%|█████████▏| 208/225 [01:02<00:05,  2.87it/s]\u001b[A\n",
      " 93%|█████████▎| 209/225 [01:02<00:04,  3.29it/s]\u001b[A\n",
      " 93%|█████████▎| 210/225 [01:02<00:04,  3.67it/s]\u001b[A\n",
      " 94%|█████████▍| 211/225 [01:03<00:03,  3.97it/s]\u001b[A\n",
      " 94%|█████████▍| 212/225 [01:03<00:03,  4.23it/s]\u001b[A\n",
      " 95%|█████████▍| 213/225 [01:03<00:02,  4.28it/s]\u001b[A\n",
      " 95%|█████████▌| 214/225 [01:03<00:02,  4.25it/s]\u001b[A\n",
      " 96%|█████████▌| 215/225 [01:04<00:03,  2.76it/s]\u001b[A\n",
      " 96%|█████████▌| 216/225 [01:04<00:02,  3.17it/s]\u001b[A\n",
      " 96%|█████████▋| 217/225 [01:04<00:02,  3.55it/s]\u001b[A\n",
      " 97%|█████████▋| 218/225 [01:05<00:01,  3.88it/s]\u001b[A\n",
      " 97%|█████████▋| 219/225 [01:05<00:01,  4.11it/s]\u001b[A\n",
      " 98%|█████████▊| 220/225 [01:05<00:01,  4.29it/s]\u001b[A\n",
      " 98%|█████████▊| 221/225 [01:05<00:00,  4.43it/s]\u001b[A\n",
      " 99%|█████████▊| 222/225 [01:05<00:00,  4.44it/s]\u001b[A\n",
      " 99%|█████████▉| 223/225 [01:06<00:00,  4.59it/s]\u001b[A\n",
      "100%|█████████▉| 224/225 [01:06<00:00,  4.70it/s]\u001b[A\n",
      "                                                         \n",
      " 11%|█         | 1500/13730 [2:08:54<16:07:06,  4.74s/it]\n",
      "100%|██████████| 225/225 [01:06<00:00,  4.81it/s]\u001b[A\n",
      "                                                 \u001b[A"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'eval_loss': 0.12538094818592072, 'eval_runtime': 70.4737, 'eval_samples_per_second': 25.442, 'eval_steps_per_second': 3.193, 'epoch': 1.09}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 11%|█         | 1520/13730 [2:10:37<15:50:51,  4.67s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.0998, 'grad_norm': 62.5, 'learning_rate': 1.9799872165610357e-05, 'epoch': 1.11}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 11%|█         | 1540/13730 [2:12:10<15:48:10,  4.67s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.0829, 'grad_norm': 50.5, 'learning_rate': 1.9790169184793045e-05, 'epoch': 1.12}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 11%|█▏        | 1560/13730 [2:13:45<16:48:52,  4.97s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.181, 'grad_norm': 58.5, 'learning_rate': 1.9780239011415704e-05, 'epoch': 1.14}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 12%|█▏        | 1580/13730 [2:15:21<15:47:21,  4.68s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.1911, 'grad_norm': 52.5, 'learning_rate': 1.9770081875919854e-05, 'epoch': 1.15}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 12%|█▏        | 1600/13730 [2:16:57<17:28:12,  5.18s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.0841, 'grad_norm': 59.0, 'learning_rate': 1.975969801401395e-05, 'epoch': 1.17}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 12%|█▏        | 1620/13730 [2:18:35<15:32:19,  4.62s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.0284, 'grad_norm': 55.0, 'learning_rate': 1.9749087666667908e-05, 'epoch': 1.18}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 12%|█▏        | 1640/13730 [2:20:08<15:34:32,  4.64s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.1852, 'grad_norm': 52.25, 'learning_rate': 1.973825108010749e-05, 'epoch': 1.19}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 12%|█▏        | 1660/13730 [2:21:41<15:33:47,  4.64s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.093, 'grad_norm': 52.25, 'learning_rate': 1.9727188505808625e-05, 'epoch': 1.21}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 12%|█▏        | 1680/13730 [2:23:17<16:57:35,  5.07s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.9878, 'grad_norm': 55.25, 'learning_rate': 1.9715900200491552e-05, 'epoch': 1.22}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 12%|█▏        | 1700/13730 [2:24:52<15:48:49,  4.73s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.9991, 'grad_norm': 46.25, 'learning_rate': 1.9704386426114865e-05, 'epoch': 1.24}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 13%|█▎        | 1720/13730 [2:26:28<16:00:32,  4.80s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.0864, 'grad_norm': 62.75, 'learning_rate': 1.9692647449869448e-05, 'epoch': 1.25}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 13%|█▎        | 1740/13730 [2:28:04<16:04:11,  4.82s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.1087, 'grad_norm': 52.75, 'learning_rate': 1.9680683544172244e-05, 'epoch': 1.27}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 13%|█▎        | 1760/13730 [2:29:37<14:50:28,  4.46s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.9834, 'grad_norm': 51.75, 'learning_rate': 1.9668494986659966e-05, 'epoch': 1.28}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 13%|█▎        | 1780/13730 [2:31:09<15:14:31,  4.59s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.0685, 'grad_norm': 54.0, 'learning_rate': 1.9656082060182643e-05, 'epoch': 1.3}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 13%|█▎        | 1800/13730 [2:32:43<15:45:50,  4.76s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.0149, 'grad_norm': 52.0, 'learning_rate': 1.964344505279704e-05, 'epoch': 1.31}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 13%|█▎        | 1820/13730 [2:34:15<15:17:07,  4.62s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.9994, 'grad_norm': 47.5, 'learning_rate': 1.9630584257760004e-05, 'epoch': 1.33}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 13%|█▎        | 1840/13730 [2:35:49<15:25:34,  4.67s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.0543, 'grad_norm': 58.25, 'learning_rate': 1.9617499973521625e-05, 'epoch': 1.34}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 14%|█▎        | 1860/13730 [2:37:22<16:05:42,  4.88s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.0198, 'grad_norm': 39.0, 'learning_rate': 1.960419250371834e-05, 'epoch': 1.35}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 14%|█▎        | 1880/13730 [2:38:59<15:49:39,  4.81s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.9805, 'grad_norm': 53.5, 'learning_rate': 1.959066215716586e-05, 'epoch': 1.37}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 14%|█▍        | 1900/13730 [2:40:36<16:28:58,  5.02s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.0276, 'grad_norm': 48.75, 'learning_rate': 1.9576909247852035e-05, 'epoch': 1.38}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 14%|█▍        | 1920/13730 [2:42:18<18:51:31,  5.75s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.9901, 'grad_norm': 49.75, 'learning_rate': 1.9562934094929532e-05, 'epoch': 1.4}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 14%|█▍        | 1940/13730 [2:43:56<16:32:55,  5.05s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 2.0076, 'grad_norm': 49.0, 'learning_rate': 1.954873702270845e-05, 'epoch': 1.41}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 14%|█▍        | 1960/13730 [2:45:33<15:11:26,  4.65s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.8804, 'grad_norm': 49.5, 'learning_rate': 1.9534318360648804e-05, 'epoch': 1.43}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 14%|█▍        | 1980/13730 [2:47:09<15:37:54,  4.79s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.9376, 'grad_norm': 55.75, 'learning_rate': 1.951967844335285e-05, 'epoch': 1.44}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 15%|█▍        | 2000/13730 [2:48:48<15:29:41,  4.76s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.9087, 'grad_norm': 52.5, 'learning_rate': 1.950481761055733e-05, 'epoch': 1.46}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "  0%|          | 0/225 [00:00<?, ?it/s]\u001b[A\n",
      "  1%|          | 2/225 [00:00<00:18, 12.30it/s]\u001b[A\n",
      "  2%|▏         | 4/225 [00:00<00:28,  7.85it/s]\u001b[A\n",
      "  2%|▏         | 5/225 [00:00<00:29,  7.35it/s]\u001b[A\n",
      "  3%|▎         | 6/225 [00:00<00:31,  7.02it/s]\u001b[A\n",
      "  3%|▎         | 7/225 [00:00<00:32,  6.76it/s]\u001b[A\n",
      "  4%|▎         | 8/225 [00:02<01:30,  2.40it/s]\u001b[A\n",
      "  4%|▍         | 9/225 [00:02<01:15,  2.86it/s]\u001b[A\n",
      "  4%|▍         | 10/225 [00:02<01:03,  3.40it/s]\u001b[A\n",
      "  5%|▍         | 11/225 [00:02<00:55,  3.89it/s]\u001b[A\n",
      "  5%|▌         | 12/225 [00:02<00:48,  4.40it/s]\u001b[A\n",
      "  6%|▌         | 13/225 [00:02<00:43,  4.84it/s]\u001b[A\n",
      "  6%|▌         | 14/225 [00:03<00:40,  5.16it/s]\u001b[A\n",
      "  7%|▋         | 15/225 [00:03<00:39,  5.34it/s]\u001b[A\n",
      "  7%|▋         | 16/225 [00:04<01:50,  1.90it/s]\u001b[A\n",
      "  8%|▊         | 17/225 [00:04<01:26,  2.40it/s]\u001b[A\n",
      "  8%|▊         | 18/225 [00:04<01:10,  2.94it/s]\u001b[A\n",
      "  8%|▊         | 19/225 [00:04<00:59,  3.48it/s]\u001b[A\n",
      "  9%|▉         | 20/225 [00:05<00:54,  3.75it/s]\u001b[A\n",
      "  9%|▉         | 21/225 [00:05<00:47,  4.27it/s]\u001b[A\n",
      " 10%|▉         | 22/225 [00:05<00:42,  4.75it/s]\u001b[A\n",
      " 10%|█         | 23/225 [00:05<00:39,  5.13it/s]\u001b[A\n",
      " 11%|█         | 24/225 [00:06<01:05,  3.09it/s]\u001b[A\n",
      " 11%|█         | 25/225 [00:06<01:15,  2.65it/s]\u001b[A\n",
      " 12%|█▏        | 26/225 [00:06<01:02,  3.19it/s]\u001b[A\n",
      " 12%|█▏        | 27/225 [00:07<00:56,  3.50it/s]\u001b[A\n",
      " 12%|█▏        | 28/225 [00:07<00:48,  4.06it/s]\u001b[A\n",
      " 13%|█▎        | 29/225 [00:07<00:43,  4.55it/s]\u001b[A\n",
      " 13%|█▎        | 30/225 [00:07<00:39,  4.98it/s]\u001b[A\n",
      " 14%|█▍        | 31/225 [00:07<00:36,  5.34it/s]\u001b[A\n",
      " 14%|█▍        | 32/225 [00:08<01:09,  2.76it/s]\u001b[A\n",
      " 15%|█▍        | 33/225 [00:08<00:57,  3.31it/s]\u001b[A\n",
      " 15%|█▌        | 34/225 [00:09<01:08,  2.78it/s]\u001b[A\n",
      " 16%|█▌        | 35/225 [00:09<00:56,  3.34it/s]\u001b[A\n",
      " 16%|█▌        | 36/225 [00:09<00:48,  3.89it/s]\u001b[A\n",
      " 16%|█▋        | 37/225 [00:09<00:42,  4.39it/s]\u001b[A\n",
      " 17%|█▋        | 38/225 [00:09<00:38,  4.83it/s]\u001b[A\n",
      " 17%|█▋        | 39/225 [00:10<00:35,  5.18it/s]\u001b[A\n",
      " 18%|█▊        | 40/225 [00:10<01:05,  2.81it/s]\u001b[A\n",
      " 18%|█▊        | 41/225 [00:10<00:54,  3.36it/s]\u001b[A\n",
      " 19%|█▊        | 42/225 [00:11<00:55,  3.30it/s]\u001b[A\n",
      " 19%|█▉        | 43/225 [00:11<00:47,  3.84it/s]\u001b[A\n",
      " 20%|█▉        | 44/225 [00:11<00:41,  4.36it/s]\u001b[A\n",
      " 20%|██        | 45/225 [00:11<00:37,  4.76it/s]\u001b[A\n",
      " 20%|██        | 46/225 [00:11<00:35,  5.07it/s]\u001b[A\n",
      " 21%|██        | 47/225 [00:12<00:33,  5.35it/s]\u001b[A\n",
      " 21%|██▏       | 48/225 [00:13<01:18,  2.27it/s]\u001b[A\n",
      " 22%|██▏       | 49/225 [00:13<01:03,  2.77it/s]\u001b[A\n",
      " 22%|██▏       | 50/225 [00:13<00:52,  3.31it/s]\u001b[A\n",
      " 23%|██▎       | 51/225 [00:13<00:44,  3.87it/s]\u001b[A\n",
      " 23%|██▎       | 52/225 [00:13<00:39,  4.39it/s]\u001b[A\n",
      " 24%|██▎       | 53/225 [00:13<00:35,  4.83it/s]\u001b[A\n",
      " 24%|██▍       | 54/225 [00:14<00:34,  5.02it/s]\u001b[A\n",
      " 24%|██▍       | 55/225 [00:14<00:37,  4.56it/s]\u001b[A\n",
      " 25%|██▍       | 56/225 [00:15<01:17,  2.18it/s]\u001b[A\n",
      " 25%|██▌       | 57/225 [00:15<01:02,  2.69it/s]\u001b[A\n",
      " 26%|██▌       | 58/225 [00:15<00:51,  3.24it/s]\u001b[A\n",
      " 26%|██▌       | 59/225 [00:15<00:43,  3.79it/s]\u001b[A\n",
      " 27%|██▋       | 60/225 [00:16<00:38,  4.30it/s]\u001b[A\n",
      " 27%|██▋       | 61/225 [00:16<00:34,  4.76it/s]\u001b[A\n",
      " 28%|██▊       | 62/225 [00:16<00:32,  5.07it/s]\u001b[A\n",
      " 28%|██▊       | 63/225 [00:16<00:30,  5.27it/s]\u001b[A\n",
      " 28%|██▊       | 64/225 [00:17<01:03,  2.54it/s]\u001b[A\n",
      " 29%|██▉       | 65/225 [00:17<00:51,  3.08it/s]\u001b[A\n",
      " 29%|██▉       | 66/225 [00:17<00:44,  3.56it/s]\u001b[A\n",
      " 30%|██▉       | 67/225 [00:17<00:38,  4.06it/s]\u001b[A\n",
      " 30%|███       | 68/225 [00:18<00:34,  4.49it/s]\u001b[A\n",
      " 31%|███       | 69/225 [00:18<00:31,  4.92it/s]\u001b[A\n",
      " 31%|███       | 70/225 [00:18<00:29,  5.21it/s]\u001b[A\n",
      " 32%|███▏      | 71/225 [00:18<00:28,  5.45it/s]\u001b[A\n",
      " 32%|███▏      | 72/225 [00:19<00:51,  2.96it/s]\u001b[A\n",
      " 32%|███▏      | 73/225 [00:19<00:43,  3.51it/s]\u001b[A\n",
      " 33%|███▎      | 74/225 [00:19<00:37,  4.05it/s]\u001b[A\n",
      " 33%|███▎      | 75/225 [00:19<00:33,  4.52it/s]\u001b[A\n",
      " 34%|███▍      | 76/225 [00:19<00:30,  4.88it/s]\u001b[A\n",
      " 34%|███▍      | 77/225 [00:20<00:28,  5.20it/s]\u001b[A\n",
      " 35%|███▍      | 78/225 [00:20<00:26,  5.50it/s]\u001b[A\n",
      " 35%|███▌      | 79/225 [00:20<00:32,  4.55it/s]\u001b[A\n",
      " 36%|███▌      | 80/225 [00:21<01:10,  2.04it/s]\u001b[A\n",
      " 36%|███▌      | 81/225 [00:21<00:56,  2.55it/s]\u001b[A\n",
      " 36%|███▋      | 82/225 [00:21<00:46,  3.10it/s]\u001b[A\n",
      " 37%|███▋      | 83/225 [00:22<00:39,  3.62it/s]\u001b[A\n",
      " 37%|███▋      | 84/225 [00:22<00:34,  4.12it/s]\u001b[A\n",
      " 38%|███▊      | 85/225 [00:22<00:30,  4.59it/s]\u001b[A\n",
      " 38%|███▊      | 86/225 [00:22<00:27,  4.97it/s]\u001b[A\n",
      " 39%|███▊      | 87/225 [00:23<00:41,  3.34it/s]\u001b[A\n",
      " 39%|███▉      | 88/225 [00:24<01:03,  2.15it/s]\u001b[A\n",
      " 40%|███▉      | 89/225 [00:24<00:51,  2.66it/s]\u001b[A\n",
      " 40%|████      | 90/225 [00:24<00:41,  3.22it/s]\u001b[A\n",
      " 40%|████      | 91/225 [00:24<00:35,  3.75it/s]\u001b[A\n",
      " 41%|████      | 92/225 [00:24<00:31,  4.27it/s]\u001b[A\n",
      " 41%|████▏     | 93/225 [00:24<00:28,  4.69it/s]\u001b[A\n",
      " 42%|████▏     | 94/225 [00:24<00:25,  5.06it/s]\u001b[A\n",
      " 42%|████▏     | 95/225 [00:25<00:34,  3.75it/s]\u001b[A\n",
      " 43%|████▎     | 96/225 [00:26<01:01,  2.10it/s]\u001b[A\n",
      " 43%|████▎     | 97/225 [00:26<00:48,  2.62it/s]\u001b[A\n",
      " 44%|████▎     | 98/225 [00:26<00:40,  3.16it/s]\u001b[A\n",
      " 44%|████▍     | 99/225 [00:26<00:34,  3.71it/s]\u001b[A\n",
      " 44%|████▍     | 100/225 [00:27<00:29,  4.22it/s]\u001b[A\n",
      " 45%|████▍     | 101/225 [00:27<00:43,  2.88it/s]\u001b[A\n",
      " 45%|████▌     | 102/225 [00:27<00:35,  3.44it/s]\u001b[A\n",
      " 46%|████▌     | 103/225 [00:28<00:37,  3.22it/s]\u001b[A\n",
      " 46%|████▌     | 104/225 [00:28<00:52,  2.31it/s]\u001b[A\n",
      " 47%|████▋     | 105/225 [00:29<00:44,  2.67it/s]\u001b[A\n",
      " 47%|████▋     | 106/225 [00:29<00:36,  3.22it/s]\u001b[A\n",
      " 48%|████▊     | 107/225 [00:29<00:31,  3.75it/s]\u001b[A\n",
      " 48%|████▊     | 108/225 [00:29<00:27,  4.24it/s]\u001b[A\n",
      " 48%|████▊     | 109/225 [00:29<00:26,  4.37it/s]\u001b[A\n",
      " 49%|████▉     | 110/225 [00:29<00:23,  4.81it/s]\u001b[A\n",
      " 49%|████▉     | 111/225 [00:30<00:32,  3.54it/s]\u001b[A\n",
      " 50%|████▉     | 112/225 [00:31<01:00,  1.87it/s]\u001b[A\n",
      " 50%|█████     | 113/225 [00:31<00:47,  2.37it/s]\u001b[A\n",
      " 51%|█████     | 114/225 [00:31<00:39,  2.84it/s]\u001b[A\n",
      " 51%|█████     | 115/225 [00:32<00:33,  3.32it/s]\u001b[A\n",
      " 52%|█████▏    | 116/225 [00:32<00:28,  3.83it/s]\u001b[A\n",
      " 52%|█████▏    | 117/225 [00:32<00:42,  2.51it/s]\u001b[A\n",
      " 52%|█████▏    | 118/225 [00:33<00:35,  3.02it/s]\u001b[A\n",
      " 53%|█████▎    | 119/225 [00:33<00:29,  3.55it/s]\u001b[A\n",
      " 53%|█████▎    | 120/225 [00:34<01:04,  1.62it/s]\u001b[A\n",
      " 54%|█████▍    | 121/225 [00:34<00:49,  2.08it/s]\u001b[A\n",
      " 54%|█████▍    | 122/225 [00:35<00:39,  2.60it/s]\u001b[A\n",
      " 55%|█████▍    | 123/225 [00:35<00:32,  3.15it/s]\u001b[A\n",
      " 55%|█████▌    | 124/225 [00:35<00:27,  3.69it/s]\u001b[A\n",
      " 56%|█████▌    | 125/225 [00:35<00:38,  2.62it/s]\u001b[A\n",
      " 56%|█████▌    | 126/225 [00:36<00:31,  3.15it/s]\u001b[A\n",
      " 56%|█████▋    | 127/225 [00:36<00:33,  2.89it/s]\u001b[A\n",
      " 57%|█████▋    | 128/225 [00:37<00:38,  2.49it/s]\u001b[A\n",
      " 57%|█████▋    | 129/225 [00:37<00:31,  3.01it/s]\u001b[A\n",
      " 58%|█████▊    | 130/225 [00:37<00:26,  3.56it/s]\u001b[A\n",
      " 58%|█████▊    | 131/225 [00:37<00:23,  4.07it/s]\u001b[A\n",
      " 59%|█████▊    | 132/225 [00:37<00:20,  4.51it/s]\u001b[A\n",
      " 59%|█████▉    | 133/225 [00:38<00:25,  3.56it/s]\u001b[A\n",
      " 60%|█████▉    | 134/225 [00:38<00:22,  4.09it/s]\u001b[A\n",
      " 60%|██████    | 135/225 [00:39<00:34,  2.62it/s]\u001b[A\n",
      " 60%|██████    | 136/225 [00:39<00:32,  2.71it/s]\u001b[A\n",
      " 61%|██████    | 137/225 [00:39<00:27,  3.24it/s]\u001b[A\n",
      " 61%|██████▏   | 138/225 [00:39<00:22,  3.80it/s]\u001b[A\n",
      " 62%|██████▏   | 139/225 [00:39<00:19,  4.31it/s]\u001b[A\n",
      " 62%|██████▏   | 140/225 [00:40<00:18,  4.71it/s]\u001b[A\n",
      " 63%|██████▎   | 141/225 [00:40<00:21,  3.85it/s]\u001b[A\n",
      " 63%|██████▎   | 142/225 [00:40<00:22,  3.71it/s]\u001b[A\n",
      " 64%|██████▎   | 143/225 [00:41<00:35,  2.34it/s]\u001b[A\n",
      " 64%|██████▍   | 144/225 [00:41<00:30,  2.63it/s]\u001b[A\n",
      " 64%|██████▍   | 145/225 [00:41<00:25,  3.18it/s]\u001b[A\n",
      " 65%|██████▍   | 146/225 [00:42<00:21,  3.71it/s]\u001b[A\n",
      " 65%|██████▌   | 147/225 [00:42<00:18,  4.22it/s]\u001b[A\n",
      " 66%|██████▌   | 148/225 [00:42<00:16,  4.64it/s]\u001b[A\n",
      " 66%|██████▌   | 149/225 [00:42<00:15,  5.03it/s]\u001b[A\n",
      " 67%|██████▋   | 150/225 [00:43<00:29,  2.53it/s]\u001b[A\n",
      " 67%|██████▋   | 151/225 [00:43<00:24,  3.07it/s]\u001b[A\n",
      " 68%|██████▊   | 152/225 [00:44<00:27,  2.63it/s]\u001b[A\n",
      " 68%|██████▊   | 153/225 [00:44<00:22,  3.19it/s]\u001b[A\n",
      " 68%|██████▊   | 154/225 [00:44<00:19,  3.69it/s]\u001b[A\n",
      " 69%|██████▉   | 155/225 [00:44<00:16,  4.16it/s]\u001b[A\n",
      " 69%|██████▉   | 156/225 [00:44<00:15,  4.57it/s]\u001b[A\n",
      " 70%|██████▉   | 157/225 [00:44<00:13,  4.88it/s]\u001b[A\n",
      " 70%|███████   | 158/225 [00:45<00:21,  3.17it/s]\u001b[A\n",
      " 71%|███████   | 159/225 [00:45<00:20,  3.19it/s]\u001b[A\n",
      " 71%|███████   | 160/225 [00:45<00:17,  3.71it/s]\u001b[A\n",
      " 72%|███████▏  | 161/225 [00:46<00:15,  4.21it/s]\u001b[A\n",
      " 72%|███████▏  | 162/225 [00:46<00:13,  4.63it/s]\u001b[A\n",
      " 72%|███████▏  | 163/225 [00:46<00:13,  4.59it/s]\u001b[A\n",
      " 73%|███████▎  | 164/225 [00:46<00:12,  4.93it/s]\u001b[A\n",
      " 73%|███████▎  | 165/225 [00:46<00:11,  5.20it/s]\u001b[A\n",
      " 74%|███████▍  | 166/225 [00:48<00:28,  2.09it/s]\u001b[A\n",
      " 74%|███████▍  | 167/225 [00:48<00:29,  1.97it/s]\u001b[A\n",
      " 75%|███████▍  | 168/225 [00:48<00:23,  2.47it/s]\u001b[A\n",
      " 75%|███████▌  | 169/225 [00:48<00:18,  3.00it/s]\u001b[A\n",
      " 76%|███████▌  | 170/225 [00:49<00:15,  3.53it/s]\u001b[A\n",
      " 76%|███████▌  | 171/225 [00:49<00:14,  3.61it/s]\u001b[A\n",
      " 76%|███████▋  | 172/225 [00:49<00:12,  4.09it/s]\u001b[A\n",
      " 77%|███████▋  | 173/225 [00:49<00:11,  4.51it/s]\u001b[A\n",
      " 77%|███████▋  | 174/225 [00:50<00:17,  2.90it/s]\u001b[A\n",
      " 78%|███████▊  | 175/225 [00:50<00:15,  3.18it/s]\u001b[A\n",
      " 78%|███████▊  | 176/225 [00:50<00:13,  3.71it/s]\u001b[A\n",
      " 79%|███████▊  | 177/225 [00:50<00:11,  4.20it/s]\u001b[A\n",
      " 79%|███████▉  | 178/225 [00:51<00:10,  4.63it/s]\u001b[A\n",
      " 80%|███████▉  | 179/225 [00:51<00:15,  2.88it/s]\u001b[A\n",
      " 80%|████████  | 180/225 [00:51<00:13,  3.41it/s]\u001b[A\n",
      " 80%|████████  | 181/225 [00:52<00:11,  3.92it/s]\u001b[A\n",
      " 81%|████████  | 182/225 [00:52<00:11,  3.90it/s]\u001b[A\n",
      " 81%|████████▏ | 183/225 [00:53<00:16,  2.52it/s]\u001b[A\n",
      " 82%|████████▏ | 184/225 [00:53<00:13,  2.99it/s]\u001b[A\n",
      " 82%|████████▏ | 185/225 [00:53<00:11,  3.50it/s]\u001b[A\n",
      " 83%|████████▎ | 186/225 [00:53<00:09,  4.01it/s]\u001b[A\n",
      " 83%|████████▎ | 187/225 [00:54<00:13,  2.80it/s]\u001b[A\n",
      " 84%|████████▎ | 188/225 [00:54<00:11,  3.27it/s]\u001b[A\n",
      " 84%|████████▍ | 189/225 [00:54<00:09,  3.76it/s]\u001b[A\n",
      " 84%|████████▍ | 190/225 [00:54<00:09,  3.56it/s]\u001b[A\n",
      " 85%|████████▍ | 191/225 [00:55<00:11,  2.96it/s]\u001b[A\n",
      " 85%|████████▌ | 192/225 [00:55<00:09,  3.48it/s]\u001b[A\n",
      " 86%|████████▌ | 193/225 [00:55<00:07,  4.01it/s]\u001b[A\n",
      " 86%|████████▌ | 194/225 [00:55<00:06,  4.48it/s]\u001b[A\n",
      " 87%|████████▋ | 195/225 [00:56<00:14,  2.14it/s]\u001b[A\n",
      " 87%|████████▋ | 196/225 [00:57<00:10,  2.65it/s]\u001b[A\n",
      " 88%|████████▊ | 197/225 [00:57<00:08,  3.18it/s]\u001b[A\n",
      " 88%|████████▊ | 198/225 [00:57<00:07,  3.72it/s]\u001b[A\n",
      " 88%|████████▊ | 199/225 [00:57<00:06,  3.93it/s]\u001b[A\n",
      " 89%|████████▉ | 200/225 [00:57<00:05,  4.38it/s]\u001b[A\n",
      " 89%|████████▉ | 201/225 [00:57<00:05,  4.72it/s]\u001b[A\n",
      " 90%|████████▉ | 202/225 [00:58<00:04,  4.99it/s]\u001b[A\n",
      " 90%|█████████ | 203/225 [00:58<00:06,  3.21it/s]\u001b[A\n",
      " 91%|█████████ | 204/225 [00:58<00:05,  3.73it/s]\u001b[A\n",
      " 91%|█████████ | 205/225 [00:58<00:04,  4.19it/s]\u001b[A\n",
      " 92%|█████████▏| 206/225 [00:59<00:04,  4.42it/s]\u001b[A\n",
      " 92%|█████████▏| 207/225 [00:59<00:04,  3.87it/s]\u001b[A\n",
      " 92%|█████████▏| 208/225 [00:59<00:03,  4.34it/s]\u001b[A\n",
      " 93%|█████████▎| 209/225 [00:59<00:03,  4.73it/s]\u001b[A\n",
      " 93%|█████████▎| 210/225 [01:00<00:03,  4.19it/s]\u001b[A\n",
      " 94%|█████████▍| 211/225 [01:01<00:06,  2.28it/s]\u001b[A\n",
      " 94%|█████████▍| 212/225 [01:01<00:04,  2.80it/s]\u001b[A\n",
      " 95%|█████████▍| 213/225 [01:01<00:03,  3.16it/s]\u001b[A\n",
      " 95%|█████████▌| 214/225 [01:01<00:03,  3.62it/s]\u001b[A\n",
      " 96%|█████████▌| 215/225 [01:01<00:02,  4.13it/s]\u001b[A\n",
      " 96%|█████████▌| 216/225 [01:01<00:01,  4.59it/s]\u001b[A\n",
      " 96%|█████████▋| 217/225 [01:02<00:01,  4.89it/s]\u001b[A\n",
      " 97%|█████████▋| 218/225 [01:02<00:01,  5.17it/s]\u001b[A\n",
      " 97%|█████████▋| 219/225 [01:02<00:01,  5.39it/s]\u001b[A\n",
      " 98%|█████████▊| 220/225 [01:02<00:00,  5.55it/s]\u001b[A\n",
      " 98%|█████████▊| 221/225 [01:02<00:00,  5.65it/s]\u001b[A\n",
      " 99%|█████████▊| 222/225 [01:02<00:00,  5.50it/s]\u001b[A\n",
      " 99%|█████████▉| 223/225 [01:03<00:00,  5.73it/s]\u001b[A\n",
      "100%|█████████▉| 224/225 [01:03<00:00,  5.88it/s]\u001b[A\n",
      "                                                         \n",
      " 15%|█▍        | 2000/13730 [2:49:56<15:29:41,  4.76s/it]\n",
      "100%|██████████| 225/225 [01:03<00:00,  5.69it/s]\u001b[A\n",
      "                                                 \u001b[A"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'eval_loss': 0.11254730820655823, 'eval_runtime': 67.3448, 'eval_samples_per_second': 26.624, 'eval_steps_per_second': 3.341, 'epoch': 1.46}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 15%|█▍        | 2020/13730 [2:51:40<15:43:08,  4.83s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.9441, 'grad_norm': 40.75, 'learning_rate': 1.9489736207125623e-05, 'epoch': 1.47}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 15%|█▍        | 2040/13730 [2:53:15<15:19:45,  4.72s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.9067, 'grad_norm': 44.0, 'learning_rate': 1.9474434583039687e-05, 'epoch': 1.49}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 15%|█▌        | 2060/13730 [2:54:50<15:17:46,  4.72s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.9339, 'grad_norm': 51.0, 'learning_rate': 1.9458913093391965e-05, 'epoch': 1.5}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 15%|█▌        | 2080/13730 [2:56:23<15:07:24,  4.67s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.9913, 'grad_norm': 50.0, 'learning_rate': 1.9443172098377158e-05, 'epoch': 1.52}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 15%|█▌        | 2100/13730 [2:58:00<15:14:12,  4.72s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.9971, 'grad_norm': 40.25, 'learning_rate': 1.9427211963283838e-05, 'epoch': 1.53}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 15%|█▌        | 2120/13730 [2:59:40<14:48:25,  4.59s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.9614, 'grad_norm': 61.75, 'learning_rate': 1.9411033058485983e-05, 'epoch': 1.54}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 16%|█▌        | 2140/13730 [3:01:17<15:19:57,  4.76s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.7754, 'grad_norm': 59.75, 'learning_rate': 1.939463575943439e-05, 'epoch': 1.56}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 16%|█▌        | 2160/13730 [3:02:50<14:52:05,  4.63s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.9798, 'grad_norm': 59.25, 'learning_rate': 1.9378020446647955e-05, 'epoch': 1.57}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 16%|█▌        | 2180/13730 [3:04:24<14:50:21,  4.63s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.9187, 'grad_norm': 43.0, 'learning_rate': 1.936118750570484e-05, 'epoch': 1.59}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 16%|█▌        | 2200/13730 [3:06:00<15:30:33,  4.84s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.8434, 'grad_norm': 55.0, 'learning_rate': 1.9344137327233528e-05, 'epoch': 1.6}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 16%|█▌        | 2220/13730 [3:07:34<14:58:32,  4.68s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.9547, 'grad_norm': 51.75, 'learning_rate': 1.932687030690376e-05, 'epoch': 1.62}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 16%|█▋        | 2240/13730 [3:09:13<15:29:47,  4.86s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.9794, 'grad_norm': 41.75, 'learning_rate': 1.930938684541735e-05, 'epoch': 1.63}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 16%|█▋        | 2260/13730 [3:10:50<16:31:17,  5.19s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.8965, 'grad_norm': 51.25, 'learning_rate': 1.9291687348498887e-05, 'epoch': 1.65}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 17%|█▋        | 2280/13730 [3:12:27<15:18:28,  4.81s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.9359, 'grad_norm': 53.0, 'learning_rate': 1.927377222688632e-05, 'epoch': 1.66}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 17%|█▋        | 2300/13730 [3:14:04<15:17:42,  4.82s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.8745, 'grad_norm': 50.75, 'learning_rate': 1.9255641896321426e-05, 'epoch': 1.68}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 17%|█▋        | 2320/13730 [3:15:40<15:10:36,  4.79s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.9297, 'grad_norm': 46.5, 'learning_rate': 1.9237296777540167e-05, 'epoch': 1.69}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 17%|█▋        | 2340/13730 [3:17:13<14:08:42,  4.47s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.8551, 'grad_norm': 43.25, 'learning_rate': 1.9218737296262917e-05, 'epoch': 1.7}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 17%|█▋        | 2360/13730 [3:18:47<15:02:06,  4.76s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.9397, 'grad_norm': 46.5, 'learning_rate': 1.9199963883184586e-05, 'epoch': 1.72}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 17%|█▋        | 2380/13730 [3:20:29<16:34:00,  5.25s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.8899, 'grad_norm': 57.0, 'learning_rate': 1.918097697396463e-05, 'epoch': 1.73}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 17%|█▋        | 2400/13730 [3:22:03<14:45:26,  4.69s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.8618, 'grad_norm': 55.5, 'learning_rate': 1.9161777009216942e-05, 'epoch': 1.75}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 18%|█▊        | 2420/13730 [3:23:38<14:42:53,  4.68s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.8442, 'grad_norm': 44.75, 'learning_rate': 1.9142364434499618e-05, 'epoch': 1.76}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 18%|█▊        | 2440/13730 [3:25:11<14:53:34,  4.75s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.8146, 'grad_norm': 55.75, 'learning_rate': 1.9122739700304614e-05, 'epoch': 1.78}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 18%|█▊        | 2460/13730 [3:26:46<15:08:28,  4.84s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.7164, 'grad_norm': 51.75, 'learning_rate': 1.9102903262047313e-05, 'epoch': 1.79}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 18%|█▊        | 2480/13730 [3:28:21<14:48:34,  4.74s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.9355, 'grad_norm': 51.25, 'learning_rate': 1.9082855580055945e-05, 'epoch': 1.81}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 18%|█▊        | 2500/13730 [3:29:58<15:21:40,  4.92s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.8544, 'grad_norm': 45.5, 'learning_rate': 1.9062597119560887e-05, 'epoch': 1.82}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "  0%|          | 0/225 [00:00<?, ?it/s]\u001b[A\n",
      "  1%|          | 2/225 [00:00<00:17, 12.39it/s]\u001b[A\n",
      "  2%|▏         | 4/225 [00:00<00:28,  7.85it/s]\u001b[A\n",
      "  2%|▏         | 5/225 [00:00<00:29,  7.38it/s]\u001b[A\n",
      "  3%|▎         | 6/225 [00:00<00:31,  7.03it/s]\u001b[A\n",
      "  3%|▎         | 7/225 [00:00<00:32,  6.74it/s]\u001b[A\n",
      "  4%|▎         | 8/225 [00:02<02:23,  1.52it/s]\u001b[A\n",
      "  4%|▍         | 9/225 [00:02<01:50,  1.96it/s]\u001b[A\n",
      "  4%|▍         | 10/225 [00:03<01:27,  2.46it/s]\u001b[A\n",
      "  5%|▍         | 11/225 [00:03<01:11,  2.99it/s]\u001b[A\n",
      "  5%|▌         | 12/225 [00:03<01:00,  3.54it/s]\u001b[A\n",
      "  6%|▌         | 13/225 [00:03<00:52,  4.07it/s]\u001b[A\n",
      "  6%|▌         | 14/225 [00:03<00:46,  4.54it/s]\u001b[A\n",
      "  7%|▋         | 15/225 [00:03<00:43,  4.86it/s]\u001b[A\n",
      "  7%|▋         | 16/225 [00:05<01:40,  2.08it/s]\u001b[A\n",
      "  8%|▊         | 17/225 [00:05<01:23,  2.49it/s]\u001b[A\n",
      "  8%|▊         | 18/225 [00:05<01:16,  2.71it/s]\u001b[A\n",
      "  8%|▊         | 19/225 [00:05<01:03,  3.25it/s]\u001b[A\n",
      "  9%|▉         | 20/225 [00:05<00:57,  3.56it/s]\u001b[A\n",
      "  9%|▉         | 21/225 [00:06<00:49,  4.11it/s]\u001b[A\n",
      " 10%|▉         | 22/225 [00:06<00:44,  4.60it/s]\u001b[A\n",
      " 10%|█         | 23/225 [00:06<00:40,  5.02it/s]\u001b[A\n",
      " 11%|█         | 24/225 [00:07<01:36,  2.08it/s]\u001b[A\n",
      " 11%|█         | 25/225 [00:08<02:07,  1.57it/s]\u001b[A\n",
      " 12%|█▏        | 26/225 [00:08<01:38,  2.02it/s]\u001b[A\n",
      " 12%|█▏        | 27/225 [00:08<01:21,  2.43it/s]\u001b[A\n",
      " 12%|█▏        | 28/225 [00:09<01:05,  2.99it/s]\u001b[A\n",
      " 13%|█▎        | 29/225 [00:09<00:54,  3.57it/s]\u001b[A\n",
      " 13%|█▎        | 30/225 [00:09<00:47,  4.10it/s]\u001b[A\n",
      " 14%|█▍        | 31/225 [00:09<00:42,  4.59it/s]\u001b[A\n",
      " 14%|█▍        | 32/225 [00:10<01:29,  2.15it/s]\u001b[A\n",
      " 15%|█▍        | 33/225 [00:11<01:57,  1.64it/s]\u001b[A\n",
      " 15%|█▌        | 34/225 [00:11<01:30,  2.10it/s]\u001b[A\n",
      " 16%|█▌        | 35/225 [00:11<01:12,  2.62it/s]\u001b[A\n",
      " 16%|█▌        | 36/225 [00:12<00:59,  3.18it/s]\u001b[A\n",
      " 16%|█▋        | 37/225 [00:12<00:50,  3.73it/s]\u001b[A\n",
      " 17%|█▋        | 38/225 [00:12<00:44,  4.23it/s]\u001b[A\n",
      " 17%|█▋        | 39/225 [00:12<00:39,  4.71it/s]\u001b[A\n",
      " 18%|█▊        | 40/225 [00:13<01:21,  2.27it/s]\u001b[A\n",
      " 18%|█▊        | 41/225 [00:14<01:34,  1.94it/s]\u001b[A\n",
      " 19%|█▊        | 42/225 [00:14<01:15,  2.44it/s]\u001b[A\n",
      " 19%|█▉        | 43/225 [00:14<01:00,  3.00it/s]\u001b[A\n",
      " 20%|█▉        | 44/225 [00:14<00:50,  3.56it/s]\u001b[A\n",
      " 20%|██        | 45/225 [00:14<00:43,  4.12it/s]\u001b[A\n",
      " 20%|██        | 46/225 [00:14<00:38,  4.61it/s]\u001b[A\n",
      " 21%|██        | 47/225 [00:15<00:35,  5.00it/s]\u001b[A\n",
      " 21%|██▏       | 48/225 [00:16<01:18,  2.25it/s]\u001b[A\n",
      " 22%|██▏       | 49/225 [00:16<01:24,  2.09it/s]\u001b[A\n",
      " 22%|██▏       | 50/225 [00:16<01:07,  2.61it/s]\u001b[A\n",
      " 23%|██▎       | 51/225 [00:17<00:54,  3.16it/s]\u001b[A\n",
      " 23%|██▎       | 52/225 [00:17<00:46,  3.72it/s]\u001b[A\n",
      " 24%|██▎       | 53/225 [00:17<00:40,  4.23it/s]\u001b[A\n",
      " 24%|██▍       | 54/225 [00:17<00:37,  4.54it/s]\u001b[A\n",
      " 24%|██▍       | 55/225 [00:17<00:39,  4.31it/s]\u001b[A\n",
      " 25%|██▍       | 56/225 [00:19<01:44,  1.62it/s]\u001b[A\n",
      " 25%|██▌       | 57/225 [00:19<01:20,  2.08it/s]\u001b[A\n",
      " 26%|██▌       | 58/225 [00:19<01:04,  2.60it/s]\u001b[A\n",
      " 26%|██▌       | 59/225 [00:19<00:52,  3.16it/s]\u001b[A\n",
      " 27%|██▋       | 60/225 [00:19<00:44,  3.71it/s]\u001b[A\n",
      " 27%|██▋       | 61/225 [00:20<00:38,  4.23it/s]\u001b[A\n",
      " 28%|██▊       | 62/225 [00:20<00:34,  4.68it/s]\u001b[A\n",
      " 28%|██▊       | 63/225 [00:20<00:35,  4.58it/s]\u001b[A\n",
      " 28%|██▊       | 64/225 [00:21<01:35,  1.69it/s]\u001b[A\n",
      " 29%|██▉       | 65/225 [00:22<01:13,  2.16it/s]\u001b[A\n",
      " 29%|██▉       | 66/225 [00:22<00:59,  2.65it/s]\u001b[A\n",
      " 30%|██▉       | 67/225 [00:22<00:49,  3.18it/s]\u001b[A\n",
      " 30%|███       | 68/225 [00:22<00:42,  3.72it/s]\u001b[A\n",
      " 31%|███       | 69/225 [00:22<00:36,  4.24it/s]\u001b[A\n",
      " 31%|███       | 70/225 [00:22<00:33,  4.65it/s]\u001b[A\n",
      " 32%|███▏      | 71/225 [00:23<00:30,  4.98it/s]\u001b[A\n",
      " 32%|███▏      | 72/225 [00:24<01:18,  1.96it/s]\u001b[A\n",
      " 32%|███▏      | 73/225 [00:24<01:01,  2.46it/s]\u001b[A\n",
      " 33%|███▎      | 74/225 [00:24<00:50,  3.01it/s]\u001b[A\n",
      " 33%|███▎      | 75/225 [00:24<00:42,  3.57it/s]\u001b[A\n",
      " 34%|███▍      | 76/225 [00:25<00:36,  4.08it/s]\u001b[A\n",
      " 34%|███▍      | 77/225 [00:25<00:32,  4.58it/s]\u001b[A\n",
      " 35%|███▍      | 78/225 [00:25<00:29,  5.02it/s]\u001b[A\n",
      " 35%|███▌      | 79/225 [00:25<00:34,  4.24it/s]\u001b[A\n",
      " 36%|███▌      | 80/225 [00:26<01:16,  1.90it/s]\u001b[A\n",
      " 36%|███▌      | 81/225 [00:27<01:00,  2.39it/s]\u001b[A\n",
      " 36%|███▋      | 82/225 [00:27<00:48,  2.94it/s]\u001b[A\n",
      " 37%|███▋      | 83/225 [00:27<00:40,  3.51it/s]\u001b[A\n",
      " 37%|███▋      | 84/225 [00:27<00:34,  4.03it/s]\u001b[A\n",
      " 38%|███▊      | 85/225 [00:27<00:31,  4.51it/s]\u001b[A\n",
      " 38%|███▊      | 86/225 [00:27<00:28,  4.92it/s]\u001b[A\n",
      " 39%|███▊      | 87/225 [00:28<00:42,  3.24it/s]\u001b[A\n",
      " 39%|███▉      | 88/225 [00:29<01:08,  2.00it/s]\u001b[A\n",
      " 40%|███▉      | 89/225 [00:29<00:54,  2.51it/s]\u001b[A\n",
      " 40%|████      | 90/225 [00:29<00:43,  3.08it/s]\u001b[A\n",
      " 40%|████      | 91/225 [00:29<00:37,  3.62it/s]\u001b[A\n",
      " 41%|████      | 92/225 [00:29<00:32,  4.16it/s]\u001b[A\n",
      " 41%|████▏     | 93/225 [00:30<00:28,  4.63it/s]\u001b[A\n",
      " 42%|████▏     | 94/225 [00:30<00:26,  5.04it/s]\u001b[A\n",
      " 42%|████▏     | 95/225 [00:31<00:49,  2.63it/s]\u001b[A\n",
      " 43%|████▎     | 96/225 [00:31<01:10,  1.84it/s]\u001b[A\n",
      " 43%|████▎     | 97/225 [00:32<00:54,  2.34it/s]\u001b[A\n",
      " 44%|████▎     | 98/225 [00:32<00:44,  2.86it/s]\u001b[A\n",
      " 44%|████▍     | 99/225 [00:32<00:36,  3.41it/s]\u001b[A\n",
      " 44%|████▍     | 100/225 [00:32<00:31,  3.97it/s]\u001b[A\n",
      " 45%|████▍     | 101/225 [00:32<00:27,  4.47it/s]\u001b[A\n",
      " 45%|████▌     | 102/225 [00:33<00:28,  4.26it/s]\u001b[A\n",
      " 46%|████▌     | 103/225 [00:34<01:18,  1.54it/s]\u001b[A\n",
      " 46%|████▌     | 104/225 [00:34<01:00,  1.99it/s]\u001b[A\n",
      " 47%|████▋     | 105/225 [00:35<00:50,  2.39it/s]\u001b[A\n",
      " 47%|████▋     | 106/225 [00:35<00:40,  2.91it/s]\u001b[A\n",
      " 48%|████▊     | 107/225 [00:35<00:34,  3.39it/s]\u001b[A\n",
      " 48%|████▊     | 108/225 [00:35<00:29,  3.91it/s]\u001b[A\n",
      " 48%|████▊     | 109/225 [00:35<00:26,  4.41it/s]\u001b[A\n",
      " 49%|████▉     | 110/225 [00:36<00:36,  3.11it/s]\u001b[A\n",
      " 49%|████▉     | 111/225 [00:37<00:51,  2.22it/s]\u001b[A\n",
      " 50%|████▉     | 112/225 [00:37<00:44,  2.57it/s]\u001b[A\n",
      " 50%|█████     | 113/225 [00:37<00:35,  3.13it/s]\u001b[A\n",
      " 51%|█████     | 114/225 [00:37<00:30,  3.70it/s]\u001b[A\n",
      " 51%|█████     | 115/225 [00:37<00:26,  4.23it/s]\u001b[A\n",
      " 52%|█████▏    | 116/225 [00:37<00:23,  4.65it/s]\u001b[A\n",
      " 52%|█████▏    | 117/225 [00:38<00:21,  5.00it/s]\u001b[A\n",
      " 52%|█████▏    | 118/225 [00:38<00:35,  3.05it/s]\u001b[A\n",
      " 53%|█████▎    | 119/225 [00:39<00:51,  2.07it/s]\u001b[A\n",
      " 53%|█████▎    | 120/225 [00:39<00:41,  2.51it/s]\u001b[A\n",
      " 54%|█████▍    | 121/225 [00:39<00:34,  3.05it/s]\u001b[A\n",
      " 54%|█████▍    | 122/225 [00:40<00:28,  3.60it/s]\u001b[A\n",
      " 55%|█████▍    | 123/225 [00:40<00:24,  4.12it/s]\u001b[A\n",
      " 55%|█████▌    | 124/225 [00:40<00:22,  4.53it/s]\u001b[A\n",
      " 56%|█████▌    | 125/225 [00:40<00:20,  4.94it/s]\u001b[A\n",
      " 56%|█████▌    | 126/225 [00:40<00:24,  4.11it/s]\u001b[A\n",
      " 56%|█████▋    | 127/225 [00:42<01:05,  1.50it/s]\u001b[A\n",
      " 57%|█████▋    | 128/225 [00:42<00:49,  1.95it/s]\u001b[A\n",
      " 57%|█████▋    | 129/225 [00:42<00:39,  2.43it/s]\u001b[A\n",
      " 58%|█████▊    | 130/225 [00:43<00:31,  2.97it/s]\u001b[A\n",
      " 58%|█████▊    | 131/225 [00:43<00:26,  3.51it/s]\u001b[A\n",
      " 59%|█████▊    | 132/225 [00:43<00:24,  3.82it/s]\u001b[A\n",
      " 59%|█████▉    | 133/225 [00:43<00:21,  4.28it/s]\u001b[A\n",
      " 60%|█████▉    | 134/225 [00:43<00:24,  3.65it/s]\u001b[A\n",
      " 60%|██████    | 135/225 [00:45<00:59,  1.51it/s]\u001b[A\n",
      " 60%|██████    | 136/225 [00:45<00:45,  1.95it/s]\u001b[A\n",
      " 61%|██████    | 137/225 [00:45<00:36,  2.41it/s]\u001b[A\n",
      " 61%|██████▏   | 138/225 [00:46<00:30,  2.82it/s]\u001b[A\n",
      " 62%|██████▏   | 139/225 [00:46<00:26,  3.26it/s]\u001b[A\n",
      " 62%|██████▏   | 140/225 [00:46<00:23,  3.55it/s]\u001b[A\n",
      " 63%|██████▎   | 141/225 [00:46<00:23,  3.62it/s]\u001b[A\n",
      " 63%|██████▎   | 142/225 [00:46<00:21,  3.94it/s]\u001b[A\n",
      " 64%|██████▎   | 143/225 [00:48<00:43,  1.90it/s]\u001b[A\n",
      " 64%|██████▍   | 144/225 [00:48<00:34,  2.34it/s]\u001b[A\n",
      " 64%|██████▍   | 145/225 [00:48<00:28,  2.79it/s]\u001b[A\n",
      " 65%|██████▍   | 146/225 [00:48<00:24,  3.20it/s]\u001b[A\n",
      " 65%|██████▌   | 147/225 [00:48<00:21,  3.58it/s]\u001b[A\n",
      " 66%|██████▌   | 148/225 [00:49<00:19,  3.92it/s]\u001b[A\n",
      " 66%|██████▌   | 149/225 [00:49<00:18,  4.21it/s]\u001b[A\n",
      " 67%|██████▋   | 150/225 [00:49<00:17,  4.41it/s]\u001b[A\n",
      " 67%|██████▋   | 151/225 [00:49<00:17,  4.16it/s]\u001b[A\n",
      " 68%|██████▊   | 152/225 [00:49<00:15,  4.59it/s]\u001b[A\n",
      " 68%|██████▊   | 153/225 [00:50<00:14,  4.99it/s]\u001b[A\n",
      " 68%|██████▊   | 154/225 [00:50<00:14,  4.79it/s]\u001b[A\n",
      " 69%|██████▉   | 155/225 [00:50<00:13,  5.18it/s]\u001b[A\n",
      " 69%|██████▉   | 156/225 [00:50<00:12,  5.45it/s]\u001b[A\n",
      " 70%|██████▉   | 157/225 [00:50<00:12,  5.60it/s]\u001b[A\n",
      " 70%|███████   | 158/225 [00:51<00:21,  3.14it/s]\u001b[A\n",
      " 71%|███████   | 159/225 [00:51<00:24,  2.73it/s]\u001b[A\n",
      " 71%|███████   | 160/225 [00:52<00:19,  3.28it/s]\u001b[A\n",
      " 72%|███████▏  | 161/225 [00:52<00:16,  3.79it/s]\u001b[A\n",
      " 72%|███████▏  | 162/225 [00:52<00:15,  4.08it/s]\u001b[A\n",
      " 72%|███████▏  | 163/225 [00:52<00:13,  4.56it/s]\u001b[A\n",
      " 73%|███████▎  | 164/225 [00:52<00:12,  4.93it/s]\u001b[A\n",
      " 73%|███████▎  | 165/225 [00:52<00:11,  5.29it/s]\u001b[A\n",
      " 74%|███████▍  | 166/225 [00:54<00:35,  1.67it/s]\u001b[A\n",
      " 74%|███████▍  | 167/225 [00:55<00:36,  1.60it/s]\u001b[A\n",
      " 75%|███████▍  | 168/225 [00:55<00:27,  2.07it/s]\u001b[A\n",
      " 75%|███████▌  | 169/225 [00:55<00:21,  2.59it/s]\u001b[A\n",
      " 76%|███████▌  | 170/225 [00:55<00:17,  3.14it/s]\u001b[A\n",
      " 76%|███████▌  | 171/225 [00:55<00:14,  3.70it/s]\u001b[A\n",
      " 76%|███████▋  | 172/225 [00:55<00:12,  4.23it/s]\u001b[A\n",
      " 77%|███████▋  | 173/225 [00:56<00:11,  4.65it/s]\u001b[A\n",
      " 77%|███████▋  | 174/225 [00:57<00:20,  2.45it/s]\u001b[A\n",
      " 78%|███████▊  | 175/225 [00:57<00:16,  3.00it/s]\u001b[A\n",
      " 78%|███████▊  | 176/225 [00:57<00:13,  3.57it/s]\u001b[A\n",
      " 79%|███████▊  | 177/225 [00:57<00:11,  4.12it/s]\u001b[A\n",
      " 79%|███████▉  | 178/225 [00:57<00:10,  4.61it/s]\u001b[A\n",
      " 80%|███████▉  | 179/225 [00:57<00:09,  5.03it/s]\u001b[A\n",
      " 80%|████████  | 180/225 [00:57<00:08,  5.37it/s]\u001b[A\n",
      " 80%|████████  | 181/225 [00:58<00:07,  5.64it/s]\u001b[A\n",
      " 81%|████████  | 182/225 [00:59<00:16,  2.55it/s]\u001b[A\n",
      " 81%|████████▏ | 183/225 [00:59<00:15,  2.76it/s]\u001b[A\n",
      " 82%|████████▏ | 184/225 [00:59<00:12,  3.30it/s]\u001b[A\n",
      " 82%|████████▏ | 185/225 [00:59<00:10,  3.84it/s]\u001b[A\n",
      " 83%|████████▎ | 186/225 [00:59<00:08,  4.34it/s]\u001b[A\n",
      " 83%|████████▎ | 187/225 [00:59<00:07,  4.75it/s]\u001b[A\n",
      " 84%|████████▎ | 188/225 [01:00<00:07,  4.93it/s]\u001b[A\n",
      " 84%|████████▍ | 189/225 [01:00<00:06,  5.22it/s]\u001b[A\n",
      " 84%|████████▍ | 190/225 [01:01<00:16,  2.09it/s]\u001b[A\n",
      " 85%|████████▍ | 191/225 [01:01<00:13,  2.43it/s]\u001b[A\n",
      " 85%|████████▌ | 192/225 [01:01<00:11,  2.96it/s]\u001b[A\n",
      " 86%|████████▌ | 193/225 [01:02<00:09,  3.52it/s]\u001b[A\n",
      " 86%|████████▌ | 194/225 [01:02<00:07,  4.05it/s]\u001b[A\n",
      " 87%|████████▋ | 195/225 [01:02<00:06,  4.54it/s]\u001b[A\n",
      " 87%|████████▋ | 196/225 [01:02<00:05,  4.92it/s]\u001b[A\n",
      " 88%|████████▊ | 197/225 [01:02<00:05,  5.26it/s]\u001b[A\n",
      " 88%|████████▊ | 198/225 [01:03<00:09,  2.76it/s]\u001b[A\n",
      " 88%|████████▊ | 199/225 [01:04<00:12,  2.07it/s]\u001b[A\n",
      " 89%|████████▉ | 200/225 [01:04<00:09,  2.59it/s]\u001b[A\n",
      " 89%|████████▉ | 201/225 [01:04<00:07,  3.13it/s]\u001b[A\n",
      " 90%|████████▉ | 202/225 [01:04<00:06,  3.65it/s]\u001b[A\n",
      " 90%|█████████ | 203/225 [01:04<00:05,  4.13it/s]\u001b[A\n",
      " 91%|█████████ | 204/225 [01:05<00:04,  4.61it/s]\u001b[A\n",
      " 91%|█████████ | 205/225 [01:05<00:04,  5.00it/s]\u001b[A\n",
      " 92%|█████████▏| 206/225 [01:05<00:04,  4.03it/s]\u001b[A\n",
      " 92%|█████████▏| 207/225 [01:07<00:11,  1.57it/s]\u001b[A\n",
      " 92%|█████████▏| 208/225 [01:07<00:08,  2.02it/s]\u001b[A\n",
      " 93%|█████████▎| 209/225 [01:07<00:06,  2.53it/s]\u001b[A\n",
      " 93%|█████████▎| 210/225 [01:07<00:04,  3.08it/s]\u001b[A\n",
      " 94%|█████████▍| 211/225 [01:07<00:03,  3.64it/s]\u001b[A\n",
      " 94%|█████████▍| 212/225 [01:07<00:03,  4.14it/s]\u001b[A\n",
      " 95%|█████████▍| 213/225 [01:08<00:02,  4.41it/s]\u001b[A\n",
      " 95%|█████████▌| 214/225 [01:08<00:02,  4.80it/s]\u001b[A\n",
      " 96%|█████████▌| 215/225 [01:08<00:03,  3.29it/s]\u001b[A\n",
      " 96%|█████████▌| 216/225 [01:08<00:02,  3.84it/s]\u001b[A\n",
      " 96%|█████████▋| 217/225 [01:09<00:01,  4.32it/s]\u001b[A\n",
      " 97%|█████████▋| 218/225 [01:09<00:01,  4.75it/s]\u001b[A\n",
      " 97%|█████████▋| 219/225 [01:09<00:01,  5.09it/s]\u001b[A\n",
      " 98%|█████████▊| 220/225 [01:09<00:00,  5.32it/s]\u001b[A\n",
      " 98%|█████████▊| 221/225 [01:09<00:00,  5.52it/s]\u001b[A\n",
      " 99%|█████████▊| 222/225 [01:09<00:00,  5.35it/s]\u001b[A\n",
      " 99%|█████████▉| 223/225 [01:10<00:00,  5.60it/s]\u001b[A\n",
      "100%|█████████▉| 224/225 [01:10<00:00,  5.82it/s]\u001b[A\n",
      "                                                         \n",
      " 18%|█▊        | 2500/13730 [3:31:13<15:21:40,  4.92s/it]\n",
      "100%|██████████| 225/225 [01:10<00:00,  5.45it/s]\u001b[A\n",
      "                                                 \u001b[A"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'eval_loss': 0.10299725830554962, 'eval_runtime': 74.9026, 'eval_samples_per_second': 23.938, 'eval_steps_per_second': 3.004, 'epoch': 1.82}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 18%|█▊        | 2520/13730 [3:32:58<14:56:44,  4.80s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.8548, 'grad_norm': 52.0, 'learning_rate': 1.9042128350683897e-05, 'epoch': 1.84}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 18%|█▊        | 2540/13730 [3:34:29<14:36:33,  4.70s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.8065, 'grad_norm': 53.0, 'learning_rate': 1.9021449748427187e-05, 'epoch': 1.85}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 19%|█▊        | 2560/13730 [3:36:05<14:51:56,  4.79s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.8204, 'grad_norm': 45.0, 'learning_rate': 1.9000561792662396e-05, 'epoch': 1.86}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 19%|█▉        | 2580/13730 [3:37:40<14:49:06,  4.78s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.7691, 'grad_norm': 41.5, 'learning_rate': 1.8979464968119466e-05, 'epoch': 1.88}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 19%|█▉        | 2600/13730 [3:39:17<14:57:58,  4.84s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.717, 'grad_norm': 46.0, 'learning_rate': 1.89581597643754e-05, 'epoch': 1.89}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 19%|█▉        | 2620/13730 [3:40:53<14:46:24,  4.79s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.8515, 'grad_norm': 54.25, 'learning_rate': 1.8936646675842862e-05, 'epoch': 1.91}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 19%|█▉        | 2640/13730 [3:42:28<14:16:13,  4.63s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.7941, 'grad_norm': 44.75, 'learning_rate': 1.8914926201758757e-05, 'epoch': 1.92}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 19%|█▉        | 2660/13730 [3:44:04<14:15:19,  4.64s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.7499, 'grad_norm': 53.5, 'learning_rate': 1.8892998846172604e-05, 'epoch': 1.94}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 20%|█▉        | 2680/13730 [3:45:38<14:12:07,  4.63s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.7328, 'grad_norm': 49.5, 'learning_rate': 1.8870865117934857e-05, 'epoch': 1.95}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 20%|█▉        | 2700/13730 [3:47:10<13:53:34,  4.53s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.7113, 'grad_norm': 51.5, 'learning_rate': 1.88485255306851e-05, 'epoch': 1.97}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 20%|█▉        | 2720/13730 [3:48:44<14:20:48,  4.69s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.74, 'grad_norm': 56.25, 'learning_rate': 1.8825980602840116e-05, 'epoch': 1.98}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 20%|█▉        | 2740/13730 [3:50:21<14:49:31,  4.86s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.8759, 'grad_norm': 50.0, 'learning_rate': 1.8803230857581857e-05, 'epoch': 2.0}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 20%|██        | 2760/13730 [3:52:02<14:19:49,  4.70s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.5877, 'grad_norm': 38.5, 'learning_rate': 1.8780276822845316e-05, 'epoch': 2.01}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 20%|██        | 2780/13730 [3:53:40<14:49:49,  4.88s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3714, 'grad_norm': 46.25, 'learning_rate': 1.875711903130627e-05, 'epoch': 2.02}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 20%|██        | 2800/13730 [3:55:13<14:19:12,  4.72s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3929, 'grad_norm': 48.25, 'learning_rate': 1.8733758020368895e-05, 'epoch': 2.04}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 21%|██        | 2820/13730 [3:56:46<14:02:03,  4.63s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4526, 'grad_norm': 43.5, 'learning_rate': 1.871019433215334e-05, 'epoch': 2.05}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 21%|██        | 2840/13730 [3:58:20<14:07:19,  4.67s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4442, 'grad_norm': 36.75, 'learning_rate': 1.8686428513483107e-05, 'epoch': 2.07}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 21%|██        | 2860/13730 [3:59:52<13:56:27,  4.62s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4693, 'grad_norm': 50.0, 'learning_rate': 1.8662461115872386e-05, 'epoch': 2.08}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 21%|██        | 2880/13730 [4:01:26<14:09:26,  4.70s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3698, 'grad_norm': 41.75, 'learning_rate': 1.8638292695513243e-05, 'epoch': 2.1}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 21%|██        | 2900/13730 [4:03:01<14:38:06,  4.86s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4342, 'grad_norm': 43.25, 'learning_rate': 1.861392381326271e-05, 'epoch': 2.11}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 21%|██▏       | 2920/13730 [4:04:35<14:08:11,  4.71s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.5037, 'grad_norm': 42.75, 'learning_rate': 1.8589355034629792e-05, 'epoch': 2.13}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 21%|██▏       | 2940/13730 [4:06:06<13:10:25,  4.40s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4055, 'grad_norm': 43.75, 'learning_rate': 1.8564586929762313e-05, 'epoch': 2.14}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 22%|██▏       | 2960/13730 [4:07:40<14:40:01,  4.90s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4109, 'grad_norm': 41.5, 'learning_rate': 1.85396200734337e-05, 'epoch': 2.16}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 22%|██▏       | 2980/13730 [4:09:16<14:34:53,  4.88s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4193, 'grad_norm': 46.25, 'learning_rate': 1.8514455045029665e-05, 'epoch': 2.17}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 22%|██▏       | 3000/13730 [4:10:50<14:10:57,  4.76s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3088, 'grad_norm': 40.25, 'learning_rate': 1.8489092428534714e-05, 'epoch': 2.19}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "  0%|          | 0/225 [00:00<?, ?it/s]\u001b[A\n",
      "  1%|          | 2/225 [00:00<00:18, 11.81it/s]\u001b[A\n",
      "  2%|▏         | 4/225 [00:00<00:29,  7.49it/s]\u001b[A\n",
      "  2%|▏         | 5/225 [00:00<00:31,  7.02it/s]\u001b[A\n",
      "  3%|▎         | 6/225 [00:00<00:32,  6.72it/s]\u001b[A\n",
      "  3%|▎         | 7/225 [00:01<00:33,  6.47it/s]\u001b[A\n",
      "  4%|▎         | 8/225 [00:02<01:29,  2.42it/s]\u001b[A\n",
      "  4%|▍         | 9/225 [00:02<01:23,  2.58it/s]\u001b[A\n",
      "  4%|▍         | 10/225 [00:02<01:09,  3.11it/s]\u001b[A\n",
      "  5%|▍         | 11/225 [00:02<00:59,  3.62it/s]\u001b[A\n",
      "  5%|▌         | 12/225 [00:02<00:51,  4.12it/s]\u001b[A\n",
      "  6%|▌         | 13/225 [00:03<00:46,  4.57it/s]\u001b[A\n",
      "  6%|▌         | 14/225 [00:03<00:42,  4.92it/s]\u001b[A\n",
      "  7%|▋         | 15/225 [00:03<00:40,  5.15it/s]\u001b[A\n",
      "  7%|▋         | 16/225 [00:04<01:18,  2.67it/s]\u001b[A\n",
      "  8%|▊         | 17/225 [00:04<01:07,  3.09it/s]\u001b[A\n",
      "  8%|▊         | 18/225 [00:04<00:57,  3.62it/s]\u001b[A\n",
      "  8%|▊         | 19/225 [00:04<00:50,  4.10it/s]\u001b[A\n",
      "  9%|▉         | 20/225 [00:04<00:48,  4.21it/s]\u001b[A\n",
      "  9%|▉         | 21/225 [00:05<00:43,  4.64it/s]\u001b[A\n",
      " 10%|▉         | 22/225 [00:05<00:40,  5.02it/s]\u001b[A\n",
      " 10%|█         | 23/225 [00:05<00:38,  5.29it/s]\u001b[A\n",
      " 11%|█         | 24/225 [00:06<01:16,  2.63it/s]\u001b[A\n",
      " 11%|█         | 25/225 [00:07<01:50,  1.81it/s]\u001b[A\n",
      " 12%|█▏        | 26/225 [00:07<01:27,  2.29it/s]\u001b[A\n",
      " 12%|█▏        | 27/225 [00:07<01:13,  2.68it/s]\u001b[A\n",
      " 12%|█▏        | 28/225 [00:07<01:00,  3.23it/s]\u001b[A\n",
      " 13%|█▎        | 29/225 [00:07<00:52,  3.74it/s]\u001b[A\n",
      " 13%|█▎        | 30/225 [00:08<00:45,  4.26it/s]\u001b[A\n",
      " 14%|█▍        | 31/225 [00:08<00:41,  4.72it/s]\u001b[A\n",
      " 14%|█▍        | 32/225 [00:08<00:38,  5.04it/s]\u001b[A\n",
      " 15%|█▍        | 33/225 [00:09<01:17,  2.48it/s]\u001b[A\n",
      " 15%|█▌        | 34/225 [00:09<01:03,  3.01it/s]\u001b[A\n",
      " 16%|█▌        | 35/225 [00:09<00:53,  3.54it/s]\u001b[A\n",
      " 16%|█▌        | 36/225 [00:09<00:46,  4.03it/s]\u001b[A\n",
      " 16%|█▋        | 37/225 [00:09<00:41,  4.48it/s]\u001b[A\n",
      " 17%|█▋        | 38/225 [00:10<00:38,  4.85it/s]\u001b[A\n",
      " 17%|█▋        | 39/225 [00:10<00:36,  5.13it/s]\u001b[A\n",
      " 18%|█▊        | 40/225 [00:10<00:34,  5.34it/s]\u001b[A\n",
      " 18%|█▊        | 41/225 [00:11<01:14,  2.46it/s]\u001b[A\n",
      " 19%|█▊        | 42/225 [00:11<01:01,  2.98it/s]\u001b[A\n",
      " 19%|█▉        | 43/225 [00:11<00:51,  3.52it/s]\u001b[A\n",
      " 20%|█▉        | 44/225 [00:11<00:44,  4.03it/s]\u001b[A\n",
      " 20%|██        | 45/225 [00:12<00:40,  4.48it/s]\u001b[A\n",
      " 20%|██        | 46/225 [00:12<00:36,  4.86it/s]\u001b[A\n",
      " 21%|██        | 47/225 [00:12<00:34,  5.12it/s]\u001b[A\n",
      " 21%|██▏       | 48/225 [00:12<00:52,  3.38it/s]\u001b[A\n",
      " 22%|██▏       | 49/225 [00:13<00:51,  3.43it/s]\u001b[A\n",
      " 22%|██▏       | 50/225 [00:13<00:44,  3.92it/s]\u001b[A\n",
      " 23%|██▎       | 51/225 [00:13<00:39,  4.36it/s]\u001b[A\n",
      " 23%|██▎       | 52/225 [00:13<00:36,  4.74it/s]\u001b[A\n",
      " 24%|██▎       | 53/225 [00:13<00:33,  5.06it/s]\u001b[A\n",
      " 24%|██▍       | 54/225 [00:14<00:33,  5.15it/s]\u001b[A\n",
      " 24%|██▍       | 55/225 [00:14<00:37,  4.59it/s]\u001b[A\n",
      " 25%|██▍       | 56/225 [00:14<00:42,  4.01it/s]\u001b[A\n",
      " 25%|██▌       | 57/225 [00:15<00:49,  3.36it/s]\u001b[A\n",
      " 26%|██▌       | 58/225 [00:15<00:43,  3.86it/s]\u001b[A\n",
      " 26%|██▌       | 59/225 [00:15<00:38,  4.30it/s]\u001b[A\n",
      " 27%|██▋       | 60/225 [00:15<00:35,  4.70it/s]\u001b[A\n",
      " 27%|██▋       | 61/225 [00:15<00:32,  5.04it/s]\u001b[A\n",
      " 28%|██▊       | 62/225 [00:15<00:30,  5.27it/s]\u001b[A\n",
      " 28%|██▊       | 63/225 [00:16<00:30,  5.38it/s]\u001b[A\n",
      " 28%|██▊       | 64/225 [00:16<00:54,  2.94it/s]\u001b[A\n",
      " 29%|██▉       | 65/225 [00:17<01:05,  2.46it/s]\u001b[A\n",
      " 29%|██▉       | 66/225 [00:17<00:53,  2.96it/s]\u001b[A\n",
      " 30%|██▉       | 67/225 [00:17<00:45,  3.44it/s]\u001b[A\n",
      " 30%|███       | 68/225 [00:17<00:39,  3.95it/s]\u001b[A\n",
      " 31%|███       | 69/225 [00:18<00:35,  4.41it/s]\u001b[A\n",
      " 31%|███       | 70/225 [00:18<00:32,  4.78it/s]\u001b[A\n",
      " 32%|███▏      | 71/225 [00:18<00:30,  5.05it/s]\u001b[A\n",
      " 32%|███▏      | 72/225 [00:18<00:44,  3.41it/s]\u001b[A\n",
      " 32%|███▏      | 73/225 [00:19<00:51,  2.94it/s]\u001b[A\n",
      " 33%|███▎      | 74/225 [00:19<00:43,  3.47it/s]\u001b[A\n",
      " 33%|███▎      | 75/225 [00:19<00:38,  3.94it/s]\u001b[A\n",
      " 34%|███▍      | 76/225 [00:19<00:34,  4.36it/s]\u001b[A\n",
      " 34%|███▍      | 77/225 [00:19<00:31,  4.74it/s]\u001b[A\n",
      " 35%|███▍      | 78/225 [00:20<00:28,  5.08it/s]\u001b[A\n",
      " 35%|███▌      | 79/225 [00:20<00:27,  5.33it/s]\u001b[A\n",
      " 36%|███▌      | 80/225 [00:20<00:34,  4.22it/s]\u001b[A\n",
      " 36%|███▌      | 81/225 [00:21<00:56,  2.54it/s]\u001b[A\n",
      " 36%|███▋      | 82/225 [00:21<00:46,  3.08it/s]\u001b[A\n",
      " 37%|███▋      | 83/225 [00:21<00:39,  3.61it/s]\u001b[A\n",
      " 37%|███▋      | 84/225 [00:21<00:34,  4.08it/s]\u001b[A\n",
      " 38%|███▊      | 85/225 [00:22<00:41,  3.39it/s]\u001b[A\n",
      " 38%|███▊      | 86/225 [00:22<00:35,  3.90it/s]\u001b[A\n",
      " 39%|███▊      | 87/225 [00:22<00:31,  4.33it/s]\u001b[A\n",
      " 39%|███▉      | 88/225 [00:22<00:33,  4.08it/s]\u001b[A\n",
      " 40%|███▉      | 89/225 [00:23<00:35,  3.82it/s]\u001b[A\n",
      " 40%|████      | 90/225 [00:23<00:45,  2.95it/s]\u001b[A\n",
      " 40%|████      | 91/225 [00:23<00:38,  3.49it/s]\u001b[A\n",
      " 41%|████      | 92/225 [00:24<00:55,  2.38it/s]\u001b[A\n",
      " 41%|████▏     | 93/225 [00:27<02:35,  1.18s/it]\u001b[A\n",
      " 42%|████▏     | 94/225 [00:27<01:55,  1.13it/s]\u001b[A\n",
      " 42%|████▏     | 95/225 [00:27<01:26,  1.49it/s]\u001b[A\n",
      " 43%|████▎     | 96/225 [00:28<01:14,  1.73it/s]\u001b[A\n",
      " 43%|████▎     | 97/225 [00:28<00:58,  2.19it/s]\u001b[A\n",
      " 44%|████▎     | 98/225 [00:28<00:46,  2.71it/s]\u001b[A\n",
      " 44%|████▍     | 99/225 [00:28<00:38,  3.23it/s]\u001b[A\n",
      " 44%|████▍     | 100/225 [00:29<00:33,  3.76it/s]\u001b[A\n",
      " 45%|████▍     | 101/225 [00:30<01:02,  2.00it/s]\u001b[A\n",
      " 45%|████▌     | 102/225 [00:30<00:49,  2.50it/s]\u001b[A\n",
      " 46%|████▌     | 103/225 [00:30<00:40,  3.03it/s]\u001b[A\n",
      " 46%|████▌     | 104/225 [00:30<00:36,  3.30it/s]\u001b[A\n",
      " 47%|████▋     | 105/225 [00:30<00:37,  3.18it/s]\u001b[A\n",
      " 47%|████▋     | 106/225 [00:31<00:32,  3.70it/s]\u001b[A\n",
      " 48%|████▊     | 107/225 [00:31<00:28,  4.16it/s]\u001b[A\n",
      " 48%|████▊     | 108/225 [00:31<00:25,  4.57it/s]\u001b[A\n",
      " 48%|████▊     | 109/225 [00:32<00:59,  1.95it/s]\u001b[A\n",
      " 49%|████▉     | 110/225 [00:32<00:46,  2.45it/s]\u001b[A\n",
      " 49%|████▉     | 111/225 [00:33<00:38,  2.96it/s]\u001b[A\n",
      " 50%|████▉     | 112/225 [00:33<00:33,  3.38it/s]\u001b[A\n",
      " 50%|█████     | 113/225 [00:33<00:28,  3.91it/s]\u001b[A\n",
      " 51%|█████     | 114/225 [00:33<00:25,  4.38it/s]\u001b[A\n",
      " 51%|█████     | 115/225 [00:33<00:23,  4.78it/s]\u001b[A\n",
      " 52%|█████▏    | 116/225 [00:33<00:21,  5.06it/s]\u001b[A\n",
      " 52%|█████▏    | 117/225 [00:35<00:53,  2.01it/s]\u001b[A\n",
      " 52%|█████▏    | 118/225 [00:35<00:42,  2.50it/s]\u001b[A\n",
      " 53%|█████▎    | 119/225 [00:35<00:35,  3.02it/s]\u001b[A\n",
      " 53%|█████▎    | 120/225 [00:35<00:29,  3.55it/s]\u001b[A\n",
      " 54%|█████▍    | 121/225 [00:35<00:25,  4.01it/s]\u001b[A\n",
      " 54%|█████▍    | 122/225 [00:35<00:23,  4.44it/s]\u001b[A\n",
      " 55%|█████▍    | 123/225 [00:36<00:21,  4.78it/s]\u001b[A\n",
      " 55%|█████▌    | 124/225 [00:36<00:20,  5.03it/s]\u001b[A\n",
      " 56%|█████▌    | 125/225 [00:37<00:42,  2.37it/s]\u001b[A\n",
      " 56%|█████▌    | 126/225 [00:37<00:34,  2.90it/s]\u001b[A\n",
      " 56%|█████▋    | 127/225 [00:37<00:28,  3.43it/s]\u001b[A\n",
      " 57%|█████▋    | 128/225 [00:37<00:24,  3.93it/s]\u001b[A\n",
      " 57%|█████▋    | 129/225 [00:37<00:23,  4.09it/s]\u001b[A\n",
      " 58%|█████▊    | 130/225 [00:38<00:22,  4.30it/s]\u001b[A\n",
      " 58%|█████▊    | 131/225 [00:38<00:21,  4.45it/s]\u001b[A\n",
      " 59%|█████▊    | 132/225 [00:38<00:20,  4.56it/s]\u001b[A\n",
      " 59%|█████▉    | 133/225 [00:39<00:30,  3.01it/s]\u001b[A\n",
      " 60%|█████▉    | 134/225 [00:39<00:26,  3.39it/s]\u001b[A\n",
      " 60%|██████    | 135/225 [00:39<00:26,  3.43it/s]\u001b[A\n",
      " 60%|██████    | 136/225 [00:39<00:22,  3.93it/s]\u001b[A\n",
      " 61%|██████    | 137/225 [00:39<00:20,  4.32it/s]\u001b[A\n",
      " 61%|██████▏   | 138/225 [00:40<00:19,  4.47it/s]\u001b[A\n",
      " 62%|██████▏   | 139/225 [00:40<00:17,  4.85it/s]\u001b[A\n",
      " 62%|██████▏   | 140/225 [00:40<00:17,  4.85it/s]\u001b[A\n",
      " 63%|██████▎   | 141/225 [00:41<00:28,  2.95it/s]\u001b[A\n",
      " 63%|██████▎   | 142/225 [00:41<00:23,  3.49it/s]\u001b[A\n",
      " 64%|██████▎   | 143/225 [00:41<00:28,  2.86it/s]\u001b[A\n",
      " 64%|██████▍   | 144/225 [00:42<00:23,  3.40it/s]\u001b[A\n",
      " 64%|██████▍   | 145/225 [00:42<00:20,  3.93it/s]\u001b[A\n",
      " 65%|██████▍   | 146/225 [00:42<00:18,  4.38it/s]\u001b[A\n",
      " 65%|██████▌   | 147/225 [00:42<00:16,  4.77it/s]\u001b[A\n",
      " 66%|██████▌   | 148/225 [00:42<00:16,  4.56it/s]\u001b[A\n",
      " 66%|██████▌   | 149/225 [00:43<00:21,  3.53it/s]\u001b[A\n",
      " 67%|██████▋   | 150/225 [00:43<00:18,  4.06it/s]\u001b[A\n",
      " 67%|██████▋   | 151/225 [00:44<00:29,  2.49it/s]\u001b[A\n",
      " 68%|██████▊   | 152/225 [00:44<00:25,  2.90it/s]\u001b[A\n",
      " 68%|██████▊   | 153/225 [00:44<00:21,  3.31it/s]\u001b[A\n",
      " 68%|██████▊   | 154/225 [00:44<00:19,  3.67it/s]\u001b[A\n",
      " 69%|██████▉   | 155/225 [00:44<00:17,  3.97it/s]\u001b[A\n",
      " 69%|██████▉   | 156/225 [00:45<00:16,  4.16it/s]\u001b[A\n",
      " 70%|██████▉   | 157/225 [00:45<00:18,  3.70it/s]\u001b[A\n",
      " 70%|███████   | 158/225 [00:45<00:16,  3.98it/s]\u001b[A\n",
      " 71%|███████   | 159/225 [00:45<00:16,  3.90it/s]\u001b[A\n",
      " 71%|███████   | 160/225 [00:46<00:15,  4.16it/s]\u001b[A\n",
      " 72%|███████▏  | 161/225 [00:46<00:14,  4.36it/s]\u001b[A\n",
      " 72%|███████▏  | 162/225 [00:46<00:14,  4.25it/s]\u001b[A\n",
      " 72%|███████▏  | 163/225 [00:46<00:13,  4.44it/s]\u001b[A\n",
      " 73%|███████▎  | 164/225 [00:47<00:14,  4.19it/s]\u001b[A\n",
      " 73%|███████▎  | 165/225 [00:47<00:21,  2.80it/s]\u001b[A\n",
      " 74%|███████▍  | 166/225 [00:47<00:18,  3.21it/s]\u001b[A\n",
      " 74%|███████▍  | 167/225 [00:48<00:24,  2.41it/s]\u001b[A\n",
      " 75%|███████▍  | 168/225 [00:48<00:19,  2.85it/s]\u001b[A\n",
      " 75%|███████▌  | 169/225 [00:49<00:17,  3.27it/s]\u001b[A\n",
      " 76%|███████▌  | 170/225 [00:49<00:15,  3.60it/s]\u001b[A\n",
      " 76%|███████▌  | 171/225 [00:49<00:14,  3.85it/s]\u001b[A\n",
      " 76%|███████▋  | 172/225 [00:49<00:12,  4.12it/s]\u001b[A\n",
      " 77%|███████▋  | 173/225 [00:49<00:12,  4.31it/s]\u001b[A\n",
      " 77%|███████▋  | 174/225 [00:50<00:11,  4.46it/s]\u001b[A\n",
      " 78%|███████▊  | 175/225 [00:50<00:17,  2.92it/s]\u001b[A\n",
      " 78%|███████▊  | 176/225 [00:50<00:14,  3.33it/s]\u001b[A\n",
      " 79%|███████▊  | 177/225 [00:51<00:12,  3.69it/s]\u001b[A\n",
      " 79%|███████▉  | 178/225 [00:51<00:11,  3.99it/s]\u001b[A\n",
      " 80%|███████▉  | 179/225 [00:51<00:10,  4.21it/s]\u001b[A\n",
      " 80%|████████  | 180/225 [00:51<00:10,  4.35it/s]\u001b[A\n",
      " 80%|████████  | 181/225 [00:51<00:09,  4.50it/s]\u001b[A\n",
      " 81%|████████  | 182/225 [00:52<00:09,  4.62it/s]\u001b[A\n",
      " 81%|████████▏ | 183/225 [00:52<00:17,  2.45it/s]\u001b[A\n",
      " 82%|████████▏ | 184/225 [00:53<00:13,  2.98it/s]\u001b[A\n",
      " 82%|████████▏ | 185/225 [00:53<00:11,  3.51it/s]\u001b[A\n",
      " 83%|████████▎ | 186/225 [00:53<00:09,  4.02it/s]\u001b[A\n",
      " 83%|████████▎ | 187/225 [00:53<00:08,  4.44it/s]\u001b[A\n",
      " 84%|████████▎ | 188/225 [00:53<00:09,  3.90it/s]\u001b[A\n",
      " 84%|████████▍ | 189/225 [00:54<00:11,  3.06it/s]\u001b[A\n",
      " 84%|████████▍ | 190/225 [00:54<00:10,  3.47it/s]\u001b[A\n",
      " 85%|████████▍ | 191/225 [00:55<00:14,  2.43it/s]\u001b[A\n",
      " 85%|████████▌ | 192/225 [00:55<00:11,  2.95it/s]\u001b[A\n",
      " 86%|████████▌ | 193/225 [00:55<00:09,  3.50it/s]\u001b[A\n",
      " 86%|████████▌ | 194/225 [00:55<00:07,  3.99it/s]\u001b[A\n",
      " 87%|████████▋ | 195/225 [00:56<00:06,  4.46it/s]\u001b[A\n",
      " 87%|████████▋ | 196/225 [00:56<00:10,  2.72it/s]\u001b[A\n",
      " 88%|████████▊ | 197/225 [00:56<00:08,  3.25it/s]\u001b[A\n",
      " 88%|████████▊ | 198/225 [00:57<00:07,  3.79it/s]\u001b[A\n",
      " 88%|████████▊ | 199/225 [00:58<00:12,  2.12it/s]\u001b[A\n",
      " 89%|████████▉ | 200/225 [00:58<00:09,  2.64it/s]\u001b[A\n",
      " 89%|████████▉ | 201/225 [00:58<00:07,  3.18it/s]\u001b[A\n",
      " 90%|████████▉ | 202/225 [00:59<00:13,  1.74it/s]\u001b[A\n",
      " 90%|█████████ | 203/225 [00:59<00:10,  2.20it/s]\u001b[A\n",
      " 91%|█████████ | 204/225 [01:00<00:13,  1.56it/s]\u001b[A\n",
      " 91%|█████████ | 205/225 [01:00<00:09,  2.01it/s]\u001b[A\n",
      " 92%|█████████▏| 206/225 [01:01<00:07,  2.46it/s]\u001b[A\n",
      " 92%|█████████▏| 207/225 [01:02<00:14,  1.20it/s]\u001b[A\n",
      " 92%|█████████▏| 208/225 [01:03<00:10,  1.58it/s]\u001b[A\n",
      " 93%|█████████▎| 209/225 [01:03<00:07,  2.03it/s]\u001b[A\n",
      " 93%|█████████▎| 210/225 [01:03<00:07,  1.89it/s]\u001b[A\n",
      " 94%|█████████▍| 211/225 [01:04<00:05,  2.39it/s]\u001b[A\n",
      " 94%|█████████▍| 212/225 [01:04<00:07,  1.84it/s]\u001b[A\n",
      " 95%|█████████▍| 213/225 [01:05<00:06,  1.83it/s]\u001b[A\n",
      " 95%|█████████▌| 214/225 [01:05<00:04,  2.30it/s]\u001b[A\n",
      " 96%|█████████▌| 215/225 [01:05<00:03,  2.82it/s]\u001b[A\n",
      " 96%|█████████▌| 216/225 [01:05<00:02,  3.35it/s]\u001b[A\n",
      " 96%|█████████▋| 217/225 [01:06<00:02,  3.89it/s]\u001b[A\n",
      " 97%|█████████▋| 218/225 [01:06<00:02,  3.14it/s]\u001b[A\n",
      " 97%|█████████▋| 219/225 [01:06<00:01,  3.67it/s]\u001b[A\n",
      " 98%|█████████▊| 220/225 [01:07<00:01,  2.52it/s]\u001b[A\n",
      " 98%|█████████▊| 221/225 [01:07<00:01,  3.06it/s]\u001b[A\n",
      " 99%|█████████▊| 222/225 [01:07<00:00,  3.47it/s]\u001b[A\n",
      " 99%|█████████▉| 223/225 [01:07<00:00,  4.00it/s]\u001b[A\n",
      "100%|█████████▉| 224/225 [01:08<00:00,  4.49it/s]\u001b[A\n",
      "                                                         \n",
      " 22%|██▏       | 3000/13730 [4:12:02<14:10:57,  4.76s/it]\n",
      "100%|██████████| 225/225 [01:08<00:00,  4.53it/s]\u001b[A\n",
      "                                                 \u001b[A"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'eval_loss': 0.09946708381175995, 'eval_runtime': 72.3196, 'eval_samples_per_second': 24.793, 'eval_steps_per_second': 3.111, 'epoch': 2.19}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 22%|██▏       | 3020/13730 [4:14:01<15:12:27,  5.11s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4265, 'grad_norm': 38.25, 'learning_rate': 1.8463532812518636e-05, 'epoch': 2.2}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 22%|██▏       | 3040/13730 [4:15:40<14:15:43,  4.80s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4706, 'grad_norm': 41.0, 'learning_rate': 1.843777679012283e-05, 'epoch': 2.21}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 22%|██▏       | 3060/13730 [4:17:19<14:41:23,  4.96s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4106, 'grad_norm': 39.5, 'learning_rate': 1.841182495904652e-05, 'epoch': 2.23}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 22%|██▏       | 3080/13730 [4:18:53<13:51:35,  4.69s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4444, 'grad_norm': 41.5, 'learning_rate': 1.838567792153293e-05, 'epoch': 2.24}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 23%|██▎       | 3100/13730 [4:20:28<13:53:47,  4.71s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3515, 'grad_norm': 50.0, 'learning_rate': 1.835933628435527e-05, 'epoch': 2.26}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 23%|██▎       | 3120/13730 [4:22:06<14:21:58,  4.87s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4409, 'grad_norm': 49.75, 'learning_rate': 1.8332800658802665e-05, 'epoch': 2.27}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 23%|██▎       | 3140/13730 [4:23:41<14:26:06,  4.91s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4863, 'grad_norm': 47.5, 'learning_rate': 1.8306071660665978e-05, 'epoch': 2.29}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 23%|██▎       | 3160/13730 [4:25:19<14:26:30,  4.92s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.401, 'grad_norm': 48.5, 'learning_rate': 1.8279149910223506e-05, 'epoch': 2.3}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 23%|██▎       | 3180/13730 [4:26:52<13:34:09,  4.63s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3694, 'grad_norm': 45.0, 'learning_rate': 1.82520360322266e-05, 'epoch': 2.32}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 23%|██▎       | 3200/13730 [4:29:05<14:06:11,  4.82s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.356, 'grad_norm': 46.25, 'learning_rate': 1.822473065588516e-05, 'epoch': 2.33}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 23%|██▎       | 3220/13730 [4:30:40<14:07:50,  4.84s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4455, 'grad_norm': 45.75, 'learning_rate': 1.819723441485303e-05, 'epoch': 2.35}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 24%|██▎       | 3240/13730 [4:33:04<15:05:54,  5.18s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3296, 'grad_norm': 50.5, 'learning_rate': 1.81695479472133e-05, 'epoch': 2.36}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 24%|██▎       | 3260/13730 [4:34:42<13:38:17,  4.69s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.368, 'grad_norm': 44.0, 'learning_rate': 1.814167189546349e-05, 'epoch': 2.37}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 24%|██▍       | 3280/13730 [4:36:15<13:27:45,  4.64s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3675, 'grad_norm': 49.75, 'learning_rate': 1.8113606906500652e-05, 'epoch': 2.39}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 24%|██▍       | 3300/13730 [4:37:50<13:41:28,  4.73s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4088, 'grad_norm': 53.75, 'learning_rate': 1.8085353631606356e-05, 'epoch': 2.4}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 24%|██▍       | 3320/13730 [4:39:24<13:34:27,  4.69s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4397, 'grad_norm': 49.5, 'learning_rate': 1.8056912726431552e-05, 'epoch': 2.42}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 24%|██▍       | 3340/13730 [4:40:59<13:47:11,  4.78s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4336, 'grad_norm': 49.5, 'learning_rate': 1.8028284850981396e-05, 'epoch': 2.43}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 24%|██▍       | 3360/13730 [4:42:34<13:41:39,  4.75s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4401, 'grad_norm': 47.75, 'learning_rate': 1.7999470669599898e-05, 'epoch': 2.45}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 25%|██▍       | 3380/13730 [4:44:10<13:38:02,  4.74s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.5122, 'grad_norm': 47.5, 'learning_rate': 1.797047085095453e-05, 'epoch': 2.46}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 25%|██▍       | 3400/13730 [4:45:45<13:28:30,  4.70s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4507, 'grad_norm': 47.25, 'learning_rate': 1.7941286068020695e-05, 'epoch': 2.48}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 25%|██▍       | 3420/13730 [4:47:16<12:54:06,  4.50s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3771, 'grad_norm': 50.0, 'learning_rate': 1.7911916998066105e-05, 'epoch': 2.49}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 25%|██▌       | 3440/13730 [4:48:47<13:21:50,  4.68s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4407, 'grad_norm': 41.75, 'learning_rate': 1.7882364322635085e-05, 'epoch': 2.51}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 25%|██▌       | 3460/13730 [4:50:21<13:31:50,  4.74s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4336, 'grad_norm': 41.25, 'learning_rate': 1.785262872753274e-05, 'epoch': 2.52}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 25%|██▌       | 3480/13730 [4:51:55<13:41:23,  4.81s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4135, 'grad_norm': 44.25, 'learning_rate': 1.7822710902809032e-05, 'epoch': 2.53}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 25%|██▌       | 3500/13730 [4:53:29<13:13:18,  4.65s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3574, 'grad_norm': 43.75, 'learning_rate': 1.7792611542742798e-05, 'epoch': 2.55}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "  0%|          | 0/225 [00:00<?, ?it/s]\u001b[A\n",
      "  1%|          | 2/225 [00:00<00:19, 11.59it/s]\u001b[A\n",
      "  2%|▏         | 4/225 [00:00<00:29,  7.51it/s]\u001b[A\n",
      "  2%|▏         | 5/225 [00:00<00:31,  7.05it/s]\u001b[A\n",
      "  3%|▎         | 6/225 [00:00<00:32,  6.75it/s]\u001b[A\n",
      "  3%|▎         | 7/225 [00:00<00:33,  6.51it/s]\u001b[A\n",
      "  4%|▎         | 8/225 [00:02<01:42,  2.11it/s]\u001b[A\n",
      "  4%|▍         | 9/225 [00:02<01:22,  2.63it/s]\u001b[A\n",
      "  4%|▍         | 10/225 [00:02<01:07,  3.17it/s]\u001b[A\n",
      "  5%|▍         | 11/225 [00:02<00:58,  3.68it/s]\u001b[A\n",
      "  5%|▌         | 12/225 [00:02<00:50,  4.18it/s]\u001b[A\n",
      "  6%|▌         | 13/225 [00:03<00:45,  4.65it/s]\u001b[A\n",
      "  6%|▌         | 14/225 [00:03<00:42,  4.99it/s]\u001b[A\n",
      "  7%|▋         | 15/225 [00:03<00:40,  5.20it/s]\u001b[A\n",
      "  7%|▋         | 16/225 [00:04<01:13,  2.83it/s]\u001b[A\n",
      "  8%|▊         | 17/225 [00:04<01:02,  3.33it/s]\u001b[A\n",
      "  8%|▊         | 18/225 [00:04<00:53,  3.85it/s]\u001b[A\n",
      "  8%|▊         | 19/225 [00:04<00:47,  4.30it/s]\u001b[A\n",
      "  9%|▉         | 20/225 [00:04<00:47,  4.35it/s]\u001b[A\n",
      "  9%|▉         | 21/225 [00:05<00:42,  4.79it/s]\u001b[A\n",
      " 10%|▉         | 22/225 [00:05<00:39,  5.14it/s]\u001b[A\n",
      " 10%|█         | 23/225 [00:05<00:37,  5.40it/s]\u001b[A\n",
      " 11%|█         | 24/225 [00:06<01:09,  2.88it/s]\u001b[A\n",
      " 11%|█         | 25/225 [00:06<01:06,  3.03it/s]\u001b[A\n",
      " 12%|█▏        | 26/225 [00:06<00:55,  3.57it/s]\u001b[A\n",
      " 12%|█▏        | 27/225 [00:06<00:51,  3.82it/s]\u001b[A\n",
      " 12%|█▏        | 28/225 [00:06<00:45,  4.33it/s]\u001b[A\n",
      " 13%|█▎        | 29/225 [00:07<00:41,  4.76it/s]\u001b[A\n",
      " 13%|█▎        | 30/225 [00:07<00:38,  5.11it/s]\u001b[A\n",
      " 14%|█▍        | 31/225 [00:07<00:35,  5.40it/s]\u001b[A\n",
      " 14%|█▍        | 32/225 [00:07<00:40,  4.72it/s]\u001b[A\n",
      " 15%|█▍        | 33/225 [00:08<01:10,  2.74it/s]\u001b[A\n",
      " 15%|█▌        | 34/225 [00:08<00:58,  3.28it/s]\u001b[A\n",
      " 16%|█▌        | 35/225 [00:08<00:49,  3.82it/s]\u001b[A\n",
      " 16%|█▌        | 36/225 [00:08<00:43,  4.31it/s]\u001b[A\n",
      " 16%|█▋        | 37/225 [00:09<00:39,  4.73it/s]\u001b[A\n",
      " 17%|█▋        | 38/225 [00:09<00:36,  5.08it/s]\u001b[A\n",
      " 17%|█▋        | 39/225 [00:09<00:34,  5.36it/s]\u001b[A\n",
      " 18%|█▊        | 40/225 [00:10<01:02,  2.98it/s]\u001b[A\n",
      " 18%|█▊        | 41/225 [00:10<00:55,  3.33it/s]\u001b[A\n",
      " 19%|█▊        | 42/225 [00:10<00:47,  3.82it/s]\u001b[A\n",
      " 19%|█▉        | 43/225 [00:10<00:42,  4.31it/s]\u001b[A\n",
      " 20%|█▉        | 44/225 [00:10<00:37,  4.76it/s]\u001b[A\n",
      " 20%|██        | 45/225 [00:10<00:34,  5.16it/s]\u001b[A\n",
      " 20%|██        | 46/225 [00:11<00:33,  5.34it/s]\u001b[A\n",
      " 21%|██        | 47/225 [00:11<00:32,  5.55it/s]\u001b[A\n",
      " 21%|██▏       | 48/225 [00:12<01:11,  2.48it/s]\u001b[A\n",
      " 22%|██▏       | 49/225 [00:12<01:04,  2.74it/s]\u001b[A\n",
      " 22%|██▏       | 50/225 [00:12<00:54,  3.23it/s]\u001b[A\n",
      " 23%|██▎       | 51/225 [00:12<00:46,  3.77it/s]\u001b[A\n",
      " 23%|██▎       | 52/225 [00:12<00:40,  4.26it/s]\u001b[A\n",
      " 24%|██▎       | 53/225 [00:13<00:36,  4.70it/s]\u001b[A\n",
      " 24%|██▍       | 54/225 [00:13<00:35,  4.88it/s]\u001b[A\n",
      " 24%|██▍       | 55/225 [00:13<00:38,  4.47it/s]\u001b[A\n",
      " 25%|██▍       | 56/225 [00:14<01:12,  2.34it/s]\u001b[A\n",
      " 25%|██▌       | 57/225 [00:14<00:58,  2.88it/s]\u001b[A\n",
      " 26%|██▌       | 58/225 [00:14<00:49,  3.40it/s]\u001b[A\n",
      " 26%|██▌       | 59/225 [00:14<00:42,  3.91it/s]\u001b[A\n",
      " 27%|██▋       | 60/225 [00:15<00:37,  4.35it/s]\u001b[A\n",
      " 27%|██▋       | 61/225 [00:15<00:39,  4.11it/s]\u001b[A\n",
      " 28%|██▊       | 62/225 [00:15<00:35,  4.58it/s]\u001b[A\n",
      " 28%|██▊       | 63/225 [00:15<00:33,  4.87it/s]\u001b[A\n",
      " 28%|██▊       | 64/225 [00:16<01:14,  2.16it/s]\u001b[A\n",
      " 29%|██▉       | 65/225 [00:16<01:00,  2.67it/s]\u001b[A\n",
      " 29%|██▉       | 66/225 [00:17<00:50,  3.14it/s]\u001b[A\n",
      " 30%|██▉       | 67/225 [00:17<00:43,  3.65it/s]\u001b[A\n",
      " 30%|███       | 68/225 [00:17<00:37,  4.15it/s]\u001b[A\n",
      " 31%|███       | 69/225 [00:17<00:33,  4.60it/s]\u001b[A\n",
      " 31%|███       | 70/225 [00:17<00:31,  4.94it/s]\u001b[A\n",
      " 32%|███▏      | 71/225 [00:17<00:29,  5.19it/s]\u001b[A\n",
      " 32%|███▏      | 72/225 [00:18<00:50,  3.01it/s]\u001b[A\n",
      " 32%|███▏      | 73/225 [00:18<00:42,  3.54it/s]\u001b[A\n",
      " 33%|███▎      | 74/225 [00:18<00:37,  4.05it/s]\u001b[A\n",
      " 33%|███▎      | 75/225 [00:19<00:33,  4.50it/s]\u001b[A\n",
      " 34%|███▍      | 76/225 [00:19<00:30,  4.87it/s]\u001b[A\n",
      " 34%|███▍      | 77/225 [00:19<00:28,  5.12it/s]\u001b[A\n",
      " 35%|███▍      | 78/225 [00:19<00:27,  5.39it/s]\u001b[A\n",
      " 35%|███▌      | 79/225 [00:19<00:26,  5.61it/s]\u001b[A\n",
      " 36%|███▌      | 80/225 [00:20<00:53,  2.71it/s]\u001b[A\n",
      " 36%|███▌      | 81/225 [00:21<00:58,  2.45it/s]\u001b[A\n",
      " 36%|███▋      | 82/225 [00:21<00:47,  3.01it/s]\u001b[A\n",
      " 37%|███▋      | 83/225 [00:21<00:40,  3.55it/s]\u001b[A\n",
      " 37%|███▋      | 84/225 [00:21<00:35,  4.01it/s]\u001b[A\n",
      " 38%|███▊      | 85/225 [00:21<00:31,  4.48it/s]\u001b[A\n",
      " 38%|███▊      | 86/225 [00:21<00:28,  4.87it/s]\u001b[A\n",
      " 39%|███▊      | 87/225 [00:22<00:26,  5.12it/s]\u001b[A\n",
      " 39%|███▉      | 88/225 [00:22<00:44,  3.07it/s]\u001b[A\n",
      " 40%|███▉      | 89/225 [00:22<00:37,  3.61it/s]\u001b[A\n",
      " 40%|████      | 90/225 [00:23<00:32,  4.13it/s]\u001b[A\n",
      " 40%|████      | 91/225 [00:23<00:29,  4.59it/s]\u001b[A\n",
      " 41%|████      | 92/225 [00:23<00:26,  4.97it/s]\u001b[A\n",
      " 41%|████▏     | 93/225 [00:24<00:43,  3.01it/s]\u001b[A\n",
      " 42%|████▏     | 94/225 [00:24<00:36,  3.56it/s]\u001b[A\n",
      " 42%|████▏     | 95/225 [00:24<00:31,  4.07it/s]\u001b[A\n",
      " 43%|████▎     | 96/225 [00:24<00:37,  3.40it/s]\u001b[A\n",
      " 43%|████▎     | 97/225 [00:24<00:32,  3.93it/s]\u001b[A\n",
      " 44%|████▎     | 98/225 [00:25<00:28,  4.40it/s]\u001b[A\n",
      " 44%|████▍     | 99/225 [00:25<00:26,  4.81it/s]\u001b[A\n",
      " 44%|████▍     | 100/225 [00:25<00:24,  5.18it/s]\u001b[A\n",
      " 45%|████▍     | 101/225 [00:26<00:49,  2.52it/s]\u001b[A\n",
      " 45%|████▌     | 102/225 [00:26<00:40,  3.04it/s]\u001b[A\n",
      " 46%|████▌     | 103/225 [00:26<00:45,  2.70it/s]\u001b[A\n",
      " 46%|████▌     | 104/225 [00:27<00:37,  3.23it/s]\u001b[A\n",
      " 47%|████▋     | 105/225 [00:27<00:33,  3.56it/s]\u001b[A\n",
      " 47%|████▋     | 106/225 [00:27<00:29,  4.07it/s]\u001b[A\n",
      " 48%|████▊     | 107/225 [00:27<00:26,  4.52it/s]\u001b[A\n",
      " 48%|████▊     | 108/225 [00:27<00:23,  4.91it/s]\u001b[A\n",
      " 48%|████▊     | 109/225 [00:28<00:38,  3.01it/s]\u001b[A\n",
      " 49%|████▉     | 110/225 [00:28<00:39,  2.91it/s]\u001b[A\n",
      " 49%|████▉     | 111/225 [00:28<00:33,  3.45it/s]\u001b[A\n",
      " 50%|████▉     | 112/225 [00:29<00:29,  3.83it/s]\u001b[A\n",
      " 50%|█████     | 113/225 [00:29<00:25,  4.33it/s]\u001b[A\n",
      " 51%|█████     | 114/225 [00:29<00:23,  4.77it/s]\u001b[A\n",
      " 51%|█████     | 115/225 [00:29<00:21,  5.12it/s]\u001b[A\n",
      " 52%|█████▏    | 116/225 [00:29<00:20,  5.34it/s]\u001b[A\n",
      " 52%|█████▏    | 117/225 [00:30<00:33,  3.25it/s]\u001b[A\n",
      " 52%|█████▏    | 118/225 [00:30<00:28,  3.76it/s]\u001b[A\n",
      " 53%|█████▎    | 119/225 [00:30<00:32,  3.22it/s]\u001b[A\n",
      " 53%|█████▎    | 120/225 [00:31<00:27,  3.75it/s]\u001b[A\n",
      " 54%|█████▍    | 121/225 [00:31<00:24,  4.22it/s]\u001b[A\n",
      " 54%|█████▍    | 122/225 [00:31<00:22,  4.64it/s]\u001b[A\n",
      " 55%|█████▍    | 123/225 [00:31<00:20,  5.01it/s]\u001b[A\n",
      " 55%|█████▌    | 124/225 [00:31<00:19,  5.29it/s]\u001b[A\n",
      " 56%|█████▌    | 125/225 [00:32<00:46,  2.16it/s]\u001b[A\n",
      " 56%|█████▌    | 126/225 [00:33<00:36,  2.68it/s]\u001b[A\n",
      " 56%|█████▋    | 127/225 [00:33<00:30,  3.22it/s]\u001b[A\n",
      " 57%|█████▋    | 128/225 [00:33<00:25,  3.74it/s]\u001b[A\n",
      " 57%|█████▋    | 129/225 [00:33<00:22,  4.18it/s]\u001b[A\n",
      " 58%|█████▊    | 130/225 [00:33<00:20,  4.64it/s]\u001b[A\n",
      " 58%|█████▊    | 131/225 [00:33<00:18,  5.00it/s]\u001b[A\n",
      " 59%|█████▊    | 132/225 [00:34<00:26,  3.45it/s]\u001b[A\n",
      " 59%|█████▉    | 133/225 [00:35<00:36,  2.53it/s]\u001b[A\n",
      " 60%|█████▉    | 134/225 [00:35<00:29,  3.06it/s]\u001b[A\n",
      " 60%|██████    | 135/225 [00:35<00:25,  3.59it/s]\u001b[A\n",
      " 60%|██████    | 136/225 [00:35<00:21,  4.06it/s]\u001b[A\n",
      " 61%|██████    | 137/225 [00:35<00:19,  4.48it/s]\u001b[A\n",
      " 61%|██████▏   | 138/225 [00:35<00:17,  4.88it/s]\u001b[A\n",
      " 62%|██████▏   | 139/225 [00:36<00:16,  5.19it/s]\u001b[A\n",
      " 62%|██████▏   | 140/225 [00:36<00:31,  2.70it/s]\u001b[A\n",
      " 63%|██████▎   | 141/225 [00:37<00:33,  2.50it/s]\u001b[A\n",
      " 63%|██████▎   | 142/225 [00:37<00:31,  2.67it/s]\u001b[A\n",
      " 64%|██████▎   | 143/225 [00:37<00:27,  3.02it/s]\u001b[A\n",
      " 64%|██████▍   | 144/225 [00:37<00:22,  3.57it/s]\u001b[A\n",
      " 64%|██████▍   | 145/225 [00:38<00:19,  4.10it/s]\u001b[A\n",
      " 65%|██████▍   | 146/225 [00:38<00:17,  4.55it/s]\u001b[A\n",
      " 65%|██████▌   | 147/225 [00:38<00:15,  4.92it/s]\u001b[A\n",
      " 66%|██████▌   | 148/225 [00:38<00:21,  3.55it/s]\u001b[A\n",
      " 66%|██████▌   | 149/225 [00:39<00:25,  2.98it/s]\u001b[A\n",
      " 67%|██████▋   | 150/225 [00:39<00:22,  3.30it/s]\u001b[A\n",
      " 67%|██████▋   | 151/225 [00:39<00:19,  3.81it/s]\u001b[A\n",
      " 68%|██████▊   | 152/225 [00:40<00:21,  3.37it/s]\u001b[A\n",
      " 68%|██████▊   | 153/225 [00:40<00:18,  3.91it/s]\u001b[A\n",
      " 68%|██████▊   | 154/225 [00:40<00:16,  4.40it/s]\u001b[A\n",
      " 69%|██████▉   | 155/225 [00:40<00:14,  4.80it/s]\u001b[A\n",
      " 69%|██████▉   | 156/225 [00:41<00:23,  2.89it/s]\u001b[A\n",
      " 70%|██████▉   | 157/225 [00:41<00:22,  2.96it/s]\u001b[A\n",
      " 70%|███████   | 158/225 [00:41<00:19,  3.49it/s]\u001b[A\n",
      " 71%|███████   | 159/225 [00:41<00:16,  3.92it/s]\u001b[A\n",
      " 71%|███████   | 160/225 [00:42<00:17,  3.71it/s]\u001b[A\n",
      " 72%|███████▏  | 161/225 [00:42<00:15,  4.19it/s]\u001b[A\n",
      " 72%|███████▏  | 162/225 [00:42<00:13,  4.57it/s]\u001b[A\n",
      " 72%|███████▏  | 163/225 [00:42<00:12,  4.95it/s]\u001b[A\n",
      " 73%|███████▎  | 164/225 [00:43<00:25,  2.37it/s]\u001b[A\n",
      " 73%|███████▎  | 165/225 [00:44<00:22,  2.62it/s]\u001b[A\n",
      " 74%|███████▍  | 166/225 [00:44<00:18,  3.16it/s]\u001b[A\n",
      " 74%|███████▍  | 167/225 [00:44<00:19,  2.93it/s]\u001b[A\n",
      " 75%|███████▍  | 168/225 [00:44<00:16,  3.46it/s]\u001b[A\n",
      " 75%|███████▌  | 169/225 [00:44<00:14,  3.97it/s]\u001b[A\n",
      " 76%|███████▌  | 170/225 [00:45<00:12,  4.43it/s]\u001b[A\n",
      " 76%|███████▌  | 171/225 [00:45<00:11,  4.81it/s]\u001b[A\n",
      " 76%|███████▋  | 172/225 [00:45<00:18,  2.90it/s]\u001b[A\n",
      " 77%|███████▋  | 173/225 [00:46<00:21,  2.42it/s]\u001b[A\n",
      " 77%|███████▋  | 174/225 [00:46<00:17,  2.94it/s]\u001b[A\n",
      " 78%|███████▊  | 175/225 [00:46<00:14,  3.48it/s]\u001b[A\n",
      " 78%|███████▊  | 176/225 [00:46<00:12,  3.92it/s]\u001b[A\n",
      " 79%|███████▊  | 177/225 [00:47<00:10,  4.40it/s]\u001b[A\n",
      " 79%|███████▉  | 178/225 [00:47<00:09,  4.81it/s]\u001b[A\n",
      " 80%|███████▉  | 179/225 [00:47<00:08,  5.13it/s]\u001b[A\n",
      " 80%|████████  | 180/225 [00:47<00:10,  4.38it/s]\u001b[A\n",
      " 80%|████████  | 181/225 [00:48<00:16,  2.64it/s]\u001b[A\n",
      " 81%|████████  | 182/225 [00:48<00:13,  3.18it/s]\u001b[A\n",
      " 81%|████████▏ | 183/225 [00:48<00:12,  3.36it/s]\u001b[A\n",
      " 82%|████████▏ | 184/225 [00:49<00:14,  2.76it/s]\u001b[A\n",
      " 82%|████████▏ | 185/225 [00:49<00:12,  3.30it/s]\u001b[A\n",
      " 83%|████████▎ | 186/225 [00:49<00:10,  3.84it/s]\u001b[A\n",
      " 83%|████████▎ | 187/225 [00:49<00:08,  4.30it/s]\u001b[A\n",
      " 84%|████████▎ | 188/225 [00:50<00:09,  3.97it/s]\u001b[A\n",
      " 84%|████████▍ | 189/225 [00:50<00:10,  3.45it/s]\u001b[A\n",
      " 84%|████████▍ | 190/225 [00:50<00:09,  3.78it/s]\u001b[A\n",
      " 85%|████████▍ | 191/225 [00:50<00:08,  4.23it/s]\u001b[A\n",
      " 85%|████████▌ | 192/225 [00:51<00:07,  4.64it/s]\u001b[A\n",
      " 86%|████████▌ | 193/225 [00:51<00:06,  5.01it/s]\u001b[A\n",
      " 86%|████████▌ | 194/225 [00:51<00:05,  5.30it/s]\u001b[A\n",
      " 87%|████████▋ | 195/225 [00:51<00:05,  5.54it/s]\u001b[A\n",
      " 87%|████████▋ | 196/225 [00:52<00:08,  3.51it/s]\u001b[A\n",
      " 88%|████████▊ | 197/225 [00:52<00:09,  2.99it/s]\u001b[A\n",
      " 88%|████████▊ | 198/225 [00:53<00:09,  2.84it/s]\u001b[A\n",
      " 88%|████████▊ | 199/225 [00:53<00:07,  3.39it/s]\u001b[A\n",
      " 89%|████████▉ | 200/225 [00:53<00:09,  2.73it/s]\u001b[A\n",
      " 89%|████████▉ | 201/225 [00:53<00:07,  3.26it/s]\u001b[A\n",
      " 90%|████████▉ | 202/225 [00:54<00:06,  3.75it/s]\u001b[A\n",
      " 90%|█████████ | 203/225 [00:54<00:05,  4.19it/s]\u001b[A\n",
      " 91%|█████████ | 204/225 [00:54<00:06,  3.46it/s]\u001b[A\n",
      " 91%|█████████ | 205/225 [00:54<00:05,  3.95it/s]\u001b[A\n",
      " 92%|█████████▏| 206/225 [00:55<00:07,  2.54it/s]\u001b[A\n",
      " 92%|█████████▏| 207/225 [00:55<00:05,  3.08it/s]\u001b[A\n",
      " 92%|█████████▏| 208/225 [00:56<00:05,  2.85it/s]\u001b[A\n",
      " 93%|█████████▎| 209/225 [00:56<00:04,  3.33it/s]\u001b[A\n",
      " 93%|█████████▎| 210/225 [00:56<00:03,  3.87it/s]\u001b[A\n",
      " 94%|█████████▍| 211/225 [00:56<00:03,  4.34it/s]\u001b[A\n",
      " 94%|█████████▍| 212/225 [00:56<00:02,  4.72it/s]\u001b[A\n",
      " 95%|█████████▍| 213/225 [00:56<00:02,  4.84it/s]\u001b[A\n",
      " 95%|█████████▌| 214/225 [00:57<00:04,  2.73it/s]\u001b[A\n",
      " 96%|█████████▌| 215/225 [00:57<00:03,  3.27it/s]\u001b[A\n",
      " 96%|█████████▌| 216/225 [00:58<00:02,  3.80it/s]\u001b[A\n",
      " 96%|█████████▋| 217/225 [00:58<00:01,  4.26it/s]\u001b[A\n",
      " 97%|█████████▋| 218/225 [00:58<00:01,  4.66it/s]\u001b[A\n",
      " 97%|█████████▋| 219/225 [00:58<00:01,  4.97it/s]\u001b[A\n",
      " 98%|█████████▊| 220/225 [00:58<00:00,  5.21it/s]\u001b[A\n",
      " 98%|█████████▊| 221/225 [00:58<00:00,  5.39it/s]\u001b[A\n",
      " 99%|█████████▊| 222/225 [00:59<00:00,  5.29it/s]\u001b[A\n",
      " 99%|█████████▉| 223/225 [00:59<00:00,  5.55it/s]\u001b[A\n",
      "100%|█████████▉| 224/225 [00:59<00:00,  5.74it/s]\u001b[A\n",
      "                                                         \n",
      " 25%|██▌       | 3500/13730 [4:54:32<13:13:18,  4.65s/it]\n",
      "100%|██████████| 225/225 [00:59<00:00,  5.69it/s]\u001b[A\n",
      "                                                 \u001b[A"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'eval_loss': 0.09350243210792542, 'eval_runtime': 63.4513, 'eval_samples_per_second': 28.258, 'eval_steps_per_second': 3.546, 'epoch': 2.55}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 26%|██▌       | 3520/13730 [4:56:17<13:14:46,  4.67s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3841, 'grad_norm': 47.0, 'learning_rate': 1.7762331345825608e-05, 'epoch': 2.56}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 26%|██▌       | 3540/13730 [4:57:50<13:07:13,  4.64s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3778, 'grad_norm': 44.25, 'learning_rate': 1.773187101474557e-05, 'epoch': 2.58}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 26%|██▌       | 3560/13730 [4:59:24<13:09:14,  4.66s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.426, 'grad_norm': 36.75, 'learning_rate': 1.7701231256371016e-05, 'epoch': 2.59}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 26%|██▌       | 3580/13730 [5:00:57<13:04:41,  4.64s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3418, 'grad_norm': 42.25, 'learning_rate': 1.7670412781734112e-05, 'epoch': 2.61}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 26%|██▌       | 3600/13730 [5:02:30<12:55:22,  4.59s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3827, 'grad_norm': 41.0, 'learning_rate': 1.7639416306014338e-05, 'epoch': 2.62}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 26%|██▋       | 3620/13730 [5:04:02<13:05:39,  4.66s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3807, 'grad_norm': 49.0, 'learning_rate': 1.7608242548521908e-05, 'epoch': 2.64}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 27%|██▋       | 3640/13730 [5:05:35<13:02:23,  4.65s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4038, 'grad_norm': 45.75, 'learning_rate': 1.7576892232681068e-05, 'epoch': 2.65}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 27%|██▋       | 3660/13730 [5:07:08<12:47:10,  4.57s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3673, 'grad_norm': 39.5, 'learning_rate': 1.7545366086013313e-05, 'epoch': 2.67}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 27%|██▋       | 3680/13730 [5:08:41<12:55:20,  4.63s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4294, 'grad_norm': 48.25, 'learning_rate': 1.75136648401205e-05, 'epoch': 2.68}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 27%|██▋       | 3700/13730 [5:10:14<12:58:23,  4.66s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4042, 'grad_norm': 52.25, 'learning_rate': 1.7481789230667877e-05, 'epoch': 2.7}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 27%|██▋       | 3720/13730 [5:11:52<12:56:09,  4.65s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3781, 'grad_norm': 49.75, 'learning_rate': 1.7449739997366997e-05, 'epoch': 2.71}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 27%|██▋       | 3740/13730 [5:13:25<12:50:33,  4.63s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3645, 'grad_norm': 44.0, 'learning_rate': 1.7417517883958576e-05, 'epoch': 2.72}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 27%|██▋       | 3760/13730 [5:14:58<12:52:43,  4.65s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3784, 'grad_norm': 45.25, 'learning_rate': 1.7385123638195206e-05, 'epoch': 2.74}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 28%|██▊       | 3780/13730 [5:16:32<13:00:47,  4.71s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4308, 'grad_norm': 45.25, 'learning_rate': 1.735255801182402e-05, 'epoch': 2.75}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 28%|██▊       | 3800/13730 [5:18:06<12:53:32,  4.67s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4031, 'grad_norm': 53.0, 'learning_rate': 1.731982176056925e-05, 'epoch': 2.77}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 28%|██▊       | 3820/13730 [5:19:40<12:58:13,  4.71s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.4014, 'grad_norm': 48.25, 'learning_rate': 1.7286915644114668e-05, 'epoch': 2.78}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 28%|██▊       | 3840/13730 [5:21:16<13:10:54,  4.80s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3615, 'grad_norm': 39.75, 'learning_rate': 1.7253840426085982e-05, 'epoch': 2.8}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 28%|██▊       | 3860/13730 [5:22:53<13:48:27,  5.04s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3646, 'grad_norm': 48.75, 'learning_rate': 1.7220596874033096e-05, 'epoch': 2.81}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 28%|██▊       | 3880/13730 [5:24:29<13:08:38,  4.80s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3881, 'grad_norm': 44.5, 'learning_rate': 1.7187185759412318e-05, 'epoch': 2.83}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 28%|██▊       | 3900/13730 [5:26:05<13:02:00,  4.77s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.2777, 'grad_norm': 44.25, 'learning_rate': 1.715360785756843e-05, 'epoch': 2.84}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 29%|██▊       | 3920/13730 [5:27:40<13:01:17,  4.78s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3288, 'grad_norm': 42.25, 'learning_rate': 1.7119863947716725e-05, 'epoch': 2.86}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 29%|██▊       | 3940/13730 [5:29:15<13:28:52,  4.96s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3292, 'grad_norm': 50.0, 'learning_rate': 1.7085954812924895e-05, 'epoch': 2.87}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 29%|██▉       | 3960/13730 [5:30:57<12:57:25,  4.77s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.2886, 'grad_norm': 43.75, 'learning_rate': 1.7051881240094884e-05, 'epoch': 2.88}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 29%|██▉       | 3980/13730 [5:32:29<12:28:46,  4.61s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.2779, 'grad_norm': 50.0, 'learning_rate': 1.7017644019944615e-05, 'epoch': 2.9}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 29%|██▉       | 4000/13730 [5:34:03<12:28:45,  4.62s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3498, 'grad_norm': 37.0, 'learning_rate': 1.6983243946989646e-05, 'epoch': 2.91}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "  0%|          | 0/225 [00:00<?, ?it/s]\u001b[A\n",
      "  1%|          | 2/225 [00:00<00:18, 11.89it/s]\u001b[A\n",
      "  2%|▏         | 4/225 [00:00<00:28,  7.73it/s]\u001b[A\n",
      "  2%|▏         | 5/225 [00:00<00:30,  7.27it/s]\u001b[A\n",
      "  3%|▎         | 6/225 [00:00<00:31,  6.93it/s]\u001b[A\n",
      "  3%|▎         | 7/225 [00:00<00:32,  6.67it/s]\u001b[A\n",
      "  4%|▎         | 8/225 [00:01<00:59,  3.63it/s]\u001b[A\n",
      "  4%|▍         | 9/225 [00:01<00:55,  3.89it/s]\u001b[A\n",
      "  4%|▍         | 10/225 [00:01<00:49,  4.35it/s]\u001b[A\n",
      "  5%|▍         | 11/225 [00:02<00:45,  4.73it/s]\u001b[A\n",
      "  5%|▌         | 12/225 [00:02<00:41,  5.07it/s]\u001b[A\n",
      "  6%|▌         | 13/225 [00:02<00:39,  5.39it/s]\u001b[A\n",
      "  6%|▌         | 14/225 [00:02<00:37,  5.56it/s]\u001b[A\n",
      "  7%|▋         | 15/225 [00:02<00:37,  5.64it/s]\u001b[A\n",
      "  7%|▋         | 16/225 [00:03<00:55,  3.75it/s]\u001b[A\n",
      "  8%|▊         | 17/225 [00:03<00:50,  4.11it/s]\u001b[A\n",
      "  8%|▊         | 18/225 [00:04<01:20,  2.58it/s]\u001b[A\n",
      "  8%|▊         | 19/225 [00:04<01:06,  3.09it/s]\u001b[A\n",
      "  9%|▉         | 20/225 [00:04<00:59,  3.42it/s]\u001b[A\n",
      "  9%|▉         | 21/225 [00:04<00:51,  3.96it/s]\u001b[A\n",
      " 10%|▉         | 22/225 [00:04<00:45,  4.45it/s]\u001b[A\n",
      " 10%|█         | 23/225 [00:05<00:41,  4.82it/s]\u001b[A\n",
      " 11%|█         | 24/225 [00:05<00:55,  3.63it/s]\u001b[A\n",
      " 11%|█         | 25/225 [00:06<01:35,  2.10it/s]\u001b[A\n",
      " 12%|█▏        | 26/225 [00:06<01:16,  2.61it/s]\u001b[A\n",
      " 12%|█▏        | 27/225 [00:06<01:06,  2.99it/s]\u001b[A\n",
      " 12%|█▏        | 28/225 [00:06<00:55,  3.53it/s]\u001b[A\n",
      " 13%|█▎        | 29/225 [00:07<00:49,  4.00it/s]\u001b[A\n",
      " 13%|█▎        | 30/225 [00:07<00:43,  4.44it/s]\u001b[A\n",
      " 14%|█▍        | 31/225 [00:07<00:40,  4.85it/s]\u001b[A\n",
      " 14%|█▍        | 32/225 [00:07<00:37,  5.18it/s]\u001b[A\n",
      " 15%|█▍        | 33/225 [00:08<01:00,  3.18it/s]\u001b[A\n",
      " 15%|█▌        | 34/225 [00:08<00:51,  3.70it/s]\u001b[A\n",
      " 16%|█▌        | 35/225 [00:08<00:45,  4.19it/s]\u001b[A\n",
      " 16%|█▌        | 36/225 [00:08<00:40,  4.62it/s]\u001b[A\n",
      " 16%|█▋        | 37/225 [00:08<00:38,  4.89it/s]\u001b[A\n",
      " 17%|█▋        | 38/225 [00:09<00:36,  5.15it/s]\u001b[A\n",
      " 17%|█▋        | 39/225 [00:09<00:35,  5.21it/s]\u001b[A\n",
      " 18%|█▊        | 40/225 [00:09<00:34,  5.32it/s]\u001b[A\n",
      " 18%|█▊        | 41/225 [00:09<00:33,  5.50it/s]\u001b[A\n",
      " 19%|█▊        | 42/225 [00:09<00:32,  5.58it/s]\u001b[A\n",
      " 19%|█▉        | 43/225 [00:09<00:32,  5.67it/s]\u001b[A\n",
      " 20%|█▉        | 44/225 [00:10<00:31,  5.80it/s]\u001b[A\n",
      " 20%|██        | 45/225 [00:10<00:30,  5.92it/s]\u001b[A\n",
      " 20%|██        | 46/225 [00:10<00:29,  5.99it/s]\u001b[A\n",
      " 21%|██        | 47/225 [00:10<00:29,  5.96it/s]\u001b[A\n",
      " 21%|██▏       | 48/225 [00:10<00:42,  4.16it/s]\u001b[A\n",
      " 22%|██▏       | 49/225 [00:11<00:38,  4.54it/s]\u001b[A\n",
      " 22%|██▏       | 50/225 [00:11<00:35,  4.88it/s]\u001b[A\n",
      " 23%|██▎       | 51/225 [00:11<00:33,  5.18it/s]\u001b[A\n",
      " 23%|██▎       | 52/225 [00:11<00:31,  5.41it/s]\u001b[A\n",
      " 24%|██▎       | 53/225 [00:11<00:30,  5.62it/s]\u001b[A\n",
      " 24%|██▍       | 54/225 [00:12<00:30,  5.57it/s]\u001b[A\n",
      " 24%|██▍       | 55/225 [00:12<00:35,  4.83it/s]\u001b[A\n",
      " 25%|██▍       | 56/225 [00:13<01:08,  2.48it/s]\u001b[A\n",
      " 25%|██▌       | 57/225 [00:13<00:55,  3.01it/s]\u001b[A\n",
      " 26%|██▌       | 58/225 [00:13<00:47,  3.54it/s]\u001b[A\n",
      " 26%|██▌       | 59/225 [00:13<00:40,  4.05it/s]\u001b[A\n",
      " 27%|██▋       | 60/225 [00:13<00:36,  4.48it/s]\u001b[A\n",
      " 27%|██▋       | 61/225 [00:13<00:33,  4.87it/s]\u001b[A\n",
      " 28%|██▊       | 62/225 [00:14<00:31,  5.19it/s]\u001b[A\n",
      " 28%|██▊       | 63/225 [00:14<00:30,  5.32it/s]\u001b[A\n",
      " 28%|██▊       | 64/225 [00:15<01:02,  2.58it/s]\u001b[A\n",
      " 29%|██▉       | 65/225 [00:15<00:51,  3.11it/s]\u001b[A\n",
      " 29%|██▉       | 66/225 [00:15<00:44,  3.57it/s]\u001b[A\n",
      " 30%|██▉       | 67/225 [00:15<00:39,  4.04it/s]\u001b[A\n",
      " 30%|███       | 68/225 [00:15<00:35,  4.48it/s]\u001b[A\n",
      " 31%|███       | 69/225 [00:16<00:31,  4.89it/s]\u001b[A\n",
      " 31%|███       | 70/225 [00:16<00:29,  5.18it/s]\u001b[A\n",
      " 32%|███▏      | 71/225 [00:16<00:28,  5.41it/s]\u001b[A\n",
      " 32%|███▏      | 72/225 [00:16<00:39,  3.89it/s]\u001b[A\n",
      " 32%|███▏      | 73/225 [00:17<00:39,  3.85it/s]\u001b[A\n",
      " 33%|███▎      | 74/225 [00:17<00:35,  4.29it/s]\u001b[A\n",
      " 33%|███▎      | 75/225 [00:17<00:31,  4.72it/s]\u001b[A\n",
      " 34%|███▍      | 76/225 [00:17<00:29,  5.06it/s]\u001b[A\n",
      " 34%|███▍      | 77/225 [00:17<00:33,  4.45it/s]\u001b[A\n",
      " 35%|███▍      | 78/225 [00:17<00:30,  4.84it/s]\u001b[A\n",
      " 35%|███▌      | 79/225 [00:18<00:28,  5.17it/s]\u001b[A\n",
      " 36%|███▌      | 80/225 [00:19<00:57,  2.53it/s]\u001b[A\n",
      " 36%|███▌      | 81/225 [00:19<00:47,  3.03it/s]\u001b[A\n",
      " 36%|███▋      | 82/225 [00:19<00:39,  3.58it/s]\u001b[A\n",
      " 37%|███▋      | 83/225 [00:19<00:34,  4.09it/s]\u001b[A\n",
      " 37%|███▋      | 84/225 [00:19<00:31,  4.50it/s]\u001b[A\n",
      " 38%|███▊      | 85/225 [00:20<00:42,  3.26it/s]\u001b[A\n",
      " 38%|███▊      | 86/225 [00:20<00:36,  3.78it/s]\u001b[A\n",
      " 39%|███▊      | 87/225 [00:20<00:32,  4.23it/s]\u001b[A\n",
      " 39%|███▉      | 88/225 [00:21<00:46,  2.96it/s]\u001b[A\n",
      " 40%|███▉      | 89/225 [00:21<00:39,  3.42it/s]\u001b[A\n",
      " 40%|████      | 90/225 [00:21<00:34,  3.95it/s]\u001b[A\n",
      " 40%|████      | 91/225 [00:21<00:30,  4.42it/s]\u001b[A\n",
      " 41%|████      | 92/225 [00:21<00:27,  4.81it/s]\u001b[A\n",
      " 41%|████▏     | 93/225 [00:22<00:35,  3.74it/s]\u001b[A\n",
      " 42%|████▏     | 94/225 [00:22<00:30,  4.23it/s]\u001b[A\n",
      " 42%|████▏     | 95/225 [00:22<00:28,  4.63it/s]\u001b[A\n",
      " 43%|████▎     | 96/225 [00:23<00:51,  2.49it/s]\u001b[A\n",
      " 43%|████▎     | 97/225 [00:23<00:42,  3.03it/s]\u001b[A\n",
      " 44%|████▎     | 98/225 [00:23<00:35,  3.54it/s]\u001b[A\n",
      " 44%|████▍     | 99/225 [00:23<00:31,  4.05it/s]\u001b[A\n",
      " 44%|████▍     | 100/225 [00:24<00:27,  4.50it/s]\u001b[A\n",
      " 45%|████▍     | 101/225 [00:24<00:25,  4.87it/s]\u001b[A\n",
      " 45%|████▌     | 102/225 [00:24<00:23,  5.17it/s]\u001b[A\n",
      " 46%|████▌     | 103/225 [00:25<00:40,  2.98it/s]\u001b[A\n",
      " 46%|████▌     | 104/225 [00:25<00:43,  2.78it/s]\u001b[A\n",
      " 47%|████▋     | 105/225 [00:25<00:37,  3.16it/s]\u001b[A\n",
      " 47%|████▋     | 106/225 [00:25<00:32,  3.67it/s]\u001b[A\n",
      " 48%|████▊     | 107/225 [00:25<00:28,  4.09it/s]\u001b[A\n",
      " 48%|████▊     | 108/225 [00:26<00:26,  4.49it/s]\u001b[A\n",
      " 48%|████▊     | 109/225 [00:26<00:23,  4.86it/s]\u001b[A\n",
      " 49%|████▉     | 110/225 [00:26<00:22,  5.16it/s]\u001b[A\n",
      " 49%|████▉     | 111/225 [00:26<00:25,  4.39it/s]\u001b[A\n",
      " 50%|████▉     | 112/225 [00:27<00:29,  3.88it/s]\u001b[A\n",
      " 50%|█████     | 113/225 [00:27<00:25,  4.37it/s]\u001b[A\n",
      " 51%|█████     | 114/225 [00:27<00:23,  4.78it/s]\u001b[A\n",
      " 51%|█████     | 115/225 [00:27<00:23,  4.73it/s]\u001b[A\n",
      " 52%|█████▏    | 116/225 [00:27<00:21,  5.01it/s]\u001b[A\n",
      " 52%|█████▏    | 117/225 [00:28<00:20,  5.24it/s]\u001b[A\n",
      " 52%|█████▏    | 118/225 [00:28<00:19,  5.41it/s]\u001b[A\n",
      " 53%|█████▎    | 119/225 [00:28<00:32,  3.30it/s]\u001b[A\n",
      " 53%|█████▎    | 120/225 [00:28<00:27,  3.80it/s]\u001b[A\n",
      " 54%|█████▍    | 121/225 [00:29<00:24,  4.23it/s]\u001b[A\n",
      " 54%|█████▍    | 122/225 [00:29<00:28,  3.59it/s]\u001b[A\n",
      " 55%|█████▍    | 123/225 [00:29<00:25,  4.08it/s]\u001b[A\n",
      " 55%|█████▌    | 124/225 [00:29<00:22,  4.50it/s]\u001b[A\n",
      " 56%|█████▌    | 125/225 [00:29<00:20,  4.86it/s]\u001b[A\n",
      " 56%|█████▌    | 126/225 [00:30<00:19,  5.16it/s]\u001b[A\n",
      " 56%|█████▋    | 127/225 [00:31<00:48,  2.02it/s]\u001b[A\n",
      " 57%|█████▋    | 128/225 [00:31<00:38,  2.52it/s]\u001b[A\n",
      " 57%|█████▋    | 129/225 [00:31<00:33,  2.91it/s]\u001b[A\n",
      " 58%|█████▊    | 130/225 [00:31<00:27,  3.43it/s]\u001b[A\n",
      " 58%|█████▊    | 131/225 [00:32<00:23,  3.94it/s]\u001b[A\n",
      " 59%|█████▊    | 132/225 [00:32<00:21,  4.39it/s]\u001b[A\n",
      " 59%|█████▉    | 133/225 [00:32<00:19,  4.80it/s]\u001b[A\n",
      " 60%|█████▉    | 134/225 [00:32<00:18,  4.98it/s]\u001b[A\n",
      " 60%|██████    | 135/225 [00:33<00:35,  2.51it/s]\u001b[A\n",
      " 60%|██████    | 136/225 [00:33<00:29,  3.02it/s]\u001b[A\n",
      " 61%|██████    | 137/225 [00:33<00:25,  3.42it/s]\u001b[A\n",
      " 61%|██████▏   | 138/225 [00:34<00:22,  3.91it/s]\u001b[A\n",
      " 62%|██████▏   | 139/225 [00:34<00:35,  2.41it/s]\u001b[A\n",
      " 62%|██████▏   | 140/225 [00:34<00:29,  2.92it/s]\u001b[A\n",
      " 63%|██████▎   | 141/225 [00:35<00:25,  3.25it/s]\u001b[A\n",
      " 63%|██████▎   | 142/225 [00:35<00:22,  3.76it/s]\u001b[A\n",
      " 64%|██████▎   | 143/225 [00:35<00:19,  4.26it/s]\u001b[A\n",
      " 64%|██████▍   | 144/225 [00:35<00:17,  4.61it/s]\u001b[A\n",
      " 64%|██████▍   | 145/225 [00:35<00:17,  4.55it/s]\u001b[A\n",
      " 65%|██████▍   | 146/225 [00:36<00:16,  4.86it/s]\u001b[A\n",
      " 65%|██████▌   | 147/225 [00:36<00:26,  2.90it/s]\u001b[A\n",
      " 66%|██████▌   | 148/225 [00:36<00:22,  3.44it/s]\u001b[A\n",
      " 66%|██████▌   | 149/225 [00:37<00:19,  3.95it/s]\u001b[A\n",
      " 67%|██████▋   | 150/225 [00:37<00:17,  4.39it/s]\u001b[A\n",
      " 67%|██████▋   | 151/225 [00:37<00:15,  4.77it/s]\u001b[A\n",
      " 68%|██████▊   | 152/225 [00:37<00:14,  5.02it/s]\u001b[A\n",
      " 68%|██████▊   | 153/225 [00:37<00:13,  5.26it/s]\u001b[A\n",
      " 68%|██████▊   | 154/225 [00:37<00:12,  5.50it/s]\u001b[A\n",
      " 69%|██████▉   | 155/225 [00:38<00:29,  2.36it/s]\u001b[A\n",
      " 69%|██████▉   | 156/225 [00:39<00:23,  2.88it/s]\u001b[A\n",
      " 70%|██████▉   | 157/225 [00:39<00:19,  3.40it/s]\u001b[A\n",
      " 70%|███████   | 158/225 [00:39<00:17,  3.90it/s]\u001b[A\n",
      " 71%|███████   | 159/225 [00:39<00:15,  4.33it/s]\u001b[A\n",
      " 71%|███████   | 160/225 [00:39<00:13,  4.69it/s]\u001b[A\n",
      " 72%|███████▏  | 161/225 [00:39<00:12,  5.04it/s]\u001b[A\n",
      " 72%|███████▏  | 162/225 [00:40<00:11,  5.32it/s]\u001b[A\n",
      " 72%|███████▏  | 163/225 [00:41<00:28,  2.15it/s]\u001b[A\n",
      " 73%|███████▎  | 164/225 [00:41<00:22,  2.66it/s]\u001b[A\n",
      " 73%|███████▎  | 165/225 [00:41<00:18,  3.20it/s]\u001b[A\n",
      " 74%|███████▍  | 166/225 [00:41<00:15,  3.74it/s]\u001b[A\n",
      " 74%|███████▍  | 167/225 [00:41<00:13,  4.21it/s]\u001b[A\n",
      " 75%|███████▍  | 168/225 [00:42<00:12,  4.63it/s]\u001b[A\n",
      " 75%|███████▌  | 169/225 [00:42<00:11,  4.98it/s]\u001b[A\n",
      " 76%|███████▌  | 170/225 [00:42<00:11,  4.64it/s]\u001b[A\n",
      " 76%|███████▌  | 171/225 [00:43<00:26,  2.01it/s]\u001b[A\n",
      " 76%|███████▋  | 172/225 [00:43<00:20,  2.52it/s]\u001b[A\n",
      " 77%|███████▋  | 173/225 [00:43<00:17,  3.06it/s]\u001b[A\n",
      " 77%|███████▋  | 174/225 [00:44<00:14,  3.58it/s]\u001b[A\n",
      " 78%|███████▊  | 175/225 [00:44<00:12,  4.08it/s]\u001b[A\n",
      " 78%|███████▊  | 176/225 [00:44<00:10,  4.54it/s]\u001b[A\n",
      " 79%|███████▊  | 177/225 [00:44<00:09,  4.93it/s]\u001b[A\n",
      " 79%|███████▉  | 178/225 [00:44<00:09,  5.06it/s]\u001b[A\n",
      " 80%|███████▉  | 179/225 [00:45<00:14,  3.14it/s]\u001b[A\n",
      " 80%|████████  | 180/225 [00:45<00:12,  3.66it/s]\u001b[A\n",
      " 80%|████████  | 181/225 [00:45<00:10,  4.14it/s]\u001b[A\n",
      " 81%|████████  | 182/225 [00:45<00:09,  4.60it/s]\u001b[A\n",
      " 81%|████████▏ | 183/225 [00:46<00:08,  4.98it/s]\u001b[A\n",
      " 82%|████████▏ | 184/225 [00:46<00:07,  5.24it/s]\u001b[A\n",
      " 82%|████████▏ | 185/225 [00:46<00:07,  5.44it/s]\u001b[A\n",
      " 83%|████████▎ | 186/225 [00:46<00:10,  3.86it/s]\u001b[A\n",
      " 83%|████████▎ | 187/225 [00:47<00:13,  2.86it/s]\u001b[A\n",
      " 84%|████████▎ | 188/225 [00:47<00:11,  3.31it/s]\u001b[A\n",
      " 84%|████████▍ | 189/225 [00:47<00:09,  3.81it/s]\u001b[A\n",
      " 84%|████████▍ | 190/225 [00:47<00:08,  4.11it/s]\u001b[A\n",
      " 85%|████████▍ | 191/225 [00:48<00:07,  4.51it/s]\u001b[A\n",
      " 85%|████████▌ | 192/225 [00:48<00:06,  4.86it/s]\u001b[A\n",
      " 86%|████████▌ | 193/225 [00:48<00:06,  5.17it/s]\u001b[A\n",
      " 86%|████████▌ | 194/225 [00:49<00:10,  3.03it/s]\u001b[A\n",
      " 87%|████████▋ | 195/225 [00:49<00:09,  3.02it/s]\u001b[A\n",
      " 87%|████████▋ | 196/225 [00:49<00:08,  3.54it/s]\u001b[A\n",
      " 88%|████████▊ | 197/225 [00:49<00:06,  4.06it/s]\u001b[A\n",
      " 88%|████████▊ | 198/225 [00:49<00:05,  4.52it/s]\u001b[A\n",
      " 88%|████████▊ | 199/225 [00:50<00:05,  4.92it/s]\u001b[A\n",
      " 89%|████████▉ | 200/225 [00:50<00:04,  5.22it/s]\u001b[A\n",
      " 89%|████████▉ | 201/225 [00:50<00:04,  5.07it/s]\u001b[A\n",
      " 90%|████████▉ | 202/225 [00:51<00:09,  2.48it/s]\u001b[A\n",
      " 90%|█████████ | 203/225 [00:51<00:07,  3.00it/s]\u001b[A\n",
      " 91%|█████████ | 204/225 [00:51<00:05,  3.53it/s]\u001b[A\n",
      " 91%|█████████ | 205/225 [00:51<00:04,  4.03it/s]\u001b[A\n",
      " 92%|█████████▏| 206/225 [00:52<00:04,  4.33it/s]\u001b[A\n",
      " 92%|█████████▏| 207/225 [00:52<00:03,  4.76it/s]\u001b[A\n",
      " 92%|█████████▏| 208/225 [00:52<00:03,  5.09it/s]\u001b[A\n",
      " 93%|█████████▎| 209/225 [00:52<00:03,  4.42it/s]\u001b[A\n",
      " 93%|█████████▎| 210/225 [00:53<00:06,  2.30it/s]\u001b[A\n",
      " 94%|█████████▍| 211/225 [00:53<00:05,  2.66it/s]\u001b[A\n",
      " 94%|█████████▍| 212/225 [00:53<00:04,  3.18it/s]\u001b[A\n",
      " 95%|█████████▍| 213/225 [00:54<00:03,  3.59it/s]\u001b[A\n",
      " 95%|█████████▌| 214/225 [00:54<00:02,  4.06it/s]\u001b[A\n",
      " 96%|█████████▌| 215/225 [00:54<00:02,  4.50it/s]\u001b[A\n",
      " 96%|█████████▌| 216/225 [00:54<00:01,  4.86it/s]\u001b[A\n",
      " 96%|█████████▋| 217/225 [00:54<00:01,  5.10it/s]\u001b[A\n",
      " 97%|█████████▋| 218/225 [00:55<00:01,  4.68it/s]\u001b[A\n",
      " 97%|█████████▋| 219/225 [00:55<00:01,  4.98it/s]\u001b[A\n",
      " 98%|█████████▊| 220/225 [00:55<00:00,  5.22it/s]\u001b[A\n",
      " 98%|█████████▊| 221/225 [00:55<00:00,  5.42it/s]\u001b[A\n",
      " 99%|█████████▊| 222/225 [00:55<00:00,  5.31it/s]\u001b[A\n",
      " 99%|█████████▉| 223/225 [00:55<00:00,  5.54it/s]\u001b[A\n",
      "100%|█████████▉| 224/225 [00:56<00:00,  5.72it/s]\u001b[A\n",
      "                                                         \n",
      " 29%|██▉       | 4000/13730 [5:35:03<12:28:45,  4.62s/it]\n",
      "100%|██████████| 225/225 [00:56<00:00,  5.31it/s]\u001b[A\n",
      "                                                 \u001b[A"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'eval_loss': 0.09019540995359421, 'eval_runtime': 60.2297, 'eval_samples_per_second': 29.769, 'eval_steps_per_second': 3.736, 'epoch': 2.91}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 29%|██▉       | 4020/13730 [5:36:48<12:43:25,  4.72s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.2907, 'grad_norm': 43.5, 'learning_rate': 1.694868181952472e-05, 'epoch': 2.93}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 29%|██▉       | 4040/13730 [5:38:21<12:27:52,  4.63s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3486, 'grad_norm': 38.5, 'learning_rate': 1.6913958439605257e-05, 'epoch': 2.94}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 30%|██▉       | 4060/13730 [5:39:55<12:40:48,  4.72s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3492, 'grad_norm': 47.25, 'learning_rate': 1.6879074613028723e-05, 'epoch': 2.96}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 30%|██▉       | 4080/13730 [5:41:29<12:53:22,  4.81s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.433, 'grad_norm': 42.25, 'learning_rate': 1.6844031149315952e-05, 'epoch': 2.97}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 30%|██▉       | 4100/13730 [5:43:06<13:10:27,  4.93s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.2981, 'grad_norm': 46.25, 'learning_rate': 1.6808828861692337e-05, 'epoch': 2.99}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 30%|███       | 4120/13730 [5:44:44<16:44:19,  6.27s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.3469, 'grad_norm': 40.5, 'learning_rate': 1.677346856706898e-05, 'epoch': 3.0}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 30%|███       | 4140/13730 [5:46:18<12:37:26,  4.74s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.0593, 'grad_norm': 40.5, 'learning_rate': 1.673795108602371e-05, 'epoch': 3.02}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 30%|███       | 4160/13730 [5:47:53<12:44:19,  4.79s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.0985, 'grad_norm': 46.0, 'learning_rate': 1.6702277242782074e-05, 'epoch': 3.03}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 30%|███       | 4180/13730 [5:49:27<12:23:04,  4.67s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.0459, 'grad_norm': 34.25, 'learning_rate': 1.666644786519817e-05, 'epoch': 3.04}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 31%|███       | 4200/13730 [5:51:01<12:21:54,  4.67s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.0673, 'grad_norm': 37.0, 'learning_rate': 1.6630463784735475e-05, 'epoch': 3.06}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 31%|███       | 4220/13730 [5:52:33<12:09:48,  4.60s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.0924, 'grad_norm': 37.25, 'learning_rate': 1.6594325836447512e-05, 'epoch': 3.07}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 31%|███       | 4240/13730 [5:54:08<13:25:50,  5.09s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.1017, 'grad_norm': 44.25, 'learning_rate': 1.6558034858958506e-05, 'epoch': 3.09}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 31%|███       | 4260/13730 [5:55:43<12:26:05,  4.73s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.1114, 'grad_norm': 45.25, 'learning_rate': 1.6521591694443895e-05, 'epoch': 3.1}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 31%|███       | 4280/13730 [5:57:17<12:22:31,  4.71s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.0567, 'grad_norm': 48.25, 'learning_rate': 1.6484997188610813e-05, 'epoch': 3.12}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 31%|███▏      | 4300/13730 [5:58:51<12:14:21,  4.67s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.0715, 'grad_norm': 35.25, 'learning_rate': 1.6448252190678435e-05, 'epoch': 3.13}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 31%|███▏      | 4320/13730 [6:00:25<12:09:15,  4.65s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.1272, 'grad_norm': 43.25, 'learning_rate': 1.6411357553358292e-05, 'epoch': 3.15}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 32%|███▏      | 4340/13730 [6:01:56<11:45:37,  4.51s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.1315, 'grad_norm': 40.25, 'learning_rate': 1.637431413283448e-05, 'epoch': 3.16}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 32%|███▏      | 4360/13730 [6:03:29<12:13:25,  4.70s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.1045, 'grad_norm': 53.75, 'learning_rate': 1.6337122788743775e-05, 'epoch': 3.18}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 32%|███▏      | 4380/13730 [6:05:02<12:04:02,  4.65s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.071, 'grad_norm': 41.5, 'learning_rate': 1.629978438415571e-05, 'epoch': 3.19}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 32%|███▏      | 4400/13730 [6:06:35<12:05:31,  4.67s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'loss': 1.0451, 'grad_norm': 44.25, 'learning_rate': 1.626229978555252e-05, 'epoch': 3.2}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 32%|███▏      | 4404/13730 [6:06:54<12:05:30,  4.67s/it]"
     ]
    }
   ],
   "source": [
    "import subprocess, sys\n",
    "\n",
    "cmd = [\n",
    "    sys.executable, 'qwen3_asr_sft.py',\n",
    "    '--model_path',       MODEL_PATH,\n",
    "    '--train_file',       TRAIN_FILE,\n",
    "    '--eval_file',        EVAL_FILE,\n",
    "    '--output_dir',       OUTPUT_DIR,\n",
    "    '--sr',               str(SR),\n",
    "    '--batch_size',       str(BATCH_SIZE),\n",
    "    '--grad_acc',         str(GRAD_ACC),\n",
    "    '--lr',               str(LR),\n",
    "    '--epochs',           str(EPOCHS),\n",
    "    '--save_steps',       str(SAVE_STEPS),\n",
    "    '--save_total_limit', str(SAVE_LIMIT),\n",
    "    '--log_steps',        str(LOG_STEPS),\n",
    "    '--warmup_ratio',     str(WARMUP_RATIO),\n",
    "    '--num_workers',      '8',\n",
    "]\n",
    "\n",
    "print('Running:', ' '.join(cmd))\n",
    "result = subprocess.run(cmd)\n",
    "if result.returncode != 0:\n",
    "    raise RuntimeError(f'Training failed with exit code {result.returncode}')\n",
    "print('\\n✅ Training complete!')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 8. Resume Training from Latest Checkpoint\n",
    "\n",
    "Run this cell **instead of Section 7** after a session disconnect or timeout.  \n",
    "It automatically finds the highest-numbered checkpoint in `OUTPUT_DIR`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Resuming training...\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Skipping import of cpp extensions due to incompatible torch version. Please upgrade to torch >= 2.11.0 (found 2.10.0+cu128).\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Using bf16\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "The following generation flags are not valid and may be ignored: ['temperature']. Set `TRANSFORMERS_VERBOSITY=info` for more details.\n",
      "/data/qwen3_asr_sft.py:240: FutureWarning: `tokenizer` is deprecated and will be removed in version 5.0.0 for `CastFloatTrainer.__init__`. Use `processing_class` instead.\n",
      "  trainer = CastFloatTrainer(\n",
      "The tokenizer has new PAD/BOS/EOS tokens that differ from the model config and generation config. The model config and generation config were aligned accordingly, being updated with the tokenizer's values. Updated tokens: {'eos_token_id': 151645, 'pad_token_id': 151643}.\n",
      "  0%|          | 14/8235 [01:00<9:21:06,  4.10s/it]"
     ]
    }
   ],
   "source": [
    "import subprocess, sys\n",
    "\n",
    "cmd = [\n",
    "    sys.executable, 'qwen3_asr_sft.py',\n",
    "    '--model_path',       MODEL_PATH,\n",
    "    '--train_file',       TRAIN_FILE,\n",
    "    '--eval_file',        EVAL_FILE,\n",
    "    '--output_dir',       OUTPUT_DIR,\n",
    "    '--sr',               str(SR),\n",
    "    '--batch_size',       str(BATCH_SIZE),\n",
    "    '--grad_acc',         str(GRAD_ACC),\n",
    "    '--lr',               str(LR),\n",
    "    '--epochs',           str(EPOCHS),\n",
    "    '--save_steps',       str(SAVE_STEPS),\n",
    "    '--save_total_limit', str(SAVE_LIMIT),\n",
    "    '--log_steps',        str(LOG_STEPS),\n",
    "    '--warmup_ratio',     str(WARMUP_RATIO),\n",
    "    '--num_workers',      '2',\n",
    "    '--resume',           '1',   # ← auto-resume from latest checkpoint\n",
    "]\n",
    "\n",
    "print('Resuming training...')\n",
    "result = subprocess.run(cmd)\n",
    "if result.returncode != 0:\n",
    "    raise RuntimeError(f'Training failed with exit code {result.returncode}')\n",
    "print('\\n✅ Training complete!')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 9. Inference Test\n",
    "\n",
    "Test the fine-tuned model on a sample audio file. Expects the model to output the language prefix + transcript."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "✅ Processor files copied into checkpoint.\n"
     ]
    }
   ],
   "source": [
    "# ── Fix: copy processor files from base model into checkpoint ─────────────────\n",
    "import shutil, os\n",
    "\n",
    "BASE_MODEL = \"Qwen/Qwen3-ASR-0.6B\"   # the original base model\n",
    "CKPT_PATH  = \"outputs/QWEN-ASR-fintuning/qwen3-asr-0.6b-ghana-out/checkpoint-4000\"\n",
    "\n",
    "PROCESSOR_FILES = [\n",
    "    \"preprocessor_config.json\",\n",
    "    \"tokenizer.json\",\n",
    "    \"tokenizer_config.json\",\n",
    "    \"special_tokens_map.json\",\n",
    "    \"vocab.json\",        # may not exist, that's fine\n",
    "    \"merges.txt\",        # may not exist, that's fine\n",
    "]\n",
    "\n",
    "from transformers import AutoProcessor\n",
    "# Download/cache processor from base model then copy its files\n",
    "processor = AutoProcessor.from_pretrained(BASE_MODEL)\n",
    "processor.save_pretrained(CKPT_PATH)   # writes all processor files into ckpt dir\n",
    "print(\"✅ Processor files copied into checkpoint.\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loading checkpoint: outputs/QWEN-ASR-fintuning/qwen3-asr-0.6b-ghana-out/checkpoint-4000\n",
      "\n",
      "Reference : language Dagbani<asr_text>bɛn daa dolila Dauda. Saha shɛli Dauda ni daa di nam ʒi Hiburɔn n-su Judanim maa\n",
      "Audio file: ghana_audio/033650.wav\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Setting `pad_token_id` to `eos_token_id`:151645 for open-end generation.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Predicted language : Dagbani\n",
      "Predicted text     : bɛn daa doli la Dauda saha shɛli Dauda ni daa di nam ʒi Hiburɔn n-su Judanim maa\n"
     ]
    }
   ],
   "source": [
    "import torch, os\n",
    "from qwen_asr import Qwen3ASRModel\n",
    "\n",
    "# ── Set checkpoint path directly ──────────────────────────────────────────────\n",
    "# Option 1: Hardcode a specific checkpoint\n",
    "CKPT_PATH = \"outputs/QWEN-ASR-fintuning/qwen3-asr-0.6b-ghana-out/checkpoint-4000\"  # <-- change this\n",
    "\n",
    "if not os.path.isdir(CKPT_PATH):\n",
    "    raise FileNotFoundError(f\"Checkpoint not found: {CKPT_PATH}\")\n",
    "\n",
    "print(f'Loading checkpoint: {CKPT_PATH}')\n",
    "\n",
    "# ── Load model ────────────────────────────────────────────────────────────────\n",
    "use_bf16 = torch.cuda.is_available() and torch.cuda.get_device_capability(0)[0] >= 8\n",
    "model = Qwen3ASRModel.from_pretrained(\n",
    "    CKPT_PATH,\n",
    "    dtype=torch.bfloat16 if use_bf16 else torch.float16,\n",
    "    device_map='cuda:0',\n",
    ")\n",
    "\n",
    "# ── Pick a sample from eval JSONL ─────────────────────────────────────────────\n",
    "import json, random\n",
    "with open(EVAL_FILE) as f:\n",
    "    samples = [json.loads(l) for l in f]\n",
    "\n",
    "sample = random.choice(samples)\n",
    "print(f'\\nReference : {sample[\"text\"]}')\n",
    "print(f'Audio file: {sample[\"audio\"]}')\n",
    "\n",
    "# ── Transcribe ────────────────────────────────────────────────────────────────\n",
    "results = model.transcribe(audio=sample['audio'])\n",
    "print(f'\\nPredicted language : {results[0].language}')\n",
    "print(f'Predicted text     : {results[0].text}')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 10. Push Checkpoint to HuggingFace Hub (Optional)\n",
    "\n",
    "Upload your best checkpoint to `ghananlpcommunity` or your personal HF org."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# ── Set your HF repo details ──────────────────────────────────────────────────\n",
    "HF_REPO_ID  = 'ghananlpcommunity/qwen3-asr-0.6b-ghana-multilang'\n",
    "HF_TOKEN    = ''  # paste your HF write token, or use: from google.colab import userdata; userdata.get('HF_TOKEN')\n",
    "PUSH_CKPT   = ckpt   # or set manually: '/content/drive/MyDrive/GhanaNLP_ASR/qwen3-asr-0.6b-ghana-out/checkpoint-600'\n",
    "\n",
    "# ──────────────────────────────────────────────────────────────────────────────\n",
    "from huggingface_hub import HfApi\n",
    "import os\n",
    "\n",
    "if not HF_TOKEN:\n",
    "    raise ValueError('Set HF_TOKEN above before running this cell.')\n",
    "\n",
    "api = HfApi(token=HF_TOKEN)\n",
    "api.create_repo(repo_id=HF_REPO_ID, repo_type='model', exist_ok=True)\n",
    "\n",
    "print(f'Uploading {PUSH_CKPT} → {HF_REPO_ID} ...')\n",
    "api.upload_folder(\n",
    "    folder_path=PUSH_CKPT,\n",
    "    repo_id=HF_REPO_ID,\n",
    "    repo_type='model',\n",
    "    commit_message=f'Upload fine-tuned checkpoint: {os.path.basename(PUSH_CKPT)}',\n",
    ")\n",
    "print(f'✅ Uploaded to https://huggingface.co/{HF_REPO_ID}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Note: you may need to restart the kernel to use updated packages.\n"
     ]
    }
   ],
   "source": [
    "%pip install \"datasets==2.19.2\" --quiet"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "# ── CELL 2: Config ────────────────────────────────────────────────────────────\n",
    "import os\n",
    "\n",
    "BASE_MODEL  = \"Qwen/Qwen3-ASR-0.6B\"\n",
    "CKPT_PATH   = \"outputs/QWEN-ASR-fintuning/qwen3-asr-0.6b-ghana-out/checkpoint-4000\"  # adjust\n",
    "\n",
    "HF_TOKEN    = \"\"   # paste your HF read token if datasets are private\n",
    "\n",
    "DATASETS = {\n",
    "    \"Twi\":     \"ghananlpcommunity/ghana-nlp-health-UNICEF-asr-twi\",\n",
    "    \"Dagbani\": \"ghananlpcommunity/ghana-nlp-health-UNICEF-asr-dagbani\",\n",
    "    \"Ewe\":     \"ghananlpcommunity/ghana-nlp-health-UNICEF-asr-ewe\",\n",
    "}\n",
    "\n",
    "# Column names in the HF datasets — adjust if different\n",
    "AUDIO_COL = \"audio\"\n",
    "TEXT_COL  = \"text\"\n",
    "\n",
    "# How many samples to evaluate per language (None = all)\n",
    "MAX_SAMPLES = None"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loading BASE model...\n",
      "✅ Base model loaded.\n",
      "\n",
      "Loading FINE-TUNED model from outputs/QWEN-ASR-fintuning/qwen3-asr-0.6b-ghana-out/checkpoint-4000...\n",
      "✅ Fine-tuned model loaded.\n"
     ]
    }
   ],
   "source": [
    "# ── CELL 3: Load both models ──────────────────────────────────────────────────\n",
    "import torch\n",
    "from qwen_asr import Qwen3ASRModel\n",
    "from transformers import AutoProcessor\n",
    "\n",
    "use_bf16 = torch.cuda.is_available() and torch.cuda.get_device_capability(0)[0] >= 8\n",
    "dtype    = torch.bfloat16 if use_bf16 else torch.float16\n",
    "\n",
    "print(\"Loading BASE model...\")\n",
    "base_model = Qwen3ASRModel.from_pretrained(\n",
    "    BASE_MODEL,\n",
    "    dtype=dtype,\n",
    "    device_map=\"cuda:0\",\n",
    ")\n",
    "print(\"✅ Base model loaded.\")\n",
    "\n",
    "print(f\"\\nLoading FINE-TUNED model from {CKPT_PATH}...\")\n",
    "ft_model = Qwen3ASRModel.from_pretrained(\n",
    "    CKPT_PATH,\n",
    "    dtype=dtype,\n",
    "    device_map=\"cuda:0\",\n",
    ")\n",
    "ft_model.processor = AutoProcessor.from_pretrained(BASE_MODEL, fix_mistral_regex=True)\n",
    "print(\"✅ Fine-tuned model loaded.\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loading Twi: ghananlpcommunity/ghana-nlp-health-UNICEF-asr-twi\n",
      "  → 200 samples, columns: ['audio', 'text', 'audio_file_name']\n",
      "Loading Dagbani: ghananlpcommunity/ghana-nlp-health-UNICEF-asr-dagbani\n",
      "  → 200 samples, columns: ['audio', 'text', 'audio_file_name']\n",
      "Loading Ewe: ghananlpcommunity/ghana-nlp-health-UNICEF-asr-ewe\n",
      "  → 200 samples, columns: ['audio', 'text', 'audio_file_name']\n",
      "\n",
      "✅ All datasets loaded.\n"
     ]
    }
   ],
   "source": [
    "# ── CELL 4 (FIXED): Load datasets ─────────────────────────────────────────────\n",
    "from datasets import load_dataset, Audio\n",
    "\n",
    "loaded = {}\n",
    "for lang, repo in DATASETS.items():\n",
    "    print(f\"Loading {lang}: {repo}\")\n",
    "    ds = load_dataset(repo, token=HF_TOKEN if HF_TOKEN else None, split=\"train\")\n",
    "    ds = ds.cast_column(\"audio\", Audio(sampling_rate=16000))  # decode via soundfile\n",
    "    if MAX_SAMPLES:\n",
    "        ds = ds.select(range(min(MAX_SAMPLES, len(ds))))\n",
    "    loaded[lang] = ds\n",
    "    print(f\"  → {len(ds)} samples, columns: {ds.column_names}\")\n",
    "\n",
    "print(\"\\n✅ All datasets loaded.\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Twi:\n",
      "  Columns : ['audio', 'text', 'audio_file_name']\n"
     ]
    },
    {
     "ename": "ImportError",
     "evalue": "To support decoding audio data, please install 'torchcodec'.",
     "output_type": "error",
     "traceback": [
      "\u001b[31m---------------------------------------------------------------------------\u001b[39m",
      "\u001b[31mImportError\u001b[39m                               Traceback (most recent call last)",
      "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[30]\u001b[39m\u001b[32m, line 6\u001b[39m\n\u001b[32m      2\u001b[39m \u001b[38;5;66;03m# Run this to inspect what columns your dataset actually has\u001b[39;00m\n\u001b[32m      3\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m lang, ds \u001b[38;5;28;01min\u001b[39;00m loaded.items():\n\u001b[32m      4\u001b[39m     print(\u001b[33mf\"\\n{lang}:\"\u001b[39m)\n\u001b[32m      5\u001b[39m     print(\u001b[33mf\"  Columns : {ds.column_names}\"\u001b[39m)\n\u001b[32m----> \u001b[39m\u001b[32m6\u001b[39m     print(\u001b[33mf\"  Sample  : { {k: str(v)[:80] for k, v in ds[0].items()} }\"\u001b[39m)\n",
      "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda/envs/ghana_speech/lib/python3.11/site-packages/datasets/arrow_dataset.py:3157\u001b[39m, in \u001b[36mDataset.__getitem__\u001b[39m\u001b[34m(self, key)\u001b[39m\n\u001b[32m   3155\u001b[39m     \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m._format_type \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m._format_type \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m (\u001b[33m\"\u001b[39m\u001b[33marrow\u001b[39m\u001b[33m\"\u001b[39m, \u001b[33m\"\u001b[39m\u001b[33mpandas\u001b[39m\u001b[33m\"\u001b[39m, \u001b[33m\"\u001b[39m\u001b[33mpolars\u001b[39m\u001b[33m\"\u001b[39m):\n\u001b[32m   3156\u001b[39m         \u001b[38;5;28;01mreturn\u001b[39;00m Column(\u001b[38;5;28mself\u001b[39m, key)\n\u001b[32m-> \u001b[39m\u001b[32m3157\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43m_getitem\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mkey\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n",
      "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda/envs/ghana_speech/lib/python3.11/site-packages/datasets/arrow_dataset.py:3139\u001b[39m, in \u001b[36mDataset._getitem\u001b[39m\u001b[34m(self, key, **kwargs)\u001b[39m\n\u001b[32m   3137\u001b[39m formatter = get_formatter(format_type, features=\u001b[38;5;28mself\u001b[39m._info.features, **format_kwargs)\n\u001b[32m   3138\u001b[39m pa_subtable = query_table(\u001b[38;5;28mself\u001b[39m._data, key, indices=\u001b[38;5;28mself\u001b[39m._indices)\n\u001b[32m-> \u001b[39m\u001b[32m3139\u001b[39m formatted_output = \u001b[30;43mformat_table\u001b[39;49m\u001b[30;43m(\u001b[39;49m\n\u001b[32m   3140\u001b[39m \u001b[30;43m    \u001b[39;49m\u001b[30;43mpa_subtable\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mkey\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mformatter\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mformatter\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mformat_columns\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mformat_columns\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43moutput_all_columns\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43moutput_all_columns\u001b[39;49m\n\u001b[32m   3141\u001b[39m \u001b[30;43m\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m   3142\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m formatted_output\n",
      "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda/envs/ghana_speech/lib/python3.11/site-packages/datasets/formatting/formatting.py:658\u001b[39m, in \u001b[36mformat_table\u001b[39m\u001b[34m(table, key, formatter, format_columns, output_all_columns)\u001b[39m\n\u001b[32m    656\u001b[39m python_formatter = PythonFormatter(features=formatter.features)\n\u001b[32m    657\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m format_columns \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m--> \u001b[39m\u001b[32m658\u001b[39m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[30;43mformatter\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mpa_table\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mquery_type\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mquery_type\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m    659\u001b[39m \u001b[38;5;28;01melif\u001b[39;00m query_type == \u001b[33m\"\u001b[39m\u001b[33mcolumn\u001b[39m\u001b[33m\"\u001b[39m:\n\u001b[32m    660\u001b[39m     \u001b[38;5;28;01mif\u001b[39;00m key \u001b[38;5;129;01min\u001b[39;00m format_columns:\n",
      "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda/envs/ghana_speech/lib/python3.11/site-packages/datasets/formatting/formatting.py:411\u001b[39m, in \u001b[36mFormatter.__call__\u001b[39m\u001b[34m(self, pa_table, query_type)\u001b[39m\n\u001b[32m    409\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m__call__\u001b[39m(\u001b[38;5;28mself\u001b[39m, pa_table: pa.Table, query_type: \u001b[38;5;28mstr\u001b[39m) -> Union[RowFormat, ColumnFormat, BatchFormat]:\n\u001b[32m    410\u001b[39m     \u001b[38;5;28;01mif\u001b[39;00m query_type == \u001b[33m\"\u001b[39m\u001b[33mrow\u001b[39m\u001b[33m\"\u001b[39m:\n\u001b[32m--> \u001b[39m\u001b[32m411\u001b[39m         \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mformat_row\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mpa_table\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m    412\u001b[39m     \u001b[38;5;28;01melif\u001b[39;00m query_type == \u001b[33m\"\u001b[39m\u001b[33mcolumn\u001b[39m\u001b[33m\"\u001b[39m:\n\u001b[32m    413\u001b[39m         \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m.format_column(pa_table)\n",
      "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda/envs/ghana_speech/lib/python3.11/site-packages/datasets/formatting/formatting.py:460\u001b[39m, in \u001b[36mPythonFormatter.format_row\u001b[39m\u001b[34m(self, pa_table)\u001b[39m\n\u001b[32m    458\u001b[39m     \u001b[38;5;28;01mreturn\u001b[39;00m LazyRow(pa_table, \u001b[38;5;28mself\u001b[39m)\n\u001b[32m    459\u001b[39m row = \u001b[38;5;28mself\u001b[39m.python_arrow_extractor().extract_row(pa_table)\n\u001b[32m--> \u001b[39m\u001b[32m460\u001b[39m row = \u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mpython_features_decoder\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mdecode_row\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mrow\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m    461\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m row\n",
      "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda/envs/ghana_speech/lib/python3.11/site-packages/datasets/formatting/formatting.py:224\u001b[39m, in \u001b[36mPythonFeaturesDecoder.decode_row\u001b[39m\u001b[34m(self, row)\u001b[39m\n\u001b[32m    223\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mdecode_row\u001b[39m(\u001b[38;5;28mself\u001b[39m, row: \u001b[38;5;28mdict\u001b[39m) -> \u001b[38;5;28mdict\u001b[39m:\n\u001b[32m--> \u001b[39m\u001b[32m224\u001b[39m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mfeatures\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mdecode_example\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mrow\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mtoken_per_repo_id\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mtoken_per_repo_id\u001b[39;49m\u001b[30;43m)\u001b[39;49m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m.features \u001b[38;5;28;01melse\u001b[39;00m row\n",
      "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda/envs/ghana_speech/lib/python3.11/site-packages/datasets/features/features.py:2203\u001b[39m, in \u001b[36mFeatures.decode_example\u001b[39m\u001b[34m(self, example, token_per_repo_id)\u001b[39m\n\u001b[32m   2189\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mdecode_example\u001b[39m(\u001b[38;5;28mself\u001b[39m, example: \u001b[38;5;28mdict\u001b[39m, token_per_repo_id: Optional[\u001b[38;5;28mdict\u001b[39m[\u001b[38;5;28mstr\u001b[39m, Union[\u001b[38;5;28mstr\u001b[39m, \u001b[38;5;28mbool\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m]]] = \u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[32m   2190\u001b[39m \u001b[38;5;250m    \u001b[39m\u001b[33;03m\"\"\"Decode example with custom feature decoding.\u001b[39;00m\n\u001b[32m   2191\u001b[39m \n\u001b[32m   2192\u001b[39m \u001b[33;03m    Args:\u001b[39;00m\n\u001b[32m   (...)\u001b[39m\u001b[32m   2200\u001b[39m \u001b[33;03m        `dict[str, Any]`\u001b[39;00m\n\u001b[32m   2201\u001b[39m \u001b[33;03m    \"\"\"\u001b[39;00m\n\u001b[32m-> \u001b[39m\u001b[32m2203\u001b[39m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[30;43m{\u001b[39;49m\n\u001b[32m   2204\u001b[39m \u001b[30;43m        \u001b[39;49m\u001b[30;43mcolumn_name\u001b[39;49m\u001b[30;43m:\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mdecode_nested_example\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mfeature\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mvalue\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mtoken_per_repo_id\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mtoken_per_repo_id\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m   2205\u001b[39m \u001b[30;43m        \u001b[39;49m\u001b[30;43;01mif\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43m_column_requires_decoding\u001b[39;49m\u001b[30;43m[\u001b[39;49m\u001b[30;43mcolumn_name\u001b[39;49m\u001b[30;43m]\u001b[39;49m\n\u001b[32m   2206\u001b[39m \u001b[30;43m        \u001b[39;49m\u001b[30;43;01melse\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mvalue\u001b[39;49m\n\u001b[32m   2207\u001b[39m \u001b[30;43m        \u001b[39;49m\u001b[30;43;01mfor\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mcolumn_name\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mfeature\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mvalue\u001b[39;49m\u001b[30;43m)\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43;01min\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mzip_dict\u001b[39;49m\u001b[30;43m(\u001b[39;49m\n\u001b[32m   2208\u001b[39m \u001b[30;43m            \u001b[39;49m\u001b[30;43m{\u001b[39;49m\u001b[30;43mkey\u001b[39;49m\u001b[30;43m:\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mvalue\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43;01mfor\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mkey\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mvalue\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43;01min\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mitems\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43m)\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43;01mif\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mkey\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43;01min\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mexample\u001b[39;49m\u001b[30;43m}\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mexample\u001b[39;49m\n\u001b[32m   2209\u001b[39m \u001b[30;43m        \u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m   2210\u001b[39m \u001b[30;43m    \u001b[39;49m\u001b[30;43m}\u001b[39;49m\n",
      "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda/envs/ghana_speech/lib/python3.11/site-packages/datasets/features/features.py:2204\u001b[39m, in \u001b[36m<dictcomp>\u001b[39m\u001b[34m(.0)\u001b[39m\n\u001b[32m   2189\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mdecode_example\u001b[39m(\u001b[38;5;28mself\u001b[39m, example: \u001b[38;5;28mdict\u001b[39m, token_per_repo_id: Optional[\u001b[38;5;28mdict\u001b[39m[\u001b[38;5;28mstr\u001b[39m, Union[\u001b[38;5;28mstr\u001b[39m, \u001b[38;5;28mbool\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m]]] = \u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[32m   2190\u001b[39m \u001b[38;5;250m    \u001b[39m\u001b[33;03m\"\"\"Decode example with custom feature decoding.\u001b[39;00m\n\u001b[32m   2191\u001b[39m \n\u001b[32m   2192\u001b[39m \u001b[33;03m    Args:\u001b[39;00m\n\u001b[32m   (...)\u001b[39m\u001b[32m   2200\u001b[39m \u001b[33;03m        `dict[str, Any]`\u001b[39;00m\n\u001b[32m   2201\u001b[39m \u001b[33;03m    \"\"\"\u001b[39;00m\n\u001b[32m   2203\u001b[39m     \u001b[38;5;28;01mreturn\u001b[39;00m {\n\u001b[32m-> \u001b[39m\u001b[32m2204\u001b[39m         column_name: \u001b[30;43mdecode_nested_example\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mfeature\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mvalue\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mtoken_per_repo_id\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mtoken_per_repo_id\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m   2205\u001b[39m         \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m._column_requires_decoding[column_name]\n\u001b[32m   2206\u001b[39m         \u001b[38;5;28;01melse\u001b[39;00m value\n\u001b[32m   2207\u001b[39m         \u001b[38;5;28;01mfor\u001b[39;00m column_name, (feature, value) \u001b[38;5;129;01min\u001b[39;00m zip_dict(\n\u001b[32m   2208\u001b[39m             {key: value \u001b[38;5;28;01mfor\u001b[39;00m key, value \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m.items() \u001b[38;5;28;01mif\u001b[39;00m key \u001b[38;5;129;01min\u001b[39;00m example}, example\n\u001b[32m   2209\u001b[39m         )\n\u001b[32m   2210\u001b[39m     }\n",
      "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda/envs/ghana_speech/lib/python3.11/site-packages/datasets/features/features.py:1508\u001b[39m, in \u001b[36mdecode_nested_example\u001b[39m\u001b[34m(schema, obj, token_per_repo_id)\u001b[39m\n\u001b[32m   1505\u001b[39m \u001b[38;5;66;03m# Object with special decoding:\u001b[39;00m\n\u001b[32m   1506\u001b[39m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mhasattr\u001b[39m(schema, \u001b[33m\"\u001b[39m\u001b[33mdecode_example\u001b[39m\u001b[33m\"\u001b[39m) \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mgetattr\u001b[39m(schema, \u001b[33m\"\u001b[39m\u001b[33mdecode\u001b[39m\u001b[33m\"\u001b[39m, \u001b[38;5;28;01mTrue\u001b[39;00m):\n\u001b[32m   1507\u001b[39m     \u001b[38;5;66;03m# we pass the token to read and decode files from private repositories in streaming mode\u001b[39;00m\n\u001b[32m-> \u001b[39m\u001b[32m1508\u001b[39m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[30;43mschema\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mdecode_example\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mobj\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mtoken_per_repo_id\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mtoken_per_repo_id\u001b[39;49m\u001b[30;43m)\u001b[39;49m \u001b[38;5;28;01mif\u001b[39;00m obj \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[32m   1509\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m obj\n",
      "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda/envs/ghana_speech/lib/python3.11/site-packages/datasets/features/audio.py:186\u001b[39m, in \u001b[36mdecode_example\u001b[39m\u001b[34m(self, value, token_per_repo_id)\u001b[39m\n\u001b[32m    183\u001b[39m     with xopen(path, \"rb\", download_config=download_config) as f:\n\u001b[32m    184\u001b[39m         array, sampling_rate = sf.read(f)\n\u001b[32m--> \u001b[39m\u001b[32m186\u001b[39m else:\n\u001b[32m    187\u001b[39m     array, sampling_rate = sf.read(file)\n\u001b[32m    189\u001b[39m array = array.T\n",
      "\u001b[31mImportError\u001b[39m: To support decoding audio data, please install 'torchcodec'."
     ]
    }
   ],
   "source": [
    "# ── CELL 5: Verify column names ───────────────────────────────────────────────\n",
    "# Run this to inspect what columns your dataset actually has\n",
    "for lang, ds in loaded.items():\n",
    "    print(f\"\\n{lang}:\")\n",
    "    print(f\"  Columns : {ds.column_names}\")\n",
    "    print(f\"  Sample  : { {k: str(v)[:80] for k, v in ds[0].items()} }\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "=======================================================\n",
      "  Evaluating: Twi  (200 samples)\n",
      "=======================================================\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Twi:   0%|          | 0/200 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "ename": "ImportError",
     "evalue": "To support decoding audio data, please install 'torchcodec'.",
     "output_type": "error",
     "traceback": [
      "\u001b[31m---------------------------------------------------------------------------\u001b[39m",
      "\u001b[31mImportError\u001b[39m                               Traceback (most recent call last)",
      "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[31]\u001b[39m\u001b[32m, line 34\u001b[39m\n\u001b[32m     30\u001b[39m \n\u001b[32m     31\u001b[39m     base_preds, base_refs = [], []\n\u001b[32m     32\u001b[39m     ft_preds,   ft_refs   = [], []\n\u001b[32m     33\u001b[39m \n\u001b[32m---> \u001b[39m\u001b[32m34\u001b[39m     \u001b[38;5;28;01mfor\u001b[39;00m i, sample \u001b[38;5;28;01min\u001b[39;00m enumerate(tqdm(ds, desc=lang)):\n\u001b[32m     35\u001b[39m         pred_b, ref = transcribe_sample(base_model, sample, AUDIO_COL, TEXT_COL)\n\u001b[32m     36\u001b[39m         base_preds.append(pred_b)\n\u001b[32m     37\u001b[39m         base_refs.append(ref)\n",
      "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda/envs/ghana_speech/lib/python3.11/site-packages/tqdm/std.py:1181\u001b[39m, in \u001b[36mtqdm.__iter__\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m   1178\u001b[39m time = \u001b[38;5;28mself\u001b[39m._time\n\u001b[32m   1180\u001b[39m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[32m-> \u001b[39m\u001b[32m1181\u001b[39m \u001b[30;43m    \u001b[39;49m\u001b[30;43;01mfor\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mobj\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43;01min\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43miterable\u001b[39;49m\u001b[30;43m:\u001b[39;49m\n\u001b[32m   1182\u001b[39m \u001b[30;43m        \u001b[39;49m\u001b[30;43;01myield\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mobj\u001b[39;49m\n\u001b[32m   1183\u001b[39m \u001b[30;43m        \u001b[39;49m\u001b[30;43;03m# Update and possibly print the progressbar.\u001b[39;49;00m\n\u001b[32m   1184\u001b[39m \u001b[30;43m        \u001b[39;49m\u001b[30;43;03m# Note: does not call self.update(1) for speed optimisation.\u001b[39;49;00m\n",
      "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda/envs/ghana_speech/lib/python3.11/site-packages/datasets/arrow_dataset.py:2764\u001b[39m, in \u001b[36mDataset.__iter__\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m   2762\u001b[39m         \u001b[38;5;28;01mfor\u001b[39;00m i \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(pa_subtable.num_rows):\n\u001b[32m   2763\u001b[39m             pa_subtable_ex = pa_subtable.slice(i, \u001b[32m1\u001b[39m)\n\u001b[32m-> \u001b[39m\u001b[32m2764\u001b[39m             formatted_output = \u001b[30;43mformat_table\u001b[39;49m\u001b[30;43m(\u001b[39;49m\n\u001b[32m   2765\u001b[39m \u001b[30;43m                \u001b[39;49m\u001b[30;43mpa_subtable_ex\u001b[39;49m\u001b[30;43m,\u001b[39;49m\n\u001b[32m   2766\u001b[39m \u001b[30;43m                \u001b[39;49m\u001b[30;43m0\u001b[39;49m\u001b[30;43m,\u001b[39;49m\n\u001b[32m   2767\u001b[39m \u001b[30;43m                \u001b[39;49m\u001b[30;43mformatter\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mformatter\u001b[39;49m\u001b[30;43m,\u001b[39;49m\n\u001b[32m   2768\u001b[39m \u001b[30;43m                \u001b[39;49m\u001b[30;43mformat_columns\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43m_format_columns\u001b[39;49m\u001b[30;43m,\u001b[39;49m\n\u001b[32m   2769\u001b[39m \u001b[30;43m                \u001b[39;49m\u001b[30;43moutput_all_columns\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43m_output_all_columns\u001b[39;49m\u001b[30;43m,\u001b[39;49m\n\u001b[32m   2770\u001b[39m \u001b[30;43m            \u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m   2771\u001b[39m             \u001b[38;5;28;01myield\u001b[39;00m formatted_output\n\u001b[32m   2772\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n",
      "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda/envs/ghana_speech/lib/python3.11/site-packages/datasets/formatting/formatting.py:658\u001b[39m, in \u001b[36mformat_table\u001b[39m\u001b[34m(table, key, formatter, format_columns, output_all_columns)\u001b[39m\n\u001b[32m    656\u001b[39m python_formatter = PythonFormatter(features=formatter.features)\n\u001b[32m    657\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m format_columns \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m--> \u001b[39m\u001b[32m658\u001b[39m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[30;43mformatter\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mpa_table\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mquery_type\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mquery_type\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m    659\u001b[39m \u001b[38;5;28;01melif\u001b[39;00m query_type == \u001b[33m\"\u001b[39m\u001b[33mcolumn\u001b[39m\u001b[33m\"\u001b[39m:\n\u001b[32m    660\u001b[39m     \u001b[38;5;28;01mif\u001b[39;00m key \u001b[38;5;129;01min\u001b[39;00m format_columns:\n",
      "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda/envs/ghana_speech/lib/python3.11/site-packages/datasets/formatting/formatting.py:411\u001b[39m, in \u001b[36mFormatter.__call__\u001b[39m\u001b[34m(self, pa_table, query_type)\u001b[39m\n\u001b[32m    409\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m__call__\u001b[39m(\u001b[38;5;28mself\u001b[39m, pa_table: pa.Table, query_type: \u001b[38;5;28mstr\u001b[39m) -> Union[RowFormat, ColumnFormat, BatchFormat]:\n\u001b[32m    410\u001b[39m     \u001b[38;5;28;01mif\u001b[39;00m query_type == \u001b[33m\"\u001b[39m\u001b[33mrow\u001b[39m\u001b[33m\"\u001b[39m:\n\u001b[32m--> \u001b[39m\u001b[32m411\u001b[39m         \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mformat_row\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mpa_table\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m    412\u001b[39m     \u001b[38;5;28;01melif\u001b[39;00m query_type == \u001b[33m\"\u001b[39m\u001b[33mcolumn\u001b[39m\u001b[33m\"\u001b[39m:\n\u001b[32m    413\u001b[39m         \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m.format_column(pa_table)\n",
      "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda/envs/ghana_speech/lib/python3.11/site-packages/datasets/formatting/formatting.py:460\u001b[39m, in \u001b[36mPythonFormatter.format_row\u001b[39m\u001b[34m(self, pa_table)\u001b[39m\n\u001b[32m    458\u001b[39m     \u001b[38;5;28;01mreturn\u001b[39;00m LazyRow(pa_table, \u001b[38;5;28mself\u001b[39m)\n\u001b[32m    459\u001b[39m row = \u001b[38;5;28mself\u001b[39m.python_arrow_extractor().extract_row(pa_table)\n\u001b[32m--> \u001b[39m\u001b[32m460\u001b[39m row = \u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mpython_features_decoder\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mdecode_row\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mrow\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m    461\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m row\n",
      "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda/envs/ghana_speech/lib/python3.11/site-packages/datasets/formatting/formatting.py:224\u001b[39m, in \u001b[36mPythonFeaturesDecoder.decode_row\u001b[39m\u001b[34m(self, row)\u001b[39m\n\u001b[32m    223\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mdecode_row\u001b[39m(\u001b[38;5;28mself\u001b[39m, row: \u001b[38;5;28mdict\u001b[39m) -> \u001b[38;5;28mdict\u001b[39m:\n\u001b[32m--> \u001b[39m\u001b[32m224\u001b[39m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mfeatures\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mdecode_example\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mrow\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mtoken_per_repo_id\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mtoken_per_repo_id\u001b[39;49m\u001b[30;43m)\u001b[39;49m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m.features \u001b[38;5;28;01melse\u001b[39;00m row\n",
      "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda/envs/ghana_speech/lib/python3.11/site-packages/datasets/features/features.py:2203\u001b[39m, in \u001b[36mFeatures.decode_example\u001b[39m\u001b[34m(self, example, token_per_repo_id)\u001b[39m\n\u001b[32m   2189\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mdecode_example\u001b[39m(\u001b[38;5;28mself\u001b[39m, example: \u001b[38;5;28mdict\u001b[39m, token_per_repo_id: Optional[\u001b[38;5;28mdict\u001b[39m[\u001b[38;5;28mstr\u001b[39m, Union[\u001b[38;5;28mstr\u001b[39m, \u001b[38;5;28mbool\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m]]] = \u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[32m   2190\u001b[39m \u001b[38;5;250m    \u001b[39m\u001b[33;03m\"\"\"Decode example with custom feature decoding.\u001b[39;00m\n\u001b[32m   2191\u001b[39m \n\u001b[32m   2192\u001b[39m \u001b[33;03m    Args:\u001b[39;00m\n\u001b[32m   (...)\u001b[39m\u001b[32m   2200\u001b[39m \u001b[33;03m        `dict[str, Any]`\u001b[39;00m\n\u001b[32m   2201\u001b[39m \u001b[33;03m    \"\"\"\u001b[39;00m\n\u001b[32m-> \u001b[39m\u001b[32m2203\u001b[39m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[30;43m{\u001b[39;49m\n\u001b[32m   2204\u001b[39m \u001b[30;43m        \u001b[39;49m\u001b[30;43mcolumn_name\u001b[39;49m\u001b[30;43m:\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mdecode_nested_example\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mfeature\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mvalue\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mtoken_per_repo_id\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mtoken_per_repo_id\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m   2205\u001b[39m \u001b[30;43m        \u001b[39;49m\u001b[30;43;01mif\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43m_column_requires_decoding\u001b[39;49m\u001b[30;43m[\u001b[39;49m\u001b[30;43mcolumn_name\u001b[39;49m\u001b[30;43m]\u001b[39;49m\n\u001b[32m   2206\u001b[39m \u001b[30;43m        \u001b[39;49m\u001b[30;43;01melse\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mvalue\u001b[39;49m\n\u001b[32m   2207\u001b[39m \u001b[30;43m        \u001b[39;49m\u001b[30;43;01mfor\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mcolumn_name\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mfeature\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mvalue\u001b[39;49m\u001b[30;43m)\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43;01min\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mzip_dict\u001b[39;49m\u001b[30;43m(\u001b[39;49m\n\u001b[32m   2208\u001b[39m \u001b[30;43m            \u001b[39;49m\u001b[30;43m{\u001b[39;49m\u001b[30;43mkey\u001b[39;49m\u001b[30;43m:\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mvalue\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43;01mfor\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mkey\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mvalue\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43;01min\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mitems\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43m)\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43;01mif\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mkey\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43;01min\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mexample\u001b[39;49m\u001b[30;43m}\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mexample\u001b[39;49m\n\u001b[32m   2209\u001b[39m \u001b[30;43m        \u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m   2210\u001b[39m \u001b[30;43m    \u001b[39;49m\u001b[30;43m}\u001b[39;49m\n",
      "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda/envs/ghana_speech/lib/python3.11/site-packages/datasets/features/features.py:2204\u001b[39m, in \u001b[36m<dictcomp>\u001b[39m\u001b[34m(.0)\u001b[39m\n\u001b[32m   2189\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mdecode_example\u001b[39m(\u001b[38;5;28mself\u001b[39m, example: \u001b[38;5;28mdict\u001b[39m, token_per_repo_id: Optional[\u001b[38;5;28mdict\u001b[39m[\u001b[38;5;28mstr\u001b[39m, Union[\u001b[38;5;28mstr\u001b[39m, \u001b[38;5;28mbool\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m]]] = \u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[32m   2190\u001b[39m \u001b[38;5;250m    \u001b[39m\u001b[33;03m\"\"\"Decode example with custom feature decoding.\u001b[39;00m\n\u001b[32m   2191\u001b[39m \n\u001b[32m   2192\u001b[39m \u001b[33;03m    Args:\u001b[39;00m\n\u001b[32m   (...)\u001b[39m\u001b[32m   2200\u001b[39m \u001b[33;03m        `dict[str, Any]`\u001b[39;00m\n\u001b[32m   2201\u001b[39m \u001b[33;03m    \"\"\"\u001b[39;00m\n\u001b[32m   2203\u001b[39m     \u001b[38;5;28;01mreturn\u001b[39;00m {\n\u001b[32m-> \u001b[39m\u001b[32m2204\u001b[39m         column_name: \u001b[30;43mdecode_nested_example\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mfeature\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mvalue\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mtoken_per_repo_id\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mtoken_per_repo_id\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m   2205\u001b[39m         \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m._column_requires_decoding[column_name]\n\u001b[32m   2206\u001b[39m         \u001b[38;5;28;01melse\u001b[39;00m value\n\u001b[32m   2207\u001b[39m         \u001b[38;5;28;01mfor\u001b[39;00m column_name, (feature, value) \u001b[38;5;129;01min\u001b[39;00m zip_dict(\n\u001b[32m   2208\u001b[39m             {key: value \u001b[38;5;28;01mfor\u001b[39;00m key, value \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m.items() \u001b[38;5;28;01mif\u001b[39;00m key \u001b[38;5;129;01min\u001b[39;00m example}, example\n\u001b[32m   2209\u001b[39m         )\n\u001b[32m   2210\u001b[39m     }\n",
      "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda/envs/ghana_speech/lib/python3.11/site-packages/datasets/features/features.py:1508\u001b[39m, in \u001b[36mdecode_nested_example\u001b[39m\u001b[34m(schema, obj, token_per_repo_id)\u001b[39m\n\u001b[32m   1505\u001b[39m \u001b[38;5;66;03m# Object with special decoding:\u001b[39;00m\n\u001b[32m   1506\u001b[39m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mhasattr\u001b[39m(schema, \u001b[33m\"\u001b[39m\u001b[33mdecode_example\u001b[39m\u001b[33m\"\u001b[39m) \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mgetattr\u001b[39m(schema, \u001b[33m\"\u001b[39m\u001b[33mdecode\u001b[39m\u001b[33m\"\u001b[39m, \u001b[38;5;28;01mTrue\u001b[39;00m):\n\u001b[32m   1507\u001b[39m     \u001b[38;5;66;03m# we pass the token to read and decode files from private repositories in streaming mode\u001b[39;00m\n\u001b[32m-> \u001b[39m\u001b[32m1508\u001b[39m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[30;43mschema\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mdecode_example\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mobj\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mtoken_per_repo_id\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mtoken_per_repo_id\u001b[39;49m\u001b[30;43m)\u001b[39;49m \u001b[38;5;28;01mif\u001b[39;00m obj \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[32m   1509\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m obj\n",
      "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda/envs/ghana_speech/lib/python3.11/site-packages/datasets/features/audio.py:186\u001b[39m, in \u001b[36mdecode_example\u001b[39m\u001b[34m(self, value, token_per_repo_id)\u001b[39m\n\u001b[32m    183\u001b[39m     with xopen(path, \"rb\", download_config=download_config) as f:\n\u001b[32m    184\u001b[39m         array, sampling_rate = sf.read(f)\n\u001b[32m--> \u001b[39m\u001b[32m186\u001b[39m else:\n\u001b[32m    187\u001b[39m     array, sampling_rate = sf.read(file)\n\u001b[32m    189\u001b[39m array = array.T\n",
      "\u001b[31mImportError\u001b[39m: To support decoding audio data, please install 'torchcodec'."
     ]
    }
   ],
   "source": [
    "# ── CELL 6 (FIXED): Inference ─────────────────────────────────────────────────\n",
    "import tempfile, os\n",
    "import soundfile as sf\n",
    "import numpy as np\n",
    "from tqdm.auto import tqdm\n",
    "\n",
    "def transcribe_sample(model, sample, audio_col, text_col):\n",
    "    ref = sample[text_col].strip()\n",
    "    arr = np.array(sample[audio_col][\"array\"], dtype=np.float32)\n",
    "    sr  = sample[audio_col][\"sampling_rate\"]\n",
    "\n",
    "    with tempfile.NamedTemporaryFile(suffix=\".wav\", delete=False) as tmp:\n",
    "        sf.write(tmp.name, arr, sr)\n",
    "        tmp_path = tmp.name\n",
    "    try:\n",
    "        result = model.transcribe(audio=tmp_path)\n",
    "        pred   = result[0].text.strip() if result else \"\"\n",
    "    finally:\n",
    "        os.unlink(tmp_path)\n",
    "\n",
    "    return pred, ref\n",
    "\n",
    "\n",
    "results = {}\n",
    "\n",
    "for lang, ds in loaded.items():\n",
    "    print(f\"\\n{'='*55}\")\n",
    "    print(f\"  Evaluating: {lang}  ({len(ds)} samples)\")\n",
    "    print(f\"{'='*55}\")\n",
    "\n",
    "    base_preds, base_refs = [], []\n",
    "    ft_preds,   ft_refs   = [], []\n",
    "\n",
    "    for i, sample in enumerate(tqdm(ds, desc=lang)):\n",
    "        pred_b, ref = transcribe_sample(base_model, sample, AUDIO_COL, TEXT_COL)\n",
    "        base_preds.append(pred_b)\n",
    "        base_refs.append(ref)\n",
    "\n",
    "        pred_f, _ = transcribe_sample(ft_model, sample, AUDIO_COL, TEXT_COL)\n",
    "        ft_preds.append(pred_f)\n",
    "        ft_refs.append(ref)\n",
    "\n",
    "        if i < 3:\n",
    "            print(f\"\\n  Sample {i+1}\")\n",
    "            print(f\"    REF  : {ref}\")\n",
    "            print(f\"    BASE : {pred_b}\")\n",
    "            print(f\"    FT   : {pred_f}\")\n",
    "\n",
    "    results[lang] = {\n",
    "        \"base\": (base_preds, base_refs),\n",
    "        \"ft\":   (ft_preds,   ft_refs),\n",
    "    }\n",
    "\n",
    "print(\"\\n✅ Inference complete.\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# ── CELL 7: Compute WER / CER ─────────────────────────────────────────────────\n",
    "metrics = {}   # metrics[lang] = {base_wer, ft_wer, base_cer, ft_cer}\n",
    "\n",
    "print(f\"\\n{'Lang':<10} {'Base WER':>10} {'FT WER':>10} {'ΔWER':>10}  |  {'Base CER':>10} {'FT CER':>10} {'ΔCER':>10}\")\n",
    "print(\"-\" * 75)\n",
    "\n",
    "for lang, res in results.items():\n",
    "    base_preds, base_refs = res[\"base\"]\n",
    "    ft_preds,   ft_refs   = res[\"ft\"]\n",
    "\n",
    "    b_wer = wer(base_refs, base_preds)\n",
    "    f_wer = wer(ft_refs,   ft_preds)\n",
    "    b_cer = cer(base_refs, base_preds)\n",
    "    f_cer = cer(ft_refs,   ft_preds)\n",
    "\n",
    "    metrics[lang] = dict(base_wer=b_wer, ft_wer=f_wer,\n",
    "                         base_cer=b_cer, ft_cer=f_cer)\n",
    "\n",
    "    d_wer = f_wer - b_wer\n",
    "    d_cer = f_cer - b_cer\n",
    "    arrow_w = \"↓\" if d_wer < 0 else \"↑\"\n",
    "    arrow_c = \"↓\" if d_cer < 0 else \"↑\"\n",
    "\n",
    "    print(f\"{lang:<10} {b_wer:>9.1%} {f_wer:>9.1%} {arrow_w}{abs(d_wer):>8.1%}  |  \"\n",
    "          f\"{b_cer:>9.1%} {f_cer:>9.1%} {arrow_c}{abs(d_cer):>8.1%}\")\n",
    "\n",
    "print(\"\\n✅ Metrics computed.\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# ── CELL 8: Plot WER and CER comparison charts ────────────────────────────────\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.patches as mpatches\n",
    "import numpy as np\n",
    "\n",
    "langs      = list(metrics.keys())\n",
    "x          = np.arange(len(langs))\n",
    "bar_width  = 0.32\n",
    "\n",
    "COLOR_BASE = \"#4C72B0\"\n",
    "COLOR_FT   = \"#DD8452\"\n",
    "\n",
    "fig, axes = plt.subplots(1, 2, figsize=(13, 5))\n",
    "fig.suptitle(\"Qwen3-ASR-0.6B: Base vs Fine-tuned — Ghana Health Domain (UNICEF)\",\n",
    "             fontsize=13, fontweight=\"bold\", y=1.02)\n",
    "\n",
    "for ax, metric, title in [\n",
    "    (axes[0], \"wer\", \"Word Error Rate (WER)  ↓ is better\"),\n",
    "    (axes[1], \"cer\", \"Character Error Rate (CER)  ↓ is better\"),\n",
    "]:\n",
    "    base_vals = [metrics[l][f\"base_{metric}\"] for l in langs]\n",
    "    ft_vals   = [metrics[l][f\"ft_{metric}\"]   for l in langs]\n",
    "\n",
    "    bars_base = ax.bar(x - bar_width/2, base_vals, bar_width,\n",
    "                       label=\"Base model\", color=COLOR_BASE, alpha=0.88)\n",
    "    bars_ft   = ax.bar(x + bar_width/2, ft_vals,   bar_width,\n",
    "                       label=\"Fine-tuned\", color=COLOR_FT,   alpha=0.88)\n",
    "\n",
    "    # Value labels on bars\n",
    "    for bar in bars_base:\n",
    "        h = bar.get_height()\n",
    "        ax.text(bar.get_x() + bar.get_width()/2, h + 0.005,\n",
    "                f\"{h:.1%}\", ha=\"center\", va=\"bottom\", fontsize=9, color=COLOR_BASE)\n",
    "    for bar in bars_ft:\n",
    "        h = bar.get_height()\n",
    "        ax.text(bar.get_x() + bar.get_width()/2, h + 0.005,\n",
    "                f\"{h:.1%}\", ha=\"center\", va=\"bottom\", fontsize=9, color=COLOR_FT)\n",
    "\n",
    "    # Delta annotations below each pair\n",
    "    for i, lang in enumerate(langs):\n",
    "        delta = metrics[lang][f\"ft_{metric}\"] - metrics[lang][f\"base_{metric}\"]\n",
    "        sign  = \"−\" if delta < 0 else \"+\"\n",
    "        color = \"green\" if delta < 0 else \"red\"\n",
    "        ax.text(i, -0.04, f\"{sign}{abs(delta):.1%}\", ha=\"center\",\n",
    "                fontsize=8.5, color=color, transform=ax.get_xaxis_transform())\n",
    "\n",
    "    ax.set_xticks(x)\n",
    "    ax.set_xticklabels(langs, fontsize=11)\n",
    "    ax.set_title(title, fontsize=11, pad=8)\n",
    "    ax.set_ylabel(metric.upper(), fontsize=10)\n",
    "    ax.yaxis.set_major_formatter(plt.FuncFormatter(lambda v, _: f\"{v:.0%}\"))\n",
    "    ax.set_ylim(0, max(max(base_vals), max(ft_vals)) * 1.18)\n",
    "    ax.legend(fontsize=9)\n",
    "    ax.grid(axis=\"y\", linestyle=\"--\", alpha=0.4)\n",
    "    ax.spines[[\"top\", \"right\"]].set_visible(False)\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.savefig(\"wer_cer_comparison.png\", dpi=150, bbox_inches=\"tight\")\n",
    "plt.show()\n",
    "print(\"✅ Chart saved as wer_cer_comparison.png\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "✅ Repo ready: https://huggingface.co/ghananlpcommunity/qwen3-asr-0.6b-ghana-twi-ewe-dagbani\n",
      "Uploading outputs/QWEN-ASR-fintuning/qwen3-asr-0.6b-ghana-out/checkpoint-4000 ...\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Processing Files (0 / 0): |          |  0.00B /  0.00B            \n",
      "Processing Files (6 / 6): 100%|██████████| 4.71GB / 4.71GB,  330MB/s  \n",
      "Processing Files (6 / 6): 100%|██████████| 4.71GB / 4.71GB,  298MB/s  \n",
      "New Data Upload: 100%|██████████| 60.0kB / 60.0kB, 6.00kB/s  \n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "✅ Done → https://huggingface.co/ghananlpcommunity/qwen3-asr-0.6b-ghana-twi-ewe-dagbani\n"
     ]
    }
   ],
   "source": [
    "# ── Push fine-tuned checkpoint to HuggingFace Hub ─────────────────────────────\n",
    "from huggingface_hub import HfApi\n",
    "import os\n",
    "\n",
    "HF_TOKEN   = \"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\"   # your HF write token\n",
    "CKPT_PATH  = \"outputs/QWEN-ASR-fintuning/qwen3-asr-0.6b-ghana-out/checkpoint-4000\"  # adjust\n",
    "HF_REPO_ID = \"ghananlpcommunity/qwen3-asr-0.6b-ghana-twi-ewe-dagbani\"\n",
    "\n",
    "api = HfApi(token=HF_TOKEN)\n",
    "\n",
    "# Create repo if it doesn't exist\n",
    "api.create_repo(repo_id=HF_REPO_ID, repo_type=\"model\", exist_ok=True)\n",
    "print(f\"✅ Repo ready: https://huggingface.co/{HF_REPO_ID}\")\n",
    "\n",
    "# Upload the checkpoint folder\n",
    "print(f\"Uploading {CKPT_PATH} ...\")\n",
    "api.upload_folder(\n",
    "    folder_path=CKPT_PATH,\n",
    "    repo_id=HF_REPO_ID,\n",
    "    repo_type=\"model\",\n",
    "    commit_message=f\"Upload fine-tuned checkpoint: {os.path.basename(CKPT_PATH)}\",\n",
    ")\n",
    "print(f\"✅ Done → https://huggingface.co/{HF_REPO_ID}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "accelerator": "GPU",
  "colab": {
   "gpuType": "T4",
   "provenance": []
  },
  "kernelspec": {
   "display_name": "Python 3.11 (Ghana Speech-2)",
   "language": "python",
   "name": "ghana_speech"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.15"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
