From 141c5528c73ab3acf18f4b8419825e30c0a0a69c Mon Sep 17 00:00:00 2001 From: Hope Ogbons Date: Fri, 31 Oct 2025 09:41:22 +0100 Subject: [PATCH 1/8] Add week 7 exercise notebook for fine-tuned product price prediction This commit introduces a new Jupyter notebook, 'week7 EXERCISE.ipynb', which details the process of evaluating a fine-tuned Llama 3.1 8B model for product price estimation. The notebook includes steps for library installation, dataset loading, model inference, and performance evaluation, enhancing the project's capabilities in product pricing analysis. --- .../hopeogbons/week7 EXERCISE.ipynb | 4722 +++++++++++++++++ 1 file changed, 4722 insertions(+) create mode 100644 week7/community_contributions/hopeogbons/week7 EXERCISE.ipynb diff --git a/week7/community_contributions/hopeogbons/week7 EXERCISE.ipynb b/week7/community_contributions/hopeogbons/week7 EXERCISE.ipynb new file mode 100644 index 0000000..4e72ea9 --- /dev/null +++ b/week7/community_contributions/hopeogbons/week7 EXERCISE.ipynb @@ -0,0 +1,4722 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "GHsssBgWM_l0" + }, + "source": [ + "# Fine-Tuned Product Price Predictor\n", + "\n", + "Evaluate fine-tuned Llama 3.1 8B model for product price estimation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "MDyR63OTNUJ6", + "outputId": "4cfbb739-ab3c-4c73-b8de-7de729854b5f" + }, + "outputs": [], + "source": [ + "# Install required libraries for model inference\n", + "%pip install -q --upgrade torch==2.5.1+cu124 torchvision==0.20.1+cu124 torchaudio==2.5.1+cu124 --index-url https://download.pytorch.org/whl/cu124\n", + "%pip install -q --upgrade requests==2.32.3 bitsandbytes==0.46.0 transformers==4.48.3 accelerate==1.3.0 datasets==3.2.0 peft==0.14.0 trl==0.14.0 matplotlib wandb" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "-yikV8pRBer9" + }, + "outputs": [], + "source": [ + "# Import required libraries\n", + "import os\n", + "import re\n", + "import math\n", + "from tqdm import tqdm\n", + "from google.colab import userdata\n", + "from huggingface_hub import login\n", + "import torch\n", + "import torch.nn.functional as F\n", + "import transformers\n", + "from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig, set_seed\n", + "from datasets import load_dataset, Dataset, DatasetDict\n", + "from datetime import datetime\n", + "from peft import PeftModel\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "uuTX-xonNeOK" + }, + "outputs": [], + "source": [ + "# Configuration\n", + "BASE_MODEL = \"meta-llama/Meta-Llama-3.1-8B\"\n", + "PROJECT_NAME = \"pricer\"\n", + "HF_USER = \"ed-donner\" # Change to your HF username\n", + "RUN_NAME = \"2024-09-13_13.04.39\"\n", + "PROJECT_RUN_NAME = f\"{PROJECT_NAME}-{RUN_NAME}\"\n", + "REVISION = \"e8d637df551603dc86cd7a1598a8f44af4d7ae36\"\n", + "FINETUNED_MODEL = f\"{HF_USER}/{PROJECT_RUN_NAME}\"\n", + "DATASET_NAME = f\"{HF_USER}/pricer-data\"\n", + "\n", + "# Quantization setting (False = 8-bit = better accuracy, more memory)\n", + "QUANT_4_BIT = False # Changed to 8-bit for better accuracy\n", + "\n", + "%matplotlib inline\n", + "\n", + "# Color codes for output\n", + "GREEN = \"\\033[92m\"\n", + "YELLOW = \"\\033[93m\"\n", + "RED = \"\\033[91m\"\n", + "RESET = \"\\033[0m\"\n", + "COLOR_MAP = {\"red\":RED, \"orange\": YELLOW, \"green\": GREEN}" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "8JArT3QAQAjx" + }, + "source": [ + "# Step 1\n", + "\n", + "### Load dataset and fine-tuned model" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "WyFPZeMcM88v" + }, + "outputs": [], + "source": [ + "# Login to HuggingFace\n", + "hf_token = userdata.get('HF_TOKEN')\n", + "login(hf_token, add_to_git_credential=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 233, + "referenced_widgets": [ + "07510562863e4ccd9bfc6e0e8e8d0cc7", + "7ba3df960cd1441faa3929d35282436a", + "39d6e3eb51344d17b802d722fc8e907f", + "3296341b5cbb4afdb5c4c122c35641e7", + "60b39b5c7cd348a8862585d4a2758882", + "6bcb8d76ee1d40adb9ae1295a1335ce6", + "ba2da0338a374d14bc113f7e51424c95", + "b28a24a1354b4482a4d81a264653cc34", + "0147ec6e0aed432a9deb5a2919d26461", + "eaec063caaef41f3b0ad844ae83c39e6", + "acbe8ffde00741a380ab7c9c3024c13f", + "b0aa68af34254537a1ac985cc81360bb", + "8fc3c65719bd4cf087c2a65ce257b0fa", + "accd101b0d9f4ad2bb5e82cbdcd6a2b0", + "a28f5a81306944b89c807c396d1ead40", + "004988bb9a47475088b32ecd848e1bb9", + "a0a9721c28544a669472d132245360ae", + "919449534447415d89f5d2d4da04b626", + "2683537bff4e4909934679627cb912d4", + "a752bf3b92844163988bd35cf638c1ca", + "9b49efee6132497b9a7e9d789a2ce7f0", + "2221864985b24580be722d31597f84fb", + "7a42b1dc6faf4dc6aa0358adff83b954", + "b1ae08d48b764ab6b994dce41b28dc90", + "beffadbb38c7441289a0b4fe86e64f50", + "06070ef16fba4dd59ba5e4503ff0f2c2", + "51522bdb65c049ad8a5386ba4ab71d4f", + "ba63379a98584bbf842eea0f078a63ff", + "1afa66d2cd7b4872b457c4dbbbf1c8bb", + "361114e64bbb49c98080656f8495c9b4", + "5b88ff1c80f241d6be2dbdfb621b5785", + "287ff3894798460e8bffca31d64cc8af", + "8764302e5e96446fb6e832466a6b9556", + "51c0f52a3d634504be310a357c0f8012", + "f4394499258348d7992bbec909929945", + "2fe372b94a6d4c4d818fddae187d129d", + "e6be1b2f426e43e6a5935731b8d5a6d4", + "8b32e96633c1426285f3da81b0ad9a30", + "3e534a5302124dd2a6ad31ce90c86dc1", + "d20dc830ca1342ecb155a601cc4b347e", + "f0b6140c0f3c40ac8665183d6c9557b3", + "313da770c7a14ace9ed9c90d1395160f", + "3dfb2aeed50f406b93db2c3223f792bf", + "b95fc74b56ea41cb82ac7cead5dae409", + "db002f333a0240ffaeeed36b78f896bc", + "9141c4c50eb442e58d64564dfd63c282", + "167444cb15f4459f977326e15d8666c2", + "7a49b2fb1c644219b51e3393ca424317", + "2d234d40fdf245dba5ddbdd93cb03fef", + "2e191cb83f9749c38a761677a61bfe95", + "7928e8207e3d421cb5498e0c184c3893", + "623182cc0976492bad91b2ab8484b697", + "843da7afb2b24ecaa3c3acc58f3b12f7", + "860d45070ea145d6b81c8ee226b6c3be", + "32efcdc2927d4d2987e5e36298a86cdb" + ] + }, + "id": "cvXVoJH8LS6u", + "outputId": "1d09d6ba-f32f-41b4-9851-5a95e43e2bbb" + }, + "outputs": [], + "source": [ + "# Load product pricing dataset\n", + "dataset = load_dataset(DATASET_NAME)\n", + "train = dataset['train']\n", + "test = dataset['test']\n", + "\n", + "print(f\"✓ Loaded {len(train)} train and {len(test)} test samples\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "xb86e__Wc7j_", + "outputId": "c61ef4a5-703a-41b1-9437-10d286947492" + }, + "outputs": [], + "source": [ + "# Verify data structure\n", + "test[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "qJWQ0a3wZ0Bw" + }, + "source": [ + "### Load Tokenizer and Model" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "lAUAAcEC6ido" + }, + "outputs": [], + "source": [ + "# Configure quantization for memory efficiency\n", + "if QUANT_4_BIT:\n", + " quant_config = BitsAndBytesConfig(\n", + " load_in_4bit=True,\n", + " bnb_4bit_use_double_quant=True,\n", + " bnb_4bit_compute_dtype=torch.bfloat16,\n", + " bnb_4bit_quant_type=\"nf4\"\n", + " )\n", + "else:\n", + " quant_config = BitsAndBytesConfig(\n", + " load_in_8bit=True,\n", + " bnb_8bit_compute_dtype=torch.bfloat16\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269, + "referenced_widgets": [ + "6186404f971248879b170152fa2646d9", + "eab0e5b68fb14b14adb58a454037e354", + "28e53342fa3640658b49a19115b61342", + "0e0a1c5e782345b592b7528e384bf5a1", + "c1fa6529b9e94efab5d850d0c7e70f57", + "9e342643ee1b4466818006592feec188", + "66c8a769d8fc4685a2bd0ec843c0eb74", + "06186348ef4f4c11997d6502aa57776c", + "a4e14741a64d4b82a509daf4f70e17e4", + "b5c2450c91624cc18bd763bbd6002b49", + "b8198c2eafa141cdacc7955194787925", + "2a47b72104e14771a2192848add9faa7", + "75c4e81482574966a526fa76ba6eef53", + "0eae3d740a854ad38d56a406955171d1", + "931d5f114b5d49aea7e8cf71556f1d5c", + "81c8e3f132bc4b1fb4ee51efa3ae35c6", + "2c9cbea6313741d5b66cd29c262dab0d", + "31e9f633af8a473db51eb30605bddf41", + "278d31ba28ab46008513da762561d2db", + "5b4cec8c83124ae4a826622b885e1f0c", + "ead384472ffd46e1a62134753067546d", + "a0871b07a3254ae7a7796618d9c4773e", + "788a849789824b16a832f912f10c15cd", + "8171a97703044bf392b2e5d38ae1f5e6", + "73d9ee184c8d48df9cce2a69cd02e129", + "6a5e16d83cfe4d77bd8bb378b86732f9", + "7b3143e176c744df8135d48cdc6d7fa2", + "e4ebe05911e848ff96d2e1e71321264b", + "bea4d0a1b32b4beb99c24e5e85ff9f43", + "efc09d50d1734066aad77b3496ccbae7", + "629aefaebf3a4a998a662cb03571b09f", + "837efe0f9f964dcb9121028015abf0c5", + "cf82e39052fd4d9db83c5d0b66f39830", + "5fe709b088614ca6b9a9459b0fb19c4a", + "d7df60d9484840bc8f020d4d3f640c5b", + "d668a30f6fe5450d8603877a8c361315", + "01bb3481b4ac40818e4e9797129f52a0", + "df2a116de3ba4da1a1ce8f197b4bae3c", + "654a359bf9f34ebcbfe3f9ed57a161e5", + "54b26e79a2774352abc6dd833cc78825", + "9af673531da74295ac96360fd4a0e6bf", + "13ae9360a5a54208a160432fee141276", + "10a3dea6b2154b9891676bd4628d6648", + "12e2006edb7c4168811da98a3089b452", + "c743b87018be478784c0b8957c6c9324", + "ebf10ba30dc4414b9a31064caeab16fd", + "76002f5260914f3b9865388e59853d8c", + "46cb877532d44227b057340bafdcd119", + "a427d45295b84f8890c8e9a27a72a240", + "947dabaa331643c2b02bcb3be121ca27", + "dbc0a0c8fb6e434eba85fc88e9e34f16", + "973f476e820d4c52a69416078a5ec93e", + "10019572c2034d5ab886918d650b4577", + "6f342dfb24094db593ec0b28d2466944", + "40c40db0e9bb41d38102d3d32df613cc", + "76e4b082ce6744f694fa6518b26ac5e3", + "f0691e0181b946158b7a4385979e7e45", + "9df127a7e91e474386b4ea4fc4185a41", + "d01c2ad68999427dac089a3c33ee4a2e", + "550c526d48fb44828b14ec9ac484a707", + "d8fac6bad88544e39b9c80ba58e1bdad", + "cb831d4d7b044d1bb161357b346c9041", + "b813ef444b7b4c8f909f7bc037cc3d6c", + "e1dc5ca40e2e4b66834a56378071d762", + "f7e8d5edb96b45908ac8f44e356e331a", + "4ce5bb59f9eb448bbc3c500d937a715c", + "dd2eb889c4f94627bf081796a89377c2", + "45e7b4ca18a048d98b73820e4f36d004", + "5e1ccb5c69ea49b594da6b19909ad381", + "1d228273c34e439dad6d3e63aeccd8cf", + "b440d7fc628844e89fbf6c9fe864ef50", + "c5d06dcdda354dac87406720fae4f308", + "ec6b5d741aa1480cb197cf3902e906ed", + "34bc2ff5443e43e59e5b6d1a3e40280e", + "9f6b80990d224675ae501f941cb1b2c2", + "1272fc0298ff486fbe5215b7d93028c0", + "ded6c69382554ded9d1e4c894c1fea11" + ] + }, + "id": "R_O04fKxMMT-", + "outputId": "798168da-dc66-4a7a-ae0d-e8a4d5aeb533" + }, + "outputs": [], + "source": [ + "# Load tokenizer\n", + "tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL, trust_remote_code=True)\n", + "tokenizer.pad_token = tokenizer.eos_token\n", + "tokenizer.padding_side = \"right\"\n", + "\n", + "# Load base model with quantization\n", + "base_model = AutoModelForCausalLM.from_pretrained(\n", + " BASE_MODEL,\n", + " quantization_config=quant_config,\n", + " device_map=\"auto\",\n", + ")\n", + "base_model.generation_config.pad_token_id = tokenizer.pad_token_id\n", + "\n", + "# Load fine-tuned weights\n", + "if REVISION:\n", + " fine_tuned_model = PeftModel.from_pretrained(base_model, FINETUNED_MODEL, revision=REVISION)\n", + "else:\n", + " fine_tuned_model = PeftModel.from_pretrained(base_model, FINETUNED_MODEL)\n", + "\n", + "print(f\"✓ Model loaded - Memory: {fine_tuned_model.get_memory_footprint() / 1e6:.1f} MB\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "kD-GJtbrdd5t" + }, + "outputs": [], + "source": [ + "# Verify model loaded\n", + "fine_tuned_model" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "UObo1-RqaNnT" + }, + "source": [ + "# Step 2\n", + "\n", + "### Model inference and evaluation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Qst1LhBVAB04" + }, + "outputs": [], + "source": [ + "# Extract price from model response\n", + "def extract_price(s):\n", + " if \"Price is $\" in s:\n", + " contents = s.split(\"Price is $\")[1]\n", + " contents = contents.replace(',','')\n", + " match = re.search(r\"[-+]?\\d*\\.\\d+|\\d+\", contents)\n", + " return float(match.group()) if match else 0\n", + " return 0" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "jXFBW_5UeEcp" + }, + "outputs": [], + "source": [ + "# Test extract_price function\n", + "extract_price(\"Price is $a fabulous 899.99 or so\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Oj_PzpdFAIMk" + }, + "outputs": [], + "source": [ + "# Simple prediction: takes most likely next token\n", + "def model_predict(prompt):\n", + " set_seed(42)\n", + " inputs = tokenizer.encode(prompt, return_tensors=\"pt\").to(\"cuda\")\n", + " attention_mask = torch.ones(inputs.shape, device=\"cuda\")\n", + " outputs = fine_tuned_model.generate(\n", + " inputs, \n", + " attention_mask=attention_mask, \n", + " max_new_tokens=5, # Increased for flexibility\n", + " temperature=0.1, # Low temperature for consistency\n", + " num_return_sequences=1\n", + " )\n", + " response = tokenizer.decode(outputs[0])\n", + " return extract_price(response)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Je5dR8QEAI1d" + }, + "outputs": [], + "source": [ + "# Improved prediction: weighted average of top K predictions\n", + "top_K = 5 # Increased from 3 to 5 for better accuracy\n", + "\n", + "def improved_model_predict(prompt, device=\"cuda\"):\n", + " set_seed(42)\n", + " inputs = tokenizer.encode(prompt, return_tensors=\"pt\").to(device)\n", + " attention_mask = torch.ones(inputs.shape, device=device)\n", + "\n", + " with torch.no_grad():\n", + " outputs = fine_tuned_model(inputs, attention_mask=attention_mask)\n", + " next_token_logits = outputs.logits[:, -1, :].to('cpu')\n", + "\n", + " next_token_probs = F.softmax(next_token_logits, dim=-1)\n", + " top_prob, top_token_id = next_token_probs.topk(top_K)\n", + " prices, weights = [], []\n", + " for i in range(top_K):\n", + " predicted_token = tokenizer.decode(top_token_id[0][i])\n", + " probability = top_prob[0][i]\n", + " try:\n", + " result = float(predicted_token)\n", + " except ValueError as e:\n", + " result = 0.0\n", + " if result > 0:\n", + " prices.append(result)\n", + " weights.append(probability)\n", + " if not prices:\n", + " return 0.0, 0.0\n", + " total = sum(weights)\n", + " weighted_prices = [price * weight / total for price, weight in zip(prices, weights)]\n", + " return sum(weighted_prices).item()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Step 3\n", + "\n", + "### Test and evaluate model performance" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "30lzJXBH7BcK" + }, + "outputs": [], + "source": [ + "# Evaluation framework\n", + "class Tester:\n", + " def __init__(self, predictor, data, title=None, size=250):\n", + " self.predictor = predictor\n", + " self.data = data\n", + " self.title = title or predictor.__name__.replace(\"_\", \" \").title()\n", + " self.size = size\n", + " self.guesses = []\n", + " self.truths = []\n", + " self.errors = []\n", + " self.sles = []\n", + " self.colors = []\n", + "\n", + " def color_for(self, error, truth):\n", + " if error<40 or error/truth < 0.2:\n", + " return \"green\"\n", + " elif error<80 or error/truth < 0.4:\n", + " return \"orange\"\n", + " else:\n", + " return \"red\"\n", + "\n", + " def run_datapoint(self, i):\n", + " datapoint = self.data[i]\n", + " guess = self.predictor(datapoint[\"text\"])\n", + " truth = datapoint[\"price\"]\n", + " error = abs(guess - truth)\n", + " log_error = math.log(truth+1) - math.log(guess+1)\n", + " sle = log_error ** 2\n", + " color = self.color_for(error, truth)\n", + " title = datapoint[\"text\"].split(\"\\n\\n\")[1][:20] + \"...\"\n", + " self.guesses.append(guess)\n", + " self.truths.append(truth)\n", + " self.errors.append(error)\n", + " self.sles.append(sle)\n", + " self.colors.append(color)\n", + " print(f\"{COLOR_MAP[color]}{i+1}: Guess: ${guess:,.2f} Truth: ${truth:,.2f} Error: ${error:,.2f} SLE: {sle:,.2f} Item: {title}{RESET}\")\n", + "\n", + " def chart(self, title):\n", + " max_error = max(self.errors)\n", + " plt.figure(figsize=(12, 8))\n", + " max_val = max(max(self.truths), max(self.guesses))\n", + " plt.plot([0, max_val], [0, max_val], color='deepskyblue', lw=2, alpha=0.6)\n", + " plt.scatter(self.truths, self.guesses, s=3, c=self.colors)\n", + " plt.xlabel('Ground Truth')\n", + " plt.ylabel('Model Estimate')\n", + " plt.xlim(0, max_val)\n", + " plt.ylim(0, max_val)\n", + " plt.title(title)\n", + " plt.show()\n", + "\n", + " def report(self):\n", + " average_error = sum(self.errors) / self.size\n", + " rmsle = math.sqrt(sum(self.sles) / self.size)\n", + " hits = sum(1 for color in self.colors if color==\"green\")\n", + " title = f\"{self.title} Error=${average_error:,.2f} RMSLE={rmsle:,.2f} Hits={hits/self.size*100:.1f}%\"\n", + " self.chart(title)\n", + "\n", + " def run(self):\n", + " self.error = 0\n", + " for i in range(self.size):\n", + " self.run_datapoint(i)\n", + " self.report()\n", + "\n", + " @classmethod\n", + " def test(cls, function, data):\n", + " cls(function, data).run()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "W_KcLvyt6kbb" + }, + "outputs": [], + "source": [ + "# Run evaluation on 250 test examples\n", + "Tester.test(improved_model_predict, test)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Performance Optimizations Applied\n", + "\n", + "**Changes for better accuracy:**\n", + "- ✅ 8-bit quantization (vs 4-bit) - Better precision\n", + "- ✅ top_K = 5 (vs 3) - More predictions in weighted average\n", + "- ✅ max_new_tokens = 5 - More flexibility in response\n", + "- ✅ temperature = 0.1 - More consistent predictions\n", + "\n", + "**Expected improvement:** ~10-15% reduction in average error\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Expected Performance\n", + "\n", + "**Baseline comparisons:**\n", + "- GPT-4o: $76 avg error\n", + "- Llama 3.1 base: $396 avg error \n", + "- Human: $127 avg error\n", + "\n", + "**Fine-tuned model (optimized):**\n", + "- Target: $70-85 avg error\n", + "- With 8-bit quant + top_K=5 + temp=0.1\n", + "- Expected to rival or beat GPT-4o\n" + ] + } + ], + "metadata": { + "accelerator": "GPU", + "colab": { + "gpuType": "T4", + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "name": "python" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "004988bb9a47475088b32ecd848e1bb9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0147ec6e0aed432a9deb5a2919d26461": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "01bb3481b4ac40818e4e9797129f52a0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_10a3dea6b2154b9891676bd4628d6648", + "placeholder": "​", + "style": "IPY_MODEL_12e2006edb7c4168811da98a3089b452", + "value": " 826/826 [00:00<00:00, 30.5kB/s]" + } + }, + "06070ef16fba4dd59ba5e4503ff0f2c2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_287ff3894798460e8bffca31d64cc8af", + "placeholder": "​", + "style": "IPY_MODEL_8764302e5e96446fb6e832466a6b9556", + "value": " 914k/914k [00:00<00:00, 457kB/s]" + } + }, + "06186348ef4f4c11997d6502aa57776c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "07510562863e4ccd9bfc6e0e8e8d0cc7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_7ba3df960cd1441faa3929d35282436a", + "IPY_MODEL_39d6e3eb51344d17b802d722fc8e907f", + "IPY_MODEL_3296341b5cbb4afdb5c4c122c35641e7" + ], + "layout": "IPY_MODEL_60b39b5c7cd348a8862585d4a2758882" + } + }, + "0e0a1c5e782345b592b7528e384bf5a1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b5c2450c91624cc18bd763bbd6002b49", + "placeholder": "​", + "style": "IPY_MODEL_b8198c2eafa141cdacc7955194787925", + "value": " 50.5k/50.5k [00:00<00:00, 1.99MB/s]" + } + }, + "0eae3d740a854ad38d56a406955171d1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_278d31ba28ab46008513da762561d2db", + "max": 9085658, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_5b4cec8c83124ae4a826622b885e1f0c", + "value": 9085658 + } + }, + "10019572c2034d5ab886918d650b4577": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "10a3dea6b2154b9891676bd4628d6648": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "1272fc0298ff486fbe5215b7d93028c0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "12e2006edb7c4168811da98a3089b452": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "13ae9360a5a54208a160432fee141276": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "167444cb15f4459f977326e15d8666c2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_623182cc0976492bad91b2ab8484b697", + "max": 2000, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_843da7afb2b24ecaa3c3acc58f3b12f7", + "value": 2000 + } + }, + "1afa66d2cd7b4872b457c4dbbbf1c8bb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "1d228273c34e439dad6d3e63aeccd8cf": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_1272fc0298ff486fbe5215b7d93028c0", + "placeholder": "​", + "style": "IPY_MODEL_ded6c69382554ded9d1e4c894c1fea11", + "value": " 95.0M/4.98G [00:02<01:21, 60.1MB/s]" + } + }, + "2221864985b24580be722d31597f84fb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "2683537bff4e4909934679627cb912d4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "278d31ba28ab46008513da762561d2db": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "287ff3894798460e8bffca31d64cc8af": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "28e53342fa3640658b49a19115b61342": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_06186348ef4f4c11997d6502aa57776c", + "max": 50500, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_a4e14741a64d4b82a509daf4f70e17e4", + "value": 50500 + } + }, + "2a47b72104e14771a2192848add9faa7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_75c4e81482574966a526fa76ba6eef53", + "IPY_MODEL_0eae3d740a854ad38d56a406955171d1", + "IPY_MODEL_931d5f114b5d49aea7e8cf71556f1d5c" + ], + "layout": "IPY_MODEL_81c8e3f132bc4b1fb4ee51efa3ae35c6" + } + }, + "2c9cbea6313741d5b66cd29c262dab0d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2d234d40fdf245dba5ddbdd93cb03fef": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2e191cb83f9749c38a761677a61bfe95": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2fe372b94a6d4c4d818fddae187d129d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f0b6140c0f3c40ac8665183d6c9557b3", + "max": 400000, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_313da770c7a14ace9ed9c90d1395160f", + "value": 400000 + } + }, + "313da770c7a14ace9ed9c90d1395160f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "31e9f633af8a473db51eb30605bddf41": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "3296341b5cbb4afdb5c4c122c35641e7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_eaec063caaef41f3b0ad844ae83c39e6", + "placeholder": "​", + "style": "IPY_MODEL_acbe8ffde00741a380ab7c9c3024c13f", + "value": " 416/416 [00:00<00:00, 42.8kB/s]" + } + }, + "32efcdc2927d4d2987e5e36298a86cdb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "34bc2ff5443e43e59e5b6d1a3e40280e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "361114e64bbb49c98080656f8495c9b4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "39d6e3eb51344d17b802d722fc8e907f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b28a24a1354b4482a4d81a264653cc34", + "max": 416, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_0147ec6e0aed432a9deb5a2919d26461", + "value": 416 + } + }, + "3dfb2aeed50f406b93db2c3223f792bf": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3e534a5302124dd2a6ad31ce90c86dc1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "40c40db0e9bb41d38102d3d32df613cc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "45e7b4ca18a048d98b73820e4f36d004": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c5d06dcdda354dac87406720fae4f308", + "placeholder": "​", + "style": "IPY_MODEL_ec6b5d741aa1480cb197cf3902e906ed", + "value": "model-00001-of-00004.safetensors:   2%" + } + }, + "46cb877532d44227b057340bafdcd119": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_6f342dfb24094db593ec0b28d2466944", + "placeholder": "​", + "style": "IPY_MODEL_40c40db0e9bb41d38102d3d32df613cc", + "value": " 23.9k/23.9k [00:00<00:00, 495kB/s]" + } + }, + "4ce5bb59f9eb448bbc3c500d937a715c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "51522bdb65c049ad8a5386ba4ab71d4f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "51c0f52a3d634504be310a357c0f8012": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_f4394499258348d7992bbec909929945", + "IPY_MODEL_2fe372b94a6d4c4d818fddae187d129d", + "IPY_MODEL_e6be1b2f426e43e6a5935731b8d5a6d4" + ], + "layout": "IPY_MODEL_8b32e96633c1426285f3da81b0ad9a30" + } + }, + "54b26e79a2774352abc6dd833cc78825": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "550c526d48fb44828b14ec9ac484a707": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5b4cec8c83124ae4a826622b885e1f0c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "5b88ff1c80f241d6be2dbdfb621b5785": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "5e1ccb5c69ea49b594da6b19909ad381": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_34bc2ff5443e43e59e5b6d1a3e40280e", + "max": 4976698672, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_9f6b80990d224675ae501f941cb1b2c2", + "value": 94965601 + } + }, + "5fe709b088614ca6b9a9459b0fb19c4a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_d7df60d9484840bc8f020d4d3f640c5b", + "IPY_MODEL_d668a30f6fe5450d8603877a8c361315", + "IPY_MODEL_01bb3481b4ac40818e4e9797129f52a0" + ], + "layout": "IPY_MODEL_df2a116de3ba4da1a1ce8f197b4bae3c" + } + }, + "60b39b5c7cd348a8862585d4a2758882": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6186404f971248879b170152fa2646d9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_eab0e5b68fb14b14adb58a454037e354", + "IPY_MODEL_28e53342fa3640658b49a19115b61342", + "IPY_MODEL_0e0a1c5e782345b592b7528e384bf5a1" + ], + "layout": "IPY_MODEL_c1fa6529b9e94efab5d850d0c7e70f57" + } + }, + "623182cc0976492bad91b2ab8484b697": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "629aefaebf3a4a998a662cb03571b09f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "654a359bf9f34ebcbfe3f9ed57a161e5": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "66c8a769d8fc4685a2bd0ec843c0eb74": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "6a5e16d83cfe4d77bd8bb378b86732f9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_837efe0f9f964dcb9121028015abf0c5", + "placeholder": "​", + "style": "IPY_MODEL_cf82e39052fd4d9db83c5d0b66f39830", + "value": " 73.0/73.0 [00:00<00:00, 3.88kB/s]" + } + }, + "6bcb8d76ee1d40adb9ae1295a1335ce6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6f342dfb24094db593ec0b28d2466944": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "73d9ee184c8d48df9cce2a69cd02e129": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_efc09d50d1734066aad77b3496ccbae7", + "max": 73, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_629aefaebf3a4a998a662cb03571b09f", + "value": 73 + } + }, + "75c4e81482574966a526fa76ba6eef53": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2c9cbea6313741d5b66cd29c262dab0d", + "placeholder": "​", + "style": "IPY_MODEL_31e9f633af8a473db51eb30605bddf41", + "value": "tokenizer.json: 100%" + } + }, + "76002f5260914f3b9865388e59853d8c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_973f476e820d4c52a69416078a5ec93e", + "max": 23950, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_10019572c2034d5ab886918d650b4577", + "value": 23950 + } + }, + "76e4b082ce6744f694fa6518b26ac5e3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_f0691e0181b946158b7a4385979e7e45", + "IPY_MODEL_9df127a7e91e474386b4ea4fc4185a41", + "IPY_MODEL_d01c2ad68999427dac089a3c33ee4a2e" + ], + "layout": "IPY_MODEL_550c526d48fb44828b14ec9ac484a707" + } + }, + "788a849789824b16a832f912f10c15cd": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_8171a97703044bf392b2e5d38ae1f5e6", + "IPY_MODEL_73d9ee184c8d48df9cce2a69cd02e129", + "IPY_MODEL_6a5e16d83cfe4d77bd8bb378b86732f9" + ], + "layout": "IPY_MODEL_7b3143e176c744df8135d48cdc6d7fa2" + } + }, + "7928e8207e3d421cb5498e0c184c3893": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "7a42b1dc6faf4dc6aa0358adff83b954": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_b1ae08d48b764ab6b994dce41b28dc90", + "IPY_MODEL_beffadbb38c7441289a0b4fe86e64f50", + "IPY_MODEL_06070ef16fba4dd59ba5e4503ff0f2c2" + ], + "layout": "IPY_MODEL_51522bdb65c049ad8a5386ba4ab71d4f" + } + }, + "7a49b2fb1c644219b51e3393ca424317": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_860d45070ea145d6b81c8ee226b6c3be", + "placeholder": "​", + "style": "IPY_MODEL_32efcdc2927d4d2987e5e36298a86cdb", + "value": " 2000/2000 [00:00<00:00, 34550.74 examples/s]" + } + }, + "7b3143e176c744df8135d48cdc6d7fa2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "7ba3df960cd1441faa3929d35282436a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_6bcb8d76ee1d40adb9ae1295a1335ce6", + "placeholder": "​", + "style": "IPY_MODEL_ba2da0338a374d14bc113f7e51424c95", + "value": "README.md: 100%" + } + }, + "8171a97703044bf392b2e5d38ae1f5e6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e4ebe05911e848ff96d2e1e71321264b", + "placeholder": "​", + "style": "IPY_MODEL_bea4d0a1b32b4beb99c24e5e85ff9f43", + "value": "special_tokens_map.json: 100%" + } + }, + "81c8e3f132bc4b1fb4ee51efa3ae35c6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "837efe0f9f964dcb9121028015abf0c5": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "843da7afb2b24ecaa3c3acc58f3b12f7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "860d45070ea145d6b81c8ee226b6c3be": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8764302e5e96446fb6e832466a6b9556": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "8b32e96633c1426285f3da81b0ad9a30": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8fc3c65719bd4cf087c2a65ce257b0fa": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_a0a9721c28544a669472d132245360ae", + "placeholder": "​", + "style": "IPY_MODEL_919449534447415d89f5d2d4da04b626", + "value": "data/train-00000-of-00001.parquet: 100%" + } + }, + "9141c4c50eb442e58d64564dfd63c282": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2e191cb83f9749c38a761677a61bfe95", + "placeholder": "​", + "style": "IPY_MODEL_7928e8207e3d421cb5498e0c184c3893", + "value": "Generating test split: 100%" + } + }, + "919449534447415d89f5d2d4da04b626": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "931d5f114b5d49aea7e8cf71556f1d5c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ead384472ffd46e1a62134753067546d", + "placeholder": "​", + "style": "IPY_MODEL_a0871b07a3254ae7a7796618d9c4773e", + "value": " 9.09M/9.09M [00:00<00:00, 18.3MB/s]" + } + }, + "947dabaa331643c2b02bcb3be121ca27": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "973f476e820d4c52a69416078a5ec93e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9af673531da74295ac96360fd4a0e6bf": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9b49efee6132497b9a7e9d789a2ce7f0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9df127a7e91e474386b4ea4fc4185a41": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b813ef444b7b4c8f909f7bc037cc3d6c", + "max": 4, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_e1dc5ca40e2e4b66834a56378071d762", + "value": 0 + } + }, + "9e342643ee1b4466818006592feec188": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9f6b80990d224675ae501f941cb1b2c2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "a0871b07a3254ae7a7796618d9c4773e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "a0a9721c28544a669472d132245360ae": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a28f5a81306944b89c807c396d1ead40": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_9b49efee6132497b9a7e9d789a2ce7f0", + "placeholder": "​", + "style": "IPY_MODEL_2221864985b24580be722d31597f84fb", + "value": " 185M/185M [00:02<00:00, 110MB/s]" + } + }, + "a427d45295b84f8890c8e9a27a72a240": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a4e14741a64d4b82a509daf4f70e17e4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "a752bf3b92844163988bd35cf638c1ca": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "acbe8ffde00741a380ab7c9c3024c13f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "accd101b0d9f4ad2bb5e82cbdcd6a2b0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2683537bff4e4909934679627cb912d4", + "max": 185001051, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_a752bf3b92844163988bd35cf638c1ca", + "value": 185001051 + } + }, + "b0aa68af34254537a1ac985cc81360bb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_8fc3c65719bd4cf087c2a65ce257b0fa", + "IPY_MODEL_accd101b0d9f4ad2bb5e82cbdcd6a2b0", + "IPY_MODEL_a28f5a81306944b89c807c396d1ead40" + ], + "layout": "IPY_MODEL_004988bb9a47475088b32ecd848e1bb9" + } + }, + "b1ae08d48b764ab6b994dce41b28dc90": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ba63379a98584bbf842eea0f078a63ff", + "placeholder": "​", + "style": "IPY_MODEL_1afa66d2cd7b4872b457c4dbbbf1c8bb", + "value": "data/test-00000-of-00001.parquet: 100%" + } + }, + "b28a24a1354b4482a4d81a264653cc34": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b440d7fc628844e89fbf6c9fe864ef50": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b5c2450c91624cc18bd763bbd6002b49": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b813ef444b7b4c8f909f7bc037cc3d6c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b8198c2eafa141cdacc7955194787925": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "b95fc74b56ea41cb82ac7cead5dae409": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "ba2da0338a374d14bc113f7e51424c95": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "ba63379a98584bbf842eea0f078a63ff": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "bea4d0a1b32b4beb99c24e5e85ff9f43": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "beffadbb38c7441289a0b4fe86e64f50": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_361114e64bbb49c98080656f8495c9b4", + "max": 914222, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_5b88ff1c80f241d6be2dbdfb621b5785", + "value": 914222 + } + }, + "c1fa6529b9e94efab5d850d0c7e70f57": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c5d06dcdda354dac87406720fae4f308": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c743b87018be478784c0b8957c6c9324": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_ebf10ba30dc4414b9a31064caeab16fd", + "IPY_MODEL_76002f5260914f3b9865388e59853d8c", + "IPY_MODEL_46cb877532d44227b057340bafdcd119" + ], + "layout": "IPY_MODEL_a427d45295b84f8890c8e9a27a72a240" + } + }, + "cb831d4d7b044d1bb161357b346c9041": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "cf82e39052fd4d9db83c5d0b66f39830": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "d01c2ad68999427dac089a3c33ee4a2e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f7e8d5edb96b45908ac8f44e356e331a", + "placeholder": "​", + "style": "IPY_MODEL_4ce5bb59f9eb448bbc3c500d937a715c", + "value": " 0/4 [00:00<?, ?it/s]" + } + }, + "d20dc830ca1342ecb155a601cc4b347e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "d668a30f6fe5450d8603877a8c361315": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_9af673531da74295ac96360fd4a0e6bf", + "max": 826, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_13ae9360a5a54208a160432fee141276", + "value": 826 + } + }, + "d7df60d9484840bc8f020d4d3f640c5b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_654a359bf9f34ebcbfe3f9ed57a161e5", + "placeholder": "​", + "style": "IPY_MODEL_54b26e79a2774352abc6dd833cc78825", + "value": "config.json: 100%" + } + }, + "d8fac6bad88544e39b9c80ba58e1bdad": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "db002f333a0240ffaeeed36b78f896bc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_9141c4c50eb442e58d64564dfd63c282", + "IPY_MODEL_167444cb15f4459f977326e15d8666c2", + "IPY_MODEL_7a49b2fb1c644219b51e3393ca424317" + ], + "layout": "IPY_MODEL_2d234d40fdf245dba5ddbdd93cb03fef" + } + }, + "dbc0a0c8fb6e434eba85fc88e9e34f16": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "dd2eb889c4f94627bf081796a89377c2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_45e7b4ca18a048d98b73820e4f36d004", + "IPY_MODEL_5e1ccb5c69ea49b594da6b19909ad381", + "IPY_MODEL_1d228273c34e439dad6d3e63aeccd8cf" + ], + "layout": "IPY_MODEL_b440d7fc628844e89fbf6c9fe864ef50" + } + }, + "ded6c69382554ded9d1e4c894c1fea11": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "df2a116de3ba4da1a1ce8f197b4bae3c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e1dc5ca40e2e4b66834a56378071d762": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "e4ebe05911e848ff96d2e1e71321264b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e6be1b2f426e43e6a5935731b8d5a6d4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_3dfb2aeed50f406b93db2c3223f792bf", + "placeholder": "​", + "style": "IPY_MODEL_b95fc74b56ea41cb82ac7cead5dae409", + "value": " 400000/400000 [00:03<00:00, 105019.95 examples/s]" + } + }, + "eab0e5b68fb14b14adb58a454037e354": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_9e342643ee1b4466818006592feec188", + "placeholder": "​", + "style": "IPY_MODEL_66c8a769d8fc4685a2bd0ec843c0eb74", + "value": "tokenizer_config.json: 100%" + } + }, + "ead384472ffd46e1a62134753067546d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "eaec063caaef41f3b0ad844ae83c39e6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ebf10ba30dc4414b9a31064caeab16fd": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_947dabaa331643c2b02bcb3be121ca27", + "placeholder": "​", + "style": "IPY_MODEL_dbc0a0c8fb6e434eba85fc88e9e34f16", + "value": "model.safetensors.index.json: 100%" + } + }, + "ec6b5d741aa1480cb197cf3902e906ed": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "efc09d50d1734066aad77b3496ccbae7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f0691e0181b946158b7a4385979e7e45": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d8fac6bad88544e39b9c80ba58e1bdad", + "placeholder": "​", + "style": "IPY_MODEL_cb831d4d7b044d1bb161357b346c9041", + "value": "Downloading shards:   0%" + } + }, + "f0b6140c0f3c40ac8665183d6c9557b3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f4394499258348d7992bbec909929945": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_3e534a5302124dd2a6ad31ce90c86dc1", + "placeholder": "​", + "style": "IPY_MODEL_d20dc830ca1342ecb155a601cc4b347e", + "value": "Generating train split: 100%" + } + }, + "f7e8d5edb96b45908ac8f44e356e331a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + } + } + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} From dfeb572c55bd34a1250829f8b884020162d3017d Mon Sep 17 00:00:00 2001 From: Hope Ogbons Date: Fri, 31 Oct 2025 16:31:03 +0100 Subject: [PATCH 2/8] Reduce the file size for Week7 project --- .../hopeogbons/week7_EXERCISE.ipynb | 466 ++++++++++++++++++ 1 file changed, 466 insertions(+) create mode 100644 week7/community_contributions/hopeogbons/week7_EXERCISE.ipynb diff --git a/week7/community_contributions/hopeogbons/week7_EXERCISE.ipynb b/week7/community_contributions/hopeogbons/week7_EXERCISE.ipynb new file mode 100644 index 0000000..cf4f4a0 --- /dev/null +++ b/week7/community_contributions/hopeogbons/week7_EXERCISE.ipynb @@ -0,0 +1,466 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "GHsssBgWM_l0" + }, + "source": [ + "# Fine-Tuned Product Price Predictor\n", + "\n", + "Evaluate fine-tuned Llama 3.1 8B model for product price estimation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "MDyR63OTNUJ6" + }, + "outputs": [], + "source": [ + "# Install required libraries for model inference\n", + "%pip install -q --upgrade torch==2.5.1+cu124 torchvision==0.20.1+cu124 torchaudio==2.5.1+cu124 --index-url https://download.pytorch.org/whl/cu124\n", + "%pip install -q --upgrade requests==2.32.3 bitsandbytes==0.46.0 transformers==4.48.3 accelerate==1.3.0 datasets==3.2.0 peft==0.14.0 trl==0.14.0 matplotlib wandb" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "-yikV8pRBer9" + }, + "outputs": [], + "source": [ + "# Import required libraries\n", + "import os\n", + "import re\n", + "import math\n", + "from tqdm import tqdm\n", + "from google.colab import userdata\n", + "from huggingface_hub import login\n", + "import torch\n", + "import torch.nn.functional as F\n", + "import transformers\n", + "from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig, set_seed\n", + "from datasets import load_dataset, Dataset, DatasetDict\n", + "from datetime import datetime\n", + "from peft import PeftModel\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "uuTX-xonNeOK" + }, + "outputs": [], + "source": [ + "# Configuration\n", + "BASE_MODEL = \"meta-llama/Meta-Llama-3.1-8B\"\n", + "PROJECT_NAME = \"pricer\"\n", + "HF_USER = \"ed-donner\" # Change to your HF username\n", + "RUN_NAME = \"2024-09-13_13.04.39\"\n", + "PROJECT_RUN_NAME = f\"{PROJECT_NAME}-{RUN_NAME}\"\n", + "REVISION = \"e8d637df551603dc86cd7a1598a8f44af4d7ae36\"\n", + "FINETUNED_MODEL = f\"{HF_USER}/{PROJECT_RUN_NAME}\"\n", + "DATASET_NAME = f\"{HF_USER}/pricer-data\"\n", + "\n", + "# Quantization setting (False = 8-bit = better accuracy, more memory)\n", + "QUANT_4_BIT = False # Changed to 8-bit for better accuracy\n", + "\n", + "%matplotlib inline\n", + "\n", + "# Color codes for output\n", + "GREEN = \"\\033[92m\"\n", + "YELLOW = \"\\033[93m\"\n", + "RED = \"\\033[91m\"\n", + "RESET = \"\\033[0m\"\n", + "COLOR_MAP = {\"red\":RED, \"orange\": YELLOW, \"green\": GREEN}" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "8JArT3QAQAjx" + }, + "source": [ + "# Step 1\n", + "\n", + "### Load dataset and fine-tuned model" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "WyFPZeMcM88v" + }, + "outputs": [], + "source": [ + "# Login to HuggingFace\n", + "hf_token = userdata.get('HF_TOKEN')\n", + "login(hf_token, add_to_git_credential=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "cvXVoJH8LS6u" + }, + "outputs": [], + "source": [ + "# Load product pricing dataset\n", + "dataset = load_dataset(DATASET_NAME)\n", + "train = dataset['train']\n", + "test = dataset['test']\n", + "\n", + "print(f\"✓ Loaded {len(train)} train and {len(test)} test samples\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "xb86e__Wc7j_" + }, + "outputs": [], + "source": [ + "# Verify data structure\n", + "test[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "qJWQ0a3wZ0Bw" + }, + "source": [ + "### Load Tokenizer and Model" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "lAUAAcEC6ido" + }, + "outputs": [], + "source": [ + "# Configure quantization for memory efficiency\n", + "if QUANT_4_BIT:\n", + " quant_config = BitsAndBytesConfig(\n", + " load_in_4bit=True,\n", + " bnb_4bit_use_double_quant=True,\n", + " bnb_4bit_compute_dtype=torch.bfloat16,\n", + " bnb_4bit_quant_type=\"nf4\"\n", + " )\n", + "else:\n", + " quant_config = BitsAndBytesConfig(\n", + " load_in_8bit=True,\n", + " bnb_8bit_compute_dtype=torch.bfloat16\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "R_O04fKxMMT-" + }, + "outputs": [], + "source": [ + "# Load tokenizer\n", + "tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL, trust_remote_code=True)\n", + "tokenizer.pad_token = tokenizer.eos_token\n", + "tokenizer.padding_side = \"right\"\n", + "\n", + "# Load base model with quantization\n", + "base_model = AutoModelForCausalLM.from_pretrained(\n", + " BASE_MODEL,\n", + " quantization_config=quant_config,\n", + " device_map=\"auto\",\n", + ")\n", + "base_model.generation_config.pad_token_id = tokenizer.pad_token_id\n", + "\n", + "# Load fine-tuned weights\n", + "if REVISION:\n", + " fine_tuned_model = PeftModel.from_pretrained(base_model, FINETUNED_MODEL, revision=REVISION)\n", + "else:\n", + " fine_tuned_model = PeftModel.from_pretrained(base_model, FINETUNED_MODEL)\n", + "\n", + "print(f\"✓ Model loaded - Memory: {fine_tuned_model.get_memory_footprint() / 1e6:.1f} MB\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "kD-GJtbrdd5t" + }, + "outputs": [], + "source": [ + "# Verify model loaded\n", + "fine_tuned_model" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "UObo1-RqaNnT" + }, + "source": [ + "# Step 2\n", + "\n", + "### Model inference and evaluation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Qst1LhBVAB04" + }, + "outputs": [], + "source": [ + "# Extract price from model response\n", + "def extract_price(s):\n", + " if \"Price is $\" in s:\n", + " contents = s.split(\"Price is $\")[1]\n", + " contents = contents.replace(',','')\n", + " match = re.search(r\"[-+]?\\d*\\.\\d+|\\d+\", contents)\n", + " return float(match.group()) if match else 0\n", + " return 0" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "jXFBW_5UeEcp" + }, + "outputs": [], + "source": [ + "# Test extract_price function\n", + "extract_price(\"Price is $a fabulous 899.99 or so\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Oj_PzpdFAIMk" + }, + "outputs": [], + "source": [ + "# Simple prediction: takes most likely next token\n", + "def model_predict(prompt):\n", + " set_seed(42)\n", + " inputs = tokenizer.encode(prompt, return_tensors=\"pt\").to(\"cuda\")\n", + " attention_mask = torch.ones(inputs.shape, device=\"cuda\")\n", + " outputs = fine_tuned_model.generate(\n", + " inputs,\n", + " attention_mask=attention_mask,\n", + " max_new_tokens=5, # Increased for flexibility\n", + " temperature=0.1, # Low temperature for consistency\n", + " num_return_sequences=1\n", + " )\n", + " response = tokenizer.decode(outputs[0])\n", + " return extract_price(response)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Je5dR8QEAI1d" + }, + "outputs": [], + "source": [ + "# Improved prediction: weighted average of top K predictions\n", + "top_K = 5 # Increased from 3 to 5 for better accuracy\n", + "\n", + "def improved_model_predict(prompt, device=\"cuda\"):\n", + " set_seed(42)\n", + " inputs = tokenizer.encode(prompt, return_tensors=\"pt\").to(device)\n", + " attention_mask = torch.ones(inputs.shape, device=device)\n", + "\n", + " with torch.no_grad():\n", + " outputs = fine_tuned_model(inputs, attention_mask=attention_mask)\n", + " next_token_logits = outputs.logits[:, -1, :].to('cpu')\n", + "\n", + " next_token_probs = F.softmax(next_token_logits, dim=-1)\n", + " top_prob, top_token_id = next_token_probs.topk(top_K)\n", + " prices, weights = [], []\n", + " for i in range(top_K):\n", + " predicted_token = tokenizer.decode(top_token_id[0][i])\n", + " probability = top_prob[0][i]\n", + " try:\n", + " result = float(predicted_token)\n", + " except ValueError as e:\n", + " result = 0.0\n", + " if result > 0:\n", + " prices.append(result)\n", + " weights.append(probability)\n", + " if not prices:\n", + " return 0.0, 0.0\n", + " total = sum(weights)\n", + " weighted_prices = [price * weight / total for price, weight in zip(prices, weights)]\n", + " return sum(weighted_prices).item()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "EpGVJPuC1iho" + }, + "source": [ + "# Step 3\n", + "\n", + "### Test and evaluate model performance" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "30lzJXBH7BcK" + }, + "outputs": [], + "source": [ + "# Evaluation framework\n", + "class Tester:\n", + " def __init__(self, predictor, data, title=None, size=250):\n", + " self.predictor = predictor\n", + " self.data = data\n", + " self.title = title or predictor.__name__.replace(\"_\", \" \").title()\n", + " self.size = size\n", + " self.guesses = []\n", + " self.truths = []\n", + " self.errors = []\n", + " self.sles = []\n", + " self.colors = []\n", + "\n", + " def color_for(self, error, truth):\n", + " if error<40 or error/truth < 0.2:\n", + " return \"green\"\n", + " elif error<80 or error/truth < 0.4:\n", + " return \"orange\"\n", + " else:\n", + " return \"red\"\n", + "\n", + " def run_datapoint(self, i):\n", + " datapoint = self.data[i]\n", + " guess = self.predictor(datapoint[\"text\"])\n", + " truth = datapoint[\"price\"]\n", + " error = abs(guess - truth)\n", + " log_error = math.log(truth+1) - math.log(guess+1)\n", + " sle = log_error ** 2\n", + " color = self.color_for(error, truth)\n", + " title = datapoint[\"text\"].split(\"\\n\\n\")[1][:20] + \"...\"\n", + " self.guesses.append(guess)\n", + " self.truths.append(truth)\n", + " self.errors.append(error)\n", + " self.sles.append(sle)\n", + " self.colors.append(color)\n", + " print(f\"{COLOR_MAP[color]}{i+1}: Guess: ${guess:,.2f} Truth: ${truth:,.2f} Error: ${error:,.2f} SLE: {sle:,.2f} Item: {title}{RESET}\")\n", + "\n", + " def chart(self, title):\n", + " max_error = max(self.errors)\n", + " plt.figure(figsize=(12, 8))\n", + " max_val = max(max(self.truths), max(self.guesses))\n", + " plt.plot([0, max_val], [0, max_val], color='deepskyblue', lw=2, alpha=0.6)\n", + " plt.scatter(self.truths, self.guesses, s=3, c=self.colors)\n", + " plt.xlabel('Ground Truth')\n", + " plt.ylabel('Model Estimate')\n", + " plt.xlim(0, max_val)\n", + " plt.ylim(0, max_val)\n", + " plt.title(title)\n", + " plt.show()\n", + "\n", + " def report(self):\n", + " average_error = sum(self.errors) / self.size\n", + " rmsle = math.sqrt(sum(self.sles) / self.size)\n", + " hits = sum(1 for color in self.colors if color==\"green\")\n", + " title = f\"{self.title} Error=${average_error:,.2f} RMSLE={rmsle:,.2f} Hits={hits/self.size*100:.1f}%\"\n", + " self.chart(title)\n", + "\n", + " def run(self):\n", + " self.error = 0\n", + " for i in range(self.size):\n", + " self.run_datapoint(i)\n", + " self.report()\n", + "\n", + " @classmethod\n", + " def test(cls, function, data):\n", + " cls(function, data).run()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "W_KcLvyt6kbb" + }, + "outputs": [], + "source": [ + "# Run evaluation on 250 test examples\n", + "Tester.test(improved_model_predict, test)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "nVwiWGVN1ihp" + }, + "source": [ + "### Performance Optimizations Applied\n", + "\n", + "**Changes for better accuracy:**\n", + "- ✅ 8-bit quantization (vs 4-bit) - Better precision\n", + "- ✅ top_K = 5 (vs 3) - More predictions in weighted average\n", + "- ✅ max_new_tokens = 5 - More flexibility in response\n", + "- ✅ temperature = 0.1 - More consistent predictions\n", + "\n", + "**Expected improvement:** ~10-15% reduction in average error\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "hO4DdLa81ihp" + }, + "source": [ + "### Expected Performance\n", + "\n", + "**Baseline comparisons:**\n", + "- GPT-4o: $76 avg error\n", + "- Llama 3.1 base: $396 avg error \n", + "- Human: $127 avg error\n", + "\n", + "**Fine-tuned model (optimized):**\n", + "- Target: $70-85 avg error\n", + "- With 8-bit quant + top_K=5 + temp=0.1\n", + "- Expected to rival or beat GPT-4o\n" + ] + } + ], + "metadata": { + "accelerator": "GPU", + "colab": { + "gpuType": "T4", + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file From b0e6254a29fbf66fd8d6d1bc3677aa3104f4d64d Mon Sep 17 00:00:00 2001 From: Philip Omoigui Date: Sun, 2 Nov 2025 13:19:41 +0100 Subject: [PATCH 3/8] Added Week 4 exercise: AI-Powered Code Review Assistant --- .../philip/week4_EXERCISE.ipynb | 686 ++++++++++++++++++ 1 file changed, 686 insertions(+) create mode 100644 week4/community-contributions/philip/week4_EXERCISE.ipynb diff --git a/week4/community-contributions/philip/week4_EXERCISE.ipynb b/week4/community-contributions/philip/week4_EXERCISE.ipynb new file mode 100644 index 0000000..039e2e2 --- /dev/null +++ b/week4/community-contributions/philip/week4_EXERCISE.ipynb @@ -0,0 +1,686 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import json\n", + "import re\n", + "from typing import List, Dict, Optional\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "import gradio as gr\n", + "from IPython.display import Markdown, display\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Groq API Key not set (optional)\n", + "OpenRouter API Key loaded (begins with sk-or-)\n" + ] + } + ], + "source": [ + "load_dotenv(override=True)\n", + "\n", + "# Ollama connection \n", + "ollama_url = \"http://localhost:11434/v1\"\n", + "ollama_client = OpenAI(api_key=\"ollama\", base_url=ollama_url)\n", + "\n", + "# Groq connection\n", + "groq_api_key = os.getenv('GROQ_API_KEY')\n", + "groq_url = \"https://api.groq.com/openai/v1\"\n", + "groq_client = None\n", + "if groq_api_key:\n", + " groq_client = OpenAI(api_key=groq_api_key, base_url=groq_url)\n", + " print(f\"Groq API Key loaded (begins with {groq_api_key[:4]})\")\n", + "else:\n", + " print(\"Groq API Key not set (optional)\")\n", + "\n", + "# OpenRouter connection\n", + "openrouter_api_key = os.getenv('OPENROUTER_API_KEY')\n", + "openrouter_url = \"https://openrouter.ai/api/v1\"\n", + "openrouter_client = None\n", + "if openrouter_api_key:\n", + " openrouter_client = OpenAI(api_key=openrouter_api_key, base_url=openrouter_url)\n", + " print(f\"OpenRouter API Key loaded (begins with {openrouter_api_key[:6]})\")\n", + "else:\n", + " print(\"OpenRouter API Key not set (optional)\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Configured 3 models\n", + "OpenRouter models available (perfect for limited storage demos!)\n" + ] + } + ], + "source": [ + "# Open-source code models configuration\n", + "MODELS = {}\n", + "\n", + "if groq_client:\n", + " MODELS.update({\n", + " \"gpt-oss-20b-groq\": {\n", + " \"name\": \"GPT-OSS-20B (Groq)\",\n", + " \"client\": groq_client,\n", + " \"model\": \"gpt-oss:20b\",\n", + " \"description\": \"Cloud\"\n", + " },\n", + " \"gpt-oss-120b-groq\": {\n", + " \"name\": \"GPT-OSS-120B (Groq)\",\n", + " \"client\": groq_client,\n", + " \"model\": \"openai/gpt-oss-120b\",\n", + " \"description\": \"Cloud - Larger GPT-OSS\"\n", + " },\n", + " \"qwen2.5-coder-32b-groq\": {\n", + " \"name\": \"Qwen2.5-Coder 32B (Groq)\",\n", + " \"client\": groq_client,\n", + " \"model\": \"qwen/qwen2.5-coder-32b-instruct\",\n", + " \"description\": \"Cloud\"\n", + " },\n", + " })\n", + "\n", + "# OpenRouter models\n", + "if openrouter_client:\n", + " MODELS.update({\n", + " \"qwen-2.5-coder-32b-openrouter\": {\n", + " \"name\": \"Qwen2.5-Coder 32B (OpenRouter)\",\n", + " \"client\": openrouter_client,\n", + " \"model\": \"qwen/qwen-2.5-coder-32b-instruct\",\n", + " \"description\": \"Cloud - Perfect for demos, 50 req/day free\"\n", + " },\n", + " \"gpt-oss-20b-groq\": {\n", + " \"name\": \"GPT-OSS-20B\",\n", + " \"client\": openrouter_client,\n", + " \"model\": \"openai/gpt-oss-20b\",\n", + " \"description\": \"Cloud - OpenAI's open model, excellent for code!\"\n", + " },\n", + " })\n", + "\n", + "print(f\"Configured {len(MODELS)} models\")\n", + "if openrouter_client:\n", + " print(\"OpenRouter models available (perfect for limited storage demos!)\")\n", + "if groq_client:\n", + " print(\"Groq models available (fast cloud inference!)\")\n", + "if \"qwen2.5-coder:7b\" in MODELS:\n", + " print(\"Ollama models available (unlimited local usage!)\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "BUG_DETECTION_SYSTEM_PROMPT = \"\"\"You are an expert code reviewer specializing in finding bugs, security vulnerabilities, and logic errors.\n", + "\n", + "Your task is to analyze Python code and identify issues. Return ONLY a valid JSON array with this exact format:\n", + "[{\n", + " \"severity\": \"critical|high|medium|low\",\n", + " \"line\": number,\n", + " \"issue\": \"brief description of the problem\",\n", + " \"suggestion\": \"specific fix recommendation\"\n", + "}]\n", + "\n", + "Be thorough but concise. Focus on real bugs and security issues.\"\"\"\n", + "\n", + "IMPROVEMENTS_SYSTEM_PROMPT = \"\"\"You are a senior software engineer specializing in code quality and best practices.\n", + "\n", + "Analyze the Python code and suggest improvements for:\n", + "- Code readability and maintainability\n", + "- Performance optimizations\n", + "- Pythonic idioms and conventions\n", + "- Better error handling\n", + "\n", + "Return ONLY a JSON array:\n", + "[{\n", + " \"category\": \"readability|performance|style|error_handling\",\n", + " \"line\": number,\n", + " \"current\": \"current code snippet\",\n", + " \"improved\": \"improved code snippet\",\n", + " \"explanation\": \"why this is better\"\n", + "}]\n", + "\n", + "Only suggest meaningful improvements.\"\"\"\n", + "\n", + "TEST_GENERATION_SYSTEM_PROMPT = \"\"\"You are an expert in writing comprehensive unit tests.\n", + "\n", + "Generate pytest unit tests for the given Python code. Include:\n", + "- Test cases for normal operation\n", + "- Edge cases and boundary conditions\n", + "- Error handling tests\n", + "- Tests for any bugs that were identified\n", + "\n", + "Return ONLY Python code with pytest tests. Include the original code at the top if needed.\n", + "Do not include explanations or markdown formatting.\"\"\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "def extract_json_from_response(text: str) -> List[Dict]:\n", + " \"\"\"Extract JSON array from model response, handling markdown code blocks.\"\"\"\n", + " # Remove markdown code blocks\n", + " text = re.sub(r'```json\\n?', '', text)\n", + " text = re.sub(r'```\\n?', '', text)\n", + " \n", + " # Try to find JSON array\n", + " json_match = re.search(r'\\[\\s*\\{.*\\}\\s*\\]', text, re.DOTALL)\n", + " if json_match:\n", + " try:\n", + " return json.loads(json_match.group())\n", + " except json.JSONDecodeError:\n", + " pass\n", + " \n", + " # Fallback: try parsing entire response\n", + " try:\n", + " return json.loads(text.strip())\n", + " except json.JSONDecodeError:\n", + " return []\n", + "\n", + "def detect_bugs(code: str, model_key: str) -> Dict:\n", + " \"\"\"Detect bugs and security issues in code.\"\"\"\n", + " model_config = MODELS[model_key]\n", + " client = model_config[\"client\"]\n", + " model_name = model_config[\"model\"]\n", + " \n", + " user_prompt = f\"Analyze this Python code for bugs and security issues:\\n\\n```python\\n{code}\\n```\"\n", + " \n", + " try:\n", + " response = client.chat.completions.create(\n", + " model=model_name,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": BUG_DETECTION_SYSTEM_PROMPT},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + " ],\n", + " temperature=0.1\n", + " )\n", + " \n", + " content = response.choices[0].message.content\n", + " issues = extract_json_from_response(content)\n", + " \n", + " return {\n", + " \"model\": model_config[\"name\"],\n", + " \"issues\": issues,\n", + " \"raw_response\": content,\n", + " \"success\": True\n", + " }\n", + " except Exception as e:\n", + " return {\n", + " \"model\": model_config[\"name\"],\n", + " \"issues\": [],\n", + " \"error\": str(e),\n", + " \"success\": False\n", + " }\n", + "\n", + "def suggest_improvements(code: str, model_key: str) -> Dict:\n", + " \"\"\"Suggest code improvements and best practices.\"\"\"\n", + " model_config = MODELS[model_key]\n", + " client = model_config[\"client\"]\n", + " model_name = model_config[\"model\"]\n", + " \n", + " user_prompt = f\"Suggest improvements for this Python code:\\n\\n```python\\n{code}\\n```\"\n", + " \n", + " try:\n", + " response = client.chat.completions.create(\n", + " model=model_name,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": IMPROVEMENTS_SYSTEM_PROMPT},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + " ],\n", + " temperature=0.2\n", + " )\n", + " \n", + " content = response.choices[0].message.content\n", + " improvements = extract_json_from_response(content)\n", + " \n", + " return {\n", + " \"model\": model_config[\"name\"],\n", + " \"improvements\": improvements,\n", + " \"raw_response\": content,\n", + " \"success\": True\n", + " }\n", + " except Exception as e:\n", + " return {\n", + " \"model\": model_config[\"name\"],\n", + " \"improvements\": [],\n", + " \"error\": str(e),\n", + " \"success\": False\n", + " }\n", + "\n", + "def generate_tests(code: str, bugs: List[Dict], model_key: str) -> Dict:\n", + " \"\"\"Generate unit tests for the code.\"\"\"\n", + " model_config = MODELS[model_key]\n", + " client = model_config[\"client\"]\n", + " model_name = model_config[\"model\"]\n", + " \n", + " bugs_context = \"\"\n", + " if bugs:\n", + " bugs_context = f\"\\n\\nNote: The following bugs were identified:\\n\" + \"\\n\".join([f\"- Line {b.get('line', '?')}: {b.get('issue', '')}\" for b in bugs])\n", + " \n", + " user_prompt = f\"Generate pytest unit tests for this Python code:{bugs_context}\\n\\n```python\\n{code}\\n```\"\n", + " \n", + " try:\n", + " response = client.chat.completions.create(\n", + " model=model_name,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": TEST_GENERATION_SYSTEM_PROMPT},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + " ],\n", + " temperature=0.3\n", + " )\n", + " \n", + " content = response.choices[0].message.content\n", + " # Remove markdown code blocks if present\n", + " test_code = re.sub(r'```python\\n?', '', content)\n", + " test_code = re.sub(r'```\\n?', '', test_code)\n", + " \n", + " return {\n", + " \"model\": model_config[\"name\"],\n", + " \"test_code\": test_code.strip(),\n", + " \"raw_response\": content,\n", + " \"success\": True\n", + " }\n", + " except Exception as e:\n", + " return {\n", + " \"model\": model_config[\"name\"],\n", + " \"test_code\": \"\",\n", + " \"error\": str(e),\n", + " \"success\": False\n", + " }\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "def format_bugs_output(result: Dict) -> str:\n", + " \"\"\"Format bug detection results for display.\"\"\"\n", + " if not result.get(\"success\"):\n", + " return f\"**Error with {result['model']}:** {result.get('error', 'Unknown error')}\"\n", + " \n", + " issues = result.get(\"issues\", [])\n", + " if not issues:\n", + " return f\"✅ **{result['model']}**: No issues found. Code looks good!\"\n", + " \n", + " output = [f\"**{result['model']}** - Found {len(issues)} issue(s):\\n\"]\n", + " \n", + " severity_order = {\"critical\": 0, \"high\": 1, \"medium\": 2, \"low\": 3}\n", + " sorted_issues = sorted(issues, key=lambda x: severity_order.get(x.get(\"severity\", \"low\"), 3))\n", + " \n", + " for issue in sorted_issues:\n", + " severity = issue.get(\"severity\", \"unknown\").upper()\n", + " line = issue.get(\"line\", \"?\")\n", + " issue_desc = issue.get(\"issue\", \"\")\n", + " suggestion = issue.get(\"suggestion\", \"\")\n", + " \n", + " severity_emoji = {\n", + " \"CRITICAL\": \"🔴\",\n", + " \"HIGH\": \"🟠\",\n", + " \"MEDIUM\": \"🟡\",\n", + " \"LOW\": \"🔵\"\n", + " }.get(severity, \"⚪\")\n", + " \n", + " output.append(f\"{severity_emoji} **{severity}** (Line {line}): {issue_desc}\")\n", + " if suggestion:\n", + " output.append(f\" 💡 *Fix:* {suggestion}\")\n", + " output.append(\"\")\n", + " \n", + " return \"\\n\".join(output)\n", + "\n", + "def format_improvements_output(result: Dict) -> str:\n", + " \"\"\"Format improvement suggestions for display.\"\"\"\n", + " if not result.get(\"success\"):\n", + " return f\"**Error with {result['model']}:** {result.get('error', 'Unknown error')}\"\n", + " \n", + " improvements = result.get(\"improvements\", [])\n", + " if not improvements:\n", + " return f\"✅ **{result['model']}**: Code follows best practices. No major improvements needed!\"\n", + " \n", + " output = [f\"**{result['model']}** - {len(improvements)} suggestion(s):\\n\"]\n", + " \n", + " for imp in improvements:\n", + " category = imp.get(\"category\", \"general\").replace(\"_\", \" \").title()\n", + " line = imp.get(\"line\", \"?\")\n", + " current = imp.get(\"current\", \"\")\n", + " improved = imp.get(\"improved\", \"\")\n", + " explanation = imp.get(\"explanation\", \"\")\n", + " \n", + " output.append(f\"\\n📝 **{category}** (Line {line}):\")\n", + " if current and improved:\n", + " output.append(f\" Before: `{current[:60]}{'...' if len(current) > 60 else ''}`\")\n", + " output.append(f\" After: `{improved[:60]}{'...' if len(improved) > 60 else ''}`\")\n", + " if explanation:\n", + " output.append(f\" 💡 {explanation}\")\n", + " \n", + " return \"\\n\".join(output)\n", + "\n", + "def format_tests_output(result: Dict) -> str:\n", + " \"\"\"Format test generation results for display.\"\"\"\n", + " if not result.get(\"success\"):\n", + " return f\"**Error with {result['model']}:** {result.get('error', 'Unknown error')}\"\n", + " \n", + " test_code = result.get(\"test_code\", \"\")\n", + " if not test_code:\n", + " return f\"⚠️ **{result['model']}**: No tests generated.\"\n", + " \n", + " return test_code\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "def review_code(code: str, model_key: str, include_tests: bool = True) -> tuple:\n", + " \"\"\"Main function to perform complete code review.\"\"\"\n", + " if not code.strip():\n", + " return \"Please provide code to review.\", \"\", \"\"\n", + " \n", + " # Detect bugs\n", + " bugs_result = detect_bugs(code, model_key)\n", + " bugs_output = format_bugs_output(bugs_result)\n", + " bugs_issues = bugs_result.get(\"issues\", [])\n", + " \n", + " # Suggest improvements\n", + " improvements_result = suggest_improvements(code, model_key)\n", + " improvements_output = format_improvements_output(improvements_result)\n", + " \n", + " # Generate tests\n", + " tests_output = \"\"\n", + " if include_tests:\n", + " tests_result = generate_tests(code, bugs_issues, model_key)\n", + " tests_output = format_tests_output(tests_result)\n", + " \n", + " return bugs_output, improvements_output, tests_output\n" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "def compare_models(code: str, model_keys: List[str]) -> str:\n", + " \"\"\"Compare multiple models on the same code.\"\"\"\n", + " if not code.strip():\n", + " return \"Please provide code to review.\"\n", + " \n", + " results = []\n", + " all_issues = []\n", + " \n", + " for model_key in model_keys:\n", + " result = detect_bugs(code, model_key)\n", + " results.append(result)\n", + " if result.get(\"success\"):\n", + " all_issues.extend(result.get(\"issues\", []))\n", + " \n", + " # Build comparison output\n", + " output = [\"# Model Comparison Results\\n\"]\n", + " \n", + " for result in results:\n", + " model_name = result[\"model\"]\n", + " issues = result.get(\"issues\", [])\n", + " success = result.get(\"success\", False)\n", + " \n", + " if success:\n", + " output.append(f\"\\n**{model_name}**: Found {len(issues)} issue(s)\")\n", + " if issues:\n", + " severity_counts = {}\n", + " for issue in issues:\n", + " sev = issue.get(\"severity\", \"low\")\n", + " severity_counts[sev] = severity_counts.get(sev, 0) + 1\n", + " output.append(f\" Breakdown: {dict(severity_counts)}\")\n", + " else:\n", + " output.append(f\"\\n**{model_name}**: Error - {result.get('error', 'Unknown')}\")\n", + " \n", + " # Find consensus issues (found by multiple models)\n", + " if len(results) > 1:\n", + " issue_signatures = {}\n", + " for result in results:\n", + " if result.get(\"success\"):\n", + " for issue in result.get(\"issues\", []):\n", + " # Create signature from line and issue description\n", + " sig = f\"{issue.get('line')}-{issue.get('issue', '')[:50]}\"\n", + " if sig not in issue_signatures:\n", + " issue_signatures[sig] = []\n", + " issue_signatures[sig].append(result[\"model\"])\n", + " \n", + " consensus = [sig for sig, models in issue_signatures.items() if len(models) > 1]\n", + " if consensus:\n", + " output.append(f\"\\n\\n **Consensus Issues**: {len(consensus)} issue(s) identified by multiple models\")\n", + " \n", + " return \"\\n\".join(output)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Gradio UI\n" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "* Running on local URL: http://127.0.0.1:7883\n", + "* To create a public link, set `share=True` in `launch()`.\n" + ] + }, + { + "data": { + "text/html": [ + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Example buggy code for testing\n", + "EXAMPLE_CODE = '''def divide_numbers(a, b):\n", + " return a / b\n", + "\n", + "def process_user_data(user_input):\n", + " # Missing input validation\n", + " result = eval(user_input)\n", + " return result\n", + "\n", + "def get_user_by_id(user_id):\n", + " # SQL injection vulnerability\n", + " query = f\"SELECT * FROM users WHERE id = {user_id}\"\n", + " return query\n", + "\n", + "def calculate_average(numbers):\n", + " total = sum(numbers)\n", + " return total / len(numbers) # Potential division by zero\n", + "'''\n", + "\n", + "def create_ui():\n", + " with gr.Blocks(title=\"AI Code Review Assistant\", theme=gr.themes.Soft()) as demo:\n", + " gr.Markdown(\"\"\"\n", + " # 🔍 AI-Powered Code Review Assistant\n", + " \n", + " Review your Python code using open-source AI models. Detect bugs, get improvement suggestions, and generate unit tests.\n", + " \"\"\")\n", + " \n", + " with gr.Row():\n", + " with gr.Column(scale=2):\n", + " code_input = gr.Code(\n", + " label=\"Python Code to Review\",\n", + " value=EXAMPLE_CODE,\n", + " language=\"python\",\n", + " lines=20\n", + " )\n", + " \n", + " with gr.Row():\n", + " model_selector = gr.Dropdown(\n", + " choices=list(MODELS.keys()),\n", + " value=list(MODELS.keys())[0],\n", + " label=\"Select Model\",\n", + " info=\"Choose an open-source code model\"\n", + " )\n", + " \n", + " include_tests = gr.Checkbox(\n", + " label=\"Generate Tests\",\n", + " value=True\n", + " )\n", + " \n", + " with gr.Row():\n", + " review_btn = gr.Button(\"🔍 Review Code\", variant=\"primary\", scale=2)\n", + " compare_btn = gr.Button(\"📊 Compare Models\", variant=\"secondary\", scale=1)\n", + " \n", + " with gr.Column(scale=3):\n", + " with gr.Tabs() as tabs:\n", + " with gr.Tab(\"🐛 Bug Detection\"):\n", + " bugs_output = gr.Markdown(value=\"Select a model and click 'Review Code' to analyze your code.\")\n", + " \n", + " with gr.Tab(\"✨ Improvements\"):\n", + " improvements_output = gr.Markdown(value=\"Get suggestions for code improvements and best practices.\")\n", + " \n", + " with gr.Tab(\"🧪 Unit Tests\"):\n", + " tests_output = gr.Code(\n", + " label=\"Generated Test Code\",\n", + " language=\"python\",\n", + " lines=25\n", + " )\n", + " \n", + " with gr.Tab(\"📊 Comparison\"):\n", + " comparison_output = gr.Markdown(value=\"Compare multiple models side-by-side.\")\n", + " \n", + " # Event handlers\n", + " review_btn.click(\n", + " fn=review_code,\n", + " inputs=[code_input, model_selector, include_tests],\n", + " outputs=[bugs_output, improvements_output, tests_output]\n", + " )\n", + " \n", + " def compare_selected_models(code):\n", + " # Compare first 3 models by default\n", + " model_keys = list(MODELS.keys())[:3]\n", + " return compare_models(code, model_keys)\n", + " \n", + " compare_btn.click(\n", + " fn=compare_selected_models,\n", + " inputs=[code_input],\n", + " outputs=[comparison_output]\n", + " )\n", + " \n", + " gr.Examples(\n", + " examples=[\n", + " [EXAMPLE_CODE],\n", + " [\"\"\"def fibonacci(n):\n", + " if n <= 1:\n", + " return n\n", + " return fibonacci(n-1) + fibonacci(n-2)\n", + "\"\"\"],\n", + " [\"\"\"def parse_config(file_path):\n", + " with open(file_path) as f:\n", + " return eval(f.read())\n", + "\"\"\"]\n", + " ],\n", + " inputs=[code_input]\n", + " )\n", + " \n", + " return demo\n", + "\n", + "demo = create_ui()\n", + "demo.launch(inbrowser=True, share=False)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "**Qwen2.5-Coder 32B (OpenRouter)** - Found 2 issue(s):\n", + "\n", + "🔴 **CRITICAL** (Line 2): No division by zero protection\n", + " 💡 *Fix:* Add a check for b == 0 and raise ValueError or handle ZeroDivisionError\n", + "\n", + "🟡 **MEDIUM** (Line 2): No input validation for numeric types\n", + " 💡 *Fix:* Add type checking to ensure a and b are numbers (int/float)\n", + "\n" + ] + } + ], + "source": [ + "# Test with a simple example\n", + "test_code = \"\"\"def divide(a, b):\n", + " return a / b\n", + "\"\"\"\n", + "\n", + "# Test bug detection\n", + "result = detect_bugs(test_code, list(MODELS.keys())[0])\n", + "print(format_bugs_output(result))\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "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.12.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From 288165922cfdd46026d44c38aaa31204f889f88a Mon Sep 17 00:00:00 2001 From: Philip Omoigui Date: Sun, 2 Nov 2025 13:41:22 +0100 Subject: [PATCH 4/8] Updated System message for unit tests generation --- .../philip/week4_EXERCISE.ipynb | 53 ++++++++++++++++--- 1 file changed, 46 insertions(+), 7 deletions(-) diff --git a/week4/community-contributions/philip/week4_EXERCISE.ipynb b/week4/community-contributions/philip/week4_EXERCISE.ipynb index 039e2e2..c6f0e82 100644 --- a/week4/community-contributions/philip/week4_EXERCISE.ipynb +++ b/week4/community-contributions/philip/week4_EXERCISE.ipynb @@ -60,14 +60,14 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Configured 3 models\n", + "Configured 2 models\n", "OpenRouter models available (perfect for limited storage demos!)\n" ] } @@ -126,7 +126,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 22, "metadata": {}, "outputs": [], "source": [ @@ -170,6 +170,7 @@ "- Tests for any bugs that were identified\n", "\n", "Return ONLY Python code with pytest tests. Include the original code at the top if needed.\n", + "Put the imports at the top of the file first.\n", "Do not include explanations or markdown formatting.\"\"\"\n" ] }, @@ -486,21 +487,21 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "* Running on local URL: http://127.0.0.1:7883\n", + "* Running on local URL: http://127.0.0.1:7884\n", "* To create a public link, set `share=True` in `launch()`.\n" ] }, { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ "" @@ -513,9 +514,47 @@ "data": { "text/plain": [] }, - "execution_count": 21, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Traceback (most recent call last):\n", + " File \"c:\\Users\\Philo Baba\\llm_engineering\\.venv\\Lib\\site-packages\\gradio\\queueing.py\", line 745, in process_events\n", + " response = await route_utils.call_process_api(\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"c:\\Users\\Philo Baba\\llm_engineering\\.venv\\Lib\\site-packages\\gradio\\route_utils.py\", line 354, in call_process_api\n", + " output = await app.get_blocks().process_api(\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"c:\\Users\\Philo Baba\\llm_engineering\\.venv\\Lib\\site-packages\\gradio\\blocks.py\", line 2116, in process_api\n", + " result = await self.call_function(\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"c:\\Users\\Philo Baba\\llm_engineering\\.venv\\Lib\\site-packages\\gradio\\blocks.py\", line 1623, in call_function\n", + " prediction = await anyio.to_thread.run_sync( # type: ignore\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"c:\\Users\\Philo Baba\\llm_engineering\\.venv\\Lib\\site-packages\\anyio\\to_thread.py\", line 56, in run_sync\n", + " return await get_async_backend().run_sync_in_worker_thread(\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"c:\\Users\\Philo Baba\\llm_engineering\\.venv\\Lib\\site-packages\\anyio\\_backends\\_asyncio.py\", line 2485, in run_sync_in_worker_thread\n", + " return await future\n", + " ^^^^^^^^^^^^\n", + " File \"c:\\Users\\Philo Baba\\llm_engineering\\.venv\\Lib\\site-packages\\anyio\\_backends\\_asyncio.py\", line 976, in run\n", + " result = context.run(func, *args)\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"c:\\Users\\Philo Baba\\llm_engineering\\.venv\\Lib\\site-packages\\gradio\\utils.py\", line 915, in wrapper\n", + " response = f(*args, **kwargs)\n", + " ^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Philo Baba\\AppData\\Local\\Temp\\ipykernel_43984\\2272281361.py\", line 7, in review_code\n", + " bugs_result = detect_bugs(code, model_key)\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Philo Baba\\AppData\\Local\\Temp\\ipykernel_43984\\638705449.py\", line 23, in detect_bugs\n", + " model_config = MODELS[model_key]\n", + " ~~~~~~^^^^^^^^^^^\n", + "KeyError: 'deepseek-coder-v2-openrouter'\n" + ] } ], "source": [ From 4500aea1125fd74752cfd78baaa80c897094f7f5 Mon Sep 17 00:00:00 2001 From: Mogbeyi Date: Mon, 3 Nov 2025 05:01:49 +0100 Subject: [PATCH 5/8] Add Emmy's week7 solution --- .../emmy/product_price_estimator.ipynb | 454 ++++++++++++++++++ 1 file changed, 454 insertions(+) create mode 100644 week7/community_contributions/emmy/product_price_estimator.ipynb diff --git a/week7/community_contributions/emmy/product_price_estimator.ipynb b/week7/community_contributions/emmy/product_price_estimator.ipynb new file mode 100644 index 0000000..96914a5 --- /dev/null +++ b/week7/community_contributions/emmy/product_price_estimator.ipynb @@ -0,0 +1,454 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "275415f0", + "metadata": { + "id": "275415f0" + }, + "outputs": [], + "source": [ + "# pip installs\n", + "\n", + "!pip install -q --upgrade torch==2.5.1+cu124 torchvision==0.20.1+cu124 torchaudio==2.5.1+cu124 --index-url https://download.pytorch.org/whl/cu124\n", + "!pip install -q --upgrade requests==2.32.3 bitsandbytes==0.46.0 transformers==4.48.3 accelerate==1.3.0 datasets==3.2.0 peft==0.14.0 trl==0.14.0 matplotlib wandb" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "535bd9de", + "metadata": { + "id": "535bd9de" + }, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import re\n", + "import math\n", + "from tqdm import tqdm\n", + "import numpy as np\n", + "from google.colab import userdata\n", + "from huggingface_hub import login\n", + "import torch\n", + "from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score, mean_absolute_percentage_error\n", + "import torch.nn.functional as F\n", + "import transformers\n", + "from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig, set_seed\n", + "from datasets import load_dataset, Dataset, DatasetDict\n", + "from datetime import datetime\n", + "from peft import PeftModel\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fc58234a", + "metadata": { + "id": "fc58234a" + }, + "outputs": [], + "source": [ + "# Constants\n", + "\n", + "BASE_MODEL = \"meta-llama/Meta-Llama-3.1-8B\"\n", + "PROJECT_NAME = \"pricer\"\n", + "HF_USER = \"ed-donner\"\n", + "RUN_NAME = \"2024-09-13_13.04.39\"\n", + "PROJECT_RUN_NAME = f\"{PROJECT_NAME}-{RUN_NAME}\"\n", + "REVISION = \"e8d637df551603dc86cd7a1598a8f44af4d7ae36\"\n", + "FINETUNED_MODEL = f\"{HF_USER}/{PROJECT_RUN_NAME}\"\n", + "\n", + "\n", + "DATASET_NAME = f\"{HF_USER}/home-data\"\n", + "\n", + "QUANT_4_BIT = True\n", + "top_K = 6\n", + "\n", + "%matplotlib inline\n", + "\n", + "# Used for writing to output in color\n", + "\n", + "GREEN = \"\\033[92m\"\n", + "YELLOW = \"\\033[93m\"\n", + "RED = \"\\033[91m\"\n", + "RESET = \"\\033[0m\"\n", + "COLOR_MAP = {\"red\":RED, \"orange\": YELLOW, \"green\": GREEN}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0145ad8a", + "metadata": { + "id": "0145ad8a" + }, + "outputs": [], + "source": [ + "# Log in to HuggingFace\n", + "\n", + "hf_token = userdata.get('HF_TOKEN')\n", + "login(hf_token, add_to_git_credential=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6919506e", + "metadata": { + "id": "6919506e" + }, + "outputs": [], + "source": [ + "dataset = load_dataset(DATASET_NAME)\n", + "train = dataset['train']\n", + "test = dataset['test']\n", + "len(train), len(test)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ea79cde1", + "metadata": { + "id": "ea79cde1" + }, + "outputs": [], + "source": [ + "if QUANT_4_BIT:\n", + " quant_config = BitsAndBytesConfig(\n", + " load_in_4bit=True,\n", + " bnb_4bit_use_double_quant=True,\n", + " bnb_4bit_compute_dtype=torch.bfloat16,\n", + " bnb_4bit_quant_type=\"nf4\"\n", + " )\n", + "else:\n", + " quant_config = BitsAndBytesConfig(\n", + " load_in_8bit=True,\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ef108f8d", + "metadata": { + "id": "ef108f8d" + }, + "outputs": [], + "source": [ + "# Load the Tokenizer and the Model\n", + "\n", + "tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL, trust_remote_code=True)\n", + "tokenizer.pad_token = tokenizer.eos_token\n", + "tokenizer.padding_side = \"right\"\n", + "\n", + "base_model = AutoModelForCausalLM.from_pretrained(\n", + " BASE_MODEL,\n", + " quantization_config=quant_config,\n", + " device_map=\"auto\",\n", + ")\n", + "base_model.generation_config.pad_token_id = tokenizer.pad_token_id\n", + "\n", + "# Load the fine-tuned model with PEFT\n", + "if REVISION:\n", + " fine_tuned_model = PeftModel.from_pretrained(base_model, FINETUNED_MODEL, revision=REVISION)\n", + "else:\n", + " fine_tuned_model = PeftModel.from_pretrained(base_model, FINETUNED_MODEL)\n", + "\n", + "fine_tuned_model.eval()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7f3c4176", + "metadata": { + "id": "7f3c4176" + }, + "outputs": [], + "source": [ + "def extract_price(s):\n", + " if \"Price is $\" in s:\n", + " contents = s.split(\"Price is $\")[1]\n", + " contents = contents.replace(',','')\n", + " match = re.search(r\"[-+]?\\d*\\.\\d+|\\d+\", contents)\n", + " return float(match.group()) if match else 0\n", + " return 0" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "436fa29a", + "metadata": { + "id": "436fa29a" + }, + "outputs": [], + "source": [ + "# Original prediction function takes the most likely next token\n", + "\n", + "def model_predict(prompt):\n", + " set_seed(42)\n", + " inputs = tokenizer.encode(prompt, return_tensors=\"pt\").to(\"cuda\")\n", + " attention_mask = torch.ones(inputs.shape, device=\"cuda\")\n", + " outputs = fine_tuned_model.generate(inputs, attention_mask=attention_mask, max_new_tokens=3, num_return_sequences=1)\n", + " response = tokenizer.decode(outputs[0])\n", + " return extract_price(response)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a666dab6", + "metadata": { + "id": "a666dab6" + }, + "outputs": [], + "source": [ + "def improved_model_predict(prompt, device=\"cuda\", top_k=3):\n", + " set_seed(42)\n", + " inputs = tokenizer.encode(prompt, return_tensors=\"pt\").to(device)\n", + " attention_mask = torch.ones_like(inputs)\n", + "\n", + " with torch.no_grad():\n", + " outputs = fine_tuned_model(inputs, attention_mask=attention_mask)\n", + " next_token_logits = outputs.logits[:, -1, :].to(\"cpu\")\n", + "\n", + " probs = F.softmax(next_token_logits, dim=-1)\n", + " top_prob, top_token_id = probs.topk(top_k)\n", + "\n", + " prices, weights = [], []\n", + " for weight, token_id in zip(top_prob[0], top_token_id[0]):\n", + " token_text = tokenizer.decode(token_id)\n", + " try:\n", + " value = float(token_text)\n", + " except ValueError:\n", + " continue\n", + " prices.append(value)\n", + " weights.append(weight.item())\n", + "\n", + " if not prices:\n", + " return 0.0, 0.0, 0.0 # price, confidence, spread\n", + "\n", + " total = sum(weights)\n", + " normalized = [w / total for w in weights]\n", + " weighted_price = sum(p * w for p, w in zip(prices, normalized))\n", + " variance = sum(w * (p - weighted_price) ** 2 for p, w in zip(prices, normalized))\n", + " confidence = 1 - min(variance / (weighted_price + 1e-6), 1)\n", + " spread = max(prices) - min(prices)\n", + " return weighted_price, confidence, spread" + ] + }, + { + "cell_type": "code", + "source": [ + "!pip install -q gradio>=4.0\n", + "import gradio as gr\n", + "\n", + "def format_prediction(description):\n", + " price, confidence, spread = improved_model_predict(description)\n", + " return (\n", + " f\"${price:,.2f}\",\n", + " f\"{confidence*100:.1f}%\",\n", + " f\"${spread:,.2f}\",\n", + " )\n", + "\n", + "demo = gr.Interface(\n", + " fn=format_prediction,\n", + " inputs=gr.Textbox(lines=10, label=\"Product Description\"),\n", + " outputs=[\n", + " gr.Textbox(label=\"Estimated Price\"),\n", + " gr.Textbox(label=\"Confidence\"),\n", + " gr.Textbox(label=\"Token Spread\"),\n", + " ],\n", + " title=\"Open-Source Product Price Estimator\",\n", + " description=\"Paste a cleaned product blurb. The model returns a price estimate, a confidence score based on top-k token dispersion, and the spread between top predictions.\",\n", + ")\n", + "\n", + "demo.launch(share=True)" + ], + "metadata": { + "id": "Km4tHaeQyMoW" + }, + "id": "Km4tHaeQyMoW", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9664c4c7", + "metadata": { + "id": "9664c4c7" + }, + "outputs": [], + "source": [ + "\n", + "class Tester:\n", + "\n", + " def __init__(self, predictor, data, title=None, show_progress=True):\n", + " self.predictor = predictor\n", + " self.data = data\n", + " self.title = title or predictor.__name__.replace(\"_\", \" \").title()\n", + " self.size = len(data)\n", + " self.guesses, self.truths, self.errors, self.rel_errors, self.sles, self.colors = [], [], [], [], [], []\n", + " self.show_progress = show_progress\n", + "\n", + " def color_for(self, error, truth):\n", + " if error < 40 or error / truth < 0.2:\n", + " return \"green\"\n", + " elif error < 80 or error / truth < 0.4:\n", + " return \"orange\"\n", + " else:\n", + " return \"red\"\n", + "\n", + " def run_datapoint(self, i):\n", + " datapoint = self.data[i]\n", + " guess = self.predictor(datapoint[\"text\"])\n", + " truth = datapoint[\"price\"]\n", + "\n", + " error = guess - truth\n", + " abs_error = abs(error)\n", + " rel_error = abs_error / truth if truth != 0 else 0\n", + " log_error = math.log(truth + 1) - math.log(guess + 1)\n", + " sle = log_error ** 2\n", + " color = self.color_for(abs_error, truth)\n", + "\n", + " title = (datapoint[\"text\"].split(\"\\n\\n\")[1][:20] + \"...\") if \"\\n\\n\" in datapoint[\"text\"] else datapoint[\"text\"][:20]\n", + " self.guesses.append(guess)\n", + " self.truths.append(truth)\n", + " self.errors.append(error)\n", + " self.rel_errors.append(rel_error)\n", + " self.sles.append(sle)\n", + " self.colors.append(color)\n", + "\n", + " print(f\"{COLOR_MAP[color]}{i+1}: Guess: ${guess:,.2f} Truth: ${truth:,.2f} \"\n", + " f\"Error: ${abs_error:,.2f} RelErr: {rel_error*100:.1f}% SLE: {sle:,.2f} Item: {title}{RESET}\")\n", + "\n", + " def chart_all(self, chart_title):\n", + " \"\"\"Compact version: 4 performance charts in one grid.\"\"\"\n", + " t, g = np.array(self.truths), np.array(self.guesses)\n", + " rel_err, abs_err = np.array(self.rel_errors) * 100, np.abs(np.array(self.errors))\n", + "\n", + " fig, axs = plt.subplots(2, 2, figsize=(14, 10))\n", + " fig.suptitle(f\"Performance Dashboard — {chart_title}\", fontsize=16, fontweight=\"bold\")\n", + "\n", + " # Scatter plot\n", + " max_val = max(t.max(), g.max()) * 1.05\n", + " axs[1, 1].plot([0, max_val], [0, max_val], \"b--\", alpha=0.6)\n", + " axs[1, 1].scatter(t, g, s=20, c=self.colors, alpha=0.6)\n", + " axs[1, 1].set_title(\"Predictions vs Ground Truth\")\n", + " axs[1, 1].set_xlabel(\"True Price ($)\")\n", + " axs[1, 1].set_ylabel(\"Predicted ($)\")\n", + "\n", + " # Accuracy by price range\n", + " bins = np.linspace(t.min(), t.max(), 6)\n", + " labels = [f\"${bins[i]:.0f}–${bins[i+1]:.0f}\" for i in range(len(bins)-1)]\n", + " inds = np.digitize(t, bins) - 1\n", + " avg_err = [rel_err[inds == i].mean() for i in range(len(labels))]\n", + " axs[0, 0].bar(labels, avg_err, color=\"seagreen\", alpha=0.8)\n", + " axs[0, 0].set_title(\"Avg Relative Error by Price Range\")\n", + " axs[0, 0].set_ylabel(\"Relative Error (%)\")\n", + " axs[0, 0].tick_params(axis=\"x\", rotation=30)\n", + "\n", + " # Relative error distribution\n", + " axs[0, 1].hist(rel_err, bins=25, color=\"mediumpurple\", edgecolor=\"black\", alpha=0.7)\n", + " axs[0, 1].set_title(\"Relative Error Distribution (%)\")\n", + " axs[0, 1].set_xlabel(\"Relative Error (%)\")\n", + "\n", + " # Absolute error distribution\n", + " axs[1, 0].hist(abs_err, bins=25, color=\"steelblue\", edgecolor=\"black\", alpha=0.7)\n", + " axs[1, 0].axvline(abs_err.mean(), color=\"red\", linestyle=\"--\", label=f\"Mean={abs_err.mean():.2f}\")\n", + " axs[1, 0].set_title(\"Absolute Error Distribution\")\n", + " axs[1, 0].set_xlabel(\"Absolute Error ($)\")\n", + " axs[1, 0].legend()\n", + "\n", + " for ax in axs.ravel():\n", + " ax.grid(alpha=0.3)\n", + "\n", + " plt.tight_layout(rect=[0, 0, 1, 0.95])\n", + " plt.show()\n", + "\n", + " def report(self):\n", + " y_true = np.array(self.truths)\n", + " y_pred = np.array(self.guesses)\n", + "\n", + " mae = mean_absolute_error(y_true, y_pred)\n", + " rmse = math.sqrt(mean_squared_error(y_true, y_pred))\n", + " rmsle = math.sqrt(sum(self.sles) / self.size)\n", + " mape = mean_absolute_percentage_error(y_true, y_pred) * 100\n", + " median_error = float(np.median(np.abs(y_true - y_pred)))\n", + " r2 = r2_score(y_true, y_pred)\n", + "\n", + " hit_rate_green = sum(1 for c in self.colors if c == \"green\") / self.size * 100\n", + " hit_rate_acceptable = sum(1 for c in self.colors if c in (\"green\", \"orange\")) / self.size * 100\n", + "\n", + " print(f\"\\n{'='*70}\")\n", + " print(f\"FINAL REPORT: {self.title}\")\n", + " print(f\"{'='*70}\")\n", + " print(f\"Total Predictions: {self.size}\")\n", + " print(f\"\\n--- Error Metrics ---\")\n", + " print(f\"Mean Absolute Error (MAE): ${mae:,.2f}\")\n", + " print(f\"Median Error: ${median_error:,.2f}\")\n", + " print(f\"Root Mean Squared Error (RMSE): ${rmse:,.2f}\")\n", + " print(f\"Root Mean Squared Log Error (RMSLE): {rmsle:.4f}\")\n", + " print(f\"Mean Absolute Percentage Error (MAPE): {mape:.2f}%\")\n", + " print(f\"\\n--- Accuracy Metrics ---\")\n", + " print(f\"R² Score: {r2:.4f}\")\n", + " print(f\"Hit Rate (Green): {hit_rate_green:.1f}%\")\n", + " print(f\"Hit Rate (Green+Orange): {hit_rate_acceptable:.1f}%\")\n", + " print(f\"{'='*70}\\n\")\n", + " chart_title = f\"{self.title} | MAE=${mae:,.2f} | RMSLE={rmsle:.3f} | R²={r2:.3f}\"\n", + "\n", + " self.chart_all(chart_title)\n", + "\n", + " def run(self):\n", + " iterator = tqdm(range(self.size), desc=\"Testing Model\") if self.show_progress else range(self.size)\n", + " for i in iterator:\n", + " self.run_datapoint(i)\n", + " self.report()\n", + "\n", + " @classmethod\n", + " def test(cls, function, data, title=None):\n", + " cls(function, data, title=title).run()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2e60a696", + "metadata": { + "id": "2e60a696" + }, + "outputs": [], + "source": [ + "Tester.test(\n", + " improved_model_predict,\n", + " test,\n", + " title=\"Home appliances prediction\"\n", + ")" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + }, + "colab": { + "provenance": [], + "gpuType": "T4" + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "accelerator": "GPU" + }, + "nbformat": 4, + "nbformat_minor": 5 +} \ No newline at end of file From b84223f9da8ccc70ccca29945a59934a968fa305 Mon Sep 17 00:00:00 2001 From: Mogbeyi Date: Tue, 4 Nov 2025 03:41:36 +0100 Subject: [PATCH 6/8] Add Emmy's week8 solution --- .../emmy/llm_battle.py | 468 ++++++++++++++++++ 1 file changed, 468 insertions(+) create mode 100644 week8/community_contributions/emmy/llm_battle.py diff --git a/week8/community_contributions/emmy/llm_battle.py b/week8/community_contributions/emmy/llm_battle.py new file mode 100644 index 0000000..b4e0673 --- /dev/null +++ b/week8/community_contributions/emmy/llm_battle.py @@ -0,0 +1,468 @@ +"""Interactive multi-model debate arena with live updates and judge reports. + +This script assembles four LLM-powered agents: + * Debater A + * Debater B + * Judge + * Reporter + +The agents can be configured to target different providers by setting +environment variables for their API keys and (optionally) custom base URLs. +The debate is presented via a Gradio UI with two tabs: + 1. Live Debate: streams the arguments as they are generated. + 2. Judge's Report: displays the verdict, rubric scores, and a summary. +""" + +from __future__ import annotations + +import json +import os +from dataclasses import dataclass, field +from typing import Dict, Generator, List, Optional, Tuple + +import gradio as gr +from dotenv import load_dotenv +from openai import OpenAI + +load_dotenv() + + +# --------------------------------------------------------------------------- +# Configuration helpers +# --------------------------------------------------------------------------- + + +@dataclass +class AgentConfig: + """Holds configuration required to talk to an LLM provider.""" + + name: str + model: str + api_key_env: str + base_url_env: Optional[str] = None + temperature: float = 0.7 + supports_json: bool = True + + +def load_client(config: AgentConfig) -> OpenAI: + """Create an OpenAI-compatible client for the given agent.""" + api_key = os.getenv(config.api_key_env) or os.getenv("OPENAI_API_KEY") + if not api_key: + raise RuntimeError( + f"Missing API key for {config.name}. " + f"Set {config.api_key_env} or OPENAI_API_KEY." + ) + + base_url = ( + os.getenv(config.base_url_env) + if config.base_url_env + else os.getenv("OPENAI_BASE_URL") + ) + + return OpenAI(api_key=api_key, base_url=base_url) + + +def extract_text(response) -> str: + """Extract text content from an OpenAI-style response object or dict.""" + + choices = getattr(response, "choices", None) + if choices is None and isinstance(response, dict): + choices = response.get("choices") + if not choices: + raise RuntimeError(f"LLM response missing choices field: {response!r}") + + choice = choices[0] + message = getattr(choice, "message", None) + if message is None and isinstance(choice, dict): + message = choice.get("message") + + content = None + if message is not None: + content = getattr(message, "content", None) + if content is None and isinstance(message, dict): + content = message.get("content") + + if isinstance(content, list): + parts: List[str] = [] + for part in content: + if isinstance(part, dict): + if "text" in part: + parts.append(str(part["text"])) + elif "output_text" in part: + parts.append(str(part["output_text"])) + elif "type" in part and "content" in part: + parts.append(str(part["content"])) + else: + parts.append(str(part)) + content = "".join(parts) + + if content is None: + text = getattr(choice, "text", None) + if text is None and isinstance(choice, dict): + text = choice.get("text") + if text: + content = text + + if content is None: + raise RuntimeError(f"LLM response missing content/text: {response!r}") + + return str(content).strip() + + +# Default configuration leverages OpenAI unless overrides are provided. +DEBATER_A_CONFIG = AgentConfig( + name="Debater A", + model=os.getenv("DEBATER_A_MODEL", "gpt-4o"), + api_key_env="OPENAI_API_KEY", + base_url_env="OPENAI_BASE_URL", + temperature=float(os.getenv("DEBATER_A_TEMPERATURE", 0.7)), +) + +DEBATER_B_CONFIG = AgentConfig( + name="Debater B", + model=os.getenv("DEBATER_B_MODEL", "gemini-2.0-flash"), + api_key_env="GOOGLE_API_KEY", + base_url_env="GEMINI_BASE_URL", + temperature=float(os.getenv("DEBATER_B_TEMPERATURE", 0.7)), +) + +JUDGE_CONFIG = AgentConfig( + name="Judge", + model=os.getenv("JUDGE_MODEL", "gpt-oss:20b-cloud"), + api_key_env="OLLAMA_API_KEY", + base_url_env="OLLAMA_BASE_URL", + temperature=float(os.getenv("JUDGE_TEMPERATURE", 0.2)), + supports_json=False, +) + +REPORTER_CONFIG = AgentConfig( + name="Reporter", + model=os.getenv("REPORTER_MODEL", "MiniMax-M2"), + api_key_env="MINIMAX_API_KEY", + base_url_env="MINIMAX_BASE_URL", + temperature=float(os.getenv("REPORTER_TEMPERATURE", 0.4)), + supports_json=False, +) + +THEME = gr.themes.Default( + primary_hue="blue", + secondary_hue="sky", + neutral_hue="gray", +) + +CUSTOM_CSS = """ +body, .gradio-container { + background: radial-gradient(circle at top, #0f172a 0%, #020617 60%, #020617 100%); + color: #e2e8f0; +} +#live-debate-panel { + background: linear-gradient(135deg, rgba(30,64,175,0.95), rgba(29,78,216,0.85)); + color: #f8fafc; + border-radius: 16px; + padding: 24px; + box-shadow: 0 20px 45px rgba(15,23,42,0.35); +} +#live-debate-panel h3 { + color: #bfdbfe; +} +.gr-button-primary { + background: linear-gradient(135deg, #1d4ed8, #2563eb) !important; + border: none !important; +} +.gr-button-primary:hover { + background: linear-gradient(135deg, #2563eb, #1d4ed8) !important; +} +""" + +# --------------------------------------------------------------------------- +# Debate runtime classes +# --------------------------------------------------------------------------- + + +@dataclass +class DebateState: + topic: str + stance_a: str + stance_b: str + transcript: List[Tuple[str, str]] = field(default_factory=list) + + +class LLMAdapter: + """Thin wrapper around the OpenAI SDK to simplify prompting.""" + + def __init__(self, config: AgentConfig): + self.config = config + self.client = load_client(config) + + def complete( + self, + prompt: str, + *, + system: Optional[str] = None, + max_tokens: int = 512, + json_mode: bool = False, + ) -> str: + messages = [] + if system: + messages.append({"role": "system", "content": system}) + messages.append({"role": "user", "content": prompt}) + + params = dict( + model=self.config.model, + messages=messages, + temperature=self.config.temperature, + max_tokens=max_tokens, + ) + if json_mode and self.config.supports_json: + params["response_format"] = {"type": "json_object"} + + response = self.client.chat.completions.create(**params) + return extract_text(response) + + +class Debater: + def __init__(self, adapter: LLMAdapter, stance_label: str): + self.adapter = adapter + self.stance_label = stance_label + + def argue(self, topic: str) -> str: + prompt = ( + f"You are {self.adapter.config.name}, debating the topic:\n" + f"'{topic}'.\n\n" + f"Present a concise argument that {self.stance_label.lower()} " + f"the statement. Use at most 150 words. Provide clear reasoning " + f"and, if applicable, cite plausible evidence or examples." + ) + return self.adapter.complete(prompt, max_tokens=300) + + +class Judge: + RUBRIC = [ + "Clarity of the argument", + "Use of evidence or examples", + "Logical coherence", + "Persuasiveness and impact", + ] + + def __init__(self, adapter: LLMAdapter): + self.adapter = adapter + + def evaluate(self, topic: str, argument_a: str, argument_b: str) -> Dict[str, object]: + rubric_text = "\n".join(f"- {item}" for item in self.RUBRIC) + prompt = ( + "You are serving as an impartial debate judge.\n" + f"Topic: {topic}\n\n" + f"Argument from Debater A:\n{argument_a}\n\n" + f"Argument from Debater B:\n{argument_b}\n\n" + "Score each debater from 0-10 on the following criteria:\n" + f"{rubric_text}\n\n" + "Return a JSON object with this exact structure:\n" + '{\n' + ' "winner": "A" or "B" or "Tie",\n' + ' "reason": "brief justification",\n' + ' "scores": [\n' + ' {"criterion": "...", "debater_a": 0-10, "debater_b": 0-10, "notes": "optional"}\n' + " ]\n" + "}\n" + "Ensure the JSON is valid." + ) + raw = self.adapter.complete(prompt, max_tokens=400, json_mode=True) + try: + data = json.loads(raw) + if "scores" not in data: + raise ValueError("scores missing") + return data + except Exception: + # Fallback: wrap raw text if parsing fails. + return {"winner": "Unknown", "reason": raw, "scores": []} + + +class Reporter: + def __init__(self, adapter: LLMAdapter): + self.adapter = adapter + + def summarize( + self, + topic: str, + argument_a: str, + argument_b: str, + judge_result: Dict[str, object], + ) -> str: + prompt = ( + f"Summarize a single-round debate on '{topic}'.\n\n" + f"Debater A argued:\n{argument_a}\n\n" + f"Debater B argued:\n{argument_b}\n\n" + f"Judge verdict: {json.dumps(judge_result, ensure_ascii=False)}\n\n" + "Provide a short journalistic summary (max 200 words) highlighting " + "each side's key points and the judge's decision. Use neutral tone." + ) + response = self.adapter.client.chat.completions.create( + model=self.adapter.config.model, + messages=[ + {"role": "system", "content": "You are an impartial debate reporter."}, + {"role": "user", "content": prompt}, + ], + temperature=self.adapter.config.temperature, + max_tokens=300, + **( + {"extra_body": {"reasoning_split": True}} + if getattr(self.adapter.client, "base_url", None) + and "minimax" in str(self.adapter.client.base_url).lower() + else {} + ), + ) + return extract_text(response) + + +# --------------------------------------------------------------------------- +# Debate pipeline + UI +# --------------------------------------------------------------------------- + + +debater_a = Debater(LLMAdapter(DEBATER_A_CONFIG), stance_label="supports") +debater_b = Debater(LLMAdapter(DEBATER_B_CONFIG), stance_label="opposes") +judge = Judge(LLMAdapter(JUDGE_CONFIG)) +reporter = Reporter(LLMAdapter(REPORTER_CONFIG)) + + +def format_transcript(transcript: List[Tuple[str, str]]) -> str: + """Return markdown-formatted transcript.""" + lines = [] + for speaker, message in transcript: + lines.append(f"### {speaker}\n\n{message}\n") + return "\n".join(lines) + + +def run_debate( + topic: str, stance_a: str, stance_b: str +) -> Generator[Tuple[str, str, List[List[object]], str, str], None, None]: + """Generator for Gradio to stream debate progress.""" + if not topic.strip(): + warning = "⚠️ Please enter a debate topic to get started." + yield warning, "", [], "", "" + return + + state = DebateState(topic=topic.strip(), stance_a=stance_a, stance_b=stance_b) + + state.transcript.append( + ("Moderator", f"Welcome to the debate on **{state.topic}**!") + ) + yield format_transcript(state.transcript), "Waiting for judge...", [], "", "" + + argument_a = debater_a.argue(state.topic) + state.transcript.append((f"Debater A ({state.stance_a})", argument_a)) + yield format_transcript(state.transcript), "Collecting arguments...", [], "", "" + + argument_b = debater_b.argue(state.topic) + state.transcript.append((f"Debater B ({state.stance_b})", argument_b)) + yield format_transcript(state.transcript), "Judge deliberating...", [], "", "" + + judge_result = judge.evaluate(state.topic, argument_a, argument_b) + verdict_text = ( + f"Winner: {judge_result.get('winner', 'Unknown')}\nReason: " + f"{judge_result.get('reason', 'No explanation provided.')}" + ) + score_rows = [ + [ + entry.get("criterion", ""), + entry.get("debater_a", ""), + entry.get("debater_b", ""), + entry.get("notes", ""), + ] + for entry in judge_result.get("scores", []) + ] + judge_report_md = ( + f"**Judge Verdict:** {judge_result.get('winner', 'Unknown')}\n\n" + f"{judge_result.get('reason', '')}" + ) + yield ( + format_transcript(state.transcript), + judge_report_md, + score_rows, + verdict_text, + format_transcript(state.transcript), + ) + + reporter_summary = reporter.summarize( + state.topic, argument_a, argument_b, judge_result + ) + + final_markdown = ( + f"{judge_report_md}\n\n---\n\n" + f"**Reporter Summary**\n\n{reporter_summary}" + ) + yield ( + format_transcript(state.transcript), + final_markdown, + score_rows, + verdict_text, + format_transcript(state.transcript), + ) + + +# --------------------------------------------------------------------------- +# Gradio Interface +# --------------------------------------------------------------------------- + + +with gr.Blocks( + title="LLM Debate Arena", + fill_width=True, + theme=THEME, + css=CUSTOM_CSS, +) as demo: + gr.Markdown( + "# 🔁 LLM Debate Arena\n" + "Configure two debating agents, watch their arguments in real time, and " + "review the judge's verdict plus a reporter summary." + ) + + with gr.Row(): + topic_input = gr.Textbox( + label="Debate Topic", + placeholder="e.g., Should autonomous delivery robots be allowed in city centers?", + ) + with gr.Row(): + stance_a_input = gr.Textbox( + label="Debater A Stance", + value="Supports the statement", + ) + stance_b_input = gr.Textbox( + label="Debater B Stance", + value="Opposes the statement", + ) + + run_button = gr.Button("Start Debate", variant="primary") + + with gr.Tab("Live Debate"): + transcript_md = gr.Markdown( + "### Waiting for the debate to start...", + elem_id="live-debate-panel", + ) + + with gr.Tab("Judge's Report"): + judge_md = gr.Markdown("Judge verdict will appear here.") + score_table = gr.Dataframe( + headers=["Criterion", "Debater A", "Debater B", "Notes"], + datatype=["str", "number", "number", "str"], + interactive=False, + ) + verdict_box = gr.Textbox( + label="Verdict Detail", + interactive=False, + ) + transcript_box = gr.Textbox( + label="Full Transcript (for copying)", + interactive=False, + lines=10, + ) + + run_button.click( + fn=run_debate, + inputs=[topic_input, stance_a_input, stance_b_input], + outputs=[transcript_md, judge_md, score_table, verdict_box, transcript_box], + queue=True, + ) + +if __name__ == "__main__": + demo.queue(default_concurrency_limit=4).launch() From b390f9aba2c9e136f02e70777a9ab03ed3133767 Mon Sep 17 00:00:00 2001 From: Mogbeyi Date: Tue, 4 Nov 2025 03:43:57 +0100 Subject: [PATCH 7/8] Clean up code --- week8/community_contributions/emmy/llm_battle.py | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/week8/community_contributions/emmy/llm_battle.py b/week8/community_contributions/emmy/llm_battle.py index b4e0673..b419d72 100644 --- a/week8/community_contributions/emmy/llm_battle.py +++ b/week8/community_contributions/emmy/llm_battle.py @@ -1,18 +1,3 @@ -"""Interactive multi-model debate arena with live updates and judge reports. - -This script assembles four LLM-powered agents: - * Debater A - * Debater B - * Judge - * Reporter - -The agents can be configured to target different providers by setting -environment variables for their API keys and (optionally) custom base URLs. -The debate is presented via a Gradio UI with two tabs: - 1. Live Debate: streams the arguments as they are generated. - 2. Judge's Report: displays the verdict, rubric scores, and a summary. -""" - from __future__ import annotations import json From ca180abc9d2f910566b43cee5032dfbdfbc68b22 Mon Sep 17 00:00:00 2001 From: Hope Ogbons Date: Tue, 4 Nov 2025 04:19:38 +0100 Subject: [PATCH 8/8] Remove week 7 exercise notebook with 4k7 lines of code --- .../hopeogbons/week7 EXERCISE.ipynb | 4722 ----------------- 1 file changed, 4722 deletions(-) delete mode 100644 week7/community_contributions/hopeogbons/week7 EXERCISE.ipynb diff --git a/week7/community_contributions/hopeogbons/week7 EXERCISE.ipynb b/week7/community_contributions/hopeogbons/week7 EXERCISE.ipynb deleted file mode 100644 index 4e72ea9..0000000 --- a/week7/community_contributions/hopeogbons/week7 EXERCISE.ipynb +++ /dev/null @@ -1,4722 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "GHsssBgWM_l0" - }, - "source": [ - "# Fine-Tuned Product Price Predictor\n", - "\n", - "Evaluate fine-tuned Llama 3.1 8B model for product price estimation" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "MDyR63OTNUJ6", - "outputId": "4cfbb739-ab3c-4c73-b8de-7de729854b5f" - }, - "outputs": [], - "source": [ - "# Install required libraries for model inference\n", - "%pip install -q --upgrade torch==2.5.1+cu124 torchvision==0.20.1+cu124 torchaudio==2.5.1+cu124 --index-url https://download.pytorch.org/whl/cu124\n", - "%pip install -q --upgrade requests==2.32.3 bitsandbytes==0.46.0 transformers==4.48.3 accelerate==1.3.0 datasets==3.2.0 peft==0.14.0 trl==0.14.0 matplotlib wandb" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "-yikV8pRBer9" - }, - "outputs": [], - "source": [ - "# Import required libraries\n", - "import os\n", - "import re\n", - "import math\n", - "from tqdm import tqdm\n", - "from google.colab import userdata\n", - "from huggingface_hub import login\n", - "import torch\n", - "import torch.nn.functional as F\n", - "import transformers\n", - "from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig, set_seed\n", - "from datasets import load_dataset, Dataset, DatasetDict\n", - "from datetime import datetime\n", - "from peft import PeftModel\n", - "import matplotlib.pyplot as plt" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "uuTX-xonNeOK" - }, - "outputs": [], - "source": [ - "# Configuration\n", - "BASE_MODEL = \"meta-llama/Meta-Llama-3.1-8B\"\n", - "PROJECT_NAME = \"pricer\"\n", - "HF_USER = \"ed-donner\" # Change to your HF username\n", - "RUN_NAME = \"2024-09-13_13.04.39\"\n", - "PROJECT_RUN_NAME = f\"{PROJECT_NAME}-{RUN_NAME}\"\n", - "REVISION = \"e8d637df551603dc86cd7a1598a8f44af4d7ae36\"\n", - "FINETUNED_MODEL = f\"{HF_USER}/{PROJECT_RUN_NAME}\"\n", - "DATASET_NAME = f\"{HF_USER}/pricer-data\"\n", - "\n", - "# Quantization setting (False = 8-bit = better accuracy, more memory)\n", - "QUANT_4_BIT = False # Changed to 8-bit for better accuracy\n", - "\n", - "%matplotlib inline\n", - "\n", - "# Color codes for output\n", - "GREEN = \"\\033[92m\"\n", - "YELLOW = \"\\033[93m\"\n", - "RED = \"\\033[91m\"\n", - "RESET = \"\\033[0m\"\n", - "COLOR_MAP = {\"red\":RED, \"orange\": YELLOW, \"green\": GREEN}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "8JArT3QAQAjx" - }, - "source": [ - "# Step 1\n", - "\n", - "### Load dataset and fine-tuned model" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "WyFPZeMcM88v" - }, - "outputs": [], - "source": [ - "# Login to HuggingFace\n", - "hf_token = userdata.get('HF_TOKEN')\n", - "login(hf_token, add_to_git_credential=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 233, - "referenced_widgets": [ - "07510562863e4ccd9bfc6e0e8e8d0cc7", - "7ba3df960cd1441faa3929d35282436a", - "39d6e3eb51344d17b802d722fc8e907f", - "3296341b5cbb4afdb5c4c122c35641e7", - "60b39b5c7cd348a8862585d4a2758882", - "6bcb8d76ee1d40adb9ae1295a1335ce6", - "ba2da0338a374d14bc113f7e51424c95", - "b28a24a1354b4482a4d81a264653cc34", - "0147ec6e0aed432a9deb5a2919d26461", - "eaec063caaef41f3b0ad844ae83c39e6", - "acbe8ffde00741a380ab7c9c3024c13f", - "b0aa68af34254537a1ac985cc81360bb", - "8fc3c65719bd4cf087c2a65ce257b0fa", - "accd101b0d9f4ad2bb5e82cbdcd6a2b0", - "a28f5a81306944b89c807c396d1ead40", - "004988bb9a47475088b32ecd848e1bb9", - "a0a9721c28544a669472d132245360ae", - "919449534447415d89f5d2d4da04b626", - "2683537bff4e4909934679627cb912d4", - "a752bf3b92844163988bd35cf638c1ca", - "9b49efee6132497b9a7e9d789a2ce7f0", - "2221864985b24580be722d31597f84fb", - "7a42b1dc6faf4dc6aa0358adff83b954", - "b1ae08d48b764ab6b994dce41b28dc90", - "beffadbb38c7441289a0b4fe86e64f50", - "06070ef16fba4dd59ba5e4503ff0f2c2", - "51522bdb65c049ad8a5386ba4ab71d4f", - "ba63379a98584bbf842eea0f078a63ff", - "1afa66d2cd7b4872b457c4dbbbf1c8bb", - "361114e64bbb49c98080656f8495c9b4", - "5b88ff1c80f241d6be2dbdfb621b5785", - "287ff3894798460e8bffca31d64cc8af", - "8764302e5e96446fb6e832466a6b9556", - "51c0f52a3d634504be310a357c0f8012", - "f4394499258348d7992bbec909929945", - "2fe372b94a6d4c4d818fddae187d129d", - "e6be1b2f426e43e6a5935731b8d5a6d4", - "8b32e96633c1426285f3da81b0ad9a30", - "3e534a5302124dd2a6ad31ce90c86dc1", - "d20dc830ca1342ecb155a601cc4b347e", - "f0b6140c0f3c40ac8665183d6c9557b3", - "313da770c7a14ace9ed9c90d1395160f", - "3dfb2aeed50f406b93db2c3223f792bf", - "b95fc74b56ea41cb82ac7cead5dae409", - "db002f333a0240ffaeeed36b78f896bc", - "9141c4c50eb442e58d64564dfd63c282", - "167444cb15f4459f977326e15d8666c2", - "7a49b2fb1c644219b51e3393ca424317", - "2d234d40fdf245dba5ddbdd93cb03fef", - "2e191cb83f9749c38a761677a61bfe95", - "7928e8207e3d421cb5498e0c184c3893", - "623182cc0976492bad91b2ab8484b697", - "843da7afb2b24ecaa3c3acc58f3b12f7", - "860d45070ea145d6b81c8ee226b6c3be", - "32efcdc2927d4d2987e5e36298a86cdb" - ] - }, - "id": "cvXVoJH8LS6u", - "outputId": "1d09d6ba-f32f-41b4-9851-5a95e43e2bbb" - }, - "outputs": [], - "source": [ - "# Load product pricing dataset\n", - "dataset = load_dataset(DATASET_NAME)\n", - "train = dataset['train']\n", - "test = dataset['test']\n", - "\n", - "print(f\"✓ Loaded {len(train)} train and {len(test)} test samples\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "xb86e__Wc7j_", - "outputId": "c61ef4a5-703a-41b1-9437-10d286947492" - }, - "outputs": [], - "source": [ - "# Verify data structure\n", - "test[0]" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "qJWQ0a3wZ0Bw" - }, - "source": [ - "### Load Tokenizer and Model" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "lAUAAcEC6ido" - }, - "outputs": [], - "source": [ - "# Configure quantization for memory efficiency\n", - "if QUANT_4_BIT:\n", - " quant_config = BitsAndBytesConfig(\n", - " load_in_4bit=True,\n", - " bnb_4bit_use_double_quant=True,\n", - " bnb_4bit_compute_dtype=torch.bfloat16,\n", - " bnb_4bit_quant_type=\"nf4\"\n", - " )\n", - "else:\n", - " quant_config = BitsAndBytesConfig(\n", - " load_in_8bit=True,\n", - " bnb_8bit_compute_dtype=torch.bfloat16\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 269, - "referenced_widgets": [ - "6186404f971248879b170152fa2646d9", - "eab0e5b68fb14b14adb58a454037e354", - "28e53342fa3640658b49a19115b61342", - "0e0a1c5e782345b592b7528e384bf5a1", - "c1fa6529b9e94efab5d850d0c7e70f57", - "9e342643ee1b4466818006592feec188", - "66c8a769d8fc4685a2bd0ec843c0eb74", - "06186348ef4f4c11997d6502aa57776c", - "a4e14741a64d4b82a509daf4f70e17e4", - "b5c2450c91624cc18bd763bbd6002b49", - "b8198c2eafa141cdacc7955194787925", - "2a47b72104e14771a2192848add9faa7", - "75c4e81482574966a526fa76ba6eef53", - "0eae3d740a854ad38d56a406955171d1", - "931d5f114b5d49aea7e8cf71556f1d5c", - "81c8e3f132bc4b1fb4ee51efa3ae35c6", - "2c9cbea6313741d5b66cd29c262dab0d", - "31e9f633af8a473db51eb30605bddf41", - "278d31ba28ab46008513da762561d2db", - "5b4cec8c83124ae4a826622b885e1f0c", - "ead384472ffd46e1a62134753067546d", - "a0871b07a3254ae7a7796618d9c4773e", - "788a849789824b16a832f912f10c15cd", - "8171a97703044bf392b2e5d38ae1f5e6", - "73d9ee184c8d48df9cce2a69cd02e129", - "6a5e16d83cfe4d77bd8bb378b86732f9", - "7b3143e176c744df8135d48cdc6d7fa2", - "e4ebe05911e848ff96d2e1e71321264b", - "bea4d0a1b32b4beb99c24e5e85ff9f43", - "efc09d50d1734066aad77b3496ccbae7", - "629aefaebf3a4a998a662cb03571b09f", - "837efe0f9f964dcb9121028015abf0c5", - "cf82e39052fd4d9db83c5d0b66f39830", - "5fe709b088614ca6b9a9459b0fb19c4a", - "d7df60d9484840bc8f020d4d3f640c5b", - "d668a30f6fe5450d8603877a8c361315", - "01bb3481b4ac40818e4e9797129f52a0", - "df2a116de3ba4da1a1ce8f197b4bae3c", - "654a359bf9f34ebcbfe3f9ed57a161e5", - "54b26e79a2774352abc6dd833cc78825", - "9af673531da74295ac96360fd4a0e6bf", - "13ae9360a5a54208a160432fee141276", - "10a3dea6b2154b9891676bd4628d6648", - "12e2006edb7c4168811da98a3089b452", - "c743b87018be478784c0b8957c6c9324", - "ebf10ba30dc4414b9a31064caeab16fd", - "76002f5260914f3b9865388e59853d8c", - "46cb877532d44227b057340bafdcd119", - "a427d45295b84f8890c8e9a27a72a240", - "947dabaa331643c2b02bcb3be121ca27", - "dbc0a0c8fb6e434eba85fc88e9e34f16", - "973f476e820d4c52a69416078a5ec93e", - "10019572c2034d5ab886918d650b4577", - "6f342dfb24094db593ec0b28d2466944", - "40c40db0e9bb41d38102d3d32df613cc", - "76e4b082ce6744f694fa6518b26ac5e3", - "f0691e0181b946158b7a4385979e7e45", - "9df127a7e91e474386b4ea4fc4185a41", - "d01c2ad68999427dac089a3c33ee4a2e", - "550c526d48fb44828b14ec9ac484a707", - "d8fac6bad88544e39b9c80ba58e1bdad", - "cb831d4d7b044d1bb161357b346c9041", - "b813ef444b7b4c8f909f7bc037cc3d6c", - "e1dc5ca40e2e4b66834a56378071d762", - "f7e8d5edb96b45908ac8f44e356e331a", - "4ce5bb59f9eb448bbc3c500d937a715c", - "dd2eb889c4f94627bf081796a89377c2", - "45e7b4ca18a048d98b73820e4f36d004", - "5e1ccb5c69ea49b594da6b19909ad381", - "1d228273c34e439dad6d3e63aeccd8cf", - "b440d7fc628844e89fbf6c9fe864ef50", - "c5d06dcdda354dac87406720fae4f308", - "ec6b5d741aa1480cb197cf3902e906ed", - "34bc2ff5443e43e59e5b6d1a3e40280e", - "9f6b80990d224675ae501f941cb1b2c2", - "1272fc0298ff486fbe5215b7d93028c0", - "ded6c69382554ded9d1e4c894c1fea11" - ] - }, - "id": "R_O04fKxMMT-", - "outputId": "798168da-dc66-4a7a-ae0d-e8a4d5aeb533" - }, - "outputs": [], - "source": [ - "# Load tokenizer\n", - "tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL, trust_remote_code=True)\n", - "tokenizer.pad_token = tokenizer.eos_token\n", - "tokenizer.padding_side = \"right\"\n", - "\n", - "# Load base model with quantization\n", - "base_model = AutoModelForCausalLM.from_pretrained(\n", - " BASE_MODEL,\n", - " quantization_config=quant_config,\n", - " device_map=\"auto\",\n", - ")\n", - "base_model.generation_config.pad_token_id = tokenizer.pad_token_id\n", - "\n", - "# Load fine-tuned weights\n", - "if REVISION:\n", - " fine_tuned_model = PeftModel.from_pretrained(base_model, FINETUNED_MODEL, revision=REVISION)\n", - "else:\n", - " fine_tuned_model = PeftModel.from_pretrained(base_model, FINETUNED_MODEL)\n", - "\n", - "print(f\"✓ Model loaded - Memory: {fine_tuned_model.get_memory_footprint() / 1e6:.1f} MB\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "kD-GJtbrdd5t" - }, - "outputs": [], - "source": [ - "# Verify model loaded\n", - "fine_tuned_model" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "UObo1-RqaNnT" - }, - "source": [ - "# Step 2\n", - "\n", - "### Model inference and evaluation" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "Qst1LhBVAB04" - }, - "outputs": [], - "source": [ - "# Extract price from model response\n", - "def extract_price(s):\n", - " if \"Price is $\" in s:\n", - " contents = s.split(\"Price is $\")[1]\n", - " contents = contents.replace(',','')\n", - " match = re.search(r\"[-+]?\\d*\\.\\d+|\\d+\", contents)\n", - " return float(match.group()) if match else 0\n", - " return 0" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "jXFBW_5UeEcp" - }, - "outputs": [], - "source": [ - "# Test extract_price function\n", - "extract_price(\"Price is $a fabulous 899.99 or so\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "Oj_PzpdFAIMk" - }, - "outputs": [], - "source": [ - "# Simple prediction: takes most likely next token\n", - "def model_predict(prompt):\n", - " set_seed(42)\n", - " inputs = tokenizer.encode(prompt, return_tensors=\"pt\").to(\"cuda\")\n", - " attention_mask = torch.ones(inputs.shape, device=\"cuda\")\n", - " outputs = fine_tuned_model.generate(\n", - " inputs, \n", - " attention_mask=attention_mask, \n", - " max_new_tokens=5, # Increased for flexibility\n", - " temperature=0.1, # Low temperature for consistency\n", - " num_return_sequences=1\n", - " )\n", - " response = tokenizer.decode(outputs[0])\n", - " return extract_price(response)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "Je5dR8QEAI1d" - }, - "outputs": [], - "source": [ - "# Improved prediction: weighted average of top K predictions\n", - "top_K = 5 # Increased from 3 to 5 for better accuracy\n", - "\n", - "def improved_model_predict(prompt, device=\"cuda\"):\n", - " set_seed(42)\n", - " inputs = tokenizer.encode(prompt, return_tensors=\"pt\").to(device)\n", - " attention_mask = torch.ones(inputs.shape, device=device)\n", - "\n", - " with torch.no_grad():\n", - " outputs = fine_tuned_model(inputs, attention_mask=attention_mask)\n", - " next_token_logits = outputs.logits[:, -1, :].to('cpu')\n", - "\n", - " next_token_probs = F.softmax(next_token_logits, dim=-1)\n", - " top_prob, top_token_id = next_token_probs.topk(top_K)\n", - " prices, weights = [], []\n", - " for i in range(top_K):\n", - " predicted_token = tokenizer.decode(top_token_id[0][i])\n", - " probability = top_prob[0][i]\n", - " try:\n", - " result = float(predicted_token)\n", - " except ValueError as e:\n", - " result = 0.0\n", - " if result > 0:\n", - " prices.append(result)\n", - " weights.append(probability)\n", - " if not prices:\n", - " return 0.0, 0.0\n", - " total = sum(weights)\n", - " weighted_prices = [price * weight / total for price, weight in zip(prices, weights)]\n", - " return sum(weighted_prices).item()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Step 3\n", - "\n", - "### Test and evaluate model performance" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "30lzJXBH7BcK" - }, - "outputs": [], - "source": [ - "# Evaluation framework\n", - "class Tester:\n", - " def __init__(self, predictor, data, title=None, size=250):\n", - " self.predictor = predictor\n", - " self.data = data\n", - " self.title = title or predictor.__name__.replace(\"_\", \" \").title()\n", - " self.size = size\n", - " self.guesses = []\n", - " self.truths = []\n", - " self.errors = []\n", - " self.sles = []\n", - " self.colors = []\n", - "\n", - " def color_for(self, error, truth):\n", - " if error<40 or error/truth < 0.2:\n", - " return \"green\"\n", - " elif error<80 or error/truth < 0.4:\n", - " return \"orange\"\n", - " else:\n", - " return \"red\"\n", - "\n", - " def run_datapoint(self, i):\n", - " datapoint = self.data[i]\n", - " guess = self.predictor(datapoint[\"text\"])\n", - " truth = datapoint[\"price\"]\n", - " error = abs(guess - truth)\n", - " log_error = math.log(truth+1) - math.log(guess+1)\n", - " sle = log_error ** 2\n", - " color = self.color_for(error, truth)\n", - " title = datapoint[\"text\"].split(\"\\n\\n\")[1][:20] + \"...\"\n", - " self.guesses.append(guess)\n", - " self.truths.append(truth)\n", - " self.errors.append(error)\n", - " self.sles.append(sle)\n", - " self.colors.append(color)\n", - " print(f\"{COLOR_MAP[color]}{i+1}: Guess: ${guess:,.2f} Truth: ${truth:,.2f} Error: ${error:,.2f} SLE: {sle:,.2f} Item: {title}{RESET}\")\n", - "\n", - " def chart(self, title):\n", - " max_error = max(self.errors)\n", - " plt.figure(figsize=(12, 8))\n", - " max_val = max(max(self.truths), max(self.guesses))\n", - " plt.plot([0, max_val], [0, max_val], color='deepskyblue', lw=2, alpha=0.6)\n", - " plt.scatter(self.truths, self.guesses, s=3, c=self.colors)\n", - " plt.xlabel('Ground Truth')\n", - " plt.ylabel('Model Estimate')\n", - " plt.xlim(0, max_val)\n", - " plt.ylim(0, max_val)\n", - " plt.title(title)\n", - " plt.show()\n", - "\n", - " def report(self):\n", - " average_error = sum(self.errors) / self.size\n", - " rmsle = math.sqrt(sum(self.sles) / self.size)\n", - " hits = sum(1 for color in self.colors if color==\"green\")\n", - " title = f\"{self.title} Error=${average_error:,.2f} RMSLE={rmsle:,.2f} Hits={hits/self.size*100:.1f}%\"\n", - " self.chart(title)\n", - "\n", - " def run(self):\n", - " self.error = 0\n", - " for i in range(self.size):\n", - " self.run_datapoint(i)\n", - " self.report()\n", - "\n", - " @classmethod\n", - " def test(cls, function, data):\n", - " cls(function, data).run()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "W_KcLvyt6kbb" - }, - "outputs": [], - "source": [ - "# Run evaluation on 250 test examples\n", - "Tester.test(improved_model_predict, test)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Performance Optimizations Applied\n", - "\n", - "**Changes for better accuracy:**\n", - "- ✅ 8-bit quantization (vs 4-bit) - Better precision\n", - "- ✅ top_K = 5 (vs 3) - More predictions in weighted average\n", - "- ✅ max_new_tokens = 5 - More flexibility in response\n", - "- ✅ temperature = 0.1 - More consistent predictions\n", - "\n", - "**Expected improvement:** ~10-15% reduction in average error\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Expected Performance\n", - "\n", - "**Baseline comparisons:**\n", - "- GPT-4o: $76 avg error\n", - "- Llama 3.1 base: $396 avg error \n", - "- Human: $127 avg error\n", - "\n", - "**Fine-tuned model (optimized):**\n", - "- Target: $70-85 avg error\n", - "- With 8-bit quant + top_K=5 + temp=0.1\n", - "- Expected to rival or beat GPT-4o\n" - ] - } - ], - "metadata": { - "accelerator": "GPU", - "colab": { - "gpuType": "T4", - "provenance": [] - }, - "kernelspec": { - "display_name": "Python 3", - "name": "python3" - }, - "language_info": { - "name": "python" - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "004988bb9a47475088b32ecd848e1bb9": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "0147ec6e0aed432a9deb5a2919d26461": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "01bb3481b4ac40818e4e9797129f52a0": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_10a3dea6b2154b9891676bd4628d6648", - "placeholder": "​", - "style": "IPY_MODEL_12e2006edb7c4168811da98a3089b452", - "value": " 826/826 [00:00<00:00, 30.5kB/s]" - } - }, - "06070ef16fba4dd59ba5e4503ff0f2c2": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_287ff3894798460e8bffca31d64cc8af", - "placeholder": "​", - "style": "IPY_MODEL_8764302e5e96446fb6e832466a6b9556", - "value": " 914k/914k [00:00<00:00, 457kB/s]" - } - }, - "06186348ef4f4c11997d6502aa57776c": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "07510562863e4ccd9bfc6e0e8e8d0cc7": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_7ba3df960cd1441faa3929d35282436a", - "IPY_MODEL_39d6e3eb51344d17b802d722fc8e907f", - "IPY_MODEL_3296341b5cbb4afdb5c4c122c35641e7" - ], - "layout": "IPY_MODEL_60b39b5c7cd348a8862585d4a2758882" - } - }, - "0e0a1c5e782345b592b7528e384bf5a1": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_b5c2450c91624cc18bd763bbd6002b49", - "placeholder": "​", - "style": "IPY_MODEL_b8198c2eafa141cdacc7955194787925", - "value": " 50.5k/50.5k [00:00<00:00, 1.99MB/s]" - } - }, - "0eae3d740a854ad38d56a406955171d1": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_278d31ba28ab46008513da762561d2db", - "max": 9085658, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_5b4cec8c83124ae4a826622b885e1f0c", - "value": 9085658 - } - }, - "10019572c2034d5ab886918d650b4577": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "10a3dea6b2154b9891676bd4628d6648": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "1272fc0298ff486fbe5215b7d93028c0": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "12e2006edb7c4168811da98a3089b452": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "13ae9360a5a54208a160432fee141276": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "167444cb15f4459f977326e15d8666c2": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_623182cc0976492bad91b2ab8484b697", - "max": 2000, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_843da7afb2b24ecaa3c3acc58f3b12f7", - "value": 2000 - } - }, - "1afa66d2cd7b4872b457c4dbbbf1c8bb": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "1d228273c34e439dad6d3e63aeccd8cf": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_1272fc0298ff486fbe5215b7d93028c0", - "placeholder": "​", - "style": "IPY_MODEL_ded6c69382554ded9d1e4c894c1fea11", - "value": " 95.0M/4.98G [00:02<01:21, 60.1MB/s]" - } - }, - "2221864985b24580be722d31597f84fb": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "2683537bff4e4909934679627cb912d4": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "278d31ba28ab46008513da762561d2db": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "287ff3894798460e8bffca31d64cc8af": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "28e53342fa3640658b49a19115b61342": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_06186348ef4f4c11997d6502aa57776c", - "max": 50500, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_a4e14741a64d4b82a509daf4f70e17e4", - "value": 50500 - } - }, - "2a47b72104e14771a2192848add9faa7": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_75c4e81482574966a526fa76ba6eef53", - "IPY_MODEL_0eae3d740a854ad38d56a406955171d1", - "IPY_MODEL_931d5f114b5d49aea7e8cf71556f1d5c" - ], - "layout": "IPY_MODEL_81c8e3f132bc4b1fb4ee51efa3ae35c6" - } - }, - "2c9cbea6313741d5b66cd29c262dab0d": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "2d234d40fdf245dba5ddbdd93cb03fef": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "2e191cb83f9749c38a761677a61bfe95": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "2fe372b94a6d4c4d818fddae187d129d": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_f0b6140c0f3c40ac8665183d6c9557b3", - "max": 400000, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_313da770c7a14ace9ed9c90d1395160f", - "value": 400000 - } - }, - "313da770c7a14ace9ed9c90d1395160f": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "31e9f633af8a473db51eb30605bddf41": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "3296341b5cbb4afdb5c4c122c35641e7": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_eaec063caaef41f3b0ad844ae83c39e6", - "placeholder": "​", - "style": "IPY_MODEL_acbe8ffde00741a380ab7c9c3024c13f", - "value": " 416/416 [00:00<00:00, 42.8kB/s]" - } - }, - "32efcdc2927d4d2987e5e36298a86cdb": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "34bc2ff5443e43e59e5b6d1a3e40280e": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "361114e64bbb49c98080656f8495c9b4": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "39d6e3eb51344d17b802d722fc8e907f": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_b28a24a1354b4482a4d81a264653cc34", - "max": 416, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_0147ec6e0aed432a9deb5a2919d26461", - "value": 416 - } - }, - "3dfb2aeed50f406b93db2c3223f792bf": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "3e534a5302124dd2a6ad31ce90c86dc1": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "40c40db0e9bb41d38102d3d32df613cc": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "45e7b4ca18a048d98b73820e4f36d004": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_c5d06dcdda354dac87406720fae4f308", - "placeholder": "​", - "style": "IPY_MODEL_ec6b5d741aa1480cb197cf3902e906ed", - "value": "model-00001-of-00004.safetensors:   2%" - } - }, - "46cb877532d44227b057340bafdcd119": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_6f342dfb24094db593ec0b28d2466944", - "placeholder": "​", - "style": "IPY_MODEL_40c40db0e9bb41d38102d3d32df613cc", - "value": " 23.9k/23.9k [00:00<00:00, 495kB/s]" - } - }, - "4ce5bb59f9eb448bbc3c500d937a715c": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "51522bdb65c049ad8a5386ba4ab71d4f": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "51c0f52a3d634504be310a357c0f8012": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_f4394499258348d7992bbec909929945", - "IPY_MODEL_2fe372b94a6d4c4d818fddae187d129d", - "IPY_MODEL_e6be1b2f426e43e6a5935731b8d5a6d4" - ], - "layout": "IPY_MODEL_8b32e96633c1426285f3da81b0ad9a30" - } - }, - "54b26e79a2774352abc6dd833cc78825": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "550c526d48fb44828b14ec9ac484a707": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "5b4cec8c83124ae4a826622b885e1f0c": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "5b88ff1c80f241d6be2dbdfb621b5785": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "5e1ccb5c69ea49b594da6b19909ad381": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_34bc2ff5443e43e59e5b6d1a3e40280e", - "max": 4976698672, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_9f6b80990d224675ae501f941cb1b2c2", - "value": 94965601 - } - }, - "5fe709b088614ca6b9a9459b0fb19c4a": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_d7df60d9484840bc8f020d4d3f640c5b", - "IPY_MODEL_d668a30f6fe5450d8603877a8c361315", - "IPY_MODEL_01bb3481b4ac40818e4e9797129f52a0" - ], - "layout": "IPY_MODEL_df2a116de3ba4da1a1ce8f197b4bae3c" - } - }, - "60b39b5c7cd348a8862585d4a2758882": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "6186404f971248879b170152fa2646d9": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_eab0e5b68fb14b14adb58a454037e354", - "IPY_MODEL_28e53342fa3640658b49a19115b61342", - "IPY_MODEL_0e0a1c5e782345b592b7528e384bf5a1" - ], - "layout": "IPY_MODEL_c1fa6529b9e94efab5d850d0c7e70f57" - } - }, - "623182cc0976492bad91b2ab8484b697": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "629aefaebf3a4a998a662cb03571b09f": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "654a359bf9f34ebcbfe3f9ed57a161e5": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "66c8a769d8fc4685a2bd0ec843c0eb74": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "6a5e16d83cfe4d77bd8bb378b86732f9": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_837efe0f9f964dcb9121028015abf0c5", - "placeholder": "​", - "style": "IPY_MODEL_cf82e39052fd4d9db83c5d0b66f39830", - "value": " 73.0/73.0 [00:00<00:00, 3.88kB/s]" - } - }, - "6bcb8d76ee1d40adb9ae1295a1335ce6": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "6f342dfb24094db593ec0b28d2466944": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "73d9ee184c8d48df9cce2a69cd02e129": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_efc09d50d1734066aad77b3496ccbae7", - "max": 73, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_629aefaebf3a4a998a662cb03571b09f", - "value": 73 - } - }, - "75c4e81482574966a526fa76ba6eef53": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_2c9cbea6313741d5b66cd29c262dab0d", - "placeholder": "​", - "style": "IPY_MODEL_31e9f633af8a473db51eb30605bddf41", - "value": "tokenizer.json: 100%" - } - }, - "76002f5260914f3b9865388e59853d8c": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_973f476e820d4c52a69416078a5ec93e", - "max": 23950, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_10019572c2034d5ab886918d650b4577", - "value": 23950 - } - }, - "76e4b082ce6744f694fa6518b26ac5e3": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_f0691e0181b946158b7a4385979e7e45", - "IPY_MODEL_9df127a7e91e474386b4ea4fc4185a41", - "IPY_MODEL_d01c2ad68999427dac089a3c33ee4a2e" - ], - "layout": "IPY_MODEL_550c526d48fb44828b14ec9ac484a707" - } - }, - "788a849789824b16a832f912f10c15cd": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_8171a97703044bf392b2e5d38ae1f5e6", - "IPY_MODEL_73d9ee184c8d48df9cce2a69cd02e129", - "IPY_MODEL_6a5e16d83cfe4d77bd8bb378b86732f9" - ], - "layout": "IPY_MODEL_7b3143e176c744df8135d48cdc6d7fa2" - } - }, - "7928e8207e3d421cb5498e0c184c3893": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "7a42b1dc6faf4dc6aa0358adff83b954": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_b1ae08d48b764ab6b994dce41b28dc90", - "IPY_MODEL_beffadbb38c7441289a0b4fe86e64f50", - "IPY_MODEL_06070ef16fba4dd59ba5e4503ff0f2c2" - ], - "layout": "IPY_MODEL_51522bdb65c049ad8a5386ba4ab71d4f" - } - }, - "7a49b2fb1c644219b51e3393ca424317": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_860d45070ea145d6b81c8ee226b6c3be", - "placeholder": "​", - "style": "IPY_MODEL_32efcdc2927d4d2987e5e36298a86cdb", - "value": " 2000/2000 [00:00<00:00, 34550.74 examples/s]" - } - }, - "7b3143e176c744df8135d48cdc6d7fa2": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "7ba3df960cd1441faa3929d35282436a": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_6bcb8d76ee1d40adb9ae1295a1335ce6", - "placeholder": "​", - "style": "IPY_MODEL_ba2da0338a374d14bc113f7e51424c95", - "value": "README.md: 100%" - } - }, - "8171a97703044bf392b2e5d38ae1f5e6": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_e4ebe05911e848ff96d2e1e71321264b", - "placeholder": "​", - "style": "IPY_MODEL_bea4d0a1b32b4beb99c24e5e85ff9f43", - "value": "special_tokens_map.json: 100%" - } - }, - "81c8e3f132bc4b1fb4ee51efa3ae35c6": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "837efe0f9f964dcb9121028015abf0c5": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "843da7afb2b24ecaa3c3acc58f3b12f7": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "860d45070ea145d6b81c8ee226b6c3be": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "8764302e5e96446fb6e832466a6b9556": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "8b32e96633c1426285f3da81b0ad9a30": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "8fc3c65719bd4cf087c2a65ce257b0fa": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_a0a9721c28544a669472d132245360ae", - "placeholder": "​", - "style": "IPY_MODEL_919449534447415d89f5d2d4da04b626", - "value": "data/train-00000-of-00001.parquet: 100%" - } - }, - "9141c4c50eb442e58d64564dfd63c282": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_2e191cb83f9749c38a761677a61bfe95", - "placeholder": "​", - "style": "IPY_MODEL_7928e8207e3d421cb5498e0c184c3893", - "value": "Generating test split: 100%" - } - }, - "919449534447415d89f5d2d4da04b626": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "931d5f114b5d49aea7e8cf71556f1d5c": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_ead384472ffd46e1a62134753067546d", - "placeholder": "​", - "style": "IPY_MODEL_a0871b07a3254ae7a7796618d9c4773e", - "value": " 9.09M/9.09M [00:00<00:00, 18.3MB/s]" - } - }, - "947dabaa331643c2b02bcb3be121ca27": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "973f476e820d4c52a69416078a5ec93e": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "9af673531da74295ac96360fd4a0e6bf": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "9b49efee6132497b9a7e9d789a2ce7f0": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "9df127a7e91e474386b4ea4fc4185a41": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_b813ef444b7b4c8f909f7bc037cc3d6c", - "max": 4, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_e1dc5ca40e2e4b66834a56378071d762", - "value": 0 - } - }, - "9e342643ee1b4466818006592feec188": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "9f6b80990d224675ae501f941cb1b2c2": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "a0871b07a3254ae7a7796618d9c4773e": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "a0a9721c28544a669472d132245360ae": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "a28f5a81306944b89c807c396d1ead40": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_9b49efee6132497b9a7e9d789a2ce7f0", - "placeholder": "​", - "style": "IPY_MODEL_2221864985b24580be722d31597f84fb", - "value": " 185M/185M [00:02<00:00, 110MB/s]" - } - }, - "a427d45295b84f8890c8e9a27a72a240": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "a4e14741a64d4b82a509daf4f70e17e4": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "a752bf3b92844163988bd35cf638c1ca": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "acbe8ffde00741a380ab7c9c3024c13f": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "accd101b0d9f4ad2bb5e82cbdcd6a2b0": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_2683537bff4e4909934679627cb912d4", - "max": 185001051, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_a752bf3b92844163988bd35cf638c1ca", - "value": 185001051 - } - }, - "b0aa68af34254537a1ac985cc81360bb": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_8fc3c65719bd4cf087c2a65ce257b0fa", - "IPY_MODEL_accd101b0d9f4ad2bb5e82cbdcd6a2b0", - "IPY_MODEL_a28f5a81306944b89c807c396d1ead40" - ], - "layout": "IPY_MODEL_004988bb9a47475088b32ecd848e1bb9" - } - }, - "b1ae08d48b764ab6b994dce41b28dc90": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_ba63379a98584bbf842eea0f078a63ff", - "placeholder": "​", - "style": "IPY_MODEL_1afa66d2cd7b4872b457c4dbbbf1c8bb", - "value": "data/test-00000-of-00001.parquet: 100%" - } - }, - "b28a24a1354b4482a4d81a264653cc34": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "b440d7fc628844e89fbf6c9fe864ef50": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "b5c2450c91624cc18bd763bbd6002b49": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "b813ef444b7b4c8f909f7bc037cc3d6c": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "b8198c2eafa141cdacc7955194787925": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "b95fc74b56ea41cb82ac7cead5dae409": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "ba2da0338a374d14bc113f7e51424c95": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "ba63379a98584bbf842eea0f078a63ff": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "bea4d0a1b32b4beb99c24e5e85ff9f43": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "beffadbb38c7441289a0b4fe86e64f50": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_361114e64bbb49c98080656f8495c9b4", - "max": 914222, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_5b88ff1c80f241d6be2dbdfb621b5785", - "value": 914222 - } - }, - "c1fa6529b9e94efab5d850d0c7e70f57": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c5d06dcdda354dac87406720fae4f308": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c743b87018be478784c0b8957c6c9324": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_ebf10ba30dc4414b9a31064caeab16fd", - "IPY_MODEL_76002f5260914f3b9865388e59853d8c", - "IPY_MODEL_46cb877532d44227b057340bafdcd119" - ], - "layout": "IPY_MODEL_a427d45295b84f8890c8e9a27a72a240" - } - }, - "cb831d4d7b044d1bb161357b346c9041": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "cf82e39052fd4d9db83c5d0b66f39830": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "d01c2ad68999427dac089a3c33ee4a2e": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_f7e8d5edb96b45908ac8f44e356e331a", - "placeholder": "​", - "style": "IPY_MODEL_4ce5bb59f9eb448bbc3c500d937a715c", - "value": " 0/4 [00:00<?, ?it/s]" - } - }, - "d20dc830ca1342ecb155a601cc4b347e": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "d668a30f6fe5450d8603877a8c361315": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_9af673531da74295ac96360fd4a0e6bf", - "max": 826, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_13ae9360a5a54208a160432fee141276", - "value": 826 - } - }, - "d7df60d9484840bc8f020d4d3f640c5b": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_654a359bf9f34ebcbfe3f9ed57a161e5", - "placeholder": "​", - "style": "IPY_MODEL_54b26e79a2774352abc6dd833cc78825", - "value": "config.json: 100%" - } - }, - "d8fac6bad88544e39b9c80ba58e1bdad": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "db002f333a0240ffaeeed36b78f896bc": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_9141c4c50eb442e58d64564dfd63c282", - "IPY_MODEL_167444cb15f4459f977326e15d8666c2", - "IPY_MODEL_7a49b2fb1c644219b51e3393ca424317" - ], - "layout": "IPY_MODEL_2d234d40fdf245dba5ddbdd93cb03fef" - } - }, - "dbc0a0c8fb6e434eba85fc88e9e34f16": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "dd2eb889c4f94627bf081796a89377c2": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_45e7b4ca18a048d98b73820e4f36d004", - "IPY_MODEL_5e1ccb5c69ea49b594da6b19909ad381", - "IPY_MODEL_1d228273c34e439dad6d3e63aeccd8cf" - ], - "layout": "IPY_MODEL_b440d7fc628844e89fbf6c9fe864ef50" - } - }, - "ded6c69382554ded9d1e4c894c1fea11": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "df2a116de3ba4da1a1ce8f197b4bae3c": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "e1dc5ca40e2e4b66834a56378071d762": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "e4ebe05911e848ff96d2e1e71321264b": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "e6be1b2f426e43e6a5935731b8d5a6d4": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_3dfb2aeed50f406b93db2c3223f792bf", - "placeholder": "​", - "style": "IPY_MODEL_b95fc74b56ea41cb82ac7cead5dae409", - "value": " 400000/400000 [00:03<00:00, 105019.95 examples/s]" - } - }, - "eab0e5b68fb14b14adb58a454037e354": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_9e342643ee1b4466818006592feec188", - "placeholder": "​", - "style": "IPY_MODEL_66c8a769d8fc4685a2bd0ec843c0eb74", - "value": "tokenizer_config.json: 100%" - } - }, - "ead384472ffd46e1a62134753067546d": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "eaec063caaef41f3b0ad844ae83c39e6": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "ebf10ba30dc4414b9a31064caeab16fd": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_947dabaa331643c2b02bcb3be121ca27", - "placeholder": "​", - "style": "IPY_MODEL_dbc0a0c8fb6e434eba85fc88e9e34f16", - "value": "model.safetensors.index.json: 100%" - } - }, - "ec6b5d741aa1480cb197cf3902e906ed": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "efc09d50d1734066aad77b3496ccbae7": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "f0691e0181b946158b7a4385979e7e45": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_d8fac6bad88544e39b9c80ba58e1bdad", - "placeholder": "​", - "style": "IPY_MODEL_cb831d4d7b044d1bb161357b346c9041", - "value": "Downloading shards:   0%" - } - }, - "f0b6140c0f3c40ac8665183d6c9557b3": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "f4394499258348d7992bbec909929945": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_3e534a5302124dd2a6ad31ce90c86dc1", - "placeholder": "​", - "style": "IPY_MODEL_d20dc830ca1342ecb155a601cc4b347e", - "value": "Generating train split: 100%" - } - }, - "f7e8d5edb96b45908ac8f44e356e331a": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - } - } - } - }, - "nbformat": 4, - "nbformat_minor": 0 -}