{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "vxAtbCt2Si2L" }, "source": [ "🧠 **NeuroFeel** – (Where AI Meets Emotion)\n", "NeuroFeel is a tiny emotion detection model built on NeuroBERT.\n", "It’s lightweight (~25MB), works offline, and is perfect for edge and mobile devices.\n", "\n", "\n", "**🔍 Trained on:**\n", "📊 Boltuix Emotions Dataset – crafted for real, short-text emotional expressions.\n", "\n", "\n", "🔗 Dataset: [Emotions Dataset](https://huggingface.co/datasets/boltuix/emotions-dataset)\n", "\n", "\n", "💡 Use NeuroFeel in:\n", "📱 Mobile apps\n", "🏠 Smart homes\n", "⌚ Wearables\n", "💬 Chatbots\n", "🧘 Mental health tools\n", "\n", "\n", "❤️ Understands 13 emotions like:\n", "Happy, Sad, Angry, Loved, Scared, Excited, and more.\n", "\n", "**⚡ Why NeuroFeel?**\n", "Ultra-fast and low memory\n", "\n", "**Edge-ready**\n", "Great for emotional intelligence in devices\n", "\n", "**🔗 Model:** [NeuroFeel Model](https://huggingface.co/boltuix/NeuroFeel)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 672, "referenced_widgets": [ "83ee878c039f47edb96fde00e6983a4b", "6431434040ca4b0d8738746930297070", "87d22a71e458437faf0ce8bb8defedeb", "5a95456db43d4267a8c7ae1d3adb9110", "bcf8516da0904b0abc5ef3f0278e00b5", "587a98275dd34c08a618fb9111d73fe4", "24fe1819e2d4414f8bfd8d30633c6fe2", "f5110aa7303d4828877d7582ef636c7d", "7cec1b1c66dc48bc93ffc6825e289330", "21e071df139249d682835f68117b4eda", "0bc9dd340c624a5fac7683ed00498c2c", "e76d997ea69c48d7b11f55a4d0b9d9a3", "02b7ea08c62a464aa0ec1126cc7aecb2", "0574728db5104852abfb4b7078929cad", "6c9b4fff204e4b19adf82309fa1a4556", "0571849b1c1347a6ad44581aa6d3014c", "4214e904c01d4c0ca1a3856a2c913786", "6f3597c9cdeb45d995dbcb9b494b9032", "5c3c994f7c3a4b41a1613c8deb74ae4a", "14d9f5d18d37430b8f4b1f5002976c14", "7e329e78d0d648c8b793a80b732a6b8e", "94ee1ab7847d4a3784f026bdb6c1645f", "2fdb97fea1274feab421442b35e98a5c", "295eb20afb8a4b88a35ebda114369fe2", "5fbaff21141b41e78964fa0dc8730292", "15194a408fb5415fa1f28d465700521e", "322deeed887c4499b96026564e6d1d22", "94c23de385894e1faa02664d8970b5bc", "5db9ecd4769e49f6bfef8bc5013611ed", "b1e321c905a648d2bc90bd7c5eb50367", "b0f55fb60973416dba9eef54b929793a", "95fe2503295144bb8468123ec3b40d1c", "a9c2da3c42f9486e9caabc123c4350f4", "7ff76b22476143dda0a60ee3c45a2573", "6ed9a1236be7488489bda90570bcf491", "644c507725544b9784503eac031ae937", "b477c3f151714d918af683b0743f5068", "26ccd138f2594379a54bcf28ea426f08", "ad36b1ffe2bb4e3ca6838b4b612949fe", "c2fda8ced9544c30a74861243e13cec8", "1b1bf9ce6edc44d6946e0e3a3004cae6", "2bae8ec848554c1bac9f95e73200ebc2", "c4d7d20019e14d8c8fc8a7ab9cc2d9f1", "b00a8aa97c1d40b28567cb25233182e4", "92fb1012832d4648b8afe6ce9e679fc4", "05b597fa33d94d8489f0a906b6601ac6", "51408a68fa75477eb73b28bd08478a27", "87df8146909842a7abc9ecfa73e1b308", "51cb98c739e94588a74df263daf62c4f", "d218377a68a64eb5a4f5457020a62725", "13310f97091f466bbe9c14cca6797a27", "5d5a5d3b0bfb4984b52a2282d4be3405", "bb071aeb68d54afe9de4f96770c16b8d", "6412c72c5f874277bd04ef23222713d5", "a93f582392ee462793e968d26b32f33e", "128a5ed0c23146febe335db237e2710f", "78fe8ef2b501428f95ec0c792b164403", "4c1ef193029f403da623358d6eea2e19", "28062357e02f48a6936389feded24575", "fc6c756a30cc4963aa20f9b448acab10", "de782ab08ffd4c4f9cddc9ea5d278762", "eb02f42f31544cd692933fce1280374d", "3ef0ad6cffc04384a7734c17ca71066e", "38eace2350d24617a7054a3f23fd083b", "3cbf6205e1dc412e9c8245bf086e3e7c", "8285dd8bd8c94898bce1cbe3ffb64736" ] }, "id": "wHooIdoXPICj", "outputId": "5648d7d8-4260-47fa-9ff1-e01ca836a7db" }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.11/dist-packages/huggingface_hub/utils/_auth.py:94: UserWarning: \n", "The secret `HF_TOKEN` does not exist in your Colab secrets.\n", "To authenticate with the Hugging Face Hub, create a token in your settings tab (https://huggingface.co/settings/tokens), set it as secret in your Google Colab and restart your session.\n", "You will be able to reuse this secret in all of your notebooks.\n", "Please note that authentication is recommended but still optional to access public models or datasets.\n", " warnings.warn(\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "83ee878c039f47edb96fde00e6983a4b", "version_major": 2, "version_minor": 0 }, "text/plain": [ "tokenizer_config.json: 0%| | 0.00/1.36k [00:00\n", " \n", " \n", " [32830/32830 30:41, Epoch 5/5]\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
EpochTraining LossValidation Loss
10.8597000.986835
20.9175000.912361
30.8556000.881038
40.7531000.896444
50.6632000.905136

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 32830/32830 [30:43<00:00, 17.81step/s, epoch=5.00, step=32830]\n" ] }, { "data": { "text/html": [ "\n", "

\n", " \n", " \n", " [1642/1642 00:29]\n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "✅ Training complete. Model and tokenizer saved to ./neuro-feel\n", "✅ Model directory zipped to neuro-feel.zip\n" ] } ], "source": [ "import pandas as pd\n", "from transformers import BertTokenizer, BertForSequenceClassification, Trainer, TrainingArguments, TrainerCallback\n", "from sklearn.model_selection import train_test_split\n", "import torch\n", "from torch.utils.data import Dataset\n", "import shutil\n", "from tqdm import tqdm # Added for progress bar\n", "\n", "# === 0. Define common model name ===\n", "MODEL_NAME = \"boltuix/NeuroBERT\"\n", "OUTPUT_DIR = \"./neuro-feel\"\n", "\n", "# === Custom Callback for Progress Bar ===\n", "class TQDMProgressBarCallback(TrainerCallback):\n", " def __init__(self):\n", " super().__init__()\n", " self.progress_bar = None\n", "\n", " def on_train_begin(self, args, state, control, **kwargs):\n", " self.total_steps = state.max_steps\n", " self.progress_bar = tqdm(total=self.total_steps, desc=\"Training\", unit=\"step\")\n", "\n", " def on_step_end(self, args, state, control, **kwargs):\n", " self.progress_bar.update(1)\n", " self.progress_bar.set_postfix({\n", " \"epoch\": f\"{state.epoch:.2f}\",\n", " \"step\": state.global_step\n", " })\n", "\n", " def on_train_end(self, args, state, control, **kwargs):\n", " if self.progress_bar is not None:\n", " self.progress_bar.close()\n", " self.progress_bar = None\n", "\n", "# === 1. Load and preprocess data ===\n", "dataset_path = '/content/dataset.csv'\n", "df = pd.read_csv(dataset_path)\n", "df = df.dropna(subset=['Label'])\n", "df.columns = ['text', 'label']\n", "\n", "# === 2. Encode labels ===\n", "labels = sorted(df[\"label\"].unique())\n", "label_to_id = {label: idx for idx, label in enumerate(labels)}\n", "id_to_label = {idx: label for label, idx in label_to_id.items()}\n", "df['label'] = df['label'].map(label_to_id)\n", "\n", "# === 3. Train/val split ===\n", "train_texts, val_texts, train_labels, val_labels = train_test_split(\n", " df['text'].tolist(), df['label'].tolist(), test_size=0.2, random_state=42\n", ")\n", "\n", "# === 4. Tokenizer ===\n", "tokenizer = BertTokenizer.from_pretrained(MODEL_NAME)\n", "\n", "# === 5. Dataset class ===\n", "class SentimentDataset(Dataset):\n", " def __init__(self, texts, labels, tokenizer, max_length=128):\n", " self.texts = texts\n", " self.labels = labels\n", " self.tokenizer = tokenizer\n", " self.max_length = max_length\n", "\n", " def __len__(self):\n", " return len(self.texts)\n", "\n", " def __getitem__(self, idx):\n", " encoding = self.tokenizer(\n", " self.texts[idx],\n", " padding='max_length',\n", " truncation=True,\n", " max_length=self.max_length,\n", " return_tensors='pt'\n", " )\n", " return {\n", " 'input_ids': encoding['input_ids'].squeeze(0),\n", " 'attention_mask': encoding['attention_mask'].squeeze(0),\n", " 'labels': torch.tensor(self.labels[idx], dtype=torch.long)\n", " }\n", "\n", "# === 6. Load datasets ===\n", "train_dataset = SentimentDataset(train_texts, train_labels, tokenizer)\n", "val_dataset = SentimentDataset(val_texts, val_labels, tokenizer)\n", "\n", "# === 7. Load model ===\n", "model = BertForSequenceClassification.from_pretrained(\n", " MODEL_NAME,\n", " num_labels=len(label_to_id)\n", ")\n", "\n", "for param in model.parameters():\n", " param.data = param.data.contiguous()\n", "\n", "# === 8. Training arguments ===\n", "training_args = TrainingArguments(\n", " output_dir='./results',\n", " run_name=\"NeuroFeel\",\n", " num_train_epochs=5,\n", " per_device_train_batch_size=16,\n", " per_device_eval_batch_size=16,\n", " warmup_steps=500,\n", " weight_decay=0.01,\n", " logging_dir='./logs',\n", " logging_steps=10,\n", " eval_strategy=\"epoch\",\n", " report_to=\"none\"\n", ")\n", "\n", "# === 9. Trainer setup ===\n", "trainer = Trainer(\n", " model=model,\n", " args=training_args,\n", " train_dataset=train_dataset,\n", " eval_dataset=val_dataset,\n", " callbacks=[TQDMProgressBarCallback()] # Added progress bar callback\n", ")\n", "\n", "# === 10. Train and evaluate ===\n", "trainer.train()\n", "trainer.evaluate()\n", "\n", "# === 11. Save model and label mappings ===\n", "model.config.label2id = label_to_id\n", "model.config.id2label = id_to_label\n", "model.config.num_labels = len(label_to_id)\n", "\n", "model.save_pretrained(OUTPUT_DIR)\n", "tokenizer.save_pretrained(OUTPUT_DIR)\n", "\n", "# === 12. Zip the trained model directory ===\n", "shutil.make_archive(\"neuro-feel\", 'zip', OUTPUT_DIR)\n", "\n", "print(\"✅ Training complete. Model and tokenizer saved to ./neuro-feel\")\n", "print(\"✅ Model directory zipped to neuro-feel.zip\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "-wQctWLFnNQ4", "outputId": "55d4b628-cb55-400c-8c1d-e21bd5137995" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Prediction Results:\n", "----------------------------------------\n", "1. Sentence: I miss her so much it hurts.\n", " Predicted Label: sadness\n", " True Label: sadness\n", " Correct: Yes\n", "\n", "2. Sentence: Tears won’t stop falling.\n", " Predicted Label: sadness\n", " True Label: sadness\n", " Correct: Yes\n", "\n", "3. Sentence: Everything feels so empty.\n", " Predicted Label: sadness\n", " True Label: sadness\n", " Correct: Yes\n", "\n", "4. Sentence: I feel broken inside.\n", " Predicted Label: sadness\n", " True Label: sadness\n", " Correct: Yes\n", "\n", "5. Sentence: Waking up is the hardest part.\n", " Predicted Label: sadness\n", " True Label: sadness\n", " Correct: Yes\n", "\n", "6. Sentence: It’s been so hard to cope.\n", " Predicted Label: sadness\n", " True Label: sadness\n", " Correct: Yes\n", "\n", "7. Sentence: My chest feels heavy all the time.\n", " Predicted Label: sadness\n", " True Label: sadness\n", " Correct: Yes\n", "\n", "8. Sentence: Losing him shattered me.\n", " Predicted Label: sadness\n", " True Label: sadness\n", " Correct: Yes\n", "\n", "9. Sentence: Why do you always ignore me?!\n", " Predicted Label: anger\n", " True Label: anger\n", " Correct: Yes\n", "\n", "10. Sentence: This is absolutely ridiculous!\n", " Predicted Label: anger\n", " True Label: anger\n", " Correct: Yes\n", "\n", "11. Sentence: You never listen to me!\n", " Predicted Label: anger\n", " True Label: anger\n", " Correct: Yes\n", "\n", "12. Sentence: That’s the last straw!\n", " Predicted Label: anger\n", " True Label: anger\n", " Correct: Yes\n", "\n", "13. Sentence: I’m furious with how they treated me.\n", " Predicted Label: anger\n", " True Label: anger\n", " Correct: Yes\n", "\n", "14. Sentence: I’m done putting up with this nonsense!\n", " Predicted Label: anger\n", " True Label: anger\n", " Correct: Yes\n", "\n", "15. Sentence: Everything you say just makes it worse!\n", " Predicted Label: anger\n", " True Label: anger\n", " Correct: Yes\n", "\n", "16. Sentence: I hate how you always twist my words.\n", " Predicted Label: anger\n", " True Label: anger\n", " Correct: Yes\n", "\n", "17. Sentence: You’re the reason I believe in love.\n", " Predicted Label: love\n", " True Label: love\n", " Correct: Yes\n", "\n", "18. Sentence: You complete me.\n", " Predicted Label: love\n", " True Label: love\n", " Correct: Yes\n", "\n", "19. Sentence: What? That’s unbelievable!\n", " Predicted Label: surprise\n", " True Label: surprise\n", " Correct: Yes\n", "\n", "20. Sentence: I didn’t see that coming!\n", " Predicted Label: surprise\n", " True Label: surprise\n", " Correct: Yes\n", "\n", "21. Sentence: You got me tickets? No way!\n", " Predicted Label: surprise\n", " True Label: surprise\n", " Correct: Yes\n", "\n", "22. Sentence: That was totally unexpected.\n", " Predicted Label: surprise\n", " True Label: surprise\n", " Correct: Yes\n", "\n", "23. Sentence: You're moving already? That’s so sudden!\n", " Predicted Label: surprise\n", " True Label: surprise\n", " Correct: Yes\n", "\n", "24. Sentence: Whoa, that was fast!\n", " Predicted Label: surprise\n", " True Label: surprise\n", " Correct: Yes\n", "\n", "25. Sentence: I’m so scared right now.\n", " Predicted Label: fear\n", " True Label: fear\n", " Correct: Yes\n", "\n", "26. Sentence: I can’t do this, I’m terrified.\n", " Predicted Label: fear\n", " True Label: fear\n", " Correct: Yes\n", "\n", "27. Sentence: I’m afraid to even look.\n", " Predicted Label: fear\n", " True Label: fear\n", " Correct: Yes\n", "\n", "28. Sentence: My hands are shaking.\n", " Predicted Label: fear\n", " True Label: fear\n", " Correct: Yes\n", "\n", "29. Sentence: I keep hearing noises in the dark.\n", " Predicted Label: fear\n", " True Label: fear\n", " Correct: Yes\n", "\n", "30. Sentence: I’m panicking just thinking about it.\n", " Predicted Label: fear\n", " True Label: fear\n", " Correct: Yes\n", "\n", "31. Sentence: Today was absolutely perfect!\n", " Predicted Label: happiness\n", " True Label: happiness\n", " Correct: Yes\n", "\n", "32. Sentence: I can’t stop smiling!\n", " Predicted Label: happiness\n", " True Label: happiness\n", " Correct: Yes\n", "\n", "33. Sentence: This made my whole week!\n", " Predicted Label: happiness\n", " True Label: happiness\n", " Correct: Yes\n", "\n", "34. Sentence: I’m full of joy right now.\n", " Predicted Label: happiness\n", " True Label: happiness\n", " Correct: Yes\n", "\n", "35. Sentence: That was so much fun!\n", " Predicted Label: happiness\n", " True Label: happiness\n", " Correct: Yes\n", "\n", "36. Sentence: I’m just working through the day.\n", " Predicted Label: neutral\n", " True Label: neutral\n", " Correct: Yes\n", "\n", "37. Sentence: It was an average lunch.\n", " Predicted Label: neutral\n", " True Label: neutral\n", " Correct: Yes\n", "\n", "38. Sentence: Nothing much happened today.\n", " Predicted Label: neutral\n", " True Label: neutral\n", " Correct: Yes\n", "\n", "39. Sentence: Just reading some news.\n", " Predicted Label: neutral\n", " True Label: neutral\n", " Correct: Yes\n", "\n", "40. Sentence: That food made me gag.\n", " Predicted Label: disgust\n", " True Label: disgust\n", " Correct: Yes\n", "\n", "41. Sentence: That’s absolutely revolting.\n", " Predicted Label: disgust\n", " True Label: disgust\n", " Correct: Yes\n", "\n", "42. Sentence: Ugh, that’s disgusting!\n", " Predicted Label: disgust\n", " True Label: disgust\n", " Correct: Yes\n", "\n", "43. Sentence: It smells horrible in here.\n", " Predicted Label: disgust\n", " True Label: disgust\n", " Correct: Yes\n", "\n", "44. Sentence: That behavior is so gross.\n", " Predicted Label: disgust\n", " True Label: disgust\n", " Correct: Yes\n", "\n", "45. Sentence: I’m repulsed by what I saw.\n", " Predicted Label: disgust\n", " True Label: disgust\n", " Correct: Yes\n", "\n", "46. Sentence: That’s just nasty.\n", " Predicted Label: disgust\n", " True Label: disgust\n", " Correct: Yes\n", "\n", "47. Sentence: I can’t even look them in the eye.\n", " Predicted Label: shame\n", " True Label: shame\n", " Correct: Yes\n", "\n", "48. Sentence: Why did I say that? I’m so embarrassed.\n", " Predicted Label: shame\n", " True Label: shame\n", " Correct: Yes\n", "\n", "49. Sentence: I can’t believe I acted that way.\n", " Predicted Label: shame\n", " True Label: shame\n", " Correct: Yes\n", "\n", "50. Sentence: I shouldn’t have lied to her.\n", " Predicted Label: guilt\n", " True Label: guilt\n", " Correct: Yes\n", "\n", "51. Sentence: I feel terrible about what I did.\n", " Predicted Label: guilt\n", " True Label: guilt\n", " Correct: Yes\n", "\n", "52. Sentence: I feel sick with regret.\n", " Predicted Label: guilt\n", " True Label: guilt\n", " Correct: Yes\n", "\n", "53. Sentence: The guilt is eating me alive.\n", " Predicted Label: guilt\n", " True Label: guilt\n", " Correct: Yes\n", "\n", "54. Sentence: Wait, what just happened?\n", " Predicted Label: confusion\n", " True Label: confusion\n", " Correct: Yes\n", "\n", "55. Sentence: I don’t get it at all.\n", " Predicted Label: confusion\n", " True Label: confusion\n", " Correct: Yes\n", "\n", "56. Sentence: I’m not sure what I’m supposed to do.\n", " Predicted Label: confusion\n", " True Label: confusion\n", " Correct: Yes\n", "\n", "57. Sentence: This is all so unclear.\n", " Predicted Label: confusion\n", " True Label: confusion\n", " Correct: Yes\n", "\n", "58. Sentence: I’m lost in this situation.\n", " Predicted Label: confusion\n", " True Label: confusion\n", " Correct: Yes\n", "\n", "59. Sentence: I don’t know how to respond.\n", " Predicted Label: confusion\n", " True Label: confusion\n", " Correct: Yes\n", "\n", "60. Sentence: I’m struggling to understand.\n", " Predicted Label: confusion\n", " True Label: confusion\n", " Correct: Yes\n", "\n", "61. Sentence: I want to be the best at this.\n", " Predicted Label: desire\n", " True Label: desire\n", " Correct: Yes\n", "\n", "62. Sentence: All I need is one more chance.\n", " Predicted Label: desire\n", " True Label: desire\n", " Correct: Yes\n", "\n", "63. Sentence: I wish I could be with you right now.\n", " Predicted Label: desire\n", " True Label: desire\n", " Correct: Yes\n", "\n", "64. Sentence: I need this more than anything.\n", " Predicted Label: desire\n", " True Label: desire\n", " Correct: Yes\n", "\n", "65. Sentence: I’ve been dreaming of this moment.\n", " Predicted Label: desire\n", " True Label: desire\n", " Correct: Yes\n", "\n", "66. Sentence: I crave your attention.\n", " Predicted Label: desire\n", " True Label: desire\n", " Correct: Yes\n", "\n", "67. Sentence: I just want to be loved.\n", " Predicted Label: desire\n", " True Label: desire\n", " Correct: Yes\n", "\n", "68. Sentence: I desire success more than comfort.\n", " Predicted Label: desire\n", " True Label: desire\n", " Correct: Yes\n", "\n", "69. Sentence: Oh great, another meeting… just what I needed.\n", " Predicted Label: sarcasm\n", " True Label: sarcasm\n", " Correct: Yes\n", "\n", "70. Sentence: Wow, you’re such a genius.\n", " Predicted Label: sarcasm\n", " True Label: sarcasm\n", " Correct: Yes\n", "\n", "71. Sentence: Yeah, because that worked out so well last time.\n", " Predicted Label: sarcasm\n", " True Label: sarcasm\n", " Correct: Yes\n", "\n", "72. Sentence: Lovely, now we’re lost again.\n", " Predicted Label: sarcasm\n", " True Label: sarcasm\n", " Correct: Yes\n", "\n", "73. Sentence: Oh, I’m absolutely thrilled… not.\n", " Predicted Label: sarcasm\n", " True Label: sarcasm\n", " Correct: Yes\n", "\n", "74. Sentence: Absolutely, let’s make another terrible decision.\n", " Predicted Label: sarcasm\n", " True Label: sarcasm\n", " Correct: Yes\n", "\n", "----------------------------------------\n", "Total predictions made: 74\n", "Correct predictions: 74\n", "Accuracy: 100.00%\n" ] } ], "source": [ "import torch\n", "from transformers import BertTokenizer, BertForSequenceClassification\n", "\n", "# Load the fine-tuned model and tokenizer from Hugging Face Hub\n", "try:\n", " model = BertForSequenceClassification.from_pretrained(\"./neuro-feel\")\n", " tokenizer = BertTokenizer.from_pretrained(\"./neuro-feel\")\n", "except Exception as e:\n", " print(f\"Error loading model or tokenizer: {e}\")\n", " exit(1)\n", "\n", "# Set model to evaluation mode to disable training-specific layers\n", "model.eval()\n", "\n", "# Define a label map to decode numerical predictions to emotion labels\n", "# label_map = {\n", "# 0: \"sadness\",\n", "# 1: \"anger\",\n", "# 2: \"love\",\n", "# 3: \"surprise\",\n", "# 4: \"fear\",\n", "# 5: \"happiness\",\n", "# 6: \"neutral\",\n", "# 7: \"disgust\",\n", "# 8: \"shame\",\n", "# 9: \"guilt\",\n", "# 10: \"confusion\",\n", "# 11: \"desire\",\n", "# 12: \"sarcasm\"\n", "# } # Adjust based on model’s training labels 🏷️\n", "\n", "\n", "label_map = model.config.id2label\n", "label_map = {int(k): v for k, v in label_map.items()}\n", "\n", "# Define test sentences with ground truth emotion labels\n", "test_cases = [\n", " (\"I miss her so much it hurts.\", \"sadness\"),\n", " (\"Tears won’t stop falling.\", \"sadness\"),\n", " (\"Everything feels so empty.\", \"sadness\"),\n", " (\"I feel broken inside.\", \"sadness\"),\n", " (\"Waking up is the hardest part.\", \"sadness\"),\n", " (\"It’s been so hard to cope.\", \"sadness\"),\n", " (\"My chest feels heavy all the time.\", \"sadness\"),\n", " (\"Losing him shattered me.\", \"sadness\"),\n", " (\"Why do you always ignore me?!\", \"anger\"),\n", " (\"This is absolutely ridiculous!\", \"anger\"),\n", " (\"You never listen to me!\", \"anger\"),\n", " (\"That’s the last straw!\", \"anger\"),\n", " (\"I’m furious with how they treated me.\", \"anger\"),\n", " (\"I’m done putting up with this nonsense!\", \"anger\"),\n", " (\"Everything you say just makes it worse!\", \"anger\"),\n", " (\"I hate how you always twist my words.\", \"anger\"),\n", " (\"You’re the reason I believe in love.\", \"love\"),\n", " (\"You complete me.\", \"love\"),\n", " (\"What? That’s unbelievable!\", \"surprise\"),\n", " (\"I didn’t see that coming!\", \"surprise\"),\n", " (\"You got me tickets? No way!\", \"surprise\"),\n", " (\"That was totally unexpected.\", \"surprise\"),\n", " (\"You're moving already? That’s so sudden!\", \"surprise\"),\n", " (\"Whoa, that was fast!\", \"surprise\"),\n", " (\"I’m so scared right now.\", \"fear\"),\n", " (\"I can’t do this, I’m terrified.\", \"fear\"),\n", " (\"I’m afraid to even look.\", \"fear\"),\n", " (\"My hands are shaking.\", \"fear\"),\n", " (\"I keep hearing noises in the dark.\", \"fear\"),\n", " (\"I’m panicking just thinking about it.\", \"fear\"),\n", " (\"Today was absolutely perfect!\", \"happiness\"),\n", " (\"I can’t stop smiling!\", \"happiness\"),\n", " (\"This made my whole week!\", \"happiness\"),\n", " (\"I’m full of joy right now.\", \"happiness\"),\n", " (\"That was so much fun!\", \"happiness\"),\n", " (\"I’m just working through the day.\", \"neutral\"),\n", " (\"It was an average lunch.\", \"neutral\"),\n", " (\"Nothing much happened today.\", \"neutral\"),\n", " (\"Just reading some news.\", \"neutral\"),\n", " (\"That food made me gag.\", \"disgust\"),\n", " (\"That’s absolutely revolting.\", \"disgust\"),\n", " (\"Ugh, that’s disgusting!\", \"disgust\"),\n", " (\"It smells horrible in here.\", \"disgust\"),\n", " (\"That behavior is so gross.\", \"disgust\"),\n", " (\"I’m repulsed by what I saw.\", \"disgust\"),\n", " (\"That’s just nasty.\", \"disgust\"),\n", " (\"I can’t even look them in the eye.\", \"shame\"),\n", " (\"Why did I say that? I’m so embarrassed.\", \"shame\"),\n", " (\"I can’t believe I acted that way.\", \"shame\"),\n", " (\"I shouldn’t have lied to her.\", \"guilt\"),\n", " (\"I feel terrible about what I did.\", \"guilt\"),\n", " (\"I feel sick with regret.\", \"guilt\"),\n", " (\"The guilt is eating me alive.\", \"guilt\"),\n", " (\"Wait, what just happened?\", \"confusion\"),\n", " (\"I don’t get it at all.\", \"confusion\"),\n", " (\"I’m not sure what I’m supposed to do.\", \"confusion\"),\n", " (\"This is all so unclear.\", \"confusion\"),\n", " (\"I’m lost in this situation.\", \"confusion\"),\n", " (\"I don’t know how to respond.\", \"confusion\"),\n", " (\"I’m struggling to understand.\", \"confusion\"),\n", " (\"I want to be the best at this.\", \"desire\"),\n", " (\"All I need is one more chance.\", \"desire\"),\n", " (\"I wish I could be with you right now.\", \"desire\"),\n", " (\"I need this more than anything.\", \"desire\"),\n", " (\"I’ve been dreaming of this moment.\", \"desire\"),\n", " (\"I crave your attention.\", \"desire\"),\n", " (\"I just want to be loved.\", \"desire\"),\n", " (\"I desire success more than comfort.\", \"desire\"),\n", " (\"Oh great, another meeting… just what I needed.\", \"sarcasm\"),\n", " (\"Wow, you’re such a genius.\", \"sarcasm\"),\n", " (\"Yeah, because that worked out so well last time.\", \"sarcasm\"),\n", " (\"Lovely, now we’re lost again.\", \"sarcasm\"),\n", " (\"Oh, I’m absolutely thrilled… not.\", \"sarcasm\"),\n", " (\"Absolutely, let’s make another terrible decision.\", \"sarcasm\"),\n", "]\n", "\n", "\n", "\n", "# Prediction function with error handling\n", "def predict_label(text):\n", " \"\"\"\n", " Predict the emotion label for a given text using the fine-tuned BERT model.\n", "\n", " Args:\n", " text (str): Input text to classify (e.g., \"I'm feeling really down today.\"). 💬\n", "\n", " Returns:\n", " str: Predicted emotion label (e.g., \"sadness\") or \"error\" if prediction fails. 😊\n", " \"\"\"\n", " try:\n", " inputs = tokenizer(text, return_tensors=\"pt\", padding=True, truncation=True, max_length=512)\n", " with torch.no_grad():\n", " outputs = model(**inputs)\n", " logits = outputs.logits\n", " predicted_label = torch.argmax(logits, dim=1).item()\n", " return label_map.get(predicted_label, \"unknown\")\n", " except Exception as e:\n", " print(f\"Error predicting for text '{text}': {e}\")\n", " return \"error\"\n", "\n", "# Run predictions and evaluate performance\n", "correct = 0\n", "print(\"Prediction Results:\\n\" + \"-\"*40)\n", "for idx, (sentence, true_label) in enumerate(test_cases):\n", " predicted = predict_label(sentence)\n", " is_correct = predicted == true_label\n", " if is_correct:\n", " correct += 1\n", " print(f\"{idx+1}. Sentence: {sentence}\")\n", " print(f\" Predicted Label: {predicted}\")\n", " print(f\" True Label: {true_label}\")\n", " print(f\" Correct: {'Yes' if is_correct else 'No'}\\n\")\n", "\n", "# Calculate and display accuracy\n", "total = len(test_cases)\n", "accuracy = (correct / total) * 100 if total > 0 else 0\n", "print(\"-\"*40)\n", "print(f\"Total predictions made: {total}\")\n", "print(f\"Correct predictions: {correct}\")\n", "print(f\"Accuracy: {accuracy:.2f}%\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "fM_F2nba9s9n", "outputId": "2d3f2f1e-1612-4591-d8d6-58827e6c3fbe" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Loading models and evaluating...\n", "\n", "Model | Size (MB) | Total Params (M) | Trainable Params (M) | Avg. Inference Time (ms) | Accuracy (%)\n", "---------------------------------------------------------------------------------------------------------------------------------------\n", "boltuix/NeuroFeel | 109.83 | 14.33 | 14.33 | 10.86 | 100.00 \n", "boltuix/bert-emotion | 85.77 | 11.17 | 11.17 | 6.85 | 68.42 \n", "Varnikasiva/sentiment-classification-bert-mini | 85.77 | 11.17 | 11.17 | 5.18 | 73.68 \n", "\n", "Best model by accuracy: boltuix/NeuroFeel with 100.00% accuracy\n", "\n", "❌ FAILED CASES PER MODEL:\n", "\n", "Model: boltuix/NeuroFeel\n", " ✅ All test cases passed.\n", "\n", "Model: boltuix/bert-emotion\n", "Input | Expected | Predicted\n", "----------------------------------------------------------------------------------------------------\n", "Everything feels meaningless lately. | sadness | confusion\n", "The driver just cut me off without even signaling! | anger | neutral\n", "I didn’t expect to win the competition! | surprise | disgust\n", "I shouldn’t have yelled at him. I feel guilty. | guilt | shame\n", "I forgot Mom’s birthday. I feel terrible. | guilt | sadness\n", "Oh, perfect, rides misplace, pickup puzzle! | sarcasm | happiness\n", "\n", "\n", "Model: Varnikasiva/sentiment-classification-bert-mini\n", "Input | Expected | Predicted\n", "----------------------------------------------------------------------------------------------------\n", "The driver just cut me off without even signaling! | anger | neutral\n", "I didn’t expect to win the competition! | surprise | disgust\n", "I shouldn’t have yelled at him. I feel guilty. | guilt | shame\n", "I forgot Mom’s birthday. I feel terrible. | guilt | sadness\n", "Oh, perfect, rides misplace, pickup puzzle! | sarcasm | happiness\n", "\n", "\n" ] } ], "source": [ "import torch\n", "from transformers import AutoModelForSequenceClassification, AutoTokenizer\n", "import time\n", "import os\n", "\n", "model_names = [\n", " \"boltuix/NeuroFeel\", # base model : boltuix/NeuroBERT\n", " \"boltuix/bert-emotion\",# base model :boltuix/bert-lite\n", " \"Varnikasiva/sentiment-classification-bert-mini\", # base model : prajjwal1/bert-mini\n", "]\n", "\n", "test_cases = [\n", " # Sadness 😢\n", " (\"I miss my family so much it hurts.\", \"sadness\"),\n", " (\"Everything feels meaningless lately.\", \"sadness\"),\n", "\n", " # Anger 😠\n", " (\"The driver just cut me off without even signaling!\", \"anger\"),\n", "\n", " # Love ❤️\n", " (\"I love you.\", \"love\"),\n", " (\"i love u very much.\", \"love\"),\n", "\n", " # Surprise 😲\n", " (\"I didn’t expect to win the competition!\", \"surprise\"),\n", "\n", " # Fear 😱\n", " (\"I’m terrified of losing my job.\", \"fear\"),\n", " (\"That noise outside my window scared me to death.\", \"fear\"),\n", "\n", " # Happiness 😄\n", " (\"Spending time with my friends today made me so happy.\", \"happiness\"),\n", "\n", " # Neutral 😐\n", " (\"I had lunch and watched TV. Nothing special.\", \"neutral\"),\n", " (\"Just another ordinary day at the office.\", \"neutral\"),\n", "\n", " # Disgust 🤢\n", " (\"The kitchen smelled awful this morning.\", \"disgust\"),\n", "\n", " # Shame 🙈\n", " (\"I felt so embarrassed after forgetting her name.\", \"shame\"),\n", "\n", " # Guilt 😔\n", " (\"I shouldn’t have yelled at him. I feel guilty.\", \"guilt\"),\n", " (\"I forgot Mom’s birthday. I feel terrible.\", \"guilt\"),\n", "\n", " # Confusion 😕\n", " (\"I don’t understand why she’s upset with me.\", \"confusion\"),\n", " (\"Why is the meeting scheduled twice? I’m confused.\", \"confusion\"),\n", "\n", " # Desire 🔥\n", " (\"I really want to travel the world someday.\", \"desire\"),\n", "\n", " # Sarcasm 🙃\n", " (\"Oh, perfect, rides misplace, pickup puzzle!\", \"sarcasm\"),\n", "]\n", "\n", "\n", "def get_folder_size_mb(folder):\n", " total_size = 0\n", " for dirpath, dirnames, filenames in os.walk(folder):\n", " for f in filenames:\n", " fp = os.path.join(dirpath, f)\n", " total_size += os.path.getsize(fp)\n", " return total_size / (1024 * 1024)\n", "\n", "def load_model_and_tokenizer(model_name):\n", " local_dir = f\"./downloaded_models/{model_name.replace('/', '_')}\"\n", " model = AutoModelForSequenceClassification.from_pretrained(model_name, cache_dir=local_dir)\n", " tokenizer = AutoTokenizer.from_pretrained(model_name, cache_dir=local_dir)\n", " model.eval()\n", " label_map = {int(k): v for k, v in model.config.id2label.items()}\n", " return model, tokenizer, label_map, local_dir\n", "\n", "def predict_label(model, tokenizer, label_map, text):\n", " inputs = tokenizer(text, return_tensors=\"pt\", padding=True, truncation=True, max_length=512)\n", " with torch.no_grad():\n", " outputs = model(**inputs)\n", " logits = outputs.logits\n", " predicted_id = torch.argmax(logits, dim=1).item()\n", " return label_map.get(predicted_id, \"unknown\")\n", "\n", "results = []\n", "print(\"Loading models and evaluating...\\n\")\n", "for name in model_names:\n", " model, tokenizer, label_map, local_dir = load_model_and_tokenizer(name)\n", " size_mb = get_folder_size_mb(local_dir)\n", "\n", " times = []\n", " correct = 0\n", " failed_cases = [] # NEW: collect failed cases\n", "\n", " for text, true_label in test_cases:\n", " start = time.time()\n", " pred = predict_label(model, tokenizer, label_map, text)\n", " end = time.time()\n", " times.append((end - start) * 1000) # ms\n", "\n", " if pred == true_label:\n", " correct += 1\n", " else:\n", " failed_cases.append((text, true_label, pred)) # store mismatch\n", "\n", " avg_time = sum(times) / len(times)\n", " accuracy = (correct / len(test_cases)) * 100\n", "\n", " total_params = sum(p.numel() for p in model.parameters())\n", " trainable_params = sum(p.numel() for p in model.parameters() if p.requires_grad)\n", "\n", " results.append({\n", " \"model_name\": name,\n", " \"size_mb\": size_mb,\n", " \"total_params_million\": total_params / 1e6,\n", " \"trainable_params_million\": trainable_params / 1e6,\n", " \"avg_inference_time_ms\": avg_time,\n", " \"accuracy_percent\": accuracy,\n", " \"failed_cases\": failed_cases, # add failed info\n", " })\n", "\n", "# Summary Table\n", "print(f\"{'Model':<50} | {'Size (MB)':<10} | {'Total Params (M)':<17} | {'Trainable Params (M)':<20} | {'Avg. Inference Time (ms)':<24} | {'Accuracy (%)':<12}\")\n", "print(\"-\" * 135)\n", "for res in results:\n", " print(f\"{res['model_name']:<50} | {res['size_mb']:<10.2f} | {res['total_params_million']:<17.2f} | {res['trainable_params_million']:<20.2f} | {res['avg_inference_time_ms']:<24.2f} | {res['accuracy_percent']:<12.2f}\")\n", "\n", "# Best model by accuracy\n", "best_model = max(results, key=lambda x: x['accuracy_percent'])\n", "print(f\"\\nBest model by accuracy: {best_model['model_name']} with {best_model['accuracy_percent']:.2f}% accuracy\")\n", "\n", "# Failed Cases Log\n", "print(\"\\n❌ FAILED CASES PER MODEL:\\n\")\n", "for res in results:\n", " print(f\"Model: {res['model_name']}\")\n", " if not res[\"failed_cases\"]:\n", " print(\" ✅ All test cases passed.\\n\")\n", " continue\n", " print(f\"{'Input':<70} | {'Expected':<10} | {'Predicted'}\")\n", " print(\"-\" * 100)\n", " for sentence, expected, predicted in res[\"failed_cases\"]:\n", " print(f\"{sentence[:70]:<70} | {expected:<10} | {predicted}\")\n", " print(\"\\n\")\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": { "02b7ea08c62a464aa0ec1126cc7aecb2": { "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_4214e904c01d4c0ca1a3856a2c913786", "placeholder": "​", "style": "IPY_MODEL_6f3597c9cdeb45d995dbcb9b494b9032", "value": "vocab.txt: 100%" } }, "0571849b1c1347a6ad44581aa6d3014c": { "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 } }, "0574728db5104852abfb4b7078929cad": { "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_5c3c994f7c3a4b41a1613c8deb74ae4a", "max": 231508, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_14d9f5d18d37430b8f4b1f5002976c14", "value": 231508 } }, "05b597fa33d94d8489f0a906b6601ac6": { "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_d218377a68a64eb5a4f5457020a62725", "placeholder": "​", "style": "IPY_MODEL_13310f97091f466bbe9c14cca6797a27", "value": "config.json: 100%" } }, "0bc9dd340c624a5fac7683ed00498c2c": { "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": "" } }, "128a5ed0c23146febe335db237e2710f": { "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_78fe8ef2b501428f95ec0c792b164403", "IPY_MODEL_4c1ef193029f403da623358d6eea2e19", "IPY_MODEL_28062357e02f48a6936389feded24575" ], "layout": "IPY_MODEL_fc6c756a30cc4963aa20f9b448acab10" } }, "13310f97091f466bbe9c14cca6797a27": { "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": "" } }, "14d9f5d18d37430b8f4b1f5002976c14": { "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": "" } }, "15194a408fb5415fa1f28d465700521e": { "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_95fe2503295144bb8468123ec3b40d1c", "placeholder": "​", "style": "IPY_MODEL_a9c2da3c42f9486e9caabc123c4350f4", "value": " 132/132 [00:00<00:00, 13.9kB/s]" } }, "1b1bf9ce6edc44d6946e0e3a3004cae6": { "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 } }, "21e071df139249d682835f68117b4eda": { "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 } }, "24fe1819e2d4414f8bfd8d30633c6fe2": { "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": "" } }, "26ccd138f2594379a54bcf28ea426f08": { "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 } }, "28062357e02f48a6936389feded24575": { "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_3cbf6205e1dc412e9c8245bf086e3e7c", "placeholder": "​", "style": "IPY_MODEL_8285dd8bd8c94898bce1cbe3ffb64736", "value": " 57.5M/57.5M [00:00<00:00, 168MB/s]" } }, "295eb20afb8a4b88a35ebda114369fe2": { "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_94c23de385894e1faa02664d8970b5bc", "placeholder": "​", "style": "IPY_MODEL_5db9ecd4769e49f6bfef8bc5013611ed", "value": "special_tokens_map.json: 100%" } }, "2bae8ec848554c1bac9f95e73200ebc2": { "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": "" } }, "2fdb97fea1274feab421442b35e98a5c": { "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_295eb20afb8a4b88a35ebda114369fe2", "IPY_MODEL_5fbaff21141b41e78964fa0dc8730292", "IPY_MODEL_15194a408fb5415fa1f28d465700521e" ], "layout": "IPY_MODEL_322deeed887c4499b96026564e6d1d22" } }, "322deeed887c4499b96026564e6d1d22": { "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 } }, "38eace2350d24617a7054a3f23fd083b": { "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": "" } }, "3cbf6205e1dc412e9c8245bf086e3e7c": { "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 } }, "3ef0ad6cffc04384a7734c17ca71066e": { "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 } }, "4214e904c01d4c0ca1a3856a2c913786": { "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 } }, "4c1ef193029f403da623358d6eea2e19": { "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_3ef0ad6cffc04384a7734c17ca71066e", "max": 57458416, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_38eace2350d24617a7054a3f23fd083b", "value": 57458416 } }, "51408a68fa75477eb73b28bd08478a27": { "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_5d5a5d3b0bfb4984b52a2282d4be3405", "max": 611, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_bb071aeb68d54afe9de4f96770c16b8d", "value": 611 } }, "51cb98c739e94588a74df263daf62c4f": { "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 } }, "587a98275dd34c08a618fb9111d73fe4": { "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 } }, "5a95456db43d4267a8c7ae1d3adb9110": { "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_21e071df139249d682835f68117b4eda", "placeholder": "​", "style": "IPY_MODEL_0bc9dd340c624a5fac7683ed00498c2c", "value": " 1.36k/1.36k [00:00<00:00, 111kB/s]" } }, "5c3c994f7c3a4b41a1613c8deb74ae4a": { "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 } }, "5d5a5d3b0bfb4984b52a2282d4be3405": { "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 } }, "5db9ecd4769e49f6bfef8bc5013611ed": { "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": "" } }, "5fbaff21141b41e78964fa0dc8730292": { "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_b1e321c905a648d2bc90bd7c5eb50367", "max": 132, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_b0f55fb60973416dba9eef54b929793a", "value": 132 } }, "6412c72c5f874277bd04ef23222713d5": { "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 } }, "6431434040ca4b0d8738746930297070": { "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_587a98275dd34c08a618fb9111d73fe4", "placeholder": "​", "style": "IPY_MODEL_24fe1819e2d4414f8bfd8d30633c6fe2", "value": "tokenizer_config.json: 100%" } }, "644c507725544b9784503eac031ae937": { "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_1b1bf9ce6edc44d6946e0e3a3004cae6", "max": 711396, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_2bae8ec848554c1bac9f95e73200ebc2", "value": 711396 } }, "6c9b4fff204e4b19adf82309fa1a4556": { "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_7e329e78d0d648c8b793a80b732a6b8e", "placeholder": "​", "style": "IPY_MODEL_94ee1ab7847d4a3784f026bdb6c1645f", "value": " 232k/232k [00:00<00:00, 4.17MB/s]" } }, "6ed9a1236be7488489bda90570bcf491": { "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_ad36b1ffe2bb4e3ca6838b4b612949fe", "placeholder": "​", "style": "IPY_MODEL_c2fda8ced9544c30a74861243e13cec8", "value": "tokenizer.json: 100%" } }, "6f3597c9cdeb45d995dbcb9b494b9032": { "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": "" } }, "78fe8ef2b501428f95ec0c792b164403": { "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_de782ab08ffd4c4f9cddc9ea5d278762", "placeholder": "​", "style": "IPY_MODEL_eb02f42f31544cd692933fce1280374d", "value": "model.safetensors: 100%" } }, "7cec1b1c66dc48bc93ffc6825e289330": { "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": "" } }, "7e329e78d0d648c8b793a80b732a6b8e": { "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 } }, "7ff76b22476143dda0a60ee3c45a2573": { "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_6ed9a1236be7488489bda90570bcf491", "IPY_MODEL_644c507725544b9784503eac031ae937", "IPY_MODEL_b477c3f151714d918af683b0743f5068" ], "layout": "IPY_MODEL_26ccd138f2594379a54bcf28ea426f08" } }, "8285dd8bd8c94898bce1cbe3ffb64736": { "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": "" } }, "83ee878c039f47edb96fde00e6983a4b": { "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_6431434040ca4b0d8738746930297070", "IPY_MODEL_87d22a71e458437faf0ce8bb8defedeb", "IPY_MODEL_5a95456db43d4267a8c7ae1d3adb9110" ], "layout": "IPY_MODEL_bcf8516da0904b0abc5ef3f0278e00b5" } }, "87d22a71e458437faf0ce8bb8defedeb": { "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_f5110aa7303d4828877d7582ef636c7d", "max": 1358, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_7cec1b1c66dc48bc93ffc6825e289330", "value": 1358 } }, "87df8146909842a7abc9ecfa73e1b308": { "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_6412c72c5f874277bd04ef23222713d5", "placeholder": "​", "style": "IPY_MODEL_a93f582392ee462793e968d26b32f33e", "value": " 611/611 [00:00<00:00, 62.9kB/s]" } }, "92fb1012832d4648b8afe6ce9e679fc4": { "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_05b597fa33d94d8489f0a906b6601ac6", "IPY_MODEL_51408a68fa75477eb73b28bd08478a27", "IPY_MODEL_87df8146909842a7abc9ecfa73e1b308" ], "layout": "IPY_MODEL_51cb98c739e94588a74df263daf62c4f" } }, "94c23de385894e1faa02664d8970b5bc": { "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 } }, "94ee1ab7847d4a3784f026bdb6c1645f": { "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": "" } }, "95fe2503295144bb8468123ec3b40d1c": { "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 } }, "a93f582392ee462793e968d26b32f33e": { "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": "" } }, "a9c2da3c42f9486e9caabc123c4350f4": { "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": "" } }, "ad36b1ffe2bb4e3ca6838b4b612949fe": { "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 } }, "b00a8aa97c1d40b28567cb25233182e4": { "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": "" } }, "b0f55fb60973416dba9eef54b929793a": { "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": "" } }, "b1e321c905a648d2bc90bd7c5eb50367": { "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 } }, "b477c3f151714d918af683b0743f5068": { "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_c4d7d20019e14d8c8fc8a7ab9cc2d9f1", "placeholder": "​", "style": "IPY_MODEL_b00a8aa97c1d40b28567cb25233182e4", "value": " 711k/711k [00:00<00:00, 24.2MB/s]" } }, "bb071aeb68d54afe9de4f96770c16b8d": { "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": "" } }, "bcf8516da0904b0abc5ef3f0278e00b5": { "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 } }, "c2fda8ced9544c30a74861243e13cec8": { "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": "" } }, "c4d7d20019e14d8c8fc8a7ab9cc2d9f1": { "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 } }, "d218377a68a64eb5a4f5457020a62725": { "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 } }, "de782ab08ffd4c4f9cddc9ea5d278762": { "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 } }, "e76d997ea69c48d7b11f55a4d0b9d9a3": { "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_02b7ea08c62a464aa0ec1126cc7aecb2", "IPY_MODEL_0574728db5104852abfb4b7078929cad", "IPY_MODEL_6c9b4fff204e4b19adf82309fa1a4556" ], "layout": "IPY_MODEL_0571849b1c1347a6ad44581aa6d3014c" } }, "eb02f42f31544cd692933fce1280374d": { "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": "" } }, "f5110aa7303d4828877d7582ef636c7d": { "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 } }, "fc6c756a30cc4963aa20f9b448acab10": { "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 }