diff --git a/Neural graph module/ngm.ipynb b/Neural graph module/ngm.ipynb index 12c6bc468947ef9267a3752b1ba1d7a7419e8af5..d15eef64dccbbb0906298284dd8f5a09911d523f 100644 --- a/Neural graph module/ngm.ipynb +++ b/Neural graph module/ngm.ipynb @@ -2,18 +2,9 @@ "cells": [ { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "b:\\Programs\\Miniconda\\envs\\tdde19\\lib\\site-packages\\tqdm\\auto.py:22: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", - " from .autonotebook import tqdm as notebook_tqdm\n" - ] - } - ], + "outputs": [], "source": [ "import datasets\n", "import torch\n", @@ -29,7 +20,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -38,17 +29,9 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "cuda\n" - ] - } - ], + "outputs": [], "source": [ "# Use GPU if available\n", "device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\n", @@ -58,7 +41,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -86,45 +69,7 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "# def encode(batch):\n", - "# return tokenizer(batch, padding=\"max_length\", max_length=256, return_tensors=\"pt\")\n", - "\n", - "\n", - "# def convert_to_features(example_batch):\n", - "# input_encodings = encode(example_batch['text'])\n", - "# target_encodings = encode(example_batch['summary'])\n", - "\n", - "# labels = target_encodings['input_ids']\n", - "# decoder_input_ids = shift_tokens_right(\n", - "# labels, model.config.pad_token_id, model.config.decoder_start_token_id)\n", - "# labels[labels[:, :] == model.config.pad_token_id] = -100\n", - "\n", - "# encodings = {\n", - "# 'input_ids': input_encodings['input_ids'],\n", - "# 'attention_mask': input_encodings['attention_mask'],\n", - "# 'decoder_input_ids': decoder_input_ids,\n", - "# 'labels': labels,\n", - "# }\n", - "\n", - "# return encodings\n", - "\n", - "\n", - "# def get_dataset(path):\n", - "# df = pd.read_csv(path, sep=\",\", on_bad_lines='skip')\n", - "# dataset = datasets.Dataset.from_pandas(df)\n", - "# dataset = dataset.map(convert_to_features, batched=True)\n", - "# columns = ['input_ids', 'labels', 'decoder_input_ids', 'attention_mask', ]\n", - "# dataset.set_format(type='torch', columns=columns)\n", - "# return dataset\n" - ] - }, - { - "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -194,24 +139,7 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "# training_args = Seq2SeqTrainingArguments(\n", - "# output_dir='./models/blackbox',\n", - "# num_train_epochs=1,\n", - "# per_device_train_batch_size=1,\n", - "# per_device_eval_batch_size=1,\n", - "# warmup_steps=10,\n", - "# weight_decay=0.01,\n", - "# logging_dir='./logs',\n", - "# )\n" - ] - }, - { - "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -223,71 +151,19 @@ " self.attention_mask = attention_mask\n", " self.correct_rels = correct_rels\n", " self.relations = relations\n", - " \n", "\n", " def __len__(self):\n", " return len(self.inputs)\n", "\n", " def __getitem__(self, idx):\n", - " return self.inputs[idx], self.attention_mask[idx], self.relations.index(self.correct_rels[idx])\n", - "\n", - "\n", - "\n", - "#From scratch json creates data set.\n", - "# class MyDataset(Dataset):\n", - "# def __init__(self, json_file, transform=None):\n", - "# self.qald_data = json.load(json_file)\n", - "\n", - "# def __len__(self):\n", - "# return len(self.qald_data)\n", - "\n", - "# def __getitem__(self, idx):\n", - "# self.inputs[idx], self.attention_mask[idx], self.labels[idx]" + " return self.inputs[idx], self.attention_mask[idx], self.relations.index(self.correct_rels[idx])" ] }, { "cell_type": "code", - "execution_count": 45, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Beginning making batch\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|██████████| 408/408 [00:00<00:00, 792.24it/s]" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished with batches\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "features: tensor([[ 101, 2040, 2003, 1996, 3664, 1997, 15632, 1029, 102, 1031,\n", - " 4942, 1033, 102, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0]]) mask: tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]) label_index tensor(128)\n" - ] - } - ], + "outputs": [], "source": [ "#Prepare data\n", "\n", @@ -310,29 +186,17 @@ "metadata": {}, "outputs": [], "source": [ + "# Initialize model\n", "model = NgmOne(device)" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "ename": "NameError", - "evalue": "name 'nn' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32mc:\\Users\\Albin\\Documents\\TDDE19\\codebase\\Neural graph module\\ngm.ipynb Cell 11\u001b[0m in \u001b[0;36m<cell line: 3>\u001b[1;34m()\u001b[0m\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/Albin/Documents/TDDE19/codebase/Neural%20graph%20module/ngm.ipynb#X13sZmlsZQ%3D%3D?line=0'>1</a>\u001b[0m \u001b[39m# Train with data loader.\u001b[39;00m\n\u001b[1;32m----> <a href='vscode-notebook-cell:/c%3A/Users/Albin/Documents/TDDE19/codebase/Neural%20graph%20module/ngm.ipynb#X13sZmlsZQ%3D%3D?line=2'>3</a>\u001b[0m criterion \u001b[39m=\u001b[39m nn\u001b[39m.\u001b[39mCrossEntropyLoss()\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/Albin/Documents/TDDE19/codebase/Neural%20graph%20module/ngm.ipynb#X13sZmlsZQ%3D%3D?line=3'>4</a>\u001b[0m optimizer \u001b[39m=\u001b[39m optim\u001b[39m.\u001b[39mAdam(model\u001b[39m.\u001b[39mparameters(), lr\u001b[39m=\u001b[39m\u001b[39m0.0001\u001b[39m)\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/Albin/Documents/TDDE19/codebase/Neural%20graph%20module/ngm.ipynb#X13sZmlsZQ%3D%3D?line=5'>6</a>\u001b[0m epoch \u001b[39m=\u001b[39m \u001b[39m500\u001b[39m\n", - "\u001b[1;31mNameError\u001b[0m: name 'nn' is not defined" - ] - } - ], + "outputs": [], "source": [ "# Train with data loader.\n", - "\n", "criterion = nn.CrossEntropyLoss()\n", "optimizer = optim.Adam(model.parameters(), lr=0.0001)\n", "\n", @@ -346,7 +210,7 @@ " train = sample_batched[0]\n", " train_mask = sample_batched[1]\n", " label_index = sample_batched[2].to(device)\n", - "\n", + " \n", " # Forward pass\n", " output = model(train, train_mask)\n", " loss = criterion(output, label_index)\n", @@ -355,526 +219,15 @@ " loss.backward()\n", " optimizer.step()\n", " epoch_loss = epoch_loss + loss.item()\n", - " # if i_batch % batch_size == 0:\n", - " # print(\"Epoch\", e, \"batch:\",i_batch, ', loss =', '{:.6f}'.format(loss))\n", - " print(e+1, epoch_loss / len(sample_batched))" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Some weights of the model checkpoint at bert-base-uncased were not used when initializing BertModel: ['cls.seq_relationship.weight', 'cls.predictions.bias', 'cls.predictions.transform.dense.weight', 'cls.predictions.decoder.weight', 'cls.predictions.transform.dense.bias', 'cls.predictions.transform.LayerNorm.weight', 'cls.seq_relationship.bias', 'cls.predictions.transform.LayerNorm.bias']\n", - "- This IS expected if you are initializing BertModel from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).\n", - "- This IS NOT expected if you are initializing BertModel from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Beginning making batch\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|██████████| 408/408 [00:00<00:00, 774.16it/s]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished with batches\n", - "Epoch: 0001 loss = 5.093835\n", - "Epoch: 0002 loss = 5.084588\n", - "Epoch: 0003 loss = 5.071274\n", - "Epoch: 0004 loss = 5.054411\n", - "Epoch: 0005 loss = 5.032239\n", - "Epoch: 0006 loss = 5.012146\n", - "Epoch: 0007 loss = 5.005000\n", - "Epoch: 0008 loss = 4.997761\n", - "Epoch: 0009 loss = 4.986701\n", - "Epoch: 0010 loss = 4.971669\n", - "Epoch: 0011 loss = 4.955543\n", - "Epoch: 0012 loss = 4.943308\n", - "Epoch: 0013 loss = 4.935583\n", - "Epoch: 0014 loss = 4.925481\n", - "Epoch: 0015 loss = 4.916763\n", - "Epoch: 0016 loss = 4.909473\n", - "Epoch: 0017 loss = 4.902980\n", - "Epoch: 0018 loss = 4.897297\n", - "Epoch: 0019 loss = 4.891988\n", - "Epoch: 0020 loss = 4.886408\n", - "Epoch: 0021 loss = 4.881417\n", - "Epoch: 0022 loss = 4.877658\n", - "Epoch: 0023 loss = 4.875204\n", - "Epoch: 0024 loss = 4.873054\n", - "Epoch: 0025 loss = 4.870307\n", - "Epoch: 0026 loss = 4.867515\n", - "Epoch: 0027 loss = 4.865225\n", - "Epoch: 0028 loss = 4.863073\n", - "Epoch: 0029 loss = 4.861112\n", - "Epoch: 0030 loss = 4.859608\n", - "Epoch: 0031 loss = 4.858322\n", - "Epoch: 0032 loss = 4.856856\n", - "Epoch: 0033 loss = 4.854882\n", - "Epoch: 0034 loss = 4.851583\n", - "Epoch: 0035 loss = 4.846420\n", - "Epoch: 0036 loss = 4.841257\n", - "Epoch: 0037 loss = 4.839985\n", - "Epoch: 0038 loss = 4.838554\n", - "Epoch: 0039 loss = 4.833128\n", - "Epoch: 0040 loss = 4.830694\n", - "Epoch: 0041 loss = 4.830802\n", - "Epoch: 0042 loss = 4.829382\n", - "Epoch: 0043 loss = 4.828467\n", - "Epoch: 0044 loss = 4.828149\n", - "Epoch: 0045 loss = 4.827055\n", - "Epoch: 0046 loss = 4.824977\n", - "Epoch: 0047 loss = 4.822845\n", - "Epoch: 0048 loss = 4.821745\n", - "Epoch: 0049 loss = 4.821719\n", - "Epoch: 0050 loss = 4.821740\n", - "Epoch: 0051 loss = 4.820979\n", - "Epoch: 0052 loss = 4.819626\n", - "Epoch: 0053 loss = 4.818414\n", - "Epoch: 0054 loss = 4.817791\n", - "Epoch: 0055 loss = 4.817641\n", - "Epoch: 0056 loss = 4.817585\n", - "Epoch: 0057 loss = 4.817320\n", - "Epoch: 0058 loss = 4.816803\n", - "Epoch: 0059 loss = 4.816196\n", - "Epoch: 0060 loss = 4.815702\n", - "Epoch: 0061 loss = 4.815412\n", - "Epoch: 0062 loss = 4.815280\n", - "Epoch: 0063 loss = 4.815196\n", - "Epoch: 0064 loss = 4.815063\n", - "Epoch: 0065 loss = 4.814850\n", - "Epoch: 0066 loss = 4.814575\n", - "Epoch: 0067 loss = 4.814219\n", - "Epoch: 0068 loss = 4.813494\n", - "Epoch: 0069 loss = 4.812033\n", - "Epoch: 0070 loss = 4.810763\n", - "Epoch: 0071 loss = 4.810414\n", - "Epoch: 0072 loss = 4.810355\n", - "Epoch: 0073 loss = 4.810412\n", - "Epoch: 0074 loss = 4.810295\n", - "Epoch: 0075 loss = 4.809524\n", - "Epoch: 0076 loss = 4.808568\n", - "Epoch: 0077 loss = 4.807861\n", - "Epoch: 0078 loss = 4.807343\n", - "Epoch: 0079 loss = 4.806979\n", - "Epoch: 0080 loss = 4.806736\n", - "Epoch: 0081 loss = 4.806551\n", - "Epoch: 0082 loss = 4.806396\n", - "Epoch: 0083 loss = 4.806274\n", - "Epoch: 0084 loss = 4.806180\n", - "Epoch: 0085 loss = 4.806106\n", - "Epoch: 0086 loss = 4.806038\n", - "Epoch: 0087 loss = 4.805974\n", - "Epoch: 0088 loss = 4.805913\n", - "Epoch: 0089 loss = 4.805856\n", - "Epoch: 0090 loss = 4.805807\n", - "Epoch: 0091 loss = 4.805765\n", - "Epoch: 0092 loss = 4.805728\n", - "Epoch: 0093 loss = 4.805696\n", - "Epoch: 0094 loss = 4.805665\n", - "Epoch: 0095 loss = 4.805635\n", - "Epoch: 0096 loss = 4.805604\n", - "Epoch: 0097 loss = 4.805574\n", - "Epoch: 0098 loss = 4.805547\n", - "Epoch: 0099 loss = 4.805521\n", - "Epoch: 0100 loss = 4.805498\n", - "Epoch: 0101 loss = 4.805474\n", - "Epoch: 0102 loss = 4.805451\n", - "Epoch: 0103 loss = 4.805429\n", - "Epoch: 0104 loss = 4.805408\n", - "Epoch: 0105 loss = 4.805386\n", - "Epoch: 0106 loss = 4.805366\n", - "Epoch: 0107 loss = 4.805346\n", - "Epoch: 0108 loss = 4.805329\n", - "Epoch: 0109 loss = 4.805310\n", - "Epoch: 0110 loss = 4.805292\n", - "Epoch: 0111 loss = 4.805275\n", - "Epoch: 0112 loss = 4.805256\n", - "Epoch: 0113 loss = 4.805240\n", - "Epoch: 0114 loss = 4.805222\n", - "Epoch: 0115 loss = 4.805207\n", - "Epoch: 0116 loss = 4.805192\n", - "Epoch: 0117 loss = 4.805176\n", - "Epoch: 0118 loss = 4.805163\n", - "Epoch: 0119 loss = 4.805148\n", - "Epoch: 0120 loss = 4.805134\n", - "Epoch: 0121 loss = 4.805120\n", - "Epoch: 0122 loss = 4.805106\n", - "Epoch: 0123 loss = 4.805093\n", - "Epoch: 0124 loss = 4.805080\n", - "Epoch: 0125 loss = 4.805068\n", - "Epoch: 0126 loss = 4.805055\n", - "Epoch: 0127 loss = 4.805042\n", - "Epoch: 0128 loss = 4.805030\n", - "Epoch: 0129 loss = 4.805019\n", - "Epoch: 0130 loss = 4.805007\n", - "Epoch: 0131 loss = 4.804996\n", - "Epoch: 0132 loss = 4.804984\n", - "Epoch: 0133 loss = 4.804973\n", - "Epoch: 0134 loss = 4.804961\n", - "Epoch: 0135 loss = 4.804952\n", - "Epoch: 0136 loss = 4.804941\n", - "Epoch: 0137 loss = 4.804930\n", - "Epoch: 0138 loss = 4.804919\n", - "Epoch: 0139 loss = 4.804910\n", - "Epoch: 0140 loss = 4.804900\n", - "Epoch: 0141 loss = 4.804890\n", - "Epoch: 0142 loss = 4.804880\n", - "Epoch: 0143 loss = 4.804871\n", - "Epoch: 0144 loss = 4.804861\n", - "Epoch: 0145 loss = 4.804852\n", - "Epoch: 0146 loss = 4.804842\n", - "Epoch: 0147 loss = 4.804834\n", - "Epoch: 0148 loss = 4.804825\n", - "Epoch: 0149 loss = 4.804816\n", - "Epoch: 0150 loss = 4.804807\n", - "Epoch: 0151 loss = 4.804799\n", - "Epoch: 0152 loss = 4.804790\n", - "Epoch: 0153 loss = 4.804782\n", - "Epoch: 0154 loss = 4.804773\n", - "Epoch: 0155 loss = 4.804766\n", - "Epoch: 0156 loss = 4.804757\n", - "Epoch: 0157 loss = 4.804749\n", - "Epoch: 0158 loss = 4.804741\n", - "Epoch: 0159 loss = 4.804733\n", - "Epoch: 0160 loss = 4.804725\n", - "Epoch: 0161 loss = 4.804718\n", - "Epoch: 0162 loss = 4.804710\n", - "Epoch: 0163 loss = 4.804703\n", - "Epoch: 0164 loss = 4.804695\n", - "Epoch: 0165 loss = 4.804688\n", - "Epoch: 0166 loss = 4.804681\n", - "Epoch: 0167 loss = 4.804673\n", - "Epoch: 0168 loss = 4.804665\n", - "Epoch: 0169 loss = 4.804657\n", - "Epoch: 0170 loss = 4.804648\n", - "Epoch: 0171 loss = 4.804638\n", - "Epoch: 0172 loss = 4.804619\n", - "Epoch: 0173 loss = 4.804549\n", - "Epoch: 0174 loss = 4.803915\n", - "Epoch: 0175 loss = 4.800674\n", - "Epoch: 0176 loss = 4.797853\n", - "Epoch: 0177 loss = 4.798222\n", - "Epoch: 0178 loss = 4.800125\n", - "Epoch: 0179 loss = 4.798518\n", - "Epoch: 0180 loss = 4.797715\n", - "Epoch: 0181 loss = 4.797562\n", - "Epoch: 0182 loss = 4.797585\n", - "Epoch: 0183 loss = 4.797699\n", - "Epoch: 0184 loss = 4.797858\n", - "Epoch: 0185 loss = 4.797929\n", - "Epoch: 0186 loss = 4.797824\n", - "Epoch: 0187 loss = 4.797550\n", - "Epoch: 0188 loss = 4.796398\n", - "Epoch: 0189 loss = 4.792130\n", - "Epoch: 0190 loss = 4.789983\n", - "Epoch: 0191 loss = 4.788803\n", - "Epoch: 0192 loss = 4.793661\n", - "Epoch: 0193 loss = 4.788590\n", - "Epoch: 0194 loss = 4.788193\n", - "Epoch: 0195 loss = 4.788942\n", - "Epoch: 0196 loss = 4.789340\n", - "Epoch: 0197 loss = 4.789372\n", - "Epoch: 0198 loss = 4.789063\n", - "Epoch: 0199 loss = 4.788374\n", - "Epoch: 0200 loss = 4.787567\n", - "Epoch: 0201 loss = 4.787129\n", - "Epoch: 0202 loss = 4.787015\n", - "Epoch: 0203 loss = 4.787010\n", - "Epoch: 0204 loss = 4.787023\n", - "Epoch: 0205 loss = 4.787029\n", - "Epoch: 0206 loss = 4.787025\n", - "Epoch: 0207 loss = 4.787012\n", - "Epoch: 0208 loss = 4.786981\n", - "Epoch: 0209 loss = 4.786938\n", - "Epoch: 0210 loss = 4.786892\n", - "Epoch: 0211 loss = 4.786852\n", - "Epoch: 0212 loss = 4.786819\n", - "Epoch: 0213 loss = 4.786791\n", - "Epoch: 0214 loss = 4.786764\n", - "Epoch: 0215 loss = 4.786734\n", - "Epoch: 0216 loss = 4.786704\n", - "Epoch: 0217 loss = 4.786675\n", - "Epoch: 0218 loss = 4.786652\n", - "Epoch: 0219 loss = 4.786634\n", - "Epoch: 0220 loss = 4.786625\n", - "Epoch: 0221 loss = 4.786621\n", - "Epoch: 0222 loss = 4.786622\n", - "Epoch: 0223 loss = 4.786623\n", - "Epoch: 0224 loss = 4.786623\n", - "Epoch: 0225 loss = 4.786622\n", - "Epoch: 0226 loss = 4.786618\n", - "Epoch: 0227 loss = 4.786611\n", - "Epoch: 0228 loss = 4.786601\n", - "Epoch: 0229 loss = 4.786594\n", - "Epoch: 0230 loss = 4.786586\n", - "Epoch: 0231 loss = 4.786580\n", - "Epoch: 0232 loss = 4.786575\n", - "Epoch: 0233 loss = 4.786572\n", - "Epoch: 0234 loss = 4.786569\n", - "Epoch: 0235 loss = 4.786566\n", - "Epoch: 0236 loss = 4.786561\n", - "Epoch: 0237 loss = 4.786557\n", - "Epoch: 0238 loss = 4.786552\n", - "Epoch: 0239 loss = 4.786547\n", - "Epoch: 0240 loss = 4.786541\n", - "Epoch: 0241 loss = 4.786537\n", - "Epoch: 0242 loss = 4.786531\n", - "Epoch: 0243 loss = 4.786526\n", - "Epoch: 0244 loss = 4.786522\n", - "Epoch: 0245 loss = 4.786518\n", - "Epoch: 0246 loss = 4.786515\n", - "Epoch: 0247 loss = 4.786512\n", - "Epoch: 0248 loss = 4.786508\n", - "Epoch: 0249 loss = 4.786504\n", - "Epoch: 0250 loss = 4.786500\n", - "Epoch: 0251 loss = 4.786497\n", - "Epoch: 0252 loss = 4.786492\n", - "Epoch: 0253 loss = 4.786488\n", - "Epoch: 0254 loss = 4.786485\n", - "Epoch: 0255 loss = 4.786481\n", - "Epoch: 0256 loss = 4.786478\n", - "Epoch: 0257 loss = 4.786475\n", - "Epoch: 0258 loss = 4.786472\n", - "Epoch: 0259 loss = 4.786469\n", - "Epoch: 0260 loss = 4.786465\n", - "Epoch: 0261 loss = 4.786463\n", - "Epoch: 0262 loss = 4.786459\n", - "Epoch: 0263 loss = 4.786456\n", - "Epoch: 0264 loss = 4.786452\n", - "Epoch: 0265 loss = 4.786449\n", - "Epoch: 0266 loss = 4.786446\n", - "Epoch: 0267 loss = 4.786443\n", - "Epoch: 0268 loss = 4.786441\n", - "Epoch: 0269 loss = 4.786438\n", - "Epoch: 0270 loss = 4.786434\n", - "Epoch: 0271 loss = 4.786431\n", - "Epoch: 0272 loss = 4.786428\n", - "Epoch: 0273 loss = 4.786425\n", - "Epoch: 0274 loss = 4.786422\n", - "Epoch: 0275 loss = 4.786419\n", - "Epoch: 0276 loss = 4.786417\n", - "Epoch: 0277 loss = 4.786414\n", - "Epoch: 0278 loss = 4.786411\n", - "Epoch: 0279 loss = 4.786408\n", - "Epoch: 0280 loss = 4.786404\n", - "Epoch: 0281 loss = 4.786402\n", - "Epoch: 0282 loss = 4.786399\n", - "Epoch: 0283 loss = 4.786396\n", - "Epoch: 0284 loss = 4.786394\n", - "Epoch: 0285 loss = 4.786390\n", - "Epoch: 0286 loss = 4.786388\n", - "Epoch: 0287 loss = 4.786385\n", - "Epoch: 0288 loss = 4.786382\n", - "Epoch: 0289 loss = 4.786379\n", - "Epoch: 0290 loss = 4.786377\n", - "Epoch: 0291 loss = 4.786375\n", - "Epoch: 0292 loss = 4.786372\n", - "Epoch: 0293 loss = 4.786369\n", - "Epoch: 0294 loss = 4.786366\n", - "Epoch: 0295 loss = 4.786364\n", - "Epoch: 0296 loss = 4.786361\n", - "Epoch: 0297 loss = 4.786359\n", - "Epoch: 0298 loss = 4.786356\n", - "Epoch: 0299 loss = 4.786353\n", - "Epoch: 0300 loss = 4.786350\n", - "Epoch: 0301 loss = 4.786348\n", - "Epoch: 0302 loss = 4.786345\n", - "Epoch: 0303 loss = 4.786343\n", - "Epoch: 0304 loss = 4.786341\n", - "Epoch: 0305 loss = 4.786338\n", - "Epoch: 0306 loss = 4.786335\n", - "Epoch: 0307 loss = 4.786334\n", - "Epoch: 0308 loss = 4.786330\n", - "Epoch: 0309 loss = 4.786327\n", - "Epoch: 0310 loss = 4.786325\n", - "Epoch: 0311 loss = 4.786323\n", - "Epoch: 0312 loss = 4.786321\n", - "Epoch: 0313 loss = 4.786318\n", - "Epoch: 0314 loss = 4.786316\n", - "Epoch: 0315 loss = 4.786313\n", - "Epoch: 0316 loss = 4.786311\n", - "Epoch: 0317 loss = 4.786307\n", - "Epoch: 0318 loss = 4.786306\n", - "Epoch: 0319 loss = 4.786304\n", - "Epoch: 0320 loss = 4.786301\n", - "Epoch: 0321 loss = 4.786299\n", - "Epoch: 0322 loss = 4.786296\n", - "Epoch: 0323 loss = 4.786294\n", - "Epoch: 0324 loss = 4.786293\n", - "Epoch: 0325 loss = 4.786289\n", - "Epoch: 0326 loss = 4.786287\n", - "Epoch: 0327 loss = 4.786284\n", - "Epoch: 0328 loss = 4.786283\n", - "Epoch: 0329 loss = 4.786281\n", - "Epoch: 0330 loss = 4.786278\n", - "Epoch: 0331 loss = 4.786276\n", - "Epoch: 0332 loss = 4.786273\n", - "Epoch: 0333 loss = 4.786272\n", - "Epoch: 0334 loss = 4.786268\n", - "Epoch: 0335 loss = 4.786267\n", - "Epoch: 0336 loss = 4.786265\n", - "Epoch: 0337 loss = 4.786263\n", - "Epoch: 0338 loss = 4.786261\n", - "Epoch: 0339 loss = 4.786258\n", - "Epoch: 0340 loss = 4.786256\n", - "Epoch: 0341 loss = 4.786253\n", - "Epoch: 0342 loss = 4.786252\n", - "Epoch: 0343 loss = 4.786249\n", - "Epoch: 0344 loss = 4.786247\n", - "Epoch: 0345 loss = 4.786245\n", - "Epoch: 0346 loss = 4.786243\n", - "Epoch: 0347 loss = 4.786241\n", - "Epoch: 0348 loss = 4.786238\n", - "Epoch: 0349 loss = 4.786237\n", - "Epoch: 0350 loss = 4.786234\n", - "Epoch: 0351 loss = 4.786232\n", - "Epoch: 0352 loss = 4.786230\n", - "Epoch: 0353 loss = 4.786228\n", - "Epoch: 0354 loss = 4.786226\n", - "Epoch: 0355 loss = 4.786223\n", - "Epoch: 0356 loss = 4.786222\n", - "Epoch: 0357 loss = 4.786221\n", - "Epoch: 0358 loss = 4.786217\n", - "Epoch: 0359 loss = 4.786215\n", - "Epoch: 0360 loss = 4.786213\n", - "Epoch: 0361 loss = 4.786211\n", - "Epoch: 0362 loss = 4.786209\n", - "Epoch: 0363 loss = 4.786207\n", - "Epoch: 0364 loss = 4.786203\n", - "Epoch: 0365 loss = 4.786200\n", - "Epoch: 0366 loss = 4.786190\n", - "Epoch: 0367 loss = 4.786129\n", - "Epoch: 0368 loss = 4.785011\n", - "Epoch: 0369 loss = 4.781053\n", - "Epoch: 0370 loss = 4.779747\n", - "Epoch: 0371 loss = 4.783240\n", - "Epoch: 0372 loss = 4.779751\n", - "Epoch: 0373 loss = 4.779325\n", - "Epoch: 0374 loss = 4.779717\n", - "Epoch: 0375 loss = 4.780351\n", - "Epoch: 0376 loss = 4.780504\n", - "Epoch: 0377 loss = 4.780063\n", - "Epoch: 0378 loss = 4.779569\n", - "Epoch: 0379 loss = 4.779338\n", - "Epoch: 0380 loss = 4.779263\n", - "Epoch: 0381 loss = 4.779239\n", - "Epoch: 0382 loss = 4.779237\n", - "Epoch: 0383 loss = 4.779246\n", - "Epoch: 0384 loss = 4.779265\n", - "Epoch: 0385 loss = 4.779281\n", - "Epoch: 0386 loss = 4.779284\n", - "Epoch: 0387 loss = 4.779267\n", - "Epoch: 0388 loss = 4.779233\n", - "Epoch: 0389 loss = 4.779195\n", - "Epoch: 0390 loss = 4.779158\n", - "Epoch: 0391 loss = 4.779129\n", - "Epoch: 0392 loss = 4.779109\n", - "Epoch: 0393 loss = 4.779094\n", - "Epoch: 0394 loss = 4.779084\n", - "Epoch: 0395 loss = 4.779078\n", - "Epoch: 0396 loss = 4.779074\n", - "Epoch: 0397 loss = 4.779072\n", - "Epoch: 0398 loss = 4.779070\n", - "Epoch: 0399 loss = 4.779066\n", - "Epoch: 0400 loss = 4.779061\n", - "Epoch: 0401 loss = 4.779056\n", - "Epoch: 0402 loss = 4.779051\n", - "Epoch: 0403 loss = 4.779047\n", - "Epoch: 0404 loss = 4.779043\n", - "Epoch: 0405 loss = 4.779040\n", - "Epoch: 0406 loss = 4.779038\n", - "Epoch: 0407 loss = 4.779037\n", - "Epoch: 0408 loss = 4.779036\n", - "Epoch: 0409 loss = 4.779035\n", - "Epoch: 0410 loss = 4.779033\n", - "Epoch: 0411 loss = 4.779032\n", - "Epoch: 0412 loss = 4.779031\n", - "Epoch: 0413 loss = 4.779028\n", - "Epoch: 0414 loss = 4.779026\n", - "Epoch: 0415 loss = 4.779021\n", - "Epoch: 0416 loss = 4.779011\n", - "Epoch: 0417 loss = 4.778957\n", - "Epoch: 0418 loss = 4.778023\n", - "Epoch: 0419 loss = 4.775119\n", - "Epoch: 0420 loss = 4.772221\n", - "Epoch: 0421 loss = 4.774364\n", - "Epoch: 0422 loss = 4.772817\n" - ] - }, - { - "ename": "KeyboardInterrupt", - "evalue": "", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", - "\u001b[1;32mc:\\Users\\Albin\\Documents\\TDDE19\\codebase\\Neural graph module\\ngm.ipynb Cell 11\u001b[0m in \u001b[0;36m<cell line: 13>\u001b[1;34m()\u001b[0m\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/Albin/Documents/TDDE19/codebase/Neural%20graph%20module/ngm.ipynb#X35sZmlsZQ%3D%3D?line=17'>18</a>\u001b[0m loss \u001b[39m=\u001b[39m criterion(output, corr_indx)\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/Albin/Documents/TDDE19/codebase/Neural%20graph%20module/ngm.ipynb#X35sZmlsZQ%3D%3D?line=19'>20</a>\u001b[0m \u001b[39mif\u001b[39;00m (epoch \u001b[39m+\u001b[39m \u001b[39m1\u001b[39m) \u001b[39m%\u001b[39m \u001b[39m1\u001b[39m \u001b[39m==\u001b[39m \u001b[39m0\u001b[39m:\n\u001b[1;32m---> <a href='vscode-notebook-cell:/c%3A/Users/Albin/Documents/TDDE19/codebase/Neural%20graph%20module/ngm.ipynb#X35sZmlsZQ%3D%3D?line=20'>21</a>\u001b[0m \u001b[39mprint\u001b[39m(\u001b[39m'\u001b[39m\u001b[39mEpoch:\u001b[39m\u001b[39m'\u001b[39m, \u001b[39m'\u001b[39m\u001b[39m%04d\u001b[39;00m\u001b[39m'\u001b[39m \u001b[39m%\u001b[39m (epoch \u001b[39m+\u001b[39m \u001b[39m1\u001b[39m), \u001b[39m'\u001b[39m\u001b[39mloss =\u001b[39m\u001b[39m'\u001b[39m, \u001b[39m'\u001b[39;49m\u001b[39m{:.6f}\u001b[39;49;00m\u001b[39m'\u001b[39;49m\u001b[39m.\u001b[39;49mformat(loss))\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/Albin/Documents/TDDE19/codebase/Neural%20graph%20module/ngm.ipynb#X35sZmlsZQ%3D%3D?line=21'>22</a>\u001b[0m \u001b[39m# Backward pass\u001b[39;00m\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/Albin/Documents/TDDE19/codebase/Neural%20graph%20module/ngm.ipynb#X35sZmlsZQ%3D%3D?line=22'>23</a>\u001b[0m loss\u001b[39m.\u001b[39mbackward()\n", - "File \u001b[1;32mb:\\Programs\\Miniconda\\envs\\tdde19\\lib\\site-packages\\torch\\_tensor.py:659\u001b[0m, in \u001b[0;36mTensor.__format__\u001b[1;34m(self, format_spec)\u001b[0m\n\u001b[0;32m 657\u001b[0m \u001b[39mreturn\u001b[39;00m handle_torch_function(Tensor\u001b[39m.\u001b[39m\u001b[39m__format__\u001b[39m, (\u001b[39mself\u001b[39m,), \u001b[39mself\u001b[39m, format_spec)\n\u001b[0;32m 658\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39mdim() \u001b[39m==\u001b[39m \u001b[39m0\u001b[39m \u001b[39mand\u001b[39;00m \u001b[39mnot\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39mis_meta:\n\u001b[1;32m--> 659\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49mitem()\u001b[39m.\u001b[39m\u001b[39m__format__\u001b[39m(format_spec)\n\u001b[0;32m 660\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39mobject\u001b[39m\u001b[39m.\u001b[39m\u001b[39m__format__\u001b[39m(\u001b[39mself\u001b[39m, format_spec)\n", - "\u001b[1;31mKeyboardInterrupt\u001b[0m: " - ] - } - ], - "source": [ - "model = NgmOne(device)\n", "\n", - "EPOCHS = 1500\n", - "criterion = nn.CrossEntropyLoss()\n", - "optimizer = optim.Adam(model.parameters(), lr=0.007)\n", - "\n", - "with open(\"../data/relations-query-qald-9-linked.json\", \"r\") as f:\n", - " relations = json.load(f)\n", - "\n", - "train, train_mask, corr_rels = make_batch()\n", - "corr_indx = torch.LongTensor([relations.index(r) for r in corr_rels]).to(device)\n", - "\n", - "for epoch in range(EPOCHS):\n", - " optimizer.zero_grad()\n", - "\n", - " # Forward pass\n", - " output = model(train, train_mask)\n", - " loss = criterion(output, corr_indx)\n", - "\n", - " if (epoch + 1) % 1 == 0:\n", - " print('Epoch:', '%04d' % (epoch + 1), 'loss =', '{:.6f}'.format(loss))\n", - " # Backward pass\n", - " loss.backward()\n", - " optimizer.step()\n", - " \n" + " print(e+1, epoch_loss / len(sample_batched))" ] }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "ename": "NameError", - "evalue": "name 'make_batch' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32mc:\\Users\\Albin\\Documents\\TDDE19\\codebase\\Neural graph module\\ngm.ipynb Cell 13\u001b[0m in \u001b[0;36m<cell line: 2>\u001b[1;34m()\u001b[0m\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/Albin/Documents/TDDE19/codebase/Neural%20graph%20module/ngm.ipynb#X15sZmlsZQ%3D%3D?line=0'>1</a>\u001b[0m \u001b[39m# Predict\u001b[39;00m\n\u001b[1;32m----> <a href='vscode-notebook-cell:/c%3A/Users/Albin/Documents/TDDE19/codebase/Neural%20graph%20module/ngm.ipynb#X15sZmlsZQ%3D%3D?line=1'>2</a>\u001b[0m train, train_mask, corr_rels \u001b[39m=\u001b[39m make_batch()\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/Albin/Documents/TDDE19/codebase/Neural%20graph%20module/ngm.ipynb#X15sZmlsZQ%3D%3D?line=2'>3</a>\u001b[0m \u001b[39mwith\u001b[39;00m torch\u001b[39m.\u001b[39mno_grad():\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/Albin/Documents/TDDE19/codebase/Neural%20graph%20module/ngm.ipynb#X15sZmlsZQ%3D%3D?line=3'>4</a>\u001b[0m output \u001b[39m=\u001b[39m model(train, train_mask)\n", - "\u001b[1;31mNameError\u001b[0m: name 'make_batch' is not defined" - ] - } - ], + "outputs": [], "source": [ "# Predict\n", "train, train_mask, corr_rels = make_batch()\n",