diff --git "a/BERT_CLASSIFIER1.ipynb" "b/BERT_CLASSIFIER1.ipynb"
new file mode 100644--- /dev/null
+++ "b/BERT_CLASSIFIER1.ipynb"
@@ -0,0 +1,1697 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "mBXIlY80_yBP"
+ },
+ "source": [
+ "## IMPORTING DATA"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "id": "Zn3YpE3TqQwN"
+ },
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "import re"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "id": "Mc6tp6IfqTon"
+ },
+ "outputs": [],
+ "source": [
+ "df = pd.read_csv(\"twitter_training.csv\", header=None, names=[\"id\", \"topic\", \"sentiment\", \"tweet\"], nrows=20000)\n",
+ "df = df[df[\"sentiment\"].isin([\"Positive\", \"Negative\", \"Neutral\"])]\n",
+ "\n",
+ "label_map = {\"Negative\": 0,\"Neutral\": 1, \"Positive\": 2}\n",
+ "df[\"label\"] = df[\"sentiment\"].map(label_map)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "NEXYxUAc_-fT"
+ },
+ "source": [
+ "# PREPROCESSING DATA"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {
+ "id": "K5xSZWz9qWFZ"
+ },
+ "outputs": [],
+ "source": [
+ "def clean_tweet(text):\n",
+ " text = re.sub(r\"http\\S+\", \"\", text)\n",
+ " text = re.sub(r\"@\\w+\", \"\", text)\n",
+ " text = re.sub(r\"#\", \"\", text)\n",
+ " text = re.sub(r\"\\[UNK\\]\", \"\", text)\n",
+ " text = re.sub(r\"[^\\w\\s.,!?]\", \"\", text)\n",
+ " text = re.sub(r\"\\s+\", \" \", text)\n",
+ " return text.strip().lower()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 223
+ },
+ "id": "Y0CLT9JyynQ4",
+ "outputId": "3d08e1a7-07a7-42d4-c117-7237f8d33385"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(16448, 2)\n"
+ ]
+ },
+ {
+ "data": {
+ "application/vnd.google.colaboratory.intrinsic+json": {
+ "summary": "{\n \"name\": \"df\",\n \"rows\": 5,\n \"fields\": [\n {\n \"column\": \"text\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 5,\n \"samples\": [\n \"too bad much developers in the recent years care more about graphics than the game itself. they fear releasing fresh content to the fans will become toxic enough to get hyped up for a lost cause. muh oh graphics..\",\n \"so the funny thing meatballmissus and i have just learned is that there are two different versions of borderlands game of the year and on steam, and they are not comparable to each other for online gaming.\",\n \"just nice.\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"label\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 0,\n \"max\": 2,\n \"num_unique_values\": 3,\n \"samples\": [\n 2,\n 0,\n 1\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}",
+ "type": "dataframe"
+ },
+ "text/html": [
+ "\n",
+ "
\n",
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " text | \n",
+ " label | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 5601 | \n",
+ " this was selling like 144 usd and is likely th... | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 10991 | \n",
+ " too bad much developers in the recent years ca... | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 1984 | \n",
+ " just nice. | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 1451 | \n",
+ " my | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 758 | \n",
+ " so the funny thing meatballmissus and i have j... | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n"
+ ],
+ "text/plain": [
+ " text label\n",
+ "5601 this was selling like 144 usd and is likely th... 2\n",
+ "10991 too bad much developers in the recent years ca... 0\n",
+ "1984 just nice. 2\n",
+ "1451 my 1\n",
+ "758 so the funny thing meatballmissus and i have j... 1"
+ ]
+ },
+ "execution_count": 29,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df[\"tweet\"] = df[\"tweet\"].astype(str).apply(clean_tweet)\n",
+ "\n",
+ "\n",
+ "df = df[[\"tweet\", \"label\"]]\n",
+ "df = df.rename(columns={\"tweet\": \"text\"})\n",
+ "\n",
+ "\n",
+ "print(df.shape)\n",
+ "df.sample(5)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 209
+ },
+ "id": "t4VQ7lN-yolm",
+ "outputId": "e0a5656b-d5fd-47db-b5b2-cbc9d424431e"
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " count | \n",
+ "
\n",
+ " \n",
+ " | label | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 4674 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 4608 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 3612 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "label\n",
+ "0 4674\n",
+ "2 4608\n",
+ "1 3612\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df[\"label\"].value_counts()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "6e747DBeATNU"
+ },
+ "source": [
+ "# TRAIN TEST SPLIT"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "ACNjyPbCyoiw",
+ "outputId": "4caa1577-9fec-46cd-926e-3e4c6b81e0d9"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Train size: 10315, Test size: 2579\n"
+ ]
+ }
+ ],
+ "source": [
+ "from sklearn.model_selection import train_test_split\n",
+ "\n",
+ "X = df['text']\n",
+ "y = df['label']\n",
+ "\n",
+ "X_train, X_test, y_train, y_test = train_test_split(\n",
+ " X, y, test_size=0.2, stratify=y, random_state=42\n",
+ ")\n",
+ "\n",
+ "print(f\"Train size: {len(X_train)}, Test size: {len(X_test)}\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "LOkZFABzAwdv"
+ },
+ "source": [
+ "# IMPORTING NECESSARY LIBRARIES"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "DMW72Mbqyof5"
+ },
+ "outputs": [],
+ "source": [
+ "import numpy as np\n",
+ "from torch.utils.data import DataLoader\n",
+ "import torch.nn as nn\n",
+ "import torch.optim as optim\n",
+ "import torch\n",
+ "from transformers import DistilBertTokenizer, DistilBertModel\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "zgNQynqRBDge"
+ },
+ "source": [
+ "# SETTING UP DEVICE TO GPU"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "exGpEPd4qeas",
+ "outputId": "53f13160-5fd5-4015-bdb6-b34d59f4fad8"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Using device: cuda\n"
+ ]
+ }
+ ],
+ "source": [
+ "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
+ "print(f\"Using device: {device}\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "ayvCmCzABr8H"
+ },
+ "source": [
+ "## TOKENIZARION & PREPROCESSING FOR BERT MODEL"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "Cu0g_JBbqi-5"
+ },
+ "outputs": [],
+ "source": [
+ "tokenizer = DistilBertTokenizer.from_pretrained(\"distilbert-base-uncased\")\n",
+ "\n",
+ "def tokenize_function(texts, labels):\n",
+ " encodings = tokenizer(texts, padding=\"max_length\", max_length=200, truncation=True, return_tensors=\"pt\")\n",
+ " return encodings[\"input_ids\"], encodings[\"attention_mask\"], torch.tensor(labels, dtype=torch.long)\n",
+ "\n",
+ "train_input_ids, train_attention_mask, train_labels = tokenize_function(X_train.values.tolist(), y_train.values.tolist())\n",
+ "val_input_ids, val_attention_mask, val_labels = tokenize_function(X_test.values.tolist(), y_test.values.tolist())"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "dxkhB3TWB12T"
+ },
+ "source": [
+ "# DATASETS AND DATA LOADERS"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "Qq5hZAmxyoax"
+ },
+ "outputs": [],
+ "source": [
+ "train_dataset = torch.utils.data.TensorDataset(train_input_ids, train_attention_mask, train_labels)\n",
+ "val_dataset = torch.utils.data.TensorDataset(val_input_ids, val_attention_mask, val_labels)\n",
+ "\n",
+ "batch_size = 64\n",
+ "\n",
+ "train_loader = DataLoader(train_dataset, batch_size=batch_size, shuffle=True)\n",
+ "val_loader = DataLoader(val_dataset, batch_size=batch_size, shuffle=False)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "uU0kIXE0B64X"
+ },
+ "source": [
+ "# BERT MODEL"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "QluQCT8P0QjK"
+ },
+ "outputs": [],
+ "source": [
+ "class SentimentClassifier(nn.Module):\n",
+ " def __init__(self):\n",
+ " super(SentimentClassifier, self).__init__()\n",
+ " self.bert = DistilBertModel.from_pretrained(\"distilbert-base-uncased\")\n",
+ "\n",
+ " for param in self.bert.parameters():\n",
+ " param.requires_grad = False # Freeze BERT\n",
+ "\n",
+ " self.classifier = nn.Sequential(\n",
+ " nn.Linear(self.bert.config.hidden_size, 256),\n",
+ " nn.BatchNorm1d(256),\n",
+ " nn.ReLU(),\n",
+ " nn.Dropout(0.3),\n",
+ "\n",
+ " nn.Linear(256, 128),\n",
+ " nn.BatchNorm1d(128),\n",
+ " nn.ReLU(),\n",
+ " nn.Dropout(0.3),\n",
+ "\n",
+ " nn.Linear(128, 64),\n",
+ " nn.BatchNorm1d(64),\n",
+ " nn.ReLU(),\n",
+ " nn.Dropout(0.3),\n",
+ "\n",
+ " nn.Linear(64, 3)\n",
+ " )\n",
+ "\n",
+ " def forward(self, input_ids, attention_mask):\n",
+ " bert_output = self.bert(input_ids=input_ids, attention_mask=attention_mask)\n",
+ " sentence_embeddings = bert_output.last_hidden_state[:, 0, :]\n",
+ " return self.classifier(sentence_embeddings)\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "EvGWe-pm0Qfv"
+ },
+ "outputs": [],
+ "source": [
+ "model = SentimentClassifier().to(device)\n",
+ "optimizer = optim.Adam(model.parameters(), lr=1e-3)\n",
+ "criterion = nn.CrossEntropyLoss()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "CPnCDcvxCBB3"
+ },
+ "source": [
+ "# TRAINING LOOP"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "PUQzPpN10Qdc",
+ "outputId": "eb203d58-abd2-4142-b383-a8c48e9cae97"
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [00:59<00:00, 2.73it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 1, LOSS: 0.8635298293313862\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:03<00:00, 2.54it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 2, LOSS: 0.7480901568024246\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.58it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 3, LOSS: 0.7076760607737081\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.61it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 4, LOSS: 0.6519434402386347\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.59it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 5, LOSS: 0.6278001870270129\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.59it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 6, LOSS: 0.5940407259780683\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.59it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 7, LOSS: 0.5720378544963436\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.60it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 8, LOSS: 0.5547549029191335\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.60it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 9, LOSS: 0.5133681096780447\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.60it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 10, LOSS: 0.5048954198021948\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.61it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 11, LOSS: 0.49648875605176995\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.60it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 12, LOSS: 0.4727249362586457\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.60it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 13, LOSS: 0.45169883377758074\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.60it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 14, LOSS: 0.44512496999016515\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.61it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 15, LOSS: 0.42885947558614945\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.61it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 16, LOSS: 0.4193551395042443\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.61it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 17, LOSS: 0.39846395342438307\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.61it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 18, LOSS: 0.40216764081039547\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.60it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 19, LOSS: 0.39281953356148286\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.59it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 20, LOSS: 0.37034682322431495\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.58it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 21, LOSS: 0.3572723894023601\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.57it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 22, LOSS: 0.3579809197489126\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.58it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 23, LOSS: 0.3605943457395942\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.58it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 24, LOSS: 0.33947128535788734\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.58it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 25, LOSS: 0.325946150554551\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.58it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 26, LOSS: 0.321742693859118\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.59it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 27, LOSS: 0.3191423722439342\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.59it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 28, LOSS: 0.31599042288683077\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.59it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 29, LOSS: 0.30901605635881424\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.59it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 30, LOSS: 0.2994360531001915\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.59it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 31, LOSS: 0.29933117109316365\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.60it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 32, LOSS: 0.30875196390681797\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.60it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 33, LOSS: 0.28738711594983385\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.60it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 34, LOSS: 0.28746022477194116\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.60it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 35, LOSS: 0.28418087352205207\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.60it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 36, LOSS: 0.2726544233291973\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.59it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 37, LOSS: 0.2834072403701735\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.59it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 38, LOSS: 0.2754906127114355\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.59it/s]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 39, LOSS: 0.2684616959757275\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 162/162 [01:02<00:00, 2.58it/s]"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EPOCH: 40, LOSS: 0.2592676198684875\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "from tqdm import tqdm\n",
+ "\n",
+ "epochs = 40\n",
+ "train_losses = []\n",
+ "\n",
+ "for epoch in range(epochs):\n",
+ " model.train()\n",
+ " total_epoch_loss = 0\n",
+ "\n",
+ " for input_ids, attention_mask, labels in tqdm(train_loader):\n",
+ " input_ids = input_ids.to(device)\n",
+ " attention_mask = attention_mask.to(device)\n",
+ " labels = labels.to(device)\n",
+ "\n",
+ "\n",
+ " outputs = model(input_ids, attention_mask)\n",
+ " loss = criterion(outputs, labels)\n",
+ "\n",
+ "\n",
+ " optimizer.zero_grad()\n",
+ " loss.backward()\n",
+ " optimizer.step()\n",
+ "\n",
+ " total_epoch_loss += loss.item()\n",
+ "\n",
+ " avg_loss = total_epoch_loss/len(train_loader)\n",
+ " print(f\"EPOCH: {epoch+1}, LOSS: {avg_loss}\")\n",
+ " train_losses.append(avg_loss)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "dx8gtXRJCGb7"
+ },
+ "source": [
+ "# EVALUATION LOOP"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "ot3QulWO0Qac",
+ "outputId": "8470e084-b35c-494b-b56b-e76f60973bd9"
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|██████████| 41/41 [00:15<00:00, 2.68it/s]"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "VALIDATION ACCURACY: 0.9046\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "model.eval()\n",
+ "total = 0\n",
+ "correct = 0\n",
+ "accuracies = []\n",
+ "\n",
+ "with torch.no_grad():\n",
+ " for input_ids, attention_mask, labels in tqdm(val_loader):\n",
+ "\n",
+ " input_ids = input_ids.to(device)\n",
+ " attention_mask = attention_mask.to(device)\n",
+ " labels = labels.to(device)\n",
+ "\n",
+ " outputs = model(input_ids, attention_mask)\n",
+ " _, predicted = torch.max(outputs, 1)\n",
+ "\n",
+ " total += labels.shape[0]\n",
+ " correct += (predicted == labels).sum().item()\n",
+ " accuracies.append(correct/total)\n",
+ "\n",
+ "accuracy = correct/total\n",
+ "print(f\"VALIDATION ACCURACY: {accuracy:.4f}\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "3FfXvB1lCK_3"
+ },
+ "source": [
+ "# VISUALISING THE PROCCESS"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 476
+ },
+ "id": "3Dsl1KwR8ap3",
+ "outputId": "8dca4537-ae94-4583-fba3-e00b1443e955"
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAHqCAYAAADVi/1VAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA7cBJREFUeJzs3Xd8U9X7B/BPkiZN96CLlkKhhULZlr1lFQrIlKF+C1VBEVx1gWwcKAqCioDIEkE2iDJLAZElW/ZoCxQobSndO03u94+aSOigK7lt8nm/Xnn9zM259z4nzfeXw5PznCMRBEEAERERERERERGREUnFDoCIiIiIiIiIiMwPk1JERERERERERGR0TEoREREREREREZHRMSlFRERERERERERGx6QUEREREREREREZHZNSRERERERERERkdExKERERERERERGR0TEpRURERERERERERsekFBERERERERERGR2TUkTVzJgxY+Dj41Ouc2fOnAmJRFK5ARE9hfZzl5iYKHYoRERERCbLx8cH/fv3FzsMojJhUoqokkgkklI9Dh06JHaoohgzZgxsbW3FDqNUBEHAmjVr0KVLFzg6OsLa2hpNmzbF7NmzkZmZKXZ4hWiTPsU94uLixA6RiIioTIw5rsrKysLMmTPLda1du3ZBIpHA09MTGo2mwrGYm0ePHuGDDz6Av78/lEolnJ2dERQUhD/++EPs0Irk4+NT7GexT58+YodHVC1ZiB0AkalYs2aN3vOff/4Z4eHhhY43atSoQvdZtmxZuQc9U6dOxaRJkyp0f1OnVqvxwgsvYOPGjejcuTNmzpwJa2tr/PXXX5g1axY2bdqE/fv3w93dXexQC1m8eHGRiT9HR0fjB0NERFQBxhpXAQVJqVmzZgEAunXrVqZz165dCx8fH9y+fRsHDhxAz549KxyPubh+/Tp69OiBhw8fIjQ0FK1atUJKSgrWrl2LAQMG4P3338dXX30ldpiFtGjRAu+9916h456eniJEQ1T9MSlFVEleeuklvecnTpxAeHh4oeNPysrKgrW1danvI5fLyxUfAFhYWMDCgv+zL8ncuXOxcePGQgOhcePGYfjw4Rg0aBDGjBmD3bt3GzWu0nxOhg0bBhcXFyNFREREZDjlHVcZU2ZmJn777TfMmTMHK1euxNq1a6tsUiozMxM2NjZih6GjUqkwbNgwJCcn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3bqFbdu2Ydy4cXj//fdL9T4WZ/PmzUWWIfTq1Qvu7u66587OzujUqRNCQ0MRHx+PBQsWwM/PD2PHjgUAyOXyUv0tAODbb79Fp06d8Mwzz2DcuHGoW7cubt++jZ07d5b6c6E1e/ZsHD58GP369UOdOnWQkJCAH374AbVq1UKnTp3K96YQEZFJ6tq1K1577TXMmTMH58+fR+/evSGXy3Hz5k1s2rQJCxcuxLBhw0o1JrCyskJAQAA2bNiABg0awNnZGU2aNClyTaW///4bkZGRegtYP87LywvPPPMM1q5di48++gghISH4+eefERYWhpMnT6Jz587IzMzE/v378cYbb2DgwIF49tln8b///Q/ffvstbt68qSul++uvv/Dss8/q7vXqq6/iiy++wKuvvopWrVrh8OHDupk3pWFvb69bi1OlUsHLywv79u0rcmb+559/jn379qFr164YN24cGjVqhAcPHmDTpk04cuSIbgF5oKCE79tvv8XBgwfx5ZdflioWhUKBzZs3o0ePHroxSatWrZCSkoJ169bh7NmzeO+993Rju8eNGDECL730En744QcEBQXpxQIAH3zwAXbs2IH+/ftjzJgxCAwMRGZmJi5evIjNmzfj9u3beuV+ZXX//n29mflatra2egkypVKJPXv2YPTo0Wjbti12796NnTt34uOPP9aVlw4YMADPPvsspkyZgtu3b6N58+bYt28ffvvtN7zzzju6jYj8/PwwZcoUfPLJJ+jcuTOGDBkCS0tLnDp1Cp6enpgzZ06Z+hAQEIBu3bohMDAQzs7OOH36NDZv3lzs55rIoIy40x+RWXly62JBEISuXbsKjRs3LrL90aNHhXbt2glWVlaCp6en8OGHHwp79+4VAAgHDx7UtRs9erRQp04d3XPtdrZfffVVoWuimC2Cn2wzYcKEQufWqVOn0Ha+ERERQsuWLQWFQiH4+voKP/30k/Dee+8JSqWymHfhP9qtcYt6+Pr66tpt2LBBaNmypWBpaSk4OzsLL774onDv3j3d64mJicKECROEhg0bCjY2NoKDg4PQtm1bYePGjbo2Z8+eFUaNGiXUrl1bsLS0FNzc3IT+/fsLp0+ffmqcgiAIarVaWLlypdCxY0fB3t5eUCqVQuPGjYVZs2YJGRkZxZ734osvCgCEnj17Fttmy5YtQqdOnQQbGxvBxsZGaNiwoTBh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cWsAEY382XD4HNNXxbDqj9P8tOMUD4XXUFFKREREKqz3ur/HkpglnEg6QYBHAE+1eorHWzxONfdqN9VvVfeqDG0+lKHNh5ZQpGVLRSkREREpV0wmE21Cq9AmtAr74pL4dXc8rWv7WDssERERkRtWyaUS6x5dx97Te+lcu/Mlj+jZKxWlREREpNxqEOBFgwAva4chIiIictOCKwUTXCnY2mGUK+V7xSsREREREREREbFJKkqJiIiIiIiIiEiZU1FKRERERERERETKnIpSIiIiIiIiIiJS5lSUEhERERERERGRMqeilIiIiIiIiIiIlDkVpUREREREREREpMypKCUiIiIiIiIiImVORSkRERERERERESlzKkqJiIiIiIiIiEiZU1FKRERERERERETKnIpSIiIiIiIiIiJS5lSUEhERERERERGRMqeilIiIiIiIiIiIlDkVpUREREREREREpMw5WDuAsmYYBgBJSUml0n92djZpaWkkJSXh6OhYKtcoT5Sv7bO3nJWv7bO3nJXv1RWMBwrGB3JzSnOcZU9/l5Wr7bGXPEG52irlantKO8/ijrHsriiVnJwMQHBwsJUjERERkfIiOTmZSpUqWTuMCk/jLBEREfmra42xTIad/WowLy+PU6dO4enpiclkKvH+k5KSCA4O5vjx43h5eZV4/+WN8rV99paz8rV99paz8r06wzBITk4mMDAQs1mrGtys0hxn2dPfZeVqe+wlT1Cutkq52p7SzrO4Yyy7myllNpupXr16qV/Hy8vLpv8C/53ytX32lrPytX32lrPyvTLNkCo5ZTHOsqe/y8rV9thLnqBcbZVytT2lmWdxxlj6laCIiIiIiIiIiJQ5FaVERERERERERKTMqShVwpydnRk7dizOzs7WDqVMKF/bZ285K1/bZ285K1+xFfZ0b5Wr7bGXPEG52irlanvKS552t9C5iIiIiIiIiIhYn2ZKiYiIiIiIiIhImVNRSkREREREREREypyKUiIiIiIiIiIiUuZUlCpBU6dOpVatWri4uBAeHs6mTZusHVKpeeONNzCZTEVe9evXt3ZYJWb16tX07t2bwMBATCYTixYtKvK5YRiMGTOGgIAAXF1d6dq1KwcPHrROsCXgWvk+8sgjl9zvHj16WCfYEjBx4kRatWqFp6cn1apVo2/fvhw4cKBIm4yMDJ5++mmqVKmCh4cH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c8LDw43hw4cbhmEY//nPf4zKlSsbKSkphZ///PPPhtlsNuLj4w3DMIzAwEDjtddeu2IMgDF69OjC9ykpKQZg/PrrryWWp4iIiEhZ0hhLRKxFa0qJSIXSqVMnpk2bVuSYj49P4ddt2rQp8lmbNm2Ijo4GYN++fYSFheHu7l74edu2bcnLy+PAgQOYTCZOnTpFly5drhpDkyZNCr92d3fHy8uLxMTEG01JRERExOo0xhIRa1BRSkQqFHd390umepcUV1fXYrVzdHQs8t5kMpGXl1caIYmIiIiUCY2xRMQatKaUiNiUDRs2XPK+QYMGADRo0IAdO3aQmppa+PnatWsxm83Uq1cPT09PatWqRVRUVJnGLCIiIlLeaYwlIqVBM6VEpELJzMwkPj6+yDEHBwd8fX0BmD9/Pi1btuSOO+5g7ty5bNq0iVmzZgEwcOBAxo4dy+DBg3njjTc4ffo0zzzzDA8//DB+fn4AvPHGGzz55JNUq1aNnj17kpyczNq1a3nmmWfKNlERERGRMqQxlohYg4pSIlKhLF68mICAgCLH6tWrx/79+4H8XVu++eYbnnrqKQICAvj6669p2LAhAG5ubixZsoRnn32WVq1a4ebmRv/+/Zk8eXJhX4MHDyYjI4P333+fF198EV9fX+65556yS1BERETECjTGEhFrMBmGYVg7CBGRkmAymVi4cCF9+/a1digiIiIiNkNjLBEpLVpTSkREREREREREypyKUiIiIiIiIiIiUub0+J6IiIiIiIiIiJQ5zZQSEREREREREZEyp6KUiIiIiIiIiIiUORWlRERERERERESkzKkoJSIiIiIiIiIiZU5FKRERERERERERKXMqSomIiIiIiIiISJlTUUpERERERERERMqcilIiIiIiIiIiIlLmVJQSEREREREREZEy9/+LSl5zAxQs8gAAAABJRU5ErkJggg==",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "plt.figure(figsize=(12, 5))\n",
+ "\n",
+ "# Plot Loss\n",
+ "plt.subplot(1, 2, 1)\n",
+ "plt.plot(train_losses, label='Training Loss')\n",
+ "plt.xlabel('Epoch')\n",
+ "plt.ylabel('Loss')\n",
+ "plt.title('Training Loss Over Epochs')\n",
+ "plt.grid(True)\n",
+ "plt.legend()\n",
+ "\n",
+ "# Plot Accuracy\n",
+ "plt.subplot(1, 2, 2)\n",
+ "plt.plot(accuracies, label='Test Accuracy', color='green')\n",
+ "plt.xlabel('Epoch')\n",
+ "plt.ylabel('Accuracy')\n",
+ "plt.title('Test Accuracy Over Epochs')\n",
+ "plt.grid(True)\n",
+ "plt.legend()\n",
+ "\n",
+ "plt.tight_layout()\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "Qp-5MV0JCUgw"
+ },
+ "source": [
+ "# QUICK TEST OF THE MODEL"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "cA1trKDMO0hh"
+ },
+ "outputs": [],
+ "source": [
+ "import torch\n",
+ "import torch.nn.functional as F\n",
+ "\n",
+ "def predict_sentiment(model, tokenizer, tweet, class_names=[\"Negative\", \"Neutral\", \"Positive\"], device=\"cpu\"):\n",
+ " model.eval()\n",
+ " model.to(device)\n",
+ "\n",
+ "\n",
+ " inputs = tokenizer(\n",
+ " tweet,\n",
+ " padding=\"max_length\",\n",
+ " max_length=200,\n",
+ " truncation=True,\n",
+ " return_tensors=\"pt\"\n",
+ " )\n",
+ "\n",
+ " input_ids = inputs[\"input_ids\"].to(device)\n",
+ " attention_mask = inputs[\"attention_mask\"].to(device)\n",
+ "\n",
+ " with torch.no_grad():\n",
+ " logits = model(input_ids, attention_mask)\n",
+ " probs = F.softmax(logits, dim=1)\n",
+ " confidence, predicted_class = torch.max(probs, dim=1)\n",
+ "\n",
+ " label = class_names[predicted_class.item()]\n",
+ " confidence_percent = confidence.item() * 100\n",
+ "\n",
+ " print(f\"Tweet: {tweet}\")\n",
+ " print(f\"Predicted: {label} ({confidence_percent:.2f}% confidence)\\n\")\n",
+ "\n",
+ " return label, confidence_percent\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "t4-ZrLGkO6_y",
+ "outputId": "30dacf63-63ed-4b87-93f3-c7c0ea1423ba"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Tweet: I love this product! It works perfectly for my needs.\n",
+ "Predicted: Positive (99.88% confidence)\n",
+ "\n",
+ "Tweet: This is the worst experience I've ever had with customer service.\n",
+ "Predicted: Negative (98.96% confidence)\n",
+ "\n",
+ "Tweet: It's okay, nothing special but not terrible.\n",
+ "Predicted: Positive (55.85% confidence)\n",
+ "\n",
+ "Tweet: Absolutely stunning performance by the actors, 10/10 would recommend.\n",
+ "Predicted: Positive (65.02% confidence)\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "test_tweets = [\n",
+ " \"I love this product! It works perfectly for my needs.\",\n",
+ " \"This is the worst experience I've ever had with customer service.\",\n",
+ " \"It's okay, nothing special but not terrible.\",\n",
+ " \"Absolutely stunning performance by the actors, 10/10 would recommend.\"\n",
+ "]\n",
+ "\n",
+ "for tweet in test_tweets:\n",
+ " predict_sentiment(model, tokenizer, tweet)\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "4t7KuX36Caj6"
+ },
+ "source": [
+ "# SAVING THE MODEL AND TOKENIZER FILES"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "Jkw193dVTEx7"
+ },
+ "outputs": [],
+ "source": [
+ "torch.save(model.state_dict(), 'BERT_MODEL.pth')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "Pkg3D9LATCO9",
+ "outputId": "3bc6227d-c40c-4a32-dd85-bfbd78d132e8"
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "('TOKENIZER/tokenizer_config.json',\n",
+ " 'TOKENIZER/special_tokens_map.json',\n",
+ " 'TOKENIZER/vocab.txt',\n",
+ " 'TOKENIZER/added_tokens.json')"
+ ]
+ },
+ "execution_count": 24,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "tokenizer.save_pretrained(\"TOKENIZER\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "ybaMQrv9CiO2"
+ },
+ "source": [
+ "CONCLUSION : GOT THE PRETTY GOOD ACCURACY OF 90% OVER 40 EPOCHS, THE TRAINING OF THE MODEL SEEMS LITTLE BIT UNSTABLE BUT IT'S OKAY, FURTHER I WILL MAKE A STREAMLIT WEB APPLICATION FOR THIS MODEL\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "61JCcgTuw15U"
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "9nBTe_Mpw11c"
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "-ckLLCyfw1yI"
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "8uMpwHLnw1uI"
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "YU1XFAvKw1q6"
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "Jlp7fgD4w1n1"
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "LUV8tnPnw1kg"
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "mkVh6e12w1hc"
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "ssRQ-dSow1d6"
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "sQOydoaKw1aX"
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "aDtt_Rl4w1XM"
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "HDG0N_MJw1UI"
+ },
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "accelerator": "GPU",
+ "colab": {
+ "gpuType": "T4",
+ "provenance": []
+ },
+ "kernelspec": {
+ "display_name": "Python 3",
+ "name": "python3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}