CoolFace
Modelpublic

camilin29/github_pull_request_classifier

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
Roberta_The_best(82).ipynb3278 linesDownload Raw Back to root
1{2  "cells": [3    {4      "cell_type": "markdown",5      "metadata": {6        "id": "lskWTB7sDICC"7      },8      "source": [9        "# Installs"10      ]11    },12    {13      "cell_type": "code",14      "execution_count": 1,15      "metadata": {16        "colab": {17          "base_uri": "https://localhost:8080/"18        },19        "id": "g8BW8h1hCpPs",20        "outputId": "854874c6-f302-4dc6-adfc-03e988e4d48b"21      },22      "outputs": [],23      "source": [24        "#!pip install transformers"25      ]26    },27    {28      "cell_type": "markdown",29      "metadata": {30        "id": "0FO5e5PBDM-2"31      },32      "source": [33        "# Imports"34      ]35    },36    {37      "cell_type": "code",38      "execution_count": 2,39      "metadata": {40        "id": "Ti3CASUVDSI2"41      },42      "outputs": [43        {44          "name": "stderr",45          "output_type": "stream",46          "text": [47            "/tmp/ipykernel_2909/494893947.py:3: DeprecationWarning: \n",48            "Pyarrow will become a required dependency of pandas in the next major release of pandas (pandas 3.0),\n",49            "(to allow more performant data types, such as the Arrow string type, and better interoperability with other libraries)\n",50            "but was not found to be installed on your system.\n",51            "If this would cause problems for you,\n",52            "please provide us feedback at https://github.com/pandas-dev/pandas/issues/54466\n",53            "        \n",54            "  import pandas as pd\n"55          ]56        }57      ],58      "source": [59        "import torch\n",60        "import torch.nn as nn\n",61        "import pandas as pd\n",62        "import seaborn as sns\n",63        "import numpy as np\n",64        "from sklearn import metrics\n",65        "import shutil\n",66        "import sys\n",67        "\n",68        "\n",69        "\n",70        "import matplotlib.pyplot as plt\n"71      ]72    },73    {74      "cell_type": "markdown",75      "metadata": {76        "id": "gDLXrE6aDZef"77      },78      "source": [79        "# Create Dataframe"80      ]81    },82    {83      "cell_type": "code",84      "execution_count": 3,85      "metadata": {86        "id": "UOBvE7AuDgU1"87      },88      "outputs": [],89      "source": [90        "train_path = \"train_data_total.csv\"\n",91        "#test_path = \"/content/drive/MyDrive/datasets/multi-label/test.csv\"\n"92      ]93    },94    {95      "cell_type": "code",96      "execution_count": 4,97      "metadata": {98        "id": "v3eJD70UEAMd"99      },100      "outputs": [],101      "source": [102        "train_df = pd.read_csv(train_path)\n",103        "#test_df = pd.read_csv(test_path)"104      ]105    },106    {107      "cell_type": "code",108      "execution_count": null,109      "metadata": {},110      "outputs": [],111      "source": []112    },113    {114      "cell_type": "code",115      "execution_count": 5,116      "metadata": {117        "colab": {118          "base_uri": "https://localhost:8080/",119          "height": 206120        },121        "id": "VHAOeTZzEIM5",122        "outputId": "0e4a9c11-2e99-4fbe-f3cd-e69bb3739e00"123      },124      "outputs": [],125      "source": [126        "# train_df.head()coder = OneHotEncoder()\n",127        "transformed = coder.fit_transform(train_df[['label']])\n",128        "train_df = train_df.sample(int(len(train_df)*0.7))"129      ]130    },131    {132      "cell_type": "code",133      "execution_count": 6,134      "metadata": {135        "colab": {136          "base_uri": "https://localhost:8080/"137        },138        "id": "ANiD1MG9EPZY",139        "outputId": "a52cf8f1-f62a-4e5c-8aa4-071821a950fb"140      },141      "outputs": [142        {143          "name": "stdout",144          "output_type": "stream",145          "text": [146            "<class 'pandas.core.frame.DataFrame'>\n",147            "Index: 17684 entries, 15290 to 8458\n",148            "Data columns (total 3 columns):\n",149            " #   Column  Non-Null Count  Dtype \n",150            "---  ------  --------------  ----- \n",151            " 0   title   17684 non-null  object\n",152            " 1   body    17684 non-null  object\n",153            " 2   label   17684 non-null  int64 \n",154            "dtypes: int64(1), object(2)\n",155            "memory usage: 552.6+ KB\n"156          ]157        }158      ],159      "source": [160        "train_df.info()"161      ]162    },163    {164      "cell_type": "code",165      "execution_count": 7,166      "metadata": {167        "id": "NGBnMuizEXVq"168      },169      "outputs": [170        {171          "name": "stderr",172          "output_type": "stream",173          "text": [174            "/tmp/ipykernel_2909/1032168048.py:1: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value 'fix' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.\n",175            "  train_df.loc[train_df[\"label\"] == 0, \"label\"] = 'fix'\n"176          ]177        }178      ],179      "source": [180        "train_df.loc[train_df[\"label\"] == 0, \"label\"] = 'fix'\n",181        "train_df.loc[train_df[\"label\"] == 1, \"label\"] = 'features'\n",182        "train_df.loc[train_df[\"label\"] == 2, \"label\"] = 'deprecated'\n",183        "train_df.loc[train_df[\"label\"] == 3, \"label\"] = 'maintenance'"184      ]185    },186    {187      "cell_type": "code",188      "execution_count": 8,189      "metadata": {190        "colab": {191          "base_uri": "https://localhost:8080/",192          "height": 206193        },194        "id": "xILopZe6EkfJ",195        "outputId": "3c16db13-c5c2-476a-e1e4-e4f97efc9921"196      },197      "outputs": [198        {199          "data": {200            "text/html": [201              "<div>\n",202              "<style scoped>\n",203              "    .dataframe tbody tr th:only-of-type {\n",204              "        vertical-align: middle;\n",205              "    }\n",206              "\n",207              "    .dataframe tbody tr th {\n",208              "        vertical-align: top;\n",209              "    }\n",210              "\n",211              "    .dataframe thead th {\n",212              "        text-align: right;\n",213              "    }\n",214              "</style>\n",215              "<table border=\"1\" class=\"dataframe\">\n",216              "  <thead>\n",217              "    <tr style=\"text-align: right;\">\n",218              "      <th></th>\n",219              "      <th>title</th>\n",220              "      <th>body</th>\n",221              "      <th>label</th>\n",222              "    </tr>\n",223              "  </thead>\n",224              "  <tbody>\n",225              "    <tr>\n",226              "      <th>15290</th>\n",227              "      <td>support future updates</td>\n",228              "      <td>we need to allow configurable logic such that,...</td>\n",229              "      <td>maintenance</td>\n",230              "    </tr>\n",231              "    <tr>\n",232              "      <th>17162</th>\n",233              "      <td>restoring persistentvolumeclaim with dynamic s...</td>\n",234              "      <td>&lt;!-- this form is for bug reports and feature ...</td>\n",235              "      <td>maintenance</td>\n",236              "    </tr>\n",237              "    <tr>\n",238              "      <th>19924</th>\n",239              "      <td>redmine 4.0 compatibility</td>\n",240              "      <td>i've updated my previous pull request  95 with...</td>\n",241              "      <td>maintenance</td>\n",242              "    </tr>\n",243              "    <tr>\n",244              "      <th>6034</th>\n",245              "      <td>wrong translation: \\ criada por ..., iniciar e...</td>\n",246              "      <td>---   author name:   felipe cecagno    felipe ...</td>\n",247              "      <td>fix</td>\n",248              "    </tr>\n",249              "    <tr>\n",250              "      <th>4871</th>\n",251              "      <td>attributeerror: 'module' object has no attribu...</td>\n",252              "      <td>pythonpath=. python ./scripts/review.py merge ...</td>\n",253              "      <td>fix</td>\n",254              "    </tr>\n",255              "  </tbody>\n",256              "</table>\n",257              "</div>"258            ],259            "text/plain": [260              "                                                   title  \\\n",261              "15290                             support future updates   \n",262              "17162  restoring persistentvolumeclaim with dynamic s...   \n",263              "19924                          redmine 4.0 compatibility   \n",264              "6034   wrong translation: \\ criada por ..., iniciar e...   \n",265              "4871   attributeerror: 'module' object has no attribu...   \n",266              "\n",267              "                                                    body        label  \n",268              "15290  we need to allow configurable logic such that,...  maintenance  \n",269              "17162  <!-- this form is for bug reports and feature ...  maintenance  \n",270              "19924  i've updated my previous pull request  95 with...  maintenance  \n",271              "6034   ---   author name:   felipe cecagno    felipe ...          fix  \n",272              "4871   pythonpath=. python ./scripts/review.py merge ...          fix  "273            ]274          },275          "execution_count": 8,276          "metadata": {},277          "output_type": "execute_result"278        }279      ],280      "source": [281        "train_df.head()"282      ]283    },284    {285      "cell_type": "code",286      "execution_count": 9,287      "metadata": {288        "colab": {289          "base_uri": "https://localhost:8080/",290          "height": 467291        },292        "id": "LGjRy9EcEqBl",293        "outputId": "8c2af4de-6f57-494b-fdf4-1adf88da5821"294      },295      "outputs": [296        {297          "data": {298            "text/plain": [299              "Text(0.5, 0, 'label')"300            ]301          },302          "execution_count": 9,303          "metadata": {},304          "output_type": "execute_result"305        },306        {307          "data": {308            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAn8AAAGwCAYAAADYGAMHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAtJklEQVR4nO3de1TVdb7/8dcGZINy84KACoIppCbmXZxMKwqt44zVyaYswy5m3iLTyqZSs0THbI61up3pJJqTlJaX8pKOiaWZKQpeUCzSsNJwVETQAYXP7w+X+9dObdCQDX6ej7VYS/b3s7/7vb8787m+m+/GYYwxAgAAgBW8PD0AAAAAqg/xBwAAYBHiDwAAwCLEHwAAgEWIPwAAAIsQfwAAABYh/gAAACzi4+kB4HkVFRX66aefFBgYKIfD4elxAABAJRhjdOzYMTVp0kReXpU/n0f8QT/99JMiIyM9PQYAALgI+/btU7NmzSq9nviDAgMDJZ3+jycoKMjD0wAAgMooKipSZGSk69/xyiL+4HqrNygoiPgDAKCWudAf2eKCDwAAAIsQfwAAABYh/gAAACxC/AEAAFiE+AMAALAI8QcAAGARPuoFLtc+M1feTn9PjwEAwGUlc9ogT4/ghjN/AAAAFiH+AAAALEL8AQAAWIT4AwAAsAjxBwAAYBHiDwAAwCLEHwAAgEWIPwAAAIsQfwAAABYh/gAAACxC/AEAAFiE+AMAALAI8QcAAGAR4g8AAMAixB8AAIBFiD8AAACLEH8AAAAWIf4AAAAsQvwBAABYhPgDAACwCPEHAABgEeIPAADAIsQfAACARYg/AAAAixB/AAAAFiH+AAAALEL8AQAAWIT4AwAAsAjxBwAAYBHiDwAAwCLEHwAAgEWIPwAAAItcdvGXnJys/v37e3oMAACAGsnH0wNUtRkzZsgYc0H3cTgcWrBgAdEIAAAue5dd/AUHB3t6BAAAgBrLo2/79u7dWyNHjlRKSorq16+vsLAw/f3vf1dJSYkGDx6swMBAtWzZUsuWLZMklZeX64EHHlBMTIz8/f0VFxenGTNmuO3z12/79u7dW6NGjdITTzyhBg0aKDw8XBMmTHBtj46OliTdeuutcjgcru8ladGiRerYsaP8/PzUokULTZw4UadOnXJtdzgcevvtt3Xrrbeqbt26atWqlRYvXuzafiHzvvTSS4qIiFDDhg01fPhwnTx50rWmtLRUTz75pCIjI+V0OtWyZUv93//9n2v79u3b1bdvXwUEBCgsLEz33nuv/vWvf533uJeWlqqoqMjtCwAA2MHjP/M3a9YsNWrUSF9//bVGjhypRx55RHfccYd69OihzZs366abbtK9996r48ePq6KiQs2aNdO8efOUk5Oj5557Tk8//bQ++OCD//gY9erV04YNG/TXv/5Vzz//vFauXClJ2rhxoyRp5syZ2r9/v+v7L774QoMGDdKjjz6qnJwcvfXWW0pLS9OLL77otu+JEydqwIAB2rp1q26++WYNHDhQhw8flqRKz7t69Wrl5eVp9erVmjVrltLS0pSWlubaPmjQIM2dO1evvPKKdu7cqbfeeksBAQGSpMLCQl1//fXq0KGDNm3apOXLl+vnn3/WgAEDzns8UlNTFRwc7PqKjIysxCsFAAAuBw5zoT8gV4V69+6t8vJyffHFF5JOnykLDg7WbbfdptmzZ0uSDhw4oIiICK1fv17du3c/ax8jRozQgQMHNH/+fEmnz6QVFhZq4cKF53wMSeratauuv/56TZkyRdK5f+YvMTFRN9xwg8aNG+e6bc6cOXriiSf0008/ue73zDPPaNKkSZKkkpISBQQEaNmyZerTp885n/O55s3IyFBeXp68vb0lSQMGDJCXl5fS09O1e/duxcXFaeXKlUpMTDxrfy+88IK++OILffrpp67bfvjhB0VGRio3N1exsbFn3ae0tFSlpaWu74uKihQZGan2I9+Ut9P/nHMDAICLkzlt0CXZb1FRkYKDg3X06FEFBQVV+n4e/5m/+Ph415+9vb3VsGFDtWvXznVbWFiYJKmgoECS9Nprr+mdd95Rfn6+Tpw4obKyMl199dWVfgxJioiIcO3vfLKzs7Vu3Tq3M33l5eX697//rePHj6tu3bpn7btevXoKCgpy23dl5m3btq0r/M7Mt23bNklSVlaWvL291atXr/POuXr1ateZwF/Ky8s7Z/w5nU45nc7ffP4AAODy5PH4q1Onjtv3DofD7TaHwyHp9Fuo6enpGjNmjKZPn66EhAQFBgZq2rRp2rBhwwU/RkVFxW/ep7i4WBMnTtRtt9121jY/P79K7buy8/7WPvz9f/tMXHFxsfr166epU6eetS0iIuI37wsAAOzj8fi7EOvWrVOPHj00bNgw1215eXm/e7916tRR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t0+PPvqoVq5cKT8/P0+PY6W+ffu6/hwfH69u3bqpefPm+uCDD+Tv7+/Byc7GmT+LNWrUSN7e3mddbfTzzz8rPDzcQ1Ndns4cz9861uHh4SooKHDbfurUKR0+fNhtzbn28cvHsN2IESP0ySefaPXq1WrWrJnr9vDwcJWVlamwsNBt/a9fg/90fM+3JigoqMb9D766+fr6qmXLlurUqZNSU1PVvn17zZgxg2NfDTIzM1VQUKCOHTvKx8dHPj4+WrNmjV555RX5+PgoLCyM16CahYSEKDY2Vt9++22N+ztA/FnM19dXnTp10qpVq1y3VVRUaNWqVUpISPDgZJefmJgYhYeHux3roqIibdiwwXWsExISVFhYqMzMTNeazz77TBUVFerWrZtrzeeff66TJ0+61qxcuVJxcXGqX79+NT2bmskYoxEjRmjBggX67LPPFBMT47a9U6dOqlOnjttrkJubq/z8fLfXYNu2bW4RvnLlSgUFBalNmzauNb/cx5k1/J05W0VFhUpLSzn21eCGG27Qtm3blJWV5frq3LmzBg4c6Pozr0H1Ki4uVl5eniIiImre34ELujwEl5309HTjdDpNWlqaycnJMUOGDDEhISFuVxuhco4dO2a2bNlitmzZYiSZl19+2WzZssV8//33xpjTH/USEhJiFi1aZLZu3Wr+9Kc/nfOjXjp06GA2bNhg1q5da1q1auX2US+FhYUmLCzM3HvvvWb79u0mPT3d1K1bl496McY88sgjJjg42GRkZLh91MLx48dda4YOHWqioqLMZ599ZjZt2mQSEhJMQkKCa/uZj1q46aabTFZWllm+fLkJDQ0950ctjB071uzcudO89tprfNSFMeapp54ya9asMXv27DFbt241Tz31lHE4HGbFihXGGI69J/zyal9jeA0utccff9xkZGSYPXv2mHXr1pnExETTqFEjU1BQYIypWcef+IN59dVXTVRUlPH19TVdu3Y1X331ladHqpVWr15tJJ31dd999xljTn/cy7PPPmvCwsKM0+k0N9xwg8nNzXXbx6FDh8xdd91lAgICTFBQkBk8eLA5duyY25rs7GxzzTXXGKfTaZo2bWqmTJlSXU+xRjvXsZdkZs6c6Vpz4sQJM2zYMFO/fn1Tt25dc+utt5r9+/e77Wfv3r2mb9++xt/f3zRq1Mg8/vjj5uTJk25rVq9eba6++mrj6+trWrRo4fYYtrr//vtN8+bNja+vrwkNDTU33HCDK/yM4dh7wq/jj9fg0rrzzjtNRESE8fX1NU2bNjV33nmn+fbbb13ba9LxdxhjzIWdKwQAAEBtxc/8AQAAWIT4AwAAsAjxBwAAYBHiDwAAwCLEHwAAgEWIPwAAAIsQfwAAABYh/gAAACxC/AFALdC7d2+lpKRUam1GRoYcDsdZv0T+QkVHR+t//ud/ftc+ANQ8xB8AAIBFiD8AAACLEH8AUMu8++676ty5swIDAxUeHq67775bBQUFZ61bt26d4uPj5efnp+7du2v79u1u29euXauePXvK399fkZGRGjVqlEpKSqrraQDwEOIPAGqZkydPatKkScrOztbChQu1d+9eJScnn7Vu7Nixmj59ujZu3KjQ0FD169dPJ0+elCTl5eWpT58+uv3227V161a9//77Wrt2rUaMGFHNzwZAdfPx9AAAgAtz//33u/7cokULvfLKK+rSpYuKi4sVEBDg2jZ+/HjdeOONkqRZs2apWbNmWrBggQYMGKDU1FQNHDjQdRFJq1at9Morr6hXr15644035OfnV63PCUD14cwfANQymZmZ6tevn6KiohQYGKhevXpJkvLz893WJSQkuP7coEEDxcXFaefOnZKk7OxspaWlKSAgwPWVlJSkiooK7dmzp/qeDIBqx5k/AKhFSkpKlJSUpKSkJP3jH/9QaGio8vPzlZSUpLKyskrvp7i4WA8//LBGjRp11raoqKiqHBlADUP8AUAtsmvXLh06dEhTpkxRZGSkJGnTpk3nXPvVV1+5Qu7IkSPavXu3WrduLUnq2LGjcnJy1LJly+oZHECNwdu+AFCLREVFydfXV6+++qq+++47LV68WJMmTTrn2ueff16rVq3S9u3blZycrEaNGql///6SpCeffFJffvmlRowYoaysLH3zzTdatGgRF3wAFiD+AKAWCQ0NVVpamubNm6c2bdpoypQpeumll865dsqUKXr00UfVqVMnHThwQB9//LF8fX0lSfHx8VqzZo12796tnj17qkOHDnruuefUpEmT6nw6ADzAYYwxnh4CAAAA1YMzfwAAABYh/gAAACxC/AEAAFiE+AMAALAI8QcAAGAR4g8AAMAixB8AAIBFiD8AAACLEH8AAAAWIf4AAAAsQvwBAABY5P8Bd+1ZUbp65DMAAAAASUVORK5CYII=",309            "text/plain": [310              "<Figure size 640x480 with 1 Axes>"311            ]312          },313          "metadata": {},314          "output_type": "display_data"315        }316      ],317      "source": [318        "sns.countplot(train_df.label)\n",319        "plt.xlabel('label')"320      ]321    },322    {323      "cell_type": "markdown",324      "metadata": {325        "id": "6XHWhxO7Fdgt"326      },327      "source": [328        "# Pre-processing with one hot encoder"329      ]330    },331    {332      "cell_type": "code",333      "execution_count": 10,334      "metadata": {335        "id": "RQLT5LRgFqzd"336      },337      "outputs": [],338      "source": [339        "from sklearn.preprocessing import OneHotEncoder"340      ]341    },342    {343      "cell_type": "code",344      "execution_count": 11,345      "metadata": {346        "colab": {347          "base_uri": "https://localhost:8080/"348        },349        "id": "mFZuQURmFk72",350        "outputId": "81e995cc-af72-4bd1-c162-5710214caaca"351      },352      "outputs": [353        {354          "data": {355            "text/plain": [356              "array([[0, 0, 0, 1],\n",357              "       [0, 0, 0, 1],\n",358              "       [0, 0, 0, 1],\n",359              "       ...,\n",360              "       [0, 1, 0, 0],\n",361              "       [0, 1, 0, 0],\n",362              "       [0, 1, 0, 0]])"363            ]364          },365          "execution_count": 11,366          "metadata": {},367          "output_type": "execute_result"368        }369      ],370      "source": [371        "coder = OneHotEncoder()\n",372        "transformed = coder.fit_transform(train_df[['label']])\n",373        "transformed.toarray().astype(int)"374      ]375    },376    {377      "cell_type": "code",378      "execution_count": 12,379      "metadata": {380        "colab": {381          "base_uri": "https://localhost:8080/"382        },383        "id": "qodAe57oF1GX",384        "outputId": "2d42714d-24af-4852-81d0-9f45b1854bc5"385      },386      "outputs": [387        {388          "data": {389            "text/plain": [390              "['deprecated', 'features', 'fix', 'maintenance']"391            ]392          },393          "execution_count": 12,394          "metadata": {},395          "output_type": "execute_result"396        }397      ],398      "source": [399        "# list of categories\n",400        "coder.categories_[0].tolist()"401      ]402    },403    {404      "cell_type": "code",405      "execution_count": 13,406      "metadata": {407        "id": "Fb9MdCAhF1zw"408      },409      "outputs": [],410      "source": [411        "train_df[coder.categories_[0].tolist()] = transformed.toarray().astype(int)"412      ]413    },414    {415      "cell_type": "code",416      "execution_count": 14,417      "metadata": {418        "colab": {419          "base_uri": "https://localhost:8080/",420          "height": 293421        },422        "id": "t3DQ8ac9GFC0",423        "outputId": "6910e461-2f91-442f-ec2f-59f8506faf40"424      },425      "outputs": [426        {427          "data": {428            "text/html": [429              "<div>\n",430              "<style scoped>\n",431              "    .dataframe tbody tr th:only-of-type {\n",432              "        vertical-align: middle;\n",433              "    }\n",434              "\n",435              "    .dataframe tbody tr th {\n",436              "        vertical-align: top;\n",437              "    }\n",438              "\n",439              "    .dataframe thead th {\n",440              "        text-align: right;\n",441              "    }\n",442              "</style>\n",443              "<table border=\"1\" class=\"dataframe\">\n",444              "  <thead>\n",445              "    <tr style=\"text-align: right;\">\n",446              "      <th></th>\n",447              "      <th>title</th>\n",448              "      <th>body</th>\n",449              "      <th>label</th>\n",450              "      <th>deprecated</th>\n",451              "      <th>features</th>\n",452              "      <th>fix</th>\n",453              "      <th>maintenance</th>\n",454              "    </tr>\n",455              "  </thead>\n",456              "  <tbody>\n",457              "    <tr>\n",458              "      <th>15290</th>\n",459              "      <td>support future updates</td>\n",460              "      <td>we need to allow configurable logic such that,...</td>\n",461              "      <td>maintenance</td>\n",462              "      <td>0</td>\n",463              "      <td>0</td>\n",464              "      <td>0</td>\n",465              "      <td>1</td>\n",466              "    </tr>\n",467              "    <tr>\n",468              "      <th>17162</th>\n",469              "      <td>restoring persistentvolumeclaim with dynamic s...</td>\n",470              "      <td>&lt;!-- this form is for bug reports and feature ...</td>\n",471              "      <td>maintenance</td>\n",472              "      <td>0</td>\n",473              "      <td>0</td>\n",474              "      <td>0</td>\n",475              "      <td>1</td>\n",476              "    </tr>\n",477              "    <tr>\n",478              "      <th>19924</th>\n",479              "      <td>redmine 4.0 compatibility</td>\n",480              "      <td>i've updated my previous pull request  95 with...</td>\n",481              "      <td>maintenance</td>\n",482              "      <td>0</td>\n",483              "      <td>0</td>\n",484              "      <td>0</td>\n",485              "      <td>1</td>\n",486              "    </tr>\n",487              "    <tr>\n",488              "      <th>6034</th>\n",489              "      <td>wrong translation: \\ criada por ..., iniciar e...</td>\n",490              "      <td>---   author name:   felipe cecagno    felipe ...</td>\n",491              "      <td>fix</td>\n",492              "      <td>0</td>\n",493              "      <td>0</td>\n",494              "      <td>1</td>\n",495              "      <td>0</td>\n",496              "    </tr>\n",497              "    <tr>\n",498              "      <th>4871</th>\n",499              "      <td>attributeerror: 'module' object has no attribu...</td>\n",500              "      <td>pythonpath=. python ./scripts/review.py merge ...</td>\n",501              "      <td>fix</td>\n",502              "      <td>0</td>\n",503              "      <td>0</td>\n",504              "      <td>1</td>\n",505              "      <td>0</td>\n",506              "    </tr>\n",507              "  </tbody>\n",508              "</table>\n",509              "</div>"510            ],511            "text/plain": [512              "                                                   title  \\\n",513              "15290                             support future updates   \n",514              "17162  restoring persistentvolumeclaim with dynamic s...   \n",515              "19924                          redmine 4.0 compatibility   \n",516              "6034   wrong translation: \\ criada por ..., iniciar e...   \n",517              "4871   attributeerror: 'module' object has no attribu...   \n",518              "\n",519              "                                                    body        label  \\\n",520              "15290  we need to allow configurable logic such that,...  maintenance   \n",521              "17162  <!-- this form is for bug reports and feature ...  maintenance   \n",522              "19924  i've updated my previous pull request  95 with...  maintenance   \n",523              "6034   ---   author name:   felipe cecagno    felipe ...          fix   \n",524              "4871   pythonpath=. python ./scripts/review.py merge ...          fix   \n",525              "\n",526              "       deprecated  features  fix  maintenance  \n",527              "15290           0         0    0            1  \n",528              "17162           0         0    0            1  \n",529              "19924           0         0    0            1  \n",530              "6034            0         0    1            0  \n",531              "4871            0         0    1            0  "532            ]533          },534          "execution_count": 14,535          "metadata": {},536          "output_type": "execute_result"537        }538      ],539      "source": [540        "train_df.head()"541      ]542    },543    {544      "cell_type": "code",545      "execution_count": 15,546      "metadata": {547        "id": "g5_i7Cg4HBWY"548      },549      "outputs": [],550      "source": [551        "# union between title and body\n",552        "train_df[\"Context\"] = train_df[\"title\"] + \" - \" + train_df[\"body\"]"553      ]554    },555    {556      "cell_type": "code",557      "execution_count": 16,558      "metadata": {559        "colab": {560          "base_uri": "https://localhost:8080/"561        },562        "id": "s9qcuVlSHIp5",563        "outputId": "01832ab3-526d-4a47-fc07-979445d09c67"564      },565      "outputs": [566        {567          "data": {568            "text/plain": [569              "Index(['title', 'body', 'label', 'deprecated', 'features', 'fix',\n",570              "       'maintenance', 'Context'],\n",571              "      dtype='object')"572            ]573          },574          "execution_count": 16,575          "metadata": {},576          "output_type": "execute_result"577        }578      ],579      "source": [580        "train_df.columns"581      ]582    },583    {584      "cell_type": "code",585      "execution_count": 17,586      "metadata": {587        "id": "x7x66nOAHWUn"588      },589      "outputs": [],590      "source": [591        "# dropping useless features/columns\n",592        "train_df.drop(labels=['title', 'body', 'label'], axis=1, inplace=True)"593      ]594    },595    {596      "cell_type": "code",597      "execution_count": 18,598      "metadata": {599        "id": "2Vl8EfuPHjDf"600      },601      "outputs": [],602      "source": [603        "# rearranging columns\n",604        "train_df = train_df[['Context', 'deprecated', 'features', 'fix',\n",605        "       'maintenance']]"606      ]607    },608    {609      "cell_type": "code",610      "execution_count": 19,611      "metadata": {612        "colab": {613          "base_uri": "https://localhost:8080/",614          "height": 206615        },616        "id": "FXDes1BBHuqT",617        "outputId": "7f92c2c5-c018-4af2-8a2f-f39e99bcdd3c"618      },619      "outputs": [620        {621          "data": {622            "text/html": [623              "<div>\n",624              "<style scoped>\n",625              "    .dataframe tbody tr th:only-of-type {\n",626              "        vertical-align: middle;\n",627              "    }\n",628              "\n",629              "    .dataframe tbody tr th {\n",630              "        vertical-align: top;\n",631              "    }\n",632              "\n",633              "    .dataframe thead th {\n",634              "        text-align: right;\n",635              "    }\n",636              "</style>\n",637              "<table border=\"1\" class=\"dataframe\">\n",638              "  <thead>\n",639              "    <tr style=\"text-align: right;\">\n",640              "      <th></th>\n",641              "      <th>Context</th>\n",642              "      <th>deprecated</th>\n",643              "      <th>features</th>\n",644              "      <th>fix</th>\n",645              "      <th>maintenance</th>\n",646              "    </tr>\n",647              "  </thead>\n",648              "  <tbody>\n",649              "    <tr>\n",650              "      <th>15290</th>\n",651              "      <td>support future updates - we need to allow conf...</td>\n",652              "      <td>0</td>\n",653              "      <td>0</td>\n",654              "      <td>0</td>\n",655              "      <td>1</td>\n",656              "    </tr>\n",657              "    <tr>\n",658              "      <th>17162</th>\n",659              "      <td>restoring persistentvolumeclaim with dynamic s...</td>\n",660              "      <td>0</td>\n",661              "      <td>0</td>\n",662              "      <td>0</td>\n",663              "      <td>1</td>\n",664              "    </tr>\n",665              "    <tr>\n",666              "      <th>19924</th>\n",667              "      <td>redmine 4.0 compatibility - i've updated my pr...</td>\n",668              "      <td>0</td>\n",669              "      <td>0</td>\n",670              "      <td>0</td>\n",671              "      <td>1</td>\n",672              "    </tr>\n",673              "    <tr>\n",674              "      <th>6034</th>\n",675              "      <td>wrong translation: \\ criada por ..., iniciar e...</td>\n",676              "      <td>0</td>\n",677              "      <td>0</td>\n",678              "      <td>1</td>\n",679              "      <td>0</td>\n",680              "    </tr>\n",681              "    <tr>\n",682              "      <th>4871</th>\n",683              "      <td>attributeerror: 'module' object has no attribu...</td>\n",684              "      <td>0</td>\n",685              "      <td>0</td>\n",686              "      <td>1</td>\n",687              "      <td>0</td>\n",688              "    </tr>\n",689              "  </tbody>\n",690              "</table>\n",691              "</div>"692            ],693            "text/plain": [694              "                                                 Context  deprecated  \\\n",695              "15290  support future updates - we need to allow conf...           0   \n",696              "17162  restoring persistentvolumeclaim with dynamic s...           0   \n",697              "19924  redmine 4.0 compatibility - i've updated my pr...           0   \n",698              "6034   wrong translation: \\ criada por ..., iniciar e...           0   \n",699              "4871   attributeerror: 'module' object has no attribu...           0   \n",700              "\n",701              "       features  fix  maintenance  \n",702              "15290         0    0            1  \n",703              "17162         0    0            1  \n",704              "19924         0    0            1  \n",705              "6034          0    1            0  \n",706              "4871          0    1            0  "707            ]708          },709          "execution_count": 19,710          "metadata": {},711          "output_type": "execute_result"712        }713      ],714      "source": [715        "train_df.head()"716      ]717    },718    {719      "cell_type": "markdown",720      "metadata": {721        "id": "MHq4XROdIDIz"722      },723      "source": [724        "# Division Data"725      ]726    },727    {728      "cell_type": "markdown",729      "metadata": {},730      "source": [731        "get 15k of df_training \n",732        "get 5k validation\n",733        "get 5k testing\n",734        "\n",735        "suffle"736      ]737    },738    {739      "cell_type": "code",740      "execution_count": 20,741      "metadata": {},742      "outputs": [],743      "source": [744        "\n",745        "from sklearn.model_selection import train_test_split\n",746        "# not need\n",747        "train_size = 0.8\n",748        "df_train, df_val = train_test_split(train_df, train_size=train_size, random_state=200)\n",749        "\n",750        "# Restablecer los índices de los dataframes resultantes\n",751        "df_train.reset_index(drop=True, inplace=True)\n",752        "df_val.reset_index(drop=True, inplace=True)"753      ]754    },755    {756      "cell_type": "code",757      "execution_count": 21,758      "metadata": {},759      "outputs": [760        {761          "data": {762            "text/plain": [763              "'\\ndf_train = train_df.sample(14000)\\ntrain_df = train_df.drop(df_train.index)\\n# Restablecer los índices de los dataframes resultantes\\ndf_train.reset_index(drop=True, inplace=True)\\ndf_train.shape\\ndf_train.head()\\n'"764            ]765          },766          "execution_count": 21,767          "metadata": {},768          "output_type": "execute_result"769        }770      ],771      "source": [772        "\"\"\"\n",773        "df_train = train_df.sample(14000)\n",774        "train_df = train_df.drop(df_train.index)\n",775        "# Restablecer los índices de los dataframes resultantes\n",776        "df_train.reset_index(drop=True, inplace=True)\n",777        "df_train.shape\n",778        "df_train.head()\n",779        "\"\"\""780      ]781    },782    {783      "cell_type": "code",784      "execution_count": 22,785      "metadata": {},786      "outputs": [],787      "source": [788        "#df_train.shape"789      ]790    },791    {792      "cell_type": "code",793      "execution_count": 23,794      "metadata": {},795      "outputs": [796        {797          "data": {798            "text/plain": [799              "'\\ndf_val = train_df.sample(3500)\\ntrain_df = train_df.drop(df_val.index)\\n# Restablecer los índices de los dataframes resultantes\\ndf_val.reset_index(drop=True, inplace=True)\\ndf_val.head()\\n'"800            ]801          },802          "execution_count": 23,803          "metadata": {},804          "output_type": "execute_result"805        }806      ],807      "source": [808        "\"\"\"\n",809        "df_val = train_df.sample(3500)\n",810        "train_df = train_df.drop(df_val.index)\n",811        "# Restablecer los índices de los dataframes resultantes\n",812        "df_val.reset_index(drop=True, inplace=True)\n",813        "df_val.head()\n",814        "\"\"\""815      ]816    },817    {818      "cell_type": "code",819      "execution_count": 24,820      "metadata": {},821      "outputs": [],822      "source": [823        "#df_val.shape"824      ]825    },826    {827      "cell_type": "code",828      "execution_count": 25,829      "metadata": {},830      "outputs": [831        {832          "data": {833            "text/plain": [834              "'\\ndf_test = train_df.sample(int(3000))\\ntrain_df = train_df.drop(df_test.index)\\n# Restablecer los índices de los dataframes resultantes\\ndf_test.reset_index(drop=True, inplace=True)\\ndf_test.head()\\n'"835            ]836          },837          "execution_count": 25,838          "metadata": {},839          "output_type": "execute_result"840        }841      ],842      "source": [843        "\"\"\"\n",844        "df_test = train_df.sample(int(3000))\n",845        "train_df = train_df.drop(df_test.index)\n",846        "# Restablecer los índices de los dataframes resultantes\n",847        "df_test.reset_index(drop=True, inplace=True)\n",848        "df_test.head()\n",849        "\"\"\""850      ]851    },852    {853      "cell_type": "code",854      "execution_count": 26,855      "metadata": {},856      "outputs": [],857      "source": [858        "#df_test.shape"859      ]860    },861    {862      "cell_type": "code",863      "execution_count": 27,864      "metadata": {865        "id": "xmyZCjHFIHcr"866      },867      "outputs": [],868      "source": [869        "#from sklearn.model_selection import train_test_split\n",870        "# not need\n",871        "#train_size = 0.7\n",872        "#df_train, df_val = train_test_split(train_df, train_size=train_size, random_state=200)\n",873        "\n",874        "# Restablecer los índices de los dataframes resultantes\n",875        "#df_train.reset_index(drop=True, inplace=True)\n",876        "#df_val.reset_index(drop=True, inplace=True)"877      ]878    },879    {880      "cell_type": "markdown",881      "metadata": {882        "id": "TtI0SUuVLFSm"883      },884      "source": [885        "# Config cuda"886      ]887    },888    {889      "cell_type": "code",890      "execution_count": 28,891      "metadata": {892        "colab": {893          "base_uri": "https://localhost:8080/",894          "height": 35895        },896        "id": "3xXkZXvWLKPh",897        "outputId": "b8920f7e-878b-403e-c601-ed47e0a2c65d"898      },899      "outputs": [900        {901          "data": {902            "text/plain": [903              "'cuda'"904            ]905          },906          "execution_count": 28,907          "metadata": {},908          "output_type": "execute_result"909        }910      ],911      "source": [912        "device = 'cuda' if torch.cuda.is_available() else 'cpu'\n",913        "device"914      ]915    },916    {917      "cell_type": "markdown",918      "metadata": {919        "id": "80RunzCbNrwP"920      },921      "source": [922        "# Hyperparams"923      ]924    },925    {926      "cell_type": "code",927      "execution_count": 29,928      "metadata": {929        "id": "mHi9JpqjO59s"930      },931      "outputs": [932        {933          "name": "stderr",934          "output_type": "stream",935          "text": [936            "/home/camilo/anaconda3/envs/diplom/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",937            "  from .autonotebook import tqdm as notebook_tqdm\n"938          ]939        }940      ],941      "source": [942        "import torch\n",943        "from torch.utils.data import Dataset, DataLoader, RandomSampler, SequentialSampler\n",944        "from transformers import BertTokenizer, AutoTokenizer, BertModel, BertConfig, AutoModel, AdamW, AutoConfig\n",945        "import warnings"946      ]947    },948    {949      "cell_type": "code",950      "execution_count": 30,951      "metadata": {952        "colab": {953          "base_uri": "https://localhost:8080/",954          "height": 275,955          "referenced_widgets": [956            "31fd43492b2742b4a5ed66c037a30a36",957            "c2a5b28f8cca4c7095b3144c7cb0ef3a",958            "e46475db72ff4b449dca5988641be72b",959            "f5880873d54344ec84edeb1ddaf4b655",960            "09f484bcedca481696506aa302292017",961            "f836c319bf064054a5427cfbb0bae3ab",962            "1ad8a75785234204a603588fe6fa52eb",963            "beed68c6d9974113b3f897c4f8f97f12",964            "e516cb2f03824cd6a075ba1102cb584c",965            "1306deb9d26542f0a129b86602b20070",966            "c51aa8cb4b3b4281be8fbae971e6cfc0",967            "ccefb3a77bed4934bc8620c9eea96618",968            "ba4118af8bac437398b52f4088618d8a",969            "e611f2c5285e4eb0b3b301ddaca15897",970            "c1358f80acce4a4fb742f3ad88d47c5c",971            "0303994b723742f3ae3e5e4fbf7aac1c",972            "404ce010630b4fd2896e325a6a96da03",973            "6fb27b583b7b4b5a9b45d7380f57e7f3",974            "6d875c5ca1b04a3cbcffe2c85bd4fcc7",975            "f73c874488c84b47bb26f4bf74c19ef5",976            "417ee2ed7d854ba5a07e07308212fc70",977            "d7cb12de535246dfb25bd40a78a100de",978            "8ee059bff2a340fab759b507bce662e6",979            "26dad3c9af5b4a988e2870b33198dd95",980            "45f5eaa8ddcd4a50bc610c50ab8e25d4",981            "8881e621200d4d8daae08b370927b12e",982            "76d7d5e04ce249b9860fac9d7ca69440",983            "e44681b1e0364a4aa6a2ecde80d6f7f1",984            "41fec616acfc4d319f9c0a675538ccdf",985            "3168aa0e3b5f4803a910477920794901",986            "ad1f77ad83a043788ceb4adb171c4281",987            "7865275a314940d29bbd7324c931ccf1",988            "7971284ac34e4d1f939a4005a075f137",989            "dd8a80e85ae24ae9a78b2e12f85d63eb",990            "cad46d5f185a456db3e63f28a619c88c",991            "40296616399d4186b38c63731c808a23",992            "00304309fd3e431e8011c24d5deb3fc2",993            "202d0d9a484241c193367dc5c3bd467b",994            "a0e48c84c5c54a88b0e633a938db3537",995            "bf55bb63fd3f4bf1b4a6e388c201e044",996            "36c3ff80be65462287e1caf920cffbe4",997            "6436348ff9304cb88becfcb7b914f224",998            "7890b9b059ee4b2eab8573bc5c3387c4",999            "d72fd6b031604c968f84df5b47650219"1000          ]1001        },1002        "id": "9oJjAMmfN3g5",1003        "outputId": "1d02126b-0852-4910-fb0e-909ba81241ff"1004      },1005      "outputs": [],1006      "source": [1007        "MAX_LEN = 128\n",1008        "TRAIN_BATCH_SIZE = 40\n",1009        "VALID_BATCH_SIZE = 40\n",1010        "EPOCHS = 8\n",1011        "LEARNING_RATE = 2e-5\n",1012        "tokenizer = AutoTokenizer.from_pretrained('roberta-base')"1013      ]1014    },1015    {1016      "cell_type": "code",1017      "execution_count": 31,1018      "metadata": {1019        "id": "2H0fzTkLPNFG"1020      },1021      "outputs": [],1022      "source": [1023        "target_cols = ['deprecated', 'features', 'fix', 'maintenance']"1024      ]1025    },1026    {1027      "cell_type": "markdown",1028      "metadata": {1029        "id": "bJXkqBg9PaKw"1030      },1031      "source": [1032        "# Bert DAtaset\n"1033      ]1034    },1035    {1036      "cell_type": "code",1037      "execution_count": 32,1038      "metadata": {1039        "id": "gd5sjbowPZJS"1040      },1041      "outputs": [],1042      "source": [1043        "class BERTDataset(Dataset):\n",1044        "    def __init__(self, df, tokenizer, max_len):\n",1045        "        self.df = df\n",1046        "        self.max_len = max_len\n",1047        "        self.text = df.Context\n",1048        "        self.tokenizer = tokenizer\n",1049        "        self.targets = df[target_cols].values\n",1050        "\n",1051        "    def __len__(self):\n",1052        "        return len(self.df)\n",1053        "\n",1054        "    def __getitem__(self, index):\n",1055        "        text = self.text[index]\n",1056        "        inputs = self.tokenizer.encode_plus(\n",1057        "            text,\n",1058        "            truncation=True,\n",1059        "            add_special_tokens=True,\n",1060        "            max_length=self.max_len,\n",1061        "            padding='max_length',\n",1062        "            return_token_type_ids=True\n",1063        "        )\n",1064        "        ids = inputs['input_ids']\n",1065        "        mask = inputs['attention_mask']\n",1066        "        token_type_ids = inputs[\"token_type_ids\"]\n",1067        "\n",1068        "        return {\n",1069        "            'ids': torch.tensor(ids, dtype=torch.long),\n",1070        "            'mask': torch.tensor(mask, dtype=torch.long),\n",1071        "            'token_type_ids': torch.tensor(token_type_ids, dtype=torch.long),\n",1072        "            'targets': torch.tensor(self.targets[index], dtype=torch.float)\n",1073        "        }"1074      ]1075    },1076    {1077      "cell_type": "code",1078      "execution_count": 33,1079      "metadata": {1080        "id": "B9MMxYbtUGNd"1081      },1082      "outputs": [],1083      "source": [1084        "train_dataset = BERTDataset(df_train, tokenizer, MAX_LEN)\n",1085        "valid_dataset = BERTDataset(df_val, tokenizer, MAX_LEN)\n",1086        "# test_dataset = BERTDataset(df_test, tokenizer, MAX_LEN)"1087      ]1088    },1089    {1090      "cell_type": "code",1091      "execution_count": null,1092      "metadata": {},1093      "outputs": [],1094      "source": []1095    },1096    {1097      "cell_type": "markdown",1098      "metadata": {1099        "id": "YbImuJzMU4Lp"1100      },1101      "source": [1102        "# Data Loaders"1103      ]1104    },1105    {1106      "cell_type": "code",1107      "execution_count": 34,1108      "metadata": {1109        "colab": {1110          "base_uri": "https://localhost:8080/"1111        },1112        "id": "BLE4x0qhVEVr",1113        "outputId": "7d4f966d-7032-4f9b-d750-bba4d23212c4"1114      },1115      "outputs": [],1116      "source": [1117        "train_loader = DataLoader(train_dataset, batch_size=TRAIN_BATCH_SIZE,\n",1118        "                          num_workers=4, shuffle=True, pin_memory=True)\n",1119        "valid_loader = DataLoader(valid_dataset, batch_size=VALID_BATCH_SIZE,\n",1120        "                          num_workers=4, shuffle=False, pin_memory=True)"1121      ]1122    },1123    {1124      "cell_type": "markdown",1125      "metadata": {1126        "id": "3aj42a9iVY6O"1127      },1128      "source": [1129        "# Bert Class"1130      ]1131    },1132    {1133      "cell_type": "code",1134      "execution_count": 35,1135      "metadata": {1136        "colab": {1137          "base_uri": "https://localhost:8080/",1138          "height": 106,1139          "referenced_widgets": [1140            "fad70f84f9184908ac2fdd4403e0091b",1141            "0b694a608fb84a36a499c80a52d16cba",1142            "941115a15f0b4ef181b48706c85e8af5",1143            "3a22bb661f954aa1a557ccefc5b13d26",1144            "95c71cfb74db4a1bbe738aa6975609b4",1145            "1bff32d418d04ed88c2ff2095ff866e0",1146            "0f23725d8fb5421ea1d6182c7822bd83",1147            "912a87d594de42f5b3556776636491a8",1148            "7954c499831d46c39145fa196e965bd6",1149            "68d1659870834cc19766a5314ac8d2ae",1150            "4f94efc483964e62949a35eb3b5adf99"1151          ]1152        },1153        "id": "GVNUXnj2VR8n",1154        "outputId": "4e50950d-a87b-4f16-81ae-67815c881ed8"1155      },1156      "outputs": [1157        {1158          "name": "stderr",1159          "output_type": "stream",1160          "text": [1161            "Some weights of RobertaModel were not initialized from the model checkpoint at roberta-base and are newly initialized: ['roberta.pooler.dense.bias', 'roberta.pooler.dense.weight']\n",1162            "You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n"1163          ]1164        },1165        {1166          "data": {1167            "text/plain": [1168              "BERTClass(\n",1169              "  (bert_model): RobertaModel(\n",1170              "    (embeddings): RobertaEmbeddings(\n",1171              "      (word_embeddings): Embedding(50265, 768, padding_idx=1)\n",1172              "      (position_embeddings): Embedding(514, 768, padding_idx=1)\n",1173              "      (token_type_embeddings): Embedding(1, 768)\n",1174              "      (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",1175              "      (dropout): Dropout(p=0.1, inplace=False)\n",1176              "    )\n",1177              "    (encoder): RobertaEncoder(\n",1178              "      (layer): ModuleList(\n",1179              "        (0-11): 12 x RobertaLayer(\n",1180              "          (attention): RobertaAttention(\n",1181              "            (self): RobertaSelfAttention(\n",1182              "              (query): Linear(in_features=768, out_features=768, bias=True)\n",1183              "              (key): Linear(in_features=768, out_features=768, bias=True)\n",1184              "              (value): Linear(in_features=768, out_features=768, bias=True)\n",1185              "              (dropout): Dropout(p=0.1, inplace=False)\n",1186              "            )\n",1187              "            (output): RobertaSelfOutput(\n",1188              "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",1189              "              (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",1190              "              (dropout): Dropout(p=0.1, inplace=False)\n",1191              "            )\n",1192              "          )\n",1193              "          (intermediate): RobertaIntermediate(\n",1194              "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",1195              "            (intermediate_act_fn): GELUActivation()\n",1196              "          )\n",1197              "          (output): RobertaOutput(\n",1198              "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",1199              "            (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",1200              "            (dropout): Dropout(p=0.1, inplace=False)\n",

Showing the first 1,200 of 3278 lines. Download the file for the rest.