diff --git a/cnn_class.ipynb b/cnn_class.ipynb index 7b5f2e0..ff12760 100644 --- a/cnn_class.ipynb +++ b/cnn_class.ipynb @@ -16,7 +16,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -43,10 +43,22 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/michellegoppinger/Documents/Dokumente – Laptop von Michelle/Uni/Master/ANLP/ANLP_WS24_CA2/HumorDataset.py:56: UserWarning: Creating a tensor from a list of numpy.ndarrays is extremely slow. Please consider converting the list to a single numpy.ndarray with numpy.array() before converting to a tensor. (Triggered internally at /Users/runner/work/pytorch/pytorch/pytorch/torch/csrc/utils/tensor_new.cpp:281.)\n", + " item = {'input_ids': torch.tensor(self.data[idx], dtype=torch.float)}\n" + ] + } + ], "source": [ + "data_path = 'data/embedded_padded'\n", + "BATCH_SIZE = 32\n", + "\n", "# Definiere die Dataset-Klasse\n", "class HumorDataset(torch.utils.data.Dataset):\n", " def __init__(self, data):\n", @@ -89,7 +101,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -145,7 +157,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -153,161 +165,155 @@ "output_type": "stream", "text": [ "/Users/michellegoppinger/.pyenv/versions/3.12.3/lib/python3.12/site-packages/torch/optim/lr_scheduler.py:62: UserWarning: The verbose parameter is deprecated. Please use get_last_lr() to access the learning rate.\n", - " warnings.warn(\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Epoch 1/30: 100%|██████████| 124/124 [00:23<00:00, 5.22batch/s, loss=0.705]\n" + " warnings.warn(\n", + "Epoch 1/30: 100%|██████████| 124/124 [00:24<00:00, 5.06batch/s, loss=0.619]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Epoch 1, Train Loss: 0.6845, Val Loss: 0.6565\n" + "Epoch 1, Train Loss: 0.6914, Val Loss: 0.6590\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "Epoch 2/30: 100%|██████████| 124/124 [00:23<00:00, 5.30batch/s, loss=0.728]\n" + "Epoch 2/30: 100%|██████████| 124/124 [00:23<00:00, 5.28batch/s, loss=0.558]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Epoch 2, Train Loss: 0.6486, Val Loss: 0.6301\n" + "Epoch 2, Train Loss: 0.6490, Val Loss: 0.6382\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "Epoch 3/30: 100%|██████████| 124/124 [00:23<00:00, 5.24batch/s, loss=0.513]\n" + "Epoch 3/30: 100%|██████████| 124/124 [00:24<00:00, 5.16batch/s, loss=0.555]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Epoch 3, Train Loss: 0.6193, Val Loss: 0.6441\n" + "Epoch 3, Train Loss: 0.6189, Val Loss: 0.6538\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "Epoch 4/30: 100%|██████████| 124/124 [00:23<00:00, 5.29batch/s, loss=0.53] \n" + "Epoch 4/30: 100%|██████████| 124/124 [00:24<00:00, 5.07batch/s, loss=0.847]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Epoch 4, Train Loss: 0.5953, Val Loss: 0.6143\n" + "Epoch 4, Train Loss: 0.5968, Val Loss: 0.6346\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "Epoch 5/30: 100%|██████████| 124/124 [00:24<00:00, 5.11batch/s, loss=0.391]\n" + "Epoch 5/30: 100%|██████████| 124/124 [00:23<00:00, 5.27batch/s, loss=0.435]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Epoch 5, Train Loss: 0.5613, Val Loss: 0.6189\n" + "Epoch 5, Train Loss: 0.5725, Val Loss: 0.6492\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "Epoch 6/30: 100%|██████████| 124/124 [00:23<00:00, 5.25batch/s, loss=0.435]\n" + "Epoch 6/30: 100%|██████████| 124/124 [00:24<00:00, 5.17batch/s, loss=0.634]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Epoch 6, Train Loss: 0.5350, Val Loss: 0.6127\n" + "Epoch 6, Train Loss: 0.5332, Val Loss: 0.6225\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "Epoch 7/30: 100%|██████████| 124/124 [00:23<00:00, 5.29batch/s, loss=0.595]\n" + "Epoch 7/30: 100%|██████████| 124/124 [00:23<00:00, 5.27batch/s, loss=0.593]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Epoch 7, Train Loss: 0.5055, Val Loss: 0.6162\n" + "Epoch 7, Train Loss: 0.5018, Val Loss: 0.6441\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "Epoch 8/30: 100%|██████████| 124/124 [00:23<00:00, 5.27batch/s, loss=0.313]\n" + "Epoch 8/30: 100%|██████████| 124/124 [00:23<00:00, 5.27batch/s, loss=0.487]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Epoch 8, Train Loss: 0.4654, Val Loss: 0.6668\n" + "Epoch 8, Train Loss: 0.4776, Val Loss: 0.6643\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "Epoch 9/30: 100%|██████████| 124/124 [00:23<00:00, 5.26batch/s, loss=0.438]\n" + "Epoch 9/30: 100%|██████████| 124/124 [00:23<00:00, 5.22batch/s, loss=0.48] \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Epoch 9, Train Loss: 0.4299, Val Loss: 0.6240\n" + "Epoch 9, Train Loss: 0.4288, Val Loss: 0.6483\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "Epoch 10/30: 100%|██████████| 124/124 [00:23<00:00, 5.23batch/s, loss=0.561]\n" + "Epoch 10/30: 100%|██████████| 124/124 [00:24<00:00, 5.12batch/s, loss=0.328]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Epoch 10, Train Loss: 0.3863, Val Loss: 0.6328\n" + "Epoch 10, Train Loss: 0.3805, Val Loss: 0.6563\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "Epoch 11/30: 100%|██████████| 124/124 [00:23<00:00, 5.28batch/s, loss=0.321]\n" + "Epoch 11/30: 100%|██████████| 124/124 [00:23<00:00, 5.24batch/s, loss=0.373]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Epoch 11, Train Loss: 0.3553, Val Loss: 0.6676\n", + "Epoch 11, Train Loss: 0.3523, Val Loss: 0.6816\n", "Early Stopping ausgelöst!\n" ] } @@ -396,12 +402,12 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 5, "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAArwAAAHWCAYAAACVPVriAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAdi5JREFUeJzt3QdcVeX/B/APeyigiAgi7okLJ+LeM83U3DmztEzLzNJKsywzzcwyLUvNzFGao8y9B6KCe+BCcbFUhiCb/+v79L/8WCrohcO9fN6v1xHOueee+9zz3Cvf+9zv+T4mqampqSAiIiIiMlKmWjeAiIiIiCgvMeAlIiIiIqPGgJeIiIiIjBoDXiIiIiIyagx4iYiIiMioMeAlIiIiIqPGgJeIiIiIjBoDXiIiIiIyagx4iYiIiMioMeAloicaNmwYypcv/0z3/eSTT2BiYoLC5Pr16+o5L1u2DAWFtEXadPz4cbVk1z5du+fMmYOCZu/evapt8lMfr0tDpHsvhYeHa90UIoPEgJfIQMkfv5ws6YMEMnznz59XwY8EqDnVsmVL/Pbbb6hYsaJa5HfZRlkDysctwcHBWjeRiJ6D+fPcmYi0I0FLesuXL8eOHTuybK9Ro8ZzPc7ixYuRkpLyTPf96KOP8MEHHzzX41PWgHf69Olo3bp1jkc4dYGuzuDBg2Honud1+SQLFy5E0aJFs2wvVqyY3h+LiPIPA14iA5U5aDly5IgKeJ8WzMTGxsLW1jbHj2NhYfHMbTQ3N1dLYZCUlJQnAZixiYmJQZEiRZ77OM/zunySPn36wMnJKU+OTUTaYUoDkRGTUcBatWrBz89PfYUtge6UKVPUbRs3bkS3bt1QunRpWFlZoVKlSvjss8+QnJyc4RiZcyXT53r+9NNP6n5y/0aNGuHYsWNPzeGV9bFjx2LDhg2qbXLfmjVrYuvWrVnaL+kYDRs2hLW1tXqcH3/8MdtjSqDfvHlzNQono3PVqlVLe54hISEq6JZR0cwCAgLUsb7//vu0bREREXj77bfh7u6u2la5cmXMmjUrQzCb/hzMmzcv7RzI6Ovj+kGWzLLLQ129ejUaNGgAOzs72Nvbo3bt2vj222/VbZJ3+/LLL6vf27Rpk6O0ldw8ts4333yDcuXKwcbGBq1atcLZs2ez7HPx4kUVHDo6Oqr+kX7atGlTtrnD+/btwxtvvAFnZ2eUKVMGT3Lr1i307NlTBcWy/zvvvIP4+PgctV/6SPpDXk/SplKlSuH111/HgwcPoO984jVr1qjXmIuLi2prjx49cPPmzSz7//nnn6o/5VxKIC0fSG/fvp3t+ezbty9Kliyp9pXX8IcffphlP3l9ynOX17qDgwOGDx+uPsRmtmLFirTHlT7q379/lvbp/n+Q1628nuT/Bzc3N3z11VfPfZ6ICprCMfRCVIjdu3cPXbp0UX/w5I+tBAG6YESCwwkTJqifu3fvxtSpUxEVFYXZs2c/9bgrV65EdHS0CigkAJA/kr169cK1a9eeOvp28OBB/PXXXyoIksBu/vz56N27N4KCglCiRAm1z4kTJ9C5c2e4urqqYFUC8U8//VQFBOmdO3cOL7zwAurUqaNul8DzypUrOHTokLpdnq8EbX/88QemTZuW4b4StJiZmaUFkRI4yL4SkMjzKlu2LA4fPozJkyfj7t27KphKb+nSpYiLi8Nrr72mHlcCi+cZ5ZXAfcCAAWjXrp0KssWFCxfUcxk/frz60DJu3Dh1viTY0qWrPG/aSubUGOnXN998Uz03Cbbbtm2LM2fOpL125Jw3a9ZMBUeSsiIBn5xfCVTXrVuHl156KcMxpZ+l3+T1JSO8j/Po0SP13OV1IM9TPoxJio68NnNC+kxe1xIEyv0DAwPVhxl5Lck5zMmo8P3797Nskw9MmVMaPv/8c/W6f//99xEaGqpeG+3bt8fJkydVkCl0bZEPgzNnzlQfvuR8SlukTbpjnj59Gi1atFDtk9eSBPJXr17F33//rR4nPQmKK1SooI7n7++Pn3/+WX0w0L1edG37+OOP1b6vvvoqwsLC8N1336nXT/rHFfJhQN5n8t6V/deuXauek3zQkv83iIxGKhEZhTfffDM181u6VatWatuiRYuy7B8bG5tl2+uvv55qa2ubGhcXl7Zt6NChqeXKlUtbDwwMVMcsUaJE6v3799O2b9y4UW3/+++/07ZNmzYtS5tk3dLSMvXKlStp206dOqW2f/fdd2nbunfvrtpy+/bttG2XL19ONTc3z3DMb775Rq2HhYU99tz8+OOPap8zZ85k2O7h4ZHatm3btPXPPvsstUiRIqmXLl3KsN8HH3yQamZmlhoUFJThHNjb26eGhoZm2Fd329KlSzP0gyyZZT6348ePV8dMSkp67HP5888/1fH37NmTmhM5fWxdu21sbFJv3bqVtt3X11dtf+edd9K2tWvXLrV27doZXicpKSmpTZs2Ta1SpUraNjkHct/mzZs/8TnpzJs3T+3/xx9/pG2LiYlJrVy5cpbnnLn9Bw4cUPv8/vvvGY65devWbLdnpnutZrdUq1YtbT9pg2xzc3NLjYqKStsubZbt3377rVpPSEhIdXZ2Tq1Vq1bqo0eP0vb7559/1H5Tp05N29ayZctUOzu71Bs3bmRok5zTzO0bMWJEhn1eeukl9V7UuX79unqtfv755xn2k9e+vHfSb9f9/7B8+fK0bfHx8akuLi6pvXv3fuL5IjI0TGkgMnIy8iijTJnpRqGEjOhJuSMZZZJRTvl69Wn69euH4sWLp63LfYWM8D6NjIRJGoCOjM7K1/e6+8po7s6dO9WIoYzy6Uh6QeZRJ91olaRoPG50VUavZJRORnR15Gt6+SpXnkf6r5/lecjzkvOhW6S90qb9+/dnOK6MSmcecX4e8lxkBFRGerUi51xGbnUaN24MLy8v/Pvvv2kjoDLiKqOButeNLPJNQqdOnXD58uUsX9mPGjVKjaQ/jTyGjOhLqoSOfM0uo55PI30nX/F36NAhQ9/J1/ryDcaePXty9PxlhFrOf/pFRvIzGzJkiPp2QkfaLG3XnScp/yYjvzK6LekVOpJGVL16dWzevFmty+irvK5GjBihvlFIL7uSfqNHj86wLq9XOffyzYyQb07kfSD9k/48SOpFlSpVspwHOTfp8/4tLS1Vn+fkfUxkSJjSQGTkJHiRP2KZydfSUkVBghfdH0udyMjIpx438x9nXfCbk3zJzPfV3V93XwkU5OttCXAzy7xNAlb5Wle+upWv1+UrcQlwJQAxNf3vM73kTsp2+dpd8pSFBL8SBMu+OhKsydfLjwtipV3pyVfL+iTBkbRRgnrpt44dO6rARb5yzi8SFGVWtWpV1S4h6SIyUC9fmcvyuPOUPmjO6Xm6ceOG6t/MgZ7ksz6N9J28buXr/ce1KSfka/+cXLSW+TxJm6XtunJx8lwe13YJeCWtR+gCS8mlzYknve/kQ6OcB+mf7PpRZE7rkJzqzOdbjinvAyJjwoCXyMilH8lNf+GL5KrKH0jJe5XRVhmFkpxAyd/LSR7q40bs/stayLv7Zvf8ZIRMRq5k1EwufpNgVvJOt2/fnvZYksMsI92SY+np6akCOAmC0wc38rxlhHDSpEnZPpYEfpkfOyckoMjuuWW+QFCCNWnftm3bsGXLFrXI6KKMJv766685eqxnfeyc0r02Jk6cqEZ0s5P5Q0lOz9PzkHbJ+fv999+zvV2fI/Faetp7R86D9Lm8drLbN3PJNX2+F4kKMga8RIWQXGkuX4PK15/pJyCQi3wKAglcJACX0cTMstsmI7kSvMoyd+5cfPHFF+oKdwmCJR1B91W9XNSkS2u4dOmSuhgtPQn8Hz58mHYffZERs+y+ItaNAqYno/Hdu3dXiwQvMuor1SlkNDW70U99PraQEcLM5FzpKiLo6vnKSKG+z5NUhpBUEwm20j9PqabxNNJ3kgYjF9PlR4Cd+TxJm+W1Kek5uueia7t8+EpPtulu153P7CphPAs5D9IWGVXP/AGNqDBjDi9RIaQb1Uk/ipOQkIAffvgBBaV9EkxJ6bI7d+6kbZeAQkaunnZVvYzgivTlrCQ/VkYkZWRXSn9JYClBcHqSPuDj46NGWLMbFZdau88ahEhetORr6pw6dSqtkoSOfAjJHMjrAijdc9HVsJX26POxdeScp8/BPXr0KHx9fdNyp+XDiJSzkiBcKldklv5xcqtr166qv6VSgI7klEv5u6eRvpNRa13KSnrSbzk9X7mtZqEjbZbzoTtPUqZNztWiRYsyvA7l9SuVNySXVzfyLB86lyxZoqpTPO8oq6ToyPtHKptkvr+sZ36NERUWHOElKoSaNm2qRv6GDh2qyjfJaJqUfypIX2NKvV1JSZARuzFjxqhgRkpMSa6jfO2vIykZktIgAYSMmkmupgTukpsotXkz5/vKBTpyuwS/mUtNvffee6qWrJQ5k1qncsGTXEQmJbkkoJH8zGeZlEAuSJKRZ3nMkSNHqjZKICT1YtPnT0sesgTwMiIo7ZdRWCknJQG8rvSY/C4BjZShkpxVuShR9n9c7mpOH1tHRpHlvMk5l0BNym1Jqbj0aR4LFixQ+0jpKrkgTUYppeSWfFiQOroSUD8LOZb0saRwSO1ouQhMXpc5mShFUnRkBF/KdcnrQ/KfZRRaRmLlgjYpB5b+YrjHkX7ObqY1SXXRlWUTUoJOzoGkychzl/Mk506eg5DHlj6S26VtUm5OV5ZMRsulvrCOlJmTY9WvX19doCejs/JakxSd9K/1nH7AmTFjhvr2Qo4hH+rk4jr59mb9+vXq+JKOQlToaF0mgojytixZzZo1s93/0KFDqU2aNFFlqEqXLp06adKk1G3btj21/JOufNXs2bOzHFO2S/mkp5Ulk7ZmJo8hj5Xerl27UuvVq6fKmFWqVCn1559/Tn333XdTra2tM+zz4osvqucg+8nPAQMGZCktJqSMlDxfacOKFSuyPS/R0dGpkydPVqWw5HhOTk6q3NacOXNUqamnnYPsypIJebyKFSuqY3p6eqpznfncrl27NrVjx46qnJXsV7ZsWVUq7u7duxmOtXjxYnUsKT+VkxJlOXns9M/p66+/TnV3d0+1srJKbdGihSobl9nVq1dThwwZokpYWVhYqDJdL7zwgnoOmcuSHTt2LDWnpDRXjx49VEk6OfdSqk1XWuxJr0udn376KbVBgwaqn6XUl5RPk9f2nTt3nrksWfrH1pUlW7VqlXqdSF/JY3Xr1i1LWTGxZs0a9RqWc+no6Jg6aNCgDGXfdM6ePatKjBUrVky9vqUU2scff5ylfZnL7+nOsfRfeuvWrVPl4KTMnizVq1dX77uAgICn/v/wuHNLZMhM5B+tg24iopySESupMJFdrilRfuS/y6xkMmqckxFjIioYmMNLRAWWlCZLT4JcqXOa3VS5REREj8McXiIqsCQ3VHJp5afksy5cuFBdbPa4smFERETZYcBLRAWWTLiwatUqBAcHq4uzvL29VcmxxxXVJyIiyg5zeImIiIjIqDGHl4iIiIiMGgNeIiIiIjJqzOHNhkznKbP9SLHu3E7jSURERER5T7JyZcbD0qVLq5kpn4QBbzYk2HV3d9e6GURERET0FDdv3lSzUz4JA95syMiu7gTa29tr3RyjkJiYqKaJ1U33SYaF/Wf42IeGj31o2Nh/+ifTo8sApS5uexIGvNnQpTFIsMuAV39vdFtbW3U++UY3POw/w8c+NHzsQ8PG/ss7OUk/5UVrRERERGTUCkTAu2DBApQvXx7W1tbw8vLC0aNHH7uvTCkqkXzmpVu3bhmSmKdOnQpXV1fY2Nigffv2akpSIiIiIip8NA9416xZgwkTJmDatGnw9/dH3bp10alTJ4SGhma7/19//YW7d++mLWfPnoWZmRlefvnltH2++uorzJ8/H4sWLYKvry+KFCmijhkXF5ePz4yIiIiICgLNc3jnzp2LUaNGYfjw4WpdgtTNmzdjyZIl+OCDD7Ls7+jomGF99erVKidGF/DK6O68efPw0Ucf4cUXX1Tbli9fjlKlSmHDhg3o379/vjwvIiIiYyJ/X5OSkpCcnKx1Uww2h9fc3FwNvvEc5owMaMo500eJWE0D3oSEBPj5+WHy5Mlp26SOmqQg+Pj45OgYv/zyiwpiZRRXBAYGIjg4WB1Dx8HBQaVKyDGzC3jj4+PVkv6qP92LUxZ6frrzyPNpmNh/ho99aPi07EN5zJCQEDx69CjfH9uYPjC4uLggKCiINf5zQVJTZdAyuwv9cvNe0DTgDQ8PV59y5ImkJ+sXL1586v0l11dSGiTo1ZFgV3eMzMfU3ZbZzJkzMX369CzbpXyIjB6T/uzYsUPrJtBzYP8ZPvah4dOiD+VvaNGiRdW3rDLiRpQf5BuF+/fv4/Tp0+oDV2axsbE5PpZBv2ol0K1duzYaN278XMeREWbJI85c101q5bEsmX7IpzD5T7pDhw4sx2KA2H+Gj31o+LTqQ/kGVEYly5Yty0EgPcwKxllcc0fiMHn91apVC1ZWVhlu030jX+ADXicnJ5WfkTlql3UZ9n+SmJgYlb/76aefZtiuu58cQ6o0pD+mp6dntseSE5j5JAr5D4V/GPSL59Swsf8MH/vQ8OV3H8o3sRKgycju06ZvpcdLSUlRP+Vc8jzmnC6HV35mft3n5n2g6Rm3tLREgwYNsGvXrgwvCFn39vZ+4n3//PNP9alz8ODBGbZXqFBBBb3pjymfAKRaw9OOSURERETGR/OUBkklGDp0KBo2bKhSE6TCgoze6qo2DBkyBG5ubirPNnM6Q8+ePVGiRIkM2+VTwNtvv40ZM2agSpUqKgD++OOPUbp0abV/QZOckoqjgfcRGh0HZztrNK7gCDNTftVBREREZDQBb79+/RAWFqYmipCLyiTtYOvWrWkXnUneRuah/4CAABw8eFBdVJadSZMmqaD5tddeQ0REBJo3b66OKRNbFCRbz97F9L/P427k/+oDuzpYY1p3D3Su9b90DCIiImNgDIM8MlGWDKzJkhN79+5FmzZtcO/ePYNPZbh+/boaSDxx4sRj00QLKs0DXjF27Fi1PO6Fklm1atVU8vfjyCiv5PZmzu8taMHumBX+yPwsgiPj1PaFg+sz6CUiIqOR34M8T7swTCa8+uSTT3J93GPHjqWVQs2Jpk2bqomypESqXLRG/7Ns2TL1wUEGJ/OaYX/UMOBPuPKmzy5k122T22U/IiIiQ6cb5Ekf7KYf5JHb9S39rKySLilX+6ffNnHixCyTauREyZIlc1WtQq5XkmuLDL0yQ0JCAgwZA14NyNc5md/06UmYK7fLfkRERAWNBIixCUk5WqLjEjFt07knDvJ8sum82i8nx3vSN7zpSZCpW2R0VQJO3brU+pfyYFu2bFEXz0ulJkmVvHr1qpqlVVd3uFGjRti5c2eWlAYJoHXkuD///DNeeuklFQjL9UObNm3K8E217KMbxZRRzWLFimHbtm2oUaOGepzOnTurIFxHgu9x48ap/eRapffff19d75T+WqS1a9eq0qwyMYPsIxNuSTqnpHtKCmfmUdPx48ejbdu2aevyfFu0aKHuL6VY5fHk/umf52effaaupZIPC5ImmpnuuaQns9qmD+5PnTqlUjrkfMtx5HwfP35cnRe5XisyMlLtL8uzjLgbVEpDYSO5S/rcj4iIKD89SkyGx9RtejmWhK/BUXGo/Un21+Vkdv7TTrC11E/48sEHH2DOnDmoWLEiihcvjps3b6Jr1674/PPPVRC8fPlydO/eXV07JHWIH0cmr/rqq68we/ZsfPfddxg0aBBu3LihJurIjkyYII/722+/qbxeqTglI86///67un3WrFnq96VLl6qg+Ntvv1WBpASOQoLjAQMGqMeUQFtSJQ4cOKA+DLRr104FoevWrcPIkSPTSsutWbNGPS8hgb0E2XKB/5IlS9S1VLr0UnlMHWmjXGMl6R/PSs5FvXr1sHDhQlWK9uTJk6qcmKR6yAcHOb6cXyHBf15hwKsBSdTX535ERESUe3Ktj0zkoSMBat26ddPWZYRz/fr1asT2cdcaiWHDhqkAVHzxxReYP3++mg1WgsrHTSKyaNEiVKpUSa3LsdNfdyRBs0yKJcGs+P777/Hvv/+m3S4Br4wC9+rVC+XKlVPbZLRXp3///li5cmVawLtr1y414tu7d2+1LpWvJBDVXXgno9LS5latWqnAVHeRv4wIv/vuuxkuWsstKT7w3nvvoXr16mmPpZN+5D2vMeDVgFyVKon6krv0uC9mLM1MUN6JM9oQEVHBY2NhpkZac0LS84YtPfbU/ZYNb6T+PubksfVFSqKm9/DhQ/W1+ubNm9OCykePHqmg7Unq1KmT9rtc0CZf3YeGhj52f0l90AW7QibK0u0vX/HLZFnpZ5GVkVFJBdBNXiFBuYzkSpDbqVMnNTNsnz591Ci1kGC2SZMmuHPnjirL+vvvv6Nbt25p6QeSZiDT9epGlIWMDsvxAwMD1ahydufnWcvPvvrqq2o0W9IuXn755QzPPb8wh1cDUoJFrkoVj0thT0hOxYvfH8Kx68zjJSKigkVG5SStICdLiyol1SDP4/7eyXa5XfbLyfH0efFX5moLklYgI7oySispAvL1uwSVT7tgK/OMX9JGXXCa0/1zmpusC4BlmmnJQfbw8FAjwlLBSoJVIbnHElTKjLQSsK9fv14FwekD+9dff109P90iQfDly5czBKNPq0Yh6RiZ2y2j1+nJB4hz586pgHv37t2qvdKe/MaAVyNSgkVKj7k4ZExbkDf9Jz08ULVUUYRGx6P/T0fw84FruXojEBERGcIgj25dbi8I9XgPHTqk0hMklUACXfmq/Vm+xn8e8jW/XDQn5c90JAfX398/S5DcrFkzlT8sdXGlGkT6QFICXBnB/fvvv1VgKgGnTv369XH+/HlUrlw5yyLHySmpWCH5w+kvdpPgObOqVavinXfeURfUSRqGLk9YHkueW35gSoPGQW8HD5dsi3D3beiOyX+dwcaTdzBj8wWcuBmBWb3roKgVu4yIiAxzkCdzHV6XAjbZkuSX/vXXX+pCNQkoZabWJ43U5pW33npL5dlKACq5rzKC++DBg7TRbV9fX5WXK6kMzs7Oal0uPNOlIugCXhldlQvV+vTpoy7C05GqD5LyILnDkm4gI7kSAMuoseQL55SXl5dKz5gyZYqq8iDtkMoNOjK6LPm78vgyYcWtW7dUIK/LJZZKEDLaLM9F0jTkWLkp+ZYbjJ40JsGtd6WM0yML+dpmXj9P1C9bHDM2n8fm03dx8W4UFg1ugCql7DRpKxERUV4M8hQUc+fOxYgRI1QFAScnJxUYRkVF5Xs75HFl9lkpCSbpC1ISTHJ15XchOcL79+9XVQ6kfXLh2tdff40uXbqkHUOCZckDlovn5qUro6bLOd63bx8+/PBDVZpMvkWWVAaZ/TY35CK/FStWqKB28eLFKq9YgmxdCTNpr8wwJ89D8pLlnMoIr4xKCznPo0ePVo8r+z3rZCA5YZLK78qzkBePfKUgiePyotKa340HePN3f1W2xdbSTI30dq9bGoZEcnrkClMp95I5d4kKPvaf4WMfGj6t+jAuLk7lhsoIne7qfco9GSmW+ELiitxOMSz3ldHbvn37qsoRhUncE15/uYnXmMNrABqUK47N45qjWeUSiE1IxlurTmD63+eQkJT/X7MQERFR3pIavjJieunSJZw5cwZjxoxRQd/AgQO1bprBYsBrIEoUtcLyEV54s81/V08uPXQdAxYfUaXNiIiIyHjICLDkwkq1BbkwTYJemfEtfY4u5Q5zeA2I5Dm916k6PN2LY8IfJ1WqwwvfHcD8AfXQtJKT1s0jIiIiPZCpfqViBOkPR3gNUAePUvjnreao4WqP8IcJGPyzLxbtu8rSZURERETZYMBroMqVKIK/xjRF7/plkJIKfLnlIl7/zQ9RcRkLPhMREekDB1XIkF93DHgNmI2lGea8XAdfvFQblmam2H4+RM3OdjE4/0uoEBGRcdJVhIiNjdW6KVQIxf7/6+55K5Mwh9fASRHqgV5lUbO0Pd743R+B4THoueAQZvaqjZfqldG6eUREZOCklmqxYsUQGhqq1mViAH1O71tYSGkxmaJYymzltixZYR3ZjY2NVa87ef3pahA/Kwa8RqKuezGV1zt+zUnsvxSGd9acgv+NCHz0Qg1YmT/fi4SIiAo3mWJX6IJeerYATmYes7Gx4QeGXJBgV/f6ex4MeI1I8SKWWDqsEb7ddRnzd13Gb0du4MztSPwwqD5KF7PRunlERGSgJEBzdXVV09jKBBiUe3LeZHa0li1bcvKXHJLz9LwjuzoMeI2wdNmEDlVRz70Y3l5zEidvRuCF7w5ifv96aF6FpcuIiOjZSfChrwCksJHzlpSUpGYLY8Cb/5hEYqTaVHdWKQ613OxxPyYBryzxxfe7LyNFSjoQERERFSIMeI2Yu6Mt1o5uiv6N3CFVPeZsv4TXfjuOyFh+HUVERESFBwNeI2dtYYYve9fBV73rwNLcFDsvhKL79wdx7k6k1k0jIiIiyhcMeAuJvo3c1UQV7o42CLofi14/HMafx29q3SwiIiKiPMeAtxCp5eaAf8a2QNvqzohPSsF7a09j8l+nEZeYrHXTiIiIiPIMA95CxsHWAj8PaYh3O1SFlAFcdfQmXl7kg5v3OYMOERERGScGvIWQqakJ3mpXBb8Ob4zithaqVq/k9e4NYEFxIiIiMj4MeAuxllVL4p9xLVC3jAMiYhMxfNkxzNt5iaXLiIiIyKgw4C3k3IrZ4I/R3hjcpKwqXTZv52UV+D6ISdC6aURERER6wYCXYGVuhhk9a2Nu37qwtjDFvkthana207citG4aERER0XNjwEtpetUvg/VvNEP5Era4HfEIfRb6YKVvEFJl6JeIiIjIQDHgpQxquNpj49jm6OBRCgnJKZiy/owqX8bSZURERGSoGPBSFg42FvhxcAO837k6TE2AtX638NIPh3HjXozWTSMiIiLKNQa89NjSZWNaV8KKkV4oUcQSF+5GqbzenedDtG4aERERUa4w4KUnalrZCZvHtUD9ssUQHZeEV5cfx+xtF5HM0mVERERkIBjw0lO5OFhj9WveGNa0vFpfsOcqhi45insP47VuGhEREdFTMeClHLE0N8UnPWri2/6esLEww8Er4SrF4UTQA62bRkRERPREDHgpV170dMPGsc1Q0akI7kbGoe+PPvjN5zpLlxEREVGBxYCXcq1qKTsV9Hap5YLE5FR8vPEcJvxxCrEJSVo3jYiIiCgLBrz0TOysLfDDoPr4sGsNmJmaYP2J23hpwWFcC3uoddOIiIiIMmDAS8/MxMQEo1pWxMpXvVDSzgoBIdF48ftD2Ho2WOumERERERWcgHfBggUoX748rK2t4eXlhaNHjz5x/4iICLz55ptwdXWFlZUVqlatin///Tft9k8++UQFYumX6tWr58MzKby8KpbA5reao1H54oiOT8LoFX6YueUCkpJT1O1Swsw38D78wk3UT5Y0IyIiovxkDg2tWbMGEyZMwKJFi1SwO2/ePHTq1AkBAQFwdnbOsn9CQgI6dOigblu7di3c3Nxw48YNFCtWLMN+NWvWxM6dO9PWzc01fZqFgrO9NVaOaoJZWy7i54OB+HHfNZy6GYGX6pXBvJ2X1AVugBmWXz4OVwdrTOvugc61XLVuNhERERUCmkaCc+fOxahRozB8+HC1LoHv5s2bsWTJEnzwwQdZ9pft9+/fx+HDh2FhYaG2yehwZhLguri45MMzoPQszEzx0QseqFe2OCatPYUj1+6rJbPgyDiMWeGPhYPrM+glIiIi4w14ZbTWz88PkydPTttmamqK9u3bw8fHJ9v7bNq0Cd7e3iqlYePGjShZsiQGDhyI999/H2ZmZmn7Xb58GaVLl1ZpErL/zJkzUbZs2ce2JT4+Xi06UVFR6mdiYqJaKHc61nBC+de80OMHn2zTF2SLCYDpf59D6yol1EVvVLDp3gd8Pxgu9qHhYx8aNvaf/uXmXGoW8IaHhyM5ORmlSpXKsF3WL168mO19rl27ht27d2PQoEEqb/fKlSt444031BOeNm2a2kdSI5YtW4Zq1arh7t27mD59Olq0aIGzZ8/Czs4u2+NKQCz7ZbZ9+3bY2trq5fkWNpcjTZCc8r8PIdkFvXcj4/H9mq2o4sCcXkOxY8cOrZtAz4l9aPjYh4aN/ac/sbGxOd7XoJJbU1JSVP7uTz/9pEZ0GzRogNu3b2P27NlpAW+XLl3S9q9Tp44KgMuVK4c//vgDI0eOzPa4MsosucTpR3jd3d3RsWNH2Nvb58MzMz5/n74LnD/z1P0q1vRE1zpMayjo5EOl/CctOfS6dCIyLOxDw8c+NGzsP/3TfSNfoANeJycnFbSGhIRk2C7rj8u/lcoM8iJJn75Qo0YNBAcHqxQJS0vLLPeRC9qkkoOMBj+OVHuQJTN5LL4on41rsSI52s/B1orn2IDwPWH42IeGj31o2Nh/+pOb86hZWTIJTmWEdteuXRlGcGVd8m6z06xZMxW4yn46ly5dUoFwdsGuePjwIa5evar2ofzTuIKjqsbwtOzcd/84iaWHApGQ9L8+JSIiIjKaOrySRrB48WL8+uuvuHDhAsaMGYOYmJi0qg1DhgzJcFGb3C5VGsaPH68CXano8MUXX6iL2HQmTpyIffv24fr166qaw0svvaRGhAcMGKDJcyys5EI0KT0mMge9uvVS9laIeJSE6X+fR8dv9uHfM3eRmsp8XiIiItIvTXN4+/Xrh7CwMEydOlWlJXh6emLr1q1pF7IFBQWpyg06kle7bds2vPPOOyo/V+rwSvArVRp0bt26pYLbe/fuqSoOzZs3x5EjR9TvlL+k5JiUHpOA9r86vP9x+f86vO1rlMKa4zfxzY7LuH4vFm/87o/6ZYvhw2410KCco6ZtJyIiIuNhksohtWyToB0cHBAZGcmL1vRASpP5XAnF9gO+6NjCC96VnTOUInsYn4Sf9l3F4gOBeJSYrLZ1qeWC9ztXR3mnnOUCU95fbCGVUbp27crcMwPFPjR87EPDxv7TNl7TfGphMn4S3HpVcEQDp1T1M3Pd3aJW5pjQsRr2vtca/Rq6Q27ecjYY7efuwyebzuF+TIJmbSciIiLDx4CXCoxS9taY1acO/h3fAq2qlkRSSiqWHb6OVl/twcK9VxH3/6O/RERERLnBgJcKnOou9vh1RGOsGOkFD1d7RMcnYdbWi2g7Zy/Wn7iFlGxmbyMiIiJ6HAa8VGA1r+KEf95qjq9frqtKnN2JjMM7a06hx4KDOHwlXOvmERERkYFgwEsFmqmpCXo3KIM9E1tjUudqsLMyx9nbURj4sy+GLz2KSyHRWjeRiIiICjgGvGQQrC3M8EbryurCtqHe5WBuaoI9AWHoPG8/Plh3GqFR/yt7RkRERJQeA14yKCWKWmH6i7Ww/Z2W6FzTBZLOu/rYTbSavRff7LiEmPgkrZtIREREBQwDXjJIFUsWxaJXGmDtaG/UK1tM1e/9dtdltJ6zFyt9g5CUzKmKiYiI6D8MeMmgNSzviL/GNMWCgfVR1tEWYdHxmLL+DLp8ewC7L4ZwqmIiIiJiwEuGz8TEBN3quGLnhFaY+oIHitla4HLoQ4xYdhwDF/vi7O1IrZtIREREGmLAS0bD0twUI5pXwL732uD1lhXVus+1e3jhu4N4e/UJ3HoQq3UTiYiISAMMeMnoONhYYHLXGtj9biv09Cyttm04eQdtv96HmVsuIPJRotZNJCIionzEgJeMVpnitpjXvx42jW2GJhUdkZCUgh/3XUPr2Xuw5GCgWiciIiLjx4CXjF6dMsWwalQT/DK0ISo7F8WD2ER8+s95dPhmHzafvssL24iIiIwcA14qNBe2tatRClvHt8AXL9WGU1Er3LgXizdX+qP3wsPwu3Ff6yYSERFRHmHAS4WKuZkpBnqVxb73WmN8uyqwsTCDf1AEei/0wejf/BAYHqN1E4mIiEjPGPBSoVTEyhzvdKiqpiru38gdpibA1nPB6DB3H6ZtPIt7D+O1biIRERHpCQNeKtRK2Vvjy951sGV8S7SpVhJJKan41ecGWs/eix/2XkFcYrLWTSQiIqLnxICXCEA1FzssHd4Yv7/qBQ9Xe0THJ+GrrQFoO2cv1vndQkoKL2wjIiIyVAx4idJpVtkJ/7zVHHP71kVpB2vciYzDu3+eQvfvD+LQlXCtm0dERETPgAEvUSampiboVb8Mdk9sjUmdq8HOyhzn7kRh0M++GLb0KAKCozPsn5ySCp+r97Dx5G31U9aJiIio4DDXugFEBZW1hRneaF0Z/Rq647vdV7DiyA3sDQjD/ktheLmBOyZ0rIoTQQ8w/e/zuBsZl3Y/VwdrTOvugc61XDVtPxEREf2HI7xET1GiqBU+6VETOya0QpdaLpAB3DXHb6LFrD0YvcI/Q7ArgiPjMGaFP7aevatZm4mIiOh/GPAS5VAFpyJYOLgB1o3xRj13ByQkZz81sS6hQUZ+md5ARESkPQa8RLnUoJwjJnWu/sR9JMyVkd+jgZzBjYiISGsMeImeQWh0ziamCI3KmO5ARERE+Y8BL9EzcLazztF+s7ZexC8HAxERm5DnbSIiIqLsMeAlegaNKziqagwmT9hHbpM6vp/9cx5eX+zCu3+cgt+NB0hNZV4vERFRfmLAS/QMzExNVOkxkTnoNfn/RSavmNGzFmq42iM+KQXr/G+h98LD6PLtAfx25Aai4xI1aTsREVFhw4CX6BlJnd2Fg+vDxSFjeoOsy/aX6pfB4Cbl8O+45vjrjabo06AMrMxNcTE4Gh9vOKtGfSf/dRpnb0dq9hyIiIgKA048QfScQW8HDxdVjSE0Ok7l9kq6g4wA65iYmKB+2eJq+bibhxrpXXk0CFdCH2LV0ZtqqVvGAQO9yqJ73dKwteTbkoiISJ/4l5XoOUlw612pRI72dbC1wIjmFTC8WXkVJP/uG4StZ4Nx6lYkTt06gxn/XECv+m4Y6FUO1Vzs8rztREREhQEDXiINyKivV8USarn3MB5r/f4b9b1xLxa/+txQS8NyxTGoSVl0qeWqpjkmIiKiZ8OAl6gATF38eqtKGNWiIg5dDcdK3yBsPx+C4zceqEVmbOtTv4xKeahYsqjWzSUiIjI4DHiJCghTUxO0qFJSLSFRcfjj2E2sPnYTtyMe4eeDgWppWqmECnw7erjA0pzXnBIREeUEA16iAqiUvTXealcFb7SpjH2XQvH7kSDsCQjF4av31OJU1BJ9G7pjQOOycHe01bq5REREBRoDXqICfkFc2+ql1CIjvWuOBqlRX5na+Ie9V7Fw31W0rFISg7zKom11Z5ibcdSXiIgoMwa8RAbCrZgNJnSspkZ+d10Ixe++N3Dgcjj2XQpTi4u9Nfo1ckf/xu5wdbDRurlEREQFBgNeIgNjYWaKzrVc1HLjXoyq7rD2+C0ER8Xh212X8d3uy2hXo5TK9ZXR3/Q1gYmIiAojBrxEBqxciSKY3KUGJnSoim3nQvD7kRvwDbyPHedD1FKmuI3K85V835J2Vlo3l4iISBMMeImMgJW5GXrULa2WK6HRWOl7E2v9buLWg0eYvS0A3+y4hE41XVSur0ySIXWAiYiICgvNr3BZsGABypcvD2tra3h5eeHo0aNP3D8iIgJvvvkmXF1dYWVlhapVq+Lff/99rmMSGZPKznaY2t0DRz9sj69frov6ZYshKSUVm8/cxcCffdH2631YvP8aHsQkaN1UIiIi4w9416xZgwkTJmDatGnw9/dH3bp10alTJ4SGhma7f0JCAjp06IDr169j7dq1CAgIwOLFi+Hm5vbMxyQyVjI7W+8GZfDXG83w77gWGNykLIpamSMwPAaf/3sBXjN34Z01J3Hs+n2kpqZq3VwiIiLjDHjnzp2LUaNGYfjw4fDw8MCiRYtga2uLJUuWZLu/bL9//z42bNiAZs2aqVHcVq1aqaD2WY9JVBh4lLbHjJ614TulHWb2qo1abvZISErB+hO38fIiH3Satx+/Hr6OyEeJWe6bnJKq8oL9wk3UT1knIiIyJJrl8MporZ+fHyZPnpy2zdTUFO3bt4ePj0+299m0aRO8vb1VSsPGjRtRsmRJDBw4EO+//z7MzMye6ZgiPj5eLTpRUVHqZ2Jiolro+enOI8+ntixNgT71XNVy5nYkVh27hX9O38WlkIeYtukcZm65gBdqu2JAozKo7WaP7edDMePfiwiOkveHGZZfPg4Xeyt81LU6OtUspfXToVzge9DwsQ8NG/tP/3JzLjULeMPDw5GcnIxSpTL+0ZT1ixcvZnufa9euYffu3Rg0aJDK271y5QreeOMN9YQlheFZjilmzpyJ6dOnZ9m+fft2NTpM+rNjxw6tm0DpNLcEGngCx8NNcCjYFHcfpWCt/221lLBKxb20z4H/u8hNyp+NXX0SI6qmoG4JjvYaGr4HDR/70LCx//QnNjbWOKs0pKSkwNnZGT/99JMa0W3QoAFu376N2bNnq4D3WcmIsOT9ph/hdXd3R8eOHWFvb6+n1hdu8qFE3uSSg21hYaF1cyiT3oDK4/UPisDqY7ew+WxwumA3MxMV/m4JscWkQS1Z59dA8D1o+NiHho39p3+6b+QLdMDr5OSkgtaQkJAM22XdxcUl2/tIZQZ5kcj9dGrUqIHg4GCVzvAsxxRS7UGWzOSx+KLUL57Tgq1JZWe1dDsXjFG/+T12PxnXvRsZjxO3olWZMzIcfA8aPvahYWP/6U9uzqNmF61ZWlqqEdpdu3ZlGMGVdcnTzY5cqCZpDLKfzqVLl1QgLMd7lmMSUVaxick52u/2g5x/nURERFQoqzRIGoGUFfv1119x4cIFjBkzBjExMarCghgyZEiGC9DkdqnSMH78eBXobt68GV988YW6iC2nxySip3O2s87RftP+PofZ2y4iJCouz9tERET0rDTN4e3Xrx/CwsIwdepUlZbg6emJrVu3pl10FhQUpKos6Ehe7bZt2/DOO++gTp06qv6uBL9SpSGnxySip2tcwRGuDtYIjoxT6QvZMTMxQUx8MhbsuYqf9l9D97ql8WrziqoEGhERUUFiksqK89kmQTs4OCAyMpIXrekxWV8qa3Tt2pW5SwZi69m7GLPCX/2e/j8J3SVqCwbWh6mpCX45eA3Hrj9Iu71Z5RIq8G1VtaS6nQoGvgcNH/vQsLH/tI3XDKpKAxHln861XLFwcH1M//s87kb+L2XBxcEa07p7qNv/288FJ29G4JeDgfj3zF0cunJPLZVKFsHI5hXRq76bmvWNiIhIKwx4ieixJKjt4OECnyuh2H7AFx1beMG7snOWUmSe7sXw3YB6+KBLdTVj2yrfIFwNi8GU9WdUju8rTcphsHe5HOcGExERGc1Fa0RU8Elw61XBEQ2cUtXPJ9XddStmgylda8BnSjtMfcEDZYrb4EFsIubvvoLmX+7Be3+ewsXgnNdNJCIi0geO8BKR3hW1MseI5hUwxLscdpwPweID19SkFn/63VJLiypOGNm8gsrzNTFhni8REeUtBrxElGfMzUzRpbarWvxuPMCSg4HYcvYuDlwOV0sV56Iq8O1Zj3m+RESUdxjwElG+aFCuuFpu3o/FssPXsebYTVwOfYgP/pI83wAMblIOr3iXg1PRrLMeEhERPQ/m8BJRvnJ3tMXHL3jg8OS2+KhbDZX3ey8mAd/uuoymX+7G+2tP41JItNbNJCIiI8KAl4g0YW9tgVdbVMS+91rj+4H1UNe9GBKSUrDm+E10/GY/hiw5iv2XwsBS4URE9LyY0kBEmuf5vlCnNLrVdoV/0AP8fCAQ284Fq2BXlmql7FSebw/P0szzJSKiZ8KAl4gKBKnW0KCco1qC7sVi6eFA/HHsJgJCojFp3Wl8per5lsfgJmVRgnm+RESUC0xpIKICp2wJW0zrXhOHJ7fDlK7V4epgjfCHCfhm5yWV5zv5r9O4Eso8XyIiyhkGvERUYDnYWOC1lpWwf1IbzB9QD3XKOCA+KQWrjt5E+7n7MXzpURy6Es48XyIieiKmNBBRgWdhZooedUujex1XHL8heb7XsP18CPYEhKmluoudugCue11XWJkzz5eIiDJiwEtEBpXn26i8o1quh8eoer5/HL+Ji8HRmPjnKczaehFDvcthkFc5FC9iqXVziYiogGBKAxEZpPJORfBJj5rw+aAdPuhSHS721giLjsec7Zfg/eUufLj+DK6GPdS6mUREVAAw4CUig+Zga4HRrSrhwPttMK+fJ2q52SMuMQW/+wah3df7MHLZMRy+yjxfIqLCjCkNRGQ0eb4967nhRc/S8A28r+r57roYgl0XQ9Xi4WqPV1tUUDV/Lc0zftZPTknF0cD7CI2Og7OdNRpXcISZqYlmz4WIiPSLAS8RGV2eb5OKJdRyLewhlh66jj/9buL83ShM+OMUvtxyEUOblscgr7IoZmuJrWfvYvrf53E3Mi7tGFIGbVp3D3Su5arpcyEiIv1gwEtERqtiyaL4rGctTOhQFSuPBuHXw9cRGh2P2dsC8P3uK2okd9+lsCz3C46Mw5gV/lg4uD6DXiIiI8AcXiIyelKx4c02lXHw/baY27euSm94lJicbbArdNm+MvIr6Q5ERGTYGPASUaEhubu96pfB5nHN8VG3Gk/cV8JcSXOQ3F4iIjJsDHiJqFDm+Za0s8rRvnIhGxERGTYGvERUKEk1Bn3uR0REBRcDXiIqlOSCNanG8KTiY+amJnAsYpGPrSIiorzAgJeICiWpsyulx8Tjgt6klFS8uOAQfve9wYkriIgMGANeIiq0pOSYlB5zcciYtiAjv7N61UaLKk5q1rYP15/F6BV+eBCToFlbiYjo2bEOLxGhsAe9HTxcsp1p7eWG7lhyKBCztl7EtnMhOHXzgCpr1rSyk9bNJiKiXGDAS0SFngS33pVKZNluamqCV1tUVLO2jVt9AtfCYjDoF1+MblVJTWYh0xkTEVHBx/+tiYieopabA/55qzkGNHaHpPIu3HsVfRYexvXwGK2bRkREOcCAl4goB2wtzTGzVx0sHFQfDjYWOHUrEt3mH8Bav1u8oI2IqIBjwEtElAtdartiy/gW8KrgiJiEZEz88xTGrT6JyEeJWjeNiIgegwEvEVEulS5mg5WjmuC9TtVU/u/fp+6g67cHcPw6pyEmIiqIGPASET0DCXTfbFMZa0d7o6yjLW5HPELfH30wb+clJCWnaN08IiJKhwEvEdFzqFe2ODaPa45e9dyQkgrM23kZ/X86glsPYrVuGhER/T8GvEREz8nO2gJz+3liXj9PFLUyx/EbD9Dl2wPYdOqO1k0jIiIGvERE+tOznhv+HdcC9coWQ3RcEsatOqEuansYn6R104iICjUGvEREelS2hC3+fN0b49pWhqkJVNmyF+YfwKmbEVo3jYio0GLAS0SkZ+ZmppjQsRpWjWqC0g7WuH4vFr0XHlYTVqRIoi8REeUrBrxERHnEq2IJbBnfEl1ruyApJRWztl7E4F98ERwZp3XTiIgKFQa8RER5yMHWAgsG1sdXvevAxsIMh6/eQ+dv92PbuWCtm0ZEVGgUiIB3wYIFKF++PKytreHl5YWjR48+dt9ly5bBxMQkwyL3S2/YsGFZ9uncuXM+PBMioqzk/6C+jdxV+bLabg6IiE3E67/5Ycr6M3iUkKx184iIjJ7mAe+aNWswYcIETJs2Df7+/qhbty46deqE0NDQx97H3t4ed+/eTVtu3LiRZR8JcNPvs2rVqjx+JkRET1axZFGsG9MUr7esqNZX+gah+/cHcf5OlNZNIyIyapoHvHPnzsWoUaMwfPhweHh4YNGiRbC1tcWSJUueOFri4uKStpQqVSrLPlZWVhn2KV68eB4/EyKip7M0N8XkrjWwYqQXnO2scCX0IXouOIRfDgbygjYiojxiDg0lJCTAz88PkydPTttmamqK9u3bw8fH57H3e/jwIcqVK4eUlBTUr18fX3zxBWrWrJlhn71798LZ2VkFum3btsWMGTNQokSJbI8XHx+vFp2oqP9GWxITE9VCz093Hnk+DRP7T/+8yjtg05vemLL+HHYHhOGzf85jX0AIZvWqBaeiVnp/PPah4WMfGjb2n/7l5lyapKamajakcOfOHbi5ueHw4cPw9vZO2z5p0iTs27cPvr6+We4jgfDly5dRp04dREZGYs6cOdi/fz/OnTuHMmXKqH1Wr16tRokrVKiAq1evYsqUKShatKi6r5mZWZZjfvLJJ5g+fXqW7StXrlTHISLKK/I/8MEQE2y8borEVBMUtUjFoEop8CjO0V4ioieJjY3FwIEDVTwo6a5GFfBmF93XqFEDAwYMwGeffZbtPteuXUOlSpWwc+dOtGvXLkcjvO7u7ggPD3/qCaSckX7asWMHOnToAAsLC62bQ7nE/st7l0Me4p0/TyMg5KFaH+pdFu91qAIri6wf0p8F+9DwsQ8NG/tP/yRec3JyylHAq2lKgzRSRlxDQkIybJd1ybvNCXnR1KtXD1euXHnsPhUrVlSPJftkF/BKvq8s2R2bL0r94jk1bOy/vONRpjg2jm2OL7dcxLLD1/GrTxCOXo/A/P6eqFLKTm+Pwz40fOxDw8b+05/cnEdNL1qztLREgwYNsGvXrrRtkpcr6+lHfJ8kOTkZZ86cgaur62P3uXXrFu7du/fEfYiItGZtYYZPetTEkmEN4VjEEhfuRuGF7w5ixZEb0PDLOCIig6d5lQYpSbZ48WL8+uuvuHDhAsaMGYOYmBhVtUEMGTIkw0Vtn376KbZv367SFKSM2eDBg1VZsldffTXtgrb33nsPR44cwfXr11Xw/OKLL6Jy5cqq3BkRUUHXtnopbH27BVpUcUJ8Ugo+2nAWr/3mh/sxCVo3jYjIIGma0iD69euHsLAwTJ06FcHBwfD09MTWrVvTSo0FBQWpyg06Dx48UGXMZF+pwCAjxJIDLCXNhKRInD59WgXQERERKF26NDp27Kjye7NLWyAiKoic7azx6/DGWHIoUE1JvON8CE7f2o9v+nqiaWUnrZtHRGRQNA94xdixY9WSHSkvlt4333yjlsexsbHBtm3b9N5GIqL8ZmpqgldbVESTiiUwbvUJXAuLwaBffPF6y0qY0KGqqulLRERPx/8tiYgKuFpuDvjnreYY0LisKmO2aN9V9Fl0GIHhMVo3jYjIOANeyaGVumeZPXr0SN1GRET6Z2tpjpm9amPhoPpwsLHA6VuR6Db/AP48fpMXtBER6TvglQka5MKwzCQIzm7yBiIi0p8utV2xZXwLNKnoiNiEZLy39jTeWnUCkY84exMRkd4CXhlJMDExybL91KlTcHR0zO3hiIgol0oXs8HvrzbBe52qwczUBP+cvouu3x7Asev3tW4aEZFhX7QmFREk0JWlatWqGYJeqYUro76jR4/Oq3YSEVE6Eui+2aYymlYqgfGrTyLofiz6/eiDt9pWwVttK8PcjJdoEBHlOuCdN2+eGt0dMWKESl1wcHDIMIFE+fLlczxZBBER6Ue9ssWxeVxzTNt0Dn/538a3uy7j4JVwzOvnCXdHW7VPckoqfAPvwy/cBCUC78O7srMKmImICoscB7xDhw5VPytUqIBmzZrB3LxAVDQjIir07KwtMLevJ1pVLYmP1p+F340HKsXh8161YWlmgul/n8fdyDgZF8byy8fh6mCNad090LkWZ58kosIh19952dnZqRnRdDZu3IiePXtiypQpSEjgLEBERFp50dMN/45vgfpliyE6PgnjVp3A6BX+/x/s/k9wZBzGrPDH1rN3NWsrEVGBDnhff/11XLp0Sf0u0/vKTGm2trb4888/MWnSpLxoIxER5ZCkMfzxujfGtq382H10Rcxk5FfSHYiIjF2uA14JdmX6XyFBbqtWrbBy5UosW7YM69aty4s2EhFRLsgFa80qPXn6YQlzZeT3aCArOxCR8XumsmQpKSnq9507d6Jr167qd3d3d4SHh+u/hURElGuh0XF63Y+IqFAFvA0bNsSMGTPw22+/Yd++fejWrZvaHhgYiFKlSuVFG4mIKJec7az1uh8RUaEKeKU8mb+/P8aOHYsPP/wQlSv/lye2du1aNG3aNC/aSEREudS4gqOqxvC04mP/nrmDiFhecExExi3XtcXq1KmDM2fOZNk+e/ZsmJmZ6atdRET0HKTOrpQek2oMEvQ+7tK0344EYdOpu5jQoSoGeZXlhBVEZJT09j+btbU1LCws9HU4IiJ6TlJnd+Hg+nBxyJi2ICO/iwbXx8pXvVDdxQ6RjxLVxBVd5x/AgcthmrWXiKjAjPCamppmmFY4M5lmmIiICk7Q28HDBT5XQrH9gC86tvDKMNPaP281x6pjNzF3ewAuhTzEK78cRfsapfBRtxoo71RE6+YTEWkT8K5fvz7DemJiIk6cOIFff/1VTTlMREQFiwS3XhUcce9CqvqZflphSWF4pUk59KhTGvN2XcJvPjew80II9l0KxYhmFVQ9X5nJjYioUAW8L774YpZtffr0Qc2aNbFmzRqMHDlSX20jIqJ84mBrgWnda6o83k//uYD9l8Lw4/5rWOd/C+91qoY+DdwzBMpERIUyh7dJkybYtWuXvg5HREQaqOxsh1+HN8KSYQ1R0akIwh8m4P11Z/DigoM4dp2TVBBRIQ54Hz16hPnz58PNzU0fhyMiIg3JdRptq5fC1rdbqlxeOytznL0dhZcX+WDsSn/cjnikdROJiPI2paF48eIZLlqTmdeio6Nha2uLFStW5PZwRERUQFmam+LVFhXRs54bvt5+CauPBeGf03ex43wIXm9VCaNbVYStZa7/jBAR5btc/0/1zTffZAh4pWpDyZIl4eXlpYJhIiIyLk5FrTCzV20MblIWn/59Hr6B9zF/12X8efwmPuhSHT3qln5i9R4iIoMLeIcNG5Y3LSEiogKtZmkHrH6tCbacDcbnmy+o1Ibxq09iuc8NTH3BA3Xdi2ndRCKiZw94T58+jdzMxEZERMZJRnK71nZF2+rO+PnANSzYcxV+Nx7gxQWH0KdBGUzqVA3O9hknuiAiMoiA19PTU/0nJ/m6TyL7cOIJIiLjZ21hhrFtq6hyZV9tvYi/TtzGWr9b2HLmLt5sW1nV8JV9iIgMJuANDAzM+5YQEZHBkWmL5/bzxGDvcpj+93mcuhmBr7YGYPXRm5jStQY61SzF/F4iMoyAt1y5cmmzqr3++uv4+OOPUaFChbxuGxERGYj6ZYtj/Zim2HDyNr7cchFB92MxeoUfmlYqgandPVDdxV7rJhJRIZarOrwWFhZYt25d3rWGiIgMlqmpCXrVL4M9E1tjbJvKqqzZ4av30PXbA/howxncj0nQuolEVEjleuKJnj17YsOGDXnTGiIiMnhFrMwxsVM17JrQCl1ruyAlFVhxJAitZ+/BkoOBSExO0bqJRFTI5LosWZUqVfDpp5/i0KFDaNCgAYoUKZLh9nHjxumzfUREZKDcHW3xw6AGOHLtnsrvvXA3Cp/+cx6/+97Axy94oHU1Z62bSESFRK4D3l9++QXFihWDn5+fWtKTCxMY8BIRUXpNKpbAP281x5pjNzFnewCuhsVg2NJjqrSZTF1csWRRrZtIREYu1wEvKzYQEVFumZmaYKBXWXSr44rvdl3GssPXsftiKPZfCsOwpuXxVrsqcLCx0LqZRGSkcp3Dq5OQkICAgAAkJSXpt0VERGS0JKj96AUPbHunpRrhTUpJxc8HA9F2zl6s9A1CsiT8EhFpHfDGxsZi5MiRsLW1Rc2aNREUFKS2v/XWW/jyyy/13T4iIjJClUoWxZJhjbBseCNUKlkE92ISMGX9Gbzw3UGV80tEpGnAO3nyZJw6dQp79+6FtfX/po9s37491qxZo9fGERGRcZML17a+3RJTX/CAvbW5urCt/09H8Mbvfrh5P1br5hFRYQ14pSTZ999/j+bNm2eYPUdGe69evarv9hERkZGzMDPFiOYVsPe9NhjcpCxMTYB/zwSj3dx9mLMtADHxTJ0jonwOeMPCwuDsnLWUTExMDKePJCKiZ+ZYxBIzetbG5nEt4F2xBBKSUvD9nito+/VerD9xCynM7yWi/Ap4GzZsiM2bN6et64Lcn3/+Gd7e3s/aDiIiIqWGqz1WjvLCosEN4O5og5CoeLyz5hR6LTyME0EPtG4eERlzWbKzZ8+iVq1amDlzJjp37ozz588jMTER3377rfr98OHD2LdvX962loiICgUZTOlcywWtq5XEkkOB+H73FZy8GYGXfjiMXvXc8H6X6ihl/991JFLZ4WjgfYRGx8HZzhqNKziqMmhERLkOeOvUqYNGjRrh1VdfVbOsfffdd2rb9u3bUb9+ffj4+KB27do5PRwREdFTWVuY4Y3WldGnfhl8tS0Aa/1u4a8Tt7H1XDDebFMZ7sVtMHPLRdyNjEu7j6uDNaZ190DnWq6atp2IDDDgldHbpUuX4t1330VKSgp69+6NOXPmoGXLlnnbQiIiKvSc7a0x5+W6eKVJOUz/+xz8gyIwe1tAtvsGR8ZhzAp/LBxcn0EvEeUuh7dFixZYsmQJ7t69q0Z3r1+/jtatW6Nq1aqYNWsWgoOD8awWLFiA8uXLqzJnXl5eOHr06GP3XbZsmfqqK/2SvjyaSE1NxdSpU+Hq6gobGxtVMu3y5cvP3D4iIioY6roXw7oxTfFN37qqmkN2dJe2Tf/7PCeyIKJnu2itSJEiGD58uBrxvXTpEl5++WUVsJYtWxY9evTI7eFU7d4JEyZg2rRp8Pf3R926ddGpUyeEhoY+9j729vYq8NYtN27cyHD7V199hfnz52PRokXw9fVVbZZjxsX97ysvIiIyTDLQ4eJggyfFsnKTpDlIbi8R0TNPLSwqV66MKVOm4KOPPoKdnV2G6g05NXfuXIwaNUoF0R4eHipIlVncZDT5if/ZubikLaVKlcowujtv3jzVphdffFHlGS9fvhx37txRNYSJiMjwyQVqOXE34lGet4WIjCiHN7P9+/eroHTdunUwNTVF37591ZTDuZGQkAA/Pz81e5uOHEtSEOQiuMd5+PAhypUrp3KJ5YK5L774Qk18IQIDA1V6hRxDx8HBQaVKyDH79++f5Xjx8fFq0YmKilI/pQqFLPT8dOeR59Mwsf8Mn7H1YQnbnP35+uyf87j9IAb9G7mjmK0FDJmx9WFhw/7Tv9ycy1wFvDJKKjm0sly5cgVNmzZVqQMS7EraQG6Fh4cjOTk5wwitkPWLFy9me59q1aqpQFtGbiMjI9WFc9KOc+fOoUyZMmm5xNkd83F5xlJqbfr06Vm2SwUKGW0m/dmxY4fWTaDnwP4zfMbSh5LOUMzSDBEJspZdMm+q2vrgUSK+3nkF83dfRuOSqWjlmoJSNjBoxtKHhRX7T39iY2P1H/B26dIFO3fuhJOTE4YMGYIRI0ao4DO/yeQW6Se4kGC3Ro0a+PHHH/HZZ5890zFlhFnyiNOP8Lq7u6Njx44qX5j08ylM3uQdOnSAhYVhj7IURuw/w2eMfWhRPgRvrT6lfk+fzvtf+GuCuX3rIDEpBUsP38CF4GgcCjHBoRBTtK7qhOFNy8G7oqNBzRBqjH1YmLD/9E/3jbxeA17pnLVr1+KFF16AmZkZ9EGCZzlWSEhIhu2yLrm5OW1XvXr11Iiz0N1PjiFVGtIf09PTM9tjWFlZqSW7Y/NFqV88p4aN/Wf4jKkPX/AsA3NzM1WNIX0dXpdMdXhfblQWR67dxy8Hr2HXxVDsvRSuluoudhjZvAJ6eJaGlbl+/q7lB2Pqw8KI/ac/uTmPOQ54N23aBH2ztLREgwYNsGvXLvTs2VNtk7xcWR87dmyOjiEpEWfOnEHXrl3VeoUKFVTQK8fQBbjyCUCqNYwZM0bvz4GIiLQjQW0HD5cnzrQmo7jelUqoJTA8BksPBeLP47dwMTga7609jVlbA1R938FNyqJE0ayDH0RUiC9a0xdJJRg6dCgaNmyIxo0bqwoLMTExqmqDkPQJNzc3lWcrPv30UzRp0kRViIiIiMDs2bNVWTKZAU73H9vbb7+NGTNmoEqVKioA/vjjj1G6dOm0oJqIiIyHBLcSzOZEBaci+PTFWni3QzWsOhaEZYeuIzgqDt/svIQFe6/gJU83jGxRAVVL2eV5u4moEAW8/fr1Q1hYmJooQi4qk1HZrVu3pl10FhQUpCo36Dx48ECVMZN9ixcvrkaIDx8+rEqa6UyaNEkFza+99poKips3b66OmXmCCiIiKpwcbC0wulUlldLw75m7WHIwEKduRWLN8ZtqaVHFSd3WqmpJg8rzJaLsmaRK4VrKQFIgpJSZVIHgRWv6S9b/999/VeoJc5cMD/vP8LEPn0z+FPrdeIBfDgZi27ngtEktKjsXxYhmFdCrvhusLbTN82UfGjb2n7bxmuYjvERERFqTUdyG5R3VcvN+LJYeuo4/jt/EldCHmLL+DGZvu4jBTcqpXF9ne35bSFSoZlojIiIyNu6Otpja3QM+k9vio241UKa4DR7EJuK73VfQbNZuTPjjJM7didS6mUSUCxzhJSIiyoadtQVebVERw5qWx47zIfj5YKBKe/jL/7ZamlR0xKvNK6JtdWeYpqsKQUQFDwNeIiKiJzA3M0WX2q5qOXkzQuX5yoVuUttXFqn8MLxZefRpUAa2lvyzSlQQMaWBiIgohzzdi+G7AfVwYFIbvN6qIuyszVVt36kbz6HJF7swc8sF3I18pHUziSgTBrxERES5VLqYDSZ3qYEjk9theo+aKF/CFlFxSfhx3zW0mLUH41adwKmbEVo3k4j+H797ISIiekZFrMwxtGl5VcFh98VQNX2xpDlsOnVHLQ3LFVf1fDvWdMkw+xsR5S8GvERERM9JgtkOHqXUcvZ2pJrI4u/Td3D8xgO1SKWH4c0qoG/DMupiOCLKX0xpICIi0qNabg6Y288TB99vi7FtKqO4rQVuPXiEz/45D++Zu9VPqfVLRPmHAS8REVEeKGVvjYmdquHwB+3wxUu1UalkETyMT1JVHlrN3oMxK/zgd+O+muWNiPIWUxqIiIjykI2lGQZ6lUX/Ru7YdzlMpTscuByOLWeD1VLXvZjK8+1SywUWZhyHIsoLDHiJiIjygUxO0aaas1ouBkepwHfDyTuqmoNUdXB1sFYXwA1oVBYOthnzfJNTUuEbeB9+4SYoEXgf3pWdeREcUS4w4CUiIspn1V3s8VWfupjUuTpWHLmhlruRcfhyy0XM33UZLzcooy5yK+9UBFvP3sX0v8+r2wEzLL98XAXH07p7oHMtV62fCpFBYMBLRESkEaeiVni7fVWMblUJm07eUfm9ASHR+NXnBpYfuYHapR1w+nZklvsFR8ZhzAp/LBxcn0EvUQ4wWYiIiEhj1hZm6NvIHVvfboEVI73QplpJyLVs2QW7QneZm4z8SroDET0ZA14iIqICwsTEBM2rOGHp8MaY83LdJ+4rYa6kORwNvJ9v7SMyVAx4iYiICiALs5xdlBYaLbm9RPQkDHiJiIgKIGc7a73uR1SYMeAlIiIqgBpXcFTVGJ40zutYxFLtR0RPxoCXiIioAJI6u1J6TDwu6I2ITcBf/rfytV1EhogBLxERUQElJcek9JiLQ8a0BRn5lZFdKdDw3trT+H73ZU5RTPQErMNLRERUwIPeDh4u8LkSiu0HfNGxhZeaaU0mWpu1NQCL9l3FnO2XEBIVj0961OQMbETZ4AgvERFRASdBrFcFRzRwSlU/ZV1KmH3QpTo+6e4BExPgtyM38MbvfohLTNa6uUQFDgNeIiIiAzasWQV8P6A+LM1Mse1cCAb/7Ktye4nofxjwEhERGbhudVyxfGRj2Fmb4/iNB+izyAe3Ix5p3SyiAoMBLxERkRFoUrEE1o5uChd7a1wJfYhePxzCxeAorZtFVCAw4CUiIjIS1Vzs8NcbTVHFuai6iO3lhT7wuXpP62YRaY4BLxERkREpXcxGjfQ2Lu+I6PgkDF1yFP+cvqN1s4g0xYCXiIjIyDjYWqic3s41XZCQnIK3Vp3AkoOBWjeLSDMMeImIiIyQtYUZFgyqjyHe5SBzUnz6z3nM/PcCUmS2CqJChgEvERGRkZJ6vdN71MR7naqp9R/3X8OEP04iISlF66YR5SsGvEREREZMJqh4s01lzHm5LsxNTbDh5B2MWHYM0XGJWjeNKN8w4CUiIioE+jQog5+HNoStpRkOXglHvx+PIDQ6TutmEeULBrxERESFROtqzlj9WhM4FbXE+btR6PXDYVwLe6h1s4jyHANeIiKiQqROmWJYN6YpypWwxa0Hj9B74WH4Bz3QullEeYoBLxERUSFTrkQRFfTWKeOAB7GJGLj4CHZdCNG6WUR5hgEvERFRIeRU1AqrRjVB62olEZeYglHLj2P10SCtm0WUJxjwEhERFVJFrMyxeEhDdUGblOf94K8zmLfzElKlcC+REWHAS0REVIhZmJlidp86GNumslqft/Mypqw/g6Rk1uol48GAl4iIqJCTWr0TO1XDZy/WhIkJsOroTYxe4YdHCclaN41ILxjwEhERkfKKd3ksHNQAluam2HkhFAN/PoL7MQlaN4vIOALeBQsWoHz58rC2toaXlxeOHj2ao/utXr1afSrt2bNnhu3Dhg1T29MvnTt3zqPWExERGY/OtVzw+6tecLCxwImgCPRZdBg378dq3Swiww5416xZgwkTJmDatGnw9/dH3bp10alTJ4SGhj7xftevX8fEiRPRokWLbG+XAPfu3btpy6pVq/LoGRARERmXRuUdsXa0N0o7WONaWAx6LTyMc3citW4W0TMzh8bmzp2LUaNGYfjw4Wp90aJF2Lx5M5YsWYIPPvgg2/skJydj0KBBmD59Og4cOICIiIgs+1hZWcHFxSVHbYiPj1eLTlRUlPqZmJioFnp+uvPI82mY2H+Gj31o+PK7D8s7WmPNa43x6nJ/BIQ8RN8fffDDAE80rVQiXx7f2PA9qH+5OZcmqRrWHklISICtrS3Wrl2bIS1h6NChKojduHFjtveT0eDTp09j/fr1Kn1B9t2wYUPa7bJN1i0tLVG8eHG0bdsWM2bMQIkS2b9JP/nkExU8Z7Zy5UrVPiIiosIqNgn4JcAUV6JMYWaSioGVUtCwJMuWkfZiY2MxcOBAREZGwt7evuCO8IaHh6vR2lKlSmXYLusXL17M9j4HDx7EL7/8gpMnTz72uJLO0KtXL1SoUAFXr17FlClT0KVLF/j4+MDMzCzL/pMnT1ZpFelHeN3d3dGxY8ennkDK+aewHTt2oEOHDrCwsNC6OZRL7D/Dxz40fFr2YfekFExadwb/ng3Bb1fM4Fa5KkY2K5+vbTB0fA/qn+4beYNIaciN6OhovPLKK1i8eDGcnJweu1///v3Tfq9duzbq1KmDSpUqYe/evWjXrl226Q+yZCYvSL4o9Yvn1LCx/wwf+9DwadGH8nDfD2yAzzafx9JD1/Hl1ksIe5iID7vWgKmpSb62xdDxPag/uTmPmga8ErTKiGtISMb5u2U9u/xbGa2Vi9W6d++eti0l5b/C2Obm5ggICFCBbWYVK1ZUj3XlypVsA14iIiJ6Mglsp77gARd7a8zcchG/HAxESFQcvu5bF1bmWb89JSpINK3SIDm2DRo0wK5duzIEsLLu7e2dZf/q1avjzJkzKp1Bt/To0QNt2rRRv0saQnZu3bqFe/fuwdXVNU+fDxERkTGTMp+vt6qEef08YW5qgn9O38WwJccQFccLsahg0zylQXJn5SK1hg0bonHjxpg3bx5iYmLSqjYMGTIEbm5umDlzpqrTW6tWrQz3L1asmPqp2/7w4UN1AVrv3r3VKLGMCk+aNAmVK1dW5c6IiIjo+fSs54YSRS0x+jc/+Fy7h76LfPDriMYoZW+tddOICmYd3n79+mHOnDmYOnUqPD091Ujt1q1b0y5kCwoKUnV0c0pSJKSCg4z8Vq1aFSNHjlSjyFK+LLs8XSIiIsq9FlVKYs3r3nAqaoWLwdHo9cNhXAmN1rpZRAVzhFeMHTtWLdmRC82eZNmyZRnWbWxssG3bNr22j4iIiLKq5eaA9W80xZAlRxEYHoPeC32wZFhDNCjnqHXTiArWCC8REREZLndHW6wb0xSe7sUQ+SgRAxf7Ytu5YK2bRZQBA14iIiJ6Lo5FLLFylBfaVXdGfFIKxqzww4ojN7RuFlEaBrxERET03GwtzfHjKw3Qr6E7UlKBjzacxdfbA6DhhK5EaRjwEhERkV6Ym5niy961Mb5dFbX+3e4reH/daSQm/1czn0grDHiJiIhIr7V63+lQFV+8VBsyCdsfx2/hteXHEZuQpHXTqBBjwEtERER6N9CrLH58pSGszE2xJyAMA346gnsP47VuFhVSDHiJiIgoT3TwKIWVo5qgmK0FTt2KRO+FhxF0L1brZlEhxICXiIiI8kyDcsWxdnRTuBWzwfV7sei18BDO3IrUullUyDDgJSIiojxV2bko/nqjKWq42iP8YQL6/+SD/ZfCtG4WFSIMeImIiCjPlbK3xh+vN0GzyiUQk5CMEcuO4S//W+q25JRU+Fy9h40nb6ufsk5kdFMLExERkfGzs7bA0mGNMfHPU9h06g4m/HEK+y+F40jgPQRHxqXt5+pgjWndPdC5lqum7SXjwRFeIiIiyjeW5qaY188To1pUUOsbTt7OEOwKWR+zwh9bz97VqJVkbBjwEhERUb4yNTXBB11qwM46+y+adQkN0/8+z/QG0gsGvERERJTvjgbeR3Tc4yejkDD3bmSc2o/oeTHgJSIionwXGh2n1/2InoQBLxEREeU7Zztrve5H9CQMeImIiCjfNa7gqKoxmDxhH8cilmo/oufFgJeIiIjynZmpiSo9Jh4X9EbEJmDTqdv52i4yTgx4iYiISBNSZ3fh4PpwcciYtiDr9csVgxRoeGfNKfyw9wpSU1mtgZ4dJ54gIiIiTYPeDh4uqhqDXKAmObuSxiCjvjO3XMDiA4H4amsA7kQ8wvQetdTIMFFuMeAlIiIiTUkQ612pRJbtH3bzgKuDDT7bfB4rjgQhJCoe8/vXg42lmSbtJMPFlAYiIiIqsEY0r4AFA+urGdp2nA/BwJ+P4H5MgtbNIgPDgJeIiIgKtK61XbFipBccbCxwIigCvRceRtC9WK2bRQaEAS8REREVeJLXu26MN9yK2SAwPAa9Fh7CqZsRWjeLDAQDXiIiIjIIlZ3t8NcbTeHhao/whwno/9MR7LkYqnWzyAAw4CUiIiKDUcreGmteb4IWVZzwKDEZry4/jjXHgrRuFhVwDHiJiIjIoNhZW2DJsEboVd8NySmpeH/dGXyz4xJr9dJjMeAlIiIig2NhZoqvX66LsW0qq/Vvd13G++tOIzE5ReumUQHEgJeIiIgMkomJCSZ2qobPX6oFmY/ij+O38OqvxxETn6R106iAYcBLREREBm2QVzn89EpDWFuYYt+lMPT7yUfN2kakw4CXiIiIDF57j1JYNaoJHItY4uztKPT64TCuhj3UullUQDDgJSIiIqNQr2xx/DWmKcqVsMWtB4/UBBV+N+5r3SwqABjwEhERkdEo71QE68Y0Rd0yDoiITcTAxb7YejZY62aRxhjwEhERkVFxKmqFVa81QbvqzohPSsGY3/2w3Oe61s0iDTHgJSIiIqNja2mOH19pgAGNy0LK807deA5fbrmIlBTW6i2MGPASERGRUTI3M8UXL9XCxI5V1fqifVcx4Y+TSEhird7ChgEvERERGXWt3rFtq2DOy3VhbmqCDSfvYNjSo4iKS9S6aZSPGPASERGR0evToIyajriIpRkOX72Hvot8cDfykdbNonzCgJeIiIgKhZZVS2LN694oaWeFi8HRqlZvQHC01s2ifMCAl4iIiAqNWm4OqlZvpZJFcDcyDn0WHYbP1XtaN4sKQ8C7YMEClC9fHtbW1vDy8sLRo0dzdL/Vq1er3JyePXtm2J6amoqpU6fC1dUVNjY2aN++PS5fvpxHrSciIiJD4u5oq2r1NixXHNFxSRi65Cg2nbqjdbPImAPeNWvWYMKECZg2bRr8/f1Rt25ddOrUCaGhoU+83/Xr1zFx4kS0aNEiy21fffUV5s+fj0WLFsHX1xdFihRRx4yL47zaREREBBSztcSKV73QpZYLEpJTMG7VCSzef00NmpHx0TzgnTt3LkaNGoXhw4fDw8NDBam2trZYsmTJY++TnJyMQYMGYfr06ahYsWKG2+SFOm/ePHz00Ud48cUXUadOHSxfvhx37tzBhg0b8uEZERERkSGwtjDD9wPrY1jT8mr9838v4NN/ziOZtXqNjrmWD56QkAA/Pz9Mnjw5bZupqalKQfDx8Xns/T799FM4Oztj5MiROHDgQIbbAgMDERwcrI6h4+DgoFIl5Jj9+/fPcrz4+Hi16ERFRamfiYmJaqHnpzuPPJ+Gif1n+NiHho99mHemdK4CF3tLfLn1EpYeuo47D2Ixp09tFRDrC/tP/3JzLjUNeMPDw9VobalSpTJsl/WLFy9me5+DBw/il19+wcmTJ7O9XYJd3TEyH1N3W2YzZ85Uo8WZbd++XY02k/7s2LFD6ybQc2D/GT72oeFjH+YNVwBDq5hgxRVTbDsfikvf7MSoaskoYqHfx2H/6U9sbKxhBLy5FR0djVdeeQWLFy+Gk5OT3o4rI8ySR5x+hNfd3R0dO3aEvb293h6nsH8Kkzd5hw4dYGGh5/89KM+x/wwf+9DwsQ/zXlcAHQLvY8zKkwiMTsLP1x3wy5D6KFPc5rmPzf7TP9038gU+4JWg1czMDCEhIRm2y7qLi0uW/a9evaouVuvevXvatpSU/6YHNDc3R0BAQNr95BhSpSH9MT09PbNth5WVlVoykxckX5T6xXNq2Nh/ho99aPjYh3mredVSWDu6qZqN7Vp4DPouPoqlwxqpcmb6wP7Tn9ycR00vWrO0tESDBg2wa9euDAGsrHt7e2fZv3r16jhz5oxKZ9AtPXr0QJs2bdTvMipboUIFFfSmP6Z8ApBqDdkdk4iIiCi9ai52WP9GM1R3sUNYdDz6/eiD/ZfCtG4WPQfNUxoklWDo0KFo2LAhGjdurCosxMTEqKoNYsiQIXBzc1N5tlKnt1atWhnuX6xYMfUz/fa3334bM2bMQJUqVVQA/PHHH6N06dJZ6vUSERERZcfFwRp/jPbG6N/81FTEI5Ydw5e966gpisnwaB7w9uvXD2FhYWqiCLmoTNIOtm7dmnbRWVBQkKrckBuTJk1SQfNrr72GiIgING/eXB1TAmYiIiKinLC3tsCy4Y3x3tpT2HjyDib+eQrBkY/wZpvKauIrMhyaB7xi7NixasnO3r17n3jfZcuWZdkmL0IpXSYLERER0bOyNDfFN3094epgg0X7rmLO9ku4ExmHT3vUhLmZ5tMZUA6xp4iIiIiewNTUBB90qY5PX6wJGdhd6RuE13/zQ2xCktZNoxxiwEtERESUA0O8y2PR4AawMjfFrouhGLDYF+EP/zdxFRVcDHiJiIiIcqhTTResHOWFYrYWOHUzAr0XHsb18Bitm0VPwYCXiIiIKBcalHPEujFN4e5ogxv3YlXQe/JmhNbNoidgwEtERESUS5VKFlVBb203B9yLSUD/n3yw60LGibSo4GDAS0RERPQMnO2ssfq1JmhVtSTiElMwavlxdUEbFTwMeImIiIieURErc/w8tCH6NiyDlFRgyvoz+Hp7AFJTU7VuGqXDgJeIiIjoOViYmWJW7zp4u30Vtf7d7iuY+OdpJCanaN00+n8MeImIiIiek0x69Xb7qpjVuzbMTE2wzv+Wmo74YXwSklNS4Rt4H37hJuqnrFMhnGmNiIiIyBj0a1RW5fa+8bs/DlwOR+dv9iMhOQWh0VKv1wzLLx+Hq4M1pnX3QOdarlo3t9DgCC8RERGRHrWp7ow1rzeBnbU5bkU8+v9g93+CI+MwZoU/tp69q1kbCxsGvERERER6VrO0A6zNzbK9TZfQMP3v80xvyCcMeImIiIj07GjgfYQ9YdphCXPvRsap/SjvMeAlIiIi0rPQ6Di97kfPhwEvERERkZ7JhWs5cepmBBKSWL4srzHgJSIiItKzxhUcVTUGk6fst+TQdbSZsxd/HL+JJNbtzTMMeImIiIj0TGrxSukxkTnoNfn/pX8jd5S0s8LtiEeYtPY0OnyzHxtP3uaFbHmAAS8RERFRHpA6uwsH14eLQ8b0BlmX7V/2roP977XBh11rwLGIJQLDYzB+9Ul0+Xa/KlnG6Yn1hxNPEBEREeVh0NvBwwU+V0Kx/YAvOrbwgndlZzUCLGwszTCqZUUM8CqLZYcC8dP+a7gU8hCjV/ijlps93u1QDa2rlVQzudGz4wgvERERUR6S4NargiMaOKWqn7pgN72iVuYY27YKDrzfFuPaVkYRSzOcvR2F4cuOoffCwzh8JVyTthsLBrxEREREBYSDjQUmdKymAt/XW1aEtYUp/IMiMPBnXwz46QiOX2fd3mfBgJeIiIiogJGc3slda6gc32FNy8PSzBQ+1+6hzyIfDFt6FGduRWrdRIPCgJeIiIiogHK2t8YnPWpiz3utMaCxu0qH2BsQhu7fH8Rry4/jYnCU1k00CAx4iYiIiAo4t2I2mNmrDnZNaIVe9dwg17BtPx+CLt8ewFurTuBq2EOtm1igMeAlIiIiMhDlnYpgbj9PbH+7JbrVdoVULvv71B10mLsPE/88hZv3Y7VuYoHEgJeIiIjIwFQpZYcFg+pj87jmaF/DGTJXxVq/W2rWtg/Xn8HdyEdaN7FAYcBLREREZKBqlnbAz0MbYf0bTdGiihOSUlLxu28QWs3ei0//Po+w6Hitm1ggMOAlIiIiMnD1yhbHbyO9sOa1Jmhc3hEJSSlYcigQLb/ag1lbLyIiNgGFGQNeIiIiIiPhVbEE1rzeBL+NbIy67sXwKDEZC/deRYtZezBv5yVExSWiMGLAS0RERGREZBriFlVKYsMbTfHzkIao4WqP6PgkzNt5WY34/rD3CmITklCYMOAlIiIiMtLAt71HKWx+qzkWDKyPSiWLICI2EV9tDVCB7y8HAxGXmIzCgAEvERERkREzNTVBtzqu2P5OK8ztWxdlHW0R/jABn/1zHq1n78WKIzdUzq8xY8BLREREVAiYmZqgV/0y2PVuK8zsVRuuDtYIjorDRxvOou3Xe/Hn8ZtISjbOwJcBLxEREVEhYmFmigGNy2LPxNb4pLsHnIpa4daDR3hv7Wl0/GY/Np26gxQp7GtEGPASERERFULWFmYY1qwCDkxqgyldq6O4rQWuhcdg3KoTasribeeCkSpTuRkBBrxEREREhZiNpRlea1kJB95vi3c7VIWdtTkCQqLx+m9+6PH9IewNCDX4wJcBLxERERGhqJU53mpXBQcntcXYNpVha2mGM7cjMWzpMby8yAc+V+/BUDHgJSIiIqI0DrYWmNipmkp1GNWiAqzMTXH8xgMMWHwEAxcfgd+NB8gsOSVVBcQbT95WP2W9IDHXugFEREREVPCUKGqFD7t54NUWFbFgzxWsOhqEw1fv4fDCw2hTrSTe7VgNtdwcsPXsXUz/+zzuRsal3VcqQEzr7oHOtVxREDDgJSIiIqLHKmVvjU9frIXXWlbEd7uuYK3/LewJCFOLp3sxnLwZkeU+wZFxGLPCHwsH1y8QQS9TGoiIiIjoqcoUt8WsPnWwa0IrvFTPTW3LLtgVuoQGGfktCOkNBSLgXbBgAcqXLw9ra2t4eXnh6NGjj933r7/+QsOGDVGsWDEUKVIEnp6e+O233zLsM2zYMDWdXvqlc+fO+fBMiIiIiIxbeaci+KafJ2b3qfPE/STMlTSHo4H3gcKe0rBmzRpMmDABixYtUsHuvHnz0KlTJwQEBMDZ2TnL/o6Ojvjwww9RvXp1WFpa4p9//sHw4cPVvnI/HQlwly5dmrZuZWWVb8+JiIiIyNhZmuds3DQ0+n+5vYV2hHfu3LkYNWqUClo9PDxU4Gtra4slS5Zku3/r1q3x0ksvoUaNGqhUqRLGjx+POnXq4ODBgxn2kwDXxcUlbSlevHg+PSMiIiIi4+dsZ63X/Yx2hDchIQF+fn6YPHly2jZTU1O0b98ePj4+T72/FEHevXu3Gg2eNWtWhtv27t2rRn0l0G3bti1mzJiBEiVKZHuc+Ph4tehERUWpn4mJiWqh56c7jzyfhon9Z/jYh4aPfWjYjLH/6pWxg4u9FUKi4tNydtMzAeDiYKX2y4vnnZtjmqRqOHXGnTt34ObmhsOHD8Pb2ztt+6RJk7Bv3z74+vpme7/IyEh1PwlSzczM8MMPP2DEiBFpt69evVqNEleoUAFXr17FlClTULRoURVEy/6ZffLJJ5g+fXqW7StXrlTHISIiIqKsTt0zwZJLpulCXJ3/wssRVVNQt0TehJqxsbEYOHCgigvt7e0Ldg7vs7Czs8PJkyfx8OFD7Nq1S+UAV6xYUaU7iP79+6ftW7t2bZXyIOkPMurbrl27LMeTEWY5RvoRXnd3d3Ts2PGpJ5By/ilsx44d6NChAywsLLRuDuUS+8/wsQ8NH/vQsBlr/3UFUP9cCGb8exHBUfEZ6vB+2KU6OtUslWePrftGPic0DXidnJzUiGtISEiG7bIuebePI2kPlStXVr9LlYYLFy5g5syZaQFvZhIMy2NduXIl24BX8n2zu6hNXpDG9KIsCHhODRv7z/CxDw0f+9CwGWP/veBZBl3quKlqDHKBmuTsNq7gCDPT9CO++peb86jpRWtSZaFBgwZqlFYnJSVFradPcXgauU/6HNzMbt26hXv37sHVVfvCx0RERETGxszUBN6VSuBFTzf1M6+D3dzSPKVBUgmGDh2qaus2btxYlSWLiYlRVRvEkCFDVL6ujOAK+Sn7SoqCBLn//vuvqsO7cOFCdbukOUg+bu/evdUoseTwSk6wjAinL1tGRERERIWD5gFvv379EBYWhqlTpyI4OFilKGzduhWlSv2X8xEUFKRSGHQkGH7jjTfUqK2NjY2qx7tixQp1HCEpEqdPn8avv/6KiIgIlC5dWuXifvbZZ6zFS0RERFQIaR7wirFjx6olO3KhWXpSXkyWx5EgeNu2bXpvIxEREREZJs0nniAiIiIiyksMeImIiIjIqDHgJSIiIiKjxoCXiIiIiIwaA14iIiIiMmoMeImIiIjIqDHgJSIiIiKjViDq8BY0qamp6mdUVJTWTTEaiYmJiI2NVefU2OYQLwzYf4aPfWj42IeGjf2nf7o4TRe3PQkD3mxER0ern+7u7lo3hYiIiIieErc5ODg8aReYpOYkLC5kUlJScOfOHdjZ2cHExETr5hjNpzD5AHHz5k3Y29tr3RzKJfaf4WMfGj72oWFj/+mfhLAS7JYuXRqmpk/O0uUIbzbkpJUpU0brZhgleZPzjW642H+Gj31o+NiHho39p19PG9nV4UVrRERERGTUGPASERERkVFjwEv5wsrKCtOmTVM/yfCw/wwf+9DwsQ8NG/tPW7xojYiIiIiMGkd4iYiIiMioMeAlIiIiIqPGgJeIiIiIjBoDXiIiIiIyagx4Kc/MnDkTjRo1UjPWOTs7o2fPnggICNC6WfQcvvzySzX74Ntvv611UygXbt++jcGDB6NEiRKwsbFB7dq1cfz4ca2bRTmQnJyMjz/+GBUqVFB9V6lSJXz22WdqhikqmPbv34/u3bur2b/k/8sNGzZkuF36burUqXB1dVV92r59e1y+fFmz9hYWDHgpz+zbtw9vvvkmjhw5gh07diAxMREdO3ZETEyM1k2jZ3Ds2DH8+OOPqFOnjtZNoVx48OABmjVrBgsLC2zZsgXnz5/H119/jeLFi2vdNMqBWbNmYeHChfj+++9x4cIFtf7VV1/hu+++07pp9BjyN65u3bpYsGBBtrdL/82fPx+LFi2Cr68vihQpgk6dOiEuLi7f21qYsCwZ5ZuwsDA10iuBcMuWLbVuDuXCw4cPUb9+ffzwww+YMWMGPD09MW/ePK2bRTnwwQcf4NChQzhw4IDWTaFn8MILL6BUqVL45Zdf0rb17t1bjQyuWLFC07bR08kI7/r169U3nEJCLhn5fffddzFx4kS1LTIyUvXxsmXL0L9/f41bbLw4wkv5Rt7UwtHRUeumUC7JSH23bt3UV29kWDZt2oSGDRvi5ZdfVh8469Wrh8WLF2vdLMqhpk2bYteuXbh06ZJaP3XqFA4ePIguXbpo3TR6BoGBgQgODs7wf6mDgwO8vLzg4+OjaduMnbnWDaDCISUlReV9ylertWrV0ro5lAurV6+Gv7+/Smkgw3Pt2jX1lfiECRMwZcoU1Y/jxo2DpaUlhg4dqnXzKAcj9FFRUahevTrMzMxUTu/nn3+OQYMGad00egYS7AoZ0U1P1nW3Ud5gwEv5NkJ49uxZNTJBhuPmzZsYP368ysG2trbWujn0jB82ZYT3iy++UOsywivvRckfZMBb8P3xxx/4/fffsXLlStSsWRMnT55UgwfytTj7jyjnmNJAeW7s2LH4559/sGfPHpQpU0br5lAu+Pn5ITQ0VOXvmpubq0VysOWCC/ldRpuoYJMrwT08PDJsq1GjBoKCgjRrE+Xce++9p0Z5JbdTqmu88soreOedd1QVHDI8Li4u6mdISEiG7bKuu43yBgNeyjOSnC/BriTs7969W5XVIcPSrl07nDlzRo0q6RYZLZSvU+V3+YqVCjZJI8pcDlDyQcuVK6dZmyjnYmNjYWqa8U+1vO9k5J4Mj/wdlMBW8rJ1JGVFqjV4e3tr2jZjx5QGytM0BvkabuPGjaoWry4/SRL05QpjKvik3zLnXEsJHannylxswyCjgXLhk6Q09O3bF0ePHsVPP/2kFir4pJ6r5OyWLVtWpTScOHECc+fOxYgRI7RuGj2hqs2VK1cyXKgmAwRywbb0o6SkSLWbKlWqqABY6ixLioqukgPlDZYlozwtx5KdpUuXYtiwYfneHtKP1q1bsyyZgZGUosmTJ6vi9vIHVi5gGzVqlNbNohyIjo5WAZF8UybpRRIYDRgwQE1cIBceUsGzd+9etGnTJst2ybmW0mMSdk2bNk196IyIiEDz5s1VyceqVatq0t7CggEvERERERk15vASERERkVFjwEtERERERo0BLxEREREZNQa8RERERGTUGPASERERkVFjwEtERERERo0BLxEREREZNQa8RERERGTUGPASERXyGRE3bNigdTOIiPIUA14iIo3IFNsScGZeOnfurHXTiIiMirnWDSAiKswkuF26dGmGbVZWVpq1h4jIGHGEl4hIQxLcuri4ZFiKFy+ubpPR3oULF6JLly6wsbFBxYoVsXbt2gz3P3PmDNq2batuL1GiBF577TU8fPgwwz5LlixBzZo11WO5urpi7NixGW4PDw/HSy+9BFtbW1SpUgWbNm3KcPvZs2dVG4oWLYpSpUrhlVdeUffRad26NcaNG4dJkybB0dFRPYdPPvkkD84WEdGzYcBLRFSAffzxx+jduzdOnTqFQYMGoX///rhw4YK6LSYmBp06dVIB8rFjx/Dnn39i586dGQJaCZjffPNNFQhLcCzBbOXKlTM8xvTp09G3b1+cPn0aXbt2VY9z//59dVtERIQKqOvVq4fjx49j69atCAkJUfun9+uvv6JIkSLw9fXFV199hU8//RQ7duzIl3NERPRUqUREpImhQ4emmpmZpRYpUiTD8vnnn6vb5b/o0aNHZ7iPl5dX6pgxY9TvP/30U2rx4sVTHz58mHb75s2bU01NTVODg4PVeunSpVM//PDDx7ZBHuOjjz5KW5djybYtW7ao9c8++yy1Y8eOGe5z8+ZNtU9AQIBab9WqVWrz5s0z7NOoUaPU999//5nPDRGRPjGHl4hIQ23atFGjsOlJWoCOt7d3httk/eTJk+p3GemtW7euGlnVadasGVJSUhAQEKBSIu7cuYN27do9sQ116tRJ+12OZW9vj9DQULUuI8t79uxR6QyZXb16FVWrVs1yDCGpE7pjEBFpjQEvEZGGJMDMnGKgL5LXmxMWFhYZ1iVQlqBZSD5w9+7dMWvWrCz3k6A2J8cgItIac3iJiAqwI0eOZFmvUaOG+l1+ygis5PLqHDp0CKampqhWrRrs7OxQvnx57Nq165kfv379+jh37pw6jgTm6Zf0I8tERAUZA14iIg3Fx8cjODg4w5K+AoJciCZVFi5duoRp06bh6NGjaRelycVl1tbWGDp0qKqkIKkHb731lqqiINUUhFRL+PrrrzF//nxcvnwZ/v7++O6773LcPrngTS5gGzBggLowTtIYtm3bhuHDhyM5OTkPzggRkf4xpYGISENS9SB9aoCQ0dmLFy+mVVBYvXo13njjDbXfqlWr4OHhoW6TMmISfI4fPx6NGjVS61LRYe7cuWnHkmA4Li4O33zzDSZOnAgnJyf06dMnx+0rXbq0GjV+//330bFjRxWglytXTtUPlpFkIiJDYCJXrmndCCIiykryYNevX4+ePXtq3RQiIoPGj+dEREREZNQY8BIRERGRUWMOLxFRAcWMMyIi/eAILxEREREZNQa8RERERGTUGPASERERkVFjwEtERERERo0BLxEREREZNQa8RERERGTUGPASERERkVFjwEtEREREMGb/B8Ur/dI7z+TgAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -433,14 +439,14 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/l7/061cw0t95vz1myntpf9bj9540000gn/T/ipykernel_5620/1822405546.py:2: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n", + "/var/folders/l7/061cw0t95vz1myntpf9bj9540000gn/T/ipykernel_14038/1822405546.py:2: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n", " model.load_state_dict(torch.load(\"best_model.pth\"))\n" ] }, @@ -448,8 +454,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "🚀 Finale Test Accuracy: 0.6518\n", - "🚀 Finale Test F1 Score: 0.6993\n" + "🚀 Finale Test Accuracy: 0.6579\n", + "🚀 Finale Test F1 Score: 0.6966\n" ] } ], @@ -488,12 +494,12 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 7, "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgIAAAHWCAYAAAAFAuFoAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAARx1JREFUeJzt3QmcTfX7wPHnDGMMmsEUQ7JF9i38JLJETZSIklIokX4ke6msiVJZE60UUspSKEso2ZdQJEtI2bMMgxnD3P/r+fa/9zd3DM3l3jl35nzevU5z7znnnvu91/B9zvPdLJfL5RIAAOBIIXYXAAAA2IdAAAAAByMQAADAwQgEAABwMAIBAAAcjEAAAAAHIxAAAMDBCAQAAHAwAgEAAByMQABIo507d8rdd98tkZGRYlmWzJ4926/X37t3r7nupEmT/HrdjKxevXpmAxA4BALIUH7//Xd5+umnpXjx4pI9e3aJiIiQWrVqyejRo+XcuXMBfe+2bdvKL7/8Iq+++qpMnjxZqlWrJplFu3btTBCi32dq36MGQXpctzfffNPn6x84cEAGDhwomzZt8lOJAfhLVr9dCQiwefPmyUMPPSRhYWHSpk0bKV++vJw/f16WL18uvXv3lq1bt8p7770XkPfWynHVqlXy0ksvSZcuXQLyHkWKFDHvExoaKnbImjWrnD17VubMmSMtW7b0OjZ16lQTeMXHx1/VtTUQGDRokBQtWlQqV66c5tctXLjwqt4PQNoRCCBD2LNnj7Rq1cpUlkuWLJECBQp4jnXu3Fl27dplAoVAOXr0qPmZO3fugL2H3m1rZWsXDbA0uzJt2rRLAoFPP/1U7r33XpkxY0a6lEUDkhw5cki2bNnS5f0AJ6NpABnC8OHDJS4uTj788EOvIMCtRIkS8txzz3meX7hwQV555RW5+eabTQWnd6IvvviiJCQkeL1O9993330mq/Cf//zHVMTa7PDJJ594ztGUtgYgSjMPWmHr69wpdffj5PQ1el5yixYtktq1a5tgIleuXFKqVClTpn/rI6CBzx133CE5c+Y0r23atKls27Yt1ffTgEjLpOdpX4YnnnjCVKpp9eijj8q3334rJ0+e9Oxbt26daRrQYykdP35cevXqJRUqVDCfSZsWGjVqJJs3b/ac8/3330v16tXNYy2Pu4nB/Tm1D4BmdzZs2CB16tQxAYD7e0nZR0CbZ/TPKOXnj4mJkTx58pjMAwDfEAggQ9B0tVbQt99+e5rOf+qpp6R///5y6623ysiRI6Vu3boybNgwk1VISSvPBx98UO666y556623TIWilak2NajmzZuba6hHHnnE9A8YNWqUT+XXa2nAoYHI4MGDzfvcf//9smLFiiu+7rvvvjOV3JEjR0xl36NHD1m5cqW5c9fAISW9kz99+rT5rPpYK1tNyaeVflatpGfOnOmVDShdurT5LlPavXu36TSpn23EiBEmUNJ+FPp9uyvlMmXKmM+sOnbsaL4/3bTSdzt27JgJILTZQL/b+vXrp1o+7Qtyww03mIDg4sWLZt+7775rmhDGjh0rBQsWTPNnBfD/XECQi42NdemvatOmTdN0/qZNm8z5Tz31lNf+Xr16mf1Llizx7CtSpIjZt2zZMs++I0eOuMLCwlw9e/b07NuzZ48574033vC6Ztu2bc01UhowYIA5323kyJHm+dGjRy9bbvd7TJw40bOvcuXKrnz58rmOHTvm2bd582ZXSEiIq02bNpe835NPPul1zQceeMAVFRV12fdM/jly5sxpHj/44IOuBg0amMcXL150RUdHuwYNGpTqdxAfH2/OSfk59PsbPHiwZ9+6desu+WxudevWNccmTJiQ6jHdkluwYIE5f8iQIa7du3e7cuXK5WrWrNm/fkYAqSMjgKB36tQp8/O6665L0/nffPON+al3z8n17NnT/EzZl6Bs2bIm9e6md5yatte7XX9x9y346quvJCkpKU2vOXjwoOllr9mJvHnzevZXrFjRZC/cnzO5Tp06eT3Xz6V32+7vMC20CUDT+YcOHTLNEvoztWYBpc0uISH//DOid+j6Xu5mj59++inN76nX0WaDtNAhnDpyRLMMmsHQpgLNCgC4OgQCCHra7qw05Z0Wf/zxh6mctN9ActHR0aZC1uPJFS5c+JJraPPAiRMnxF8efvhhk87XJov8+fObJorp06dfMShwl1Mr1ZQ03f7333/LmTNnrvhZ9HMoXz5L48aNTdD1+eefm9EC2r6f8rt00/Jrs0nJkiVNZX799debQOrnn3+W2NjYNL/njTfe6FPHQB3CqMGRBkpjxoyRfPnypfm1ALwRCCBDBALa9rtlyxafXpeys97lZMmSJdX9Lpfrqt/D3X7tFh4eLsuWLTNt/o8//ripKDU40Dv7lOdei2v5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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgIAAAHWCAYAAAAFAuFoAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAQuFJREFUeJzt3QmcTXX/wPHvuYwxlpmxD8ma7FnSI5QtJWSJHhFRRHosWStPWVMiIRL1VJRQCEXPYwmRfVdJokhhIstoMINx/6/vr/+9zZ0ZmsudOXfmfN69TnPvOeee+73XcL7n+1uO5Xa73QIAABzJZXcAAADAPiQCAAA4GIkAAAAORiIAAICDkQgAAOBgJAIAADgYiQAAAA5GIgAAgIORCAAA4GAkAkAq7d+/X+677z6JiIgQy7Jk0aJFAT3+oUOHzHFnzJgR0ONmZPXr1zcLgLRDIoAM5ccff5Qnn3xSSpUqJdmzZ5fw8HCpU6eOvP7663LhwoU0fe/OnTvLN998Iy+99JLMnDlTatSoIZnFY489ZpIQ/T5T+h41CdLtuowbN87v4x89elSGDx8uu3btClDEAAIla8COBKSxzz//XP75z39KaGiodOrUSSpVqiQXL16UdevWyaBBg2TPnj3y9ttvp8l768lx48aN8vzzz0uvXr3S5D2KFy9u3ickJETskDVrVjl//rwsXrxY2rZt67Nt1qxZJvGKi4u7rmNrIjBixAgpUaKEVK1aNdWvW758+XW9H4DUIxFAhnDw4EFp166dOVmuWrVKChcu7N3Ws2dPOXDggEkU0sqJEyfMz8jIyDR7D73a1pOtXTTB0urKnDlzkiUCs2fPlmbNmsknn3ySLrFoQpIjRw7Jli1burwf4GQ0DSBDGDt2rMTGxsq7777rkwR43HLLLfL00097n1++fFlefPFFKV26tDnB6ZXov//9b4mPj/d5na5/4IEHTFXhH//4hzkRa7PDBx984N1HS9qagCitPOgJW1/nKal7Hiemr9H9EluxYoXcddddJpnIlSuXlC1b1sT0d30ENPG5++67JWfOnOa1LVu2lL1796b4fpoQaUy6n/ZlePzxx81JNbUeeeQR+d///idnzpzxrtu6datpGtBtSZ06dUoGDhwolStXNp9JmxaaNGkiu3fv9u7z5Zdfyh133GEeazyeJgbP59Q+AFrd2b59u9StW9ckAJ7vJWkfAW2e0T+jpJ+/cePGkidPHlN5AOAfEgFkCFqu1hN07dq1U7X/E088IUOHDpXq1avLhAkTpF69ejJ69GhTVUhKT54PPfSQ3HvvvfLaa6+ZE4qeTLWpQbVu3docQ7Vv3970D5g4caJf8euxNOHQRGTkyJHmfVq0aCHr16+/5uu++OILc5I7fvy4Odn3799fNmzYYK7cNXFISq/k//jjD/NZ9bGebLUkn1r6WfUkvWDBAp9qQLly5cx3mdRPP/1kOk3qZxs/frxJlLQfhX7fnpNy+fLlzWdW3bt3N9+fLnrS9zh58qRJILTZQL/bBg0apBif9gUpUKCASQgSEhLMurfeess0IUyePFmKFCmS6s8K4P+5gSAXExPj1l/Vli1bpmr/Xbt2mf2feOIJn/UDBw4061etWuVdV7x4cbNu7dq13nXHjx93h4aGugcMGOBdd/DgQbPfq6++6nPMzp07m2MkNWzYMLO/x4QJE8zzEydOXDVuz3tMnz7du65q1aruggULuk+ePOldt3v3brfL5XJ36tQp2ft16dLF55gPPvigO1++fFd9z8SfI2fOnObxQw895L7nnnvM44SEBHdUVJR7xIgRKX4HcXFxZp+kn0O/v5EjR3rXbd26Ndln86hXr57ZNm3atBS36ZLYsmXLzP6jRo1y//TTT+5cuXK5W7Vq9befEUDKqAgg6J09e9b8zJ07d6r2/+9//2t+6tVzYgMGDDA/k/YlqFChgim9e+gVp5bt9Wo3UDx9Cz799FO5cuVKql5z7Ngx08teqxN58+b1rr/ttttM9cLzORPr0aOHz3P9XHq17fkOU0ObALScHx0dbZol9GdKzQJKm11crj//GdErdH0vT7PHjh07Uv2eehxtNkgNHcKpI0e0yqAVDG0q0KoAgOtDIoCgp+3OSkveqfHzzz+bk5P2G0gsKirKnJB1e2LFihVLdgxtHjh9+rQEysMPP2zK+dpkUahQIdNEMXfu3GsmBZ449aSalJbbf//9dzl37tw1P4t+DuXPZ2natKlJuj7++GMzWkDb95N+lx4avzablClTxpzM8+fPbxKpr7/+WmJiYlL9njfddJNfHQN1CKMmR5ooTZo0SQoWLJjq1wLwRSKADJEIaNvvt99+69frknbWu5osWbKkuN7tdl/3e3jarz3CwsJk7dq1ps3/0UcfNSdKTQ70yj7pvjfiRj6Lh57Q9Ur7/fffl4ULF161GqBefvllU3nR9v4PP/xQli1bZjpFVqxYMdWVD8/344+dO3eafhNK+yQAuH4kAsgQtDOaTiakY/n/jvbw15OQ9nRP7LfffjO94T0jAAJBr7gT97D3SFp1UFqluOeee0ynuu+++85MTKSl99WrV1/1c6h9+/Yl2/b999+bq28dSZAW9OSvJ1utwqTUwdJj/vz5pmOfjubQ/bRs36hRo2TfSWqTstTQKog2I2iTjnY+1BElOrIBwPUhEUCG8Mwzz5iTnpbW9YSelCYJ2qPcU9pWSXv26wlY6Xj4QNHhiVoC1yv8xG37eiWddJhdUp6JdZIOafTQYZK6j16ZJz6xamVEe8l7Pmda0JO7Dr984403TJPKtSoQSasN8+bNkyNHjvis8yQsKSVN/nr22Wfl8OHD5nvRP1MdvqmjCK72PQK4NiYUQoagJ1wdxqbldG0fTzyzoA6n05OPdqpTVapUMScGnWVQTzw6lG3Lli3mxNGqVaurDk27HnoVrCemBx98UPr06WPG7E+dOlVuvfVWn85y2rFNmwY0CdErfS1rv/nmm1K0aFEzt8DVvPrqq2ZYXa1ataRr165m5kEdJqdzBOhwwrSi1YsXXnghVZUa/Wx6ha5DO7VMr/0KdKhn0j8/7Z8xbdo00/9AE4OaNWtKyZIl/YpLKyj6vQ0bNsw7nHH69OlmroEhQ4aY6gAAP11lNAEQlH744Qd3t27d3CVKlHBny5bNnTt3bnedOnXckydPNkPZPC5dumSGvJUsWdIdEhLivvnmm92DBw/22Ufp0L9mzZr97bC1qw0fVMuXL3dXqlTJxFO2bFn3hx9+mGz44MqVK83wxyJFipj99Gf79u3N50n6HkmH2H3xxRfmM4aFhbnDw8PdzZs3d3/33Xc++3jeL+nwRD2Wrtdjp3b44NVcbfigDrMsXLiwiU/j3LhxY4rD/j799FN3hQoV3FmzZvX5nLpfxYoVU3zPxMc5e/as+fOqXr26+fNNrF+/fmZIpb43AP9Y+j9/kwcAAJA50EcAAAAHIxEAAMDBSAQAAHAwEgEAAByMRAAAAAcjEQAAwMFIBAAAcLBMObPgEx/7d3MaICNqWObPWxsDmdkj1Yum6fHDqvUK2LEu7HxDMqJMmQgAAJAqFoVxvgEAAByMigAAwLmswN0iO6MiEQAAOJdFYZxvAAAAB6MiAABwLoumARIBAIBzWRTG+QYAAHAwKgIAAOeyaBogEQAAOJdFYZxvAAAAB6MiAABwLoumARIBAIBzWRTG+QYAAHAwKgIAAOeyaBogEQAAOJdFYZxvAAAAB6MiAABwLoumARIBAIBzWRTG+QYAAHAwKgIAAOeyuB4mEQAAOJeLPgKkQgAAOBgVAQCAc1lcD5MIAACcy6JpgFQIAAAHoyIAAHAui+thEgEAgHNZNA2QCgEA4GBUBAAAzmVxPUwiAABwLoumAVIhAAAcjIoAAMC5LK6HSQQAAM5l0TRAKgQAgIORCAAAnN00YAVo8cPatWulefPmUqRIEbEsSxYtWuSzPTY2Vnr16iVFixaVsLAwqVChgkybNs1nn7i4OOnZs6fky5dPcuXKJW3atJHffvvN76+ARAAA4OymAStAix/OnTsnVapUkSlTpqS4vX///rJ06VL58MMPZe/evdK3b1+TGHz22Wfeffr16yeLFy+WefPmyZo1a+To0aPSunVrv78C+ggAAJDOmjRpYpar2bBhg3Tu3Fnq169vnnfv3l3eeust2bJli7Ro0UJiYmLk3XffldmzZ0vDhg3NPtOnT5fy5cvLpk2b5M4770x1LFQEAADOZQWuaSA+Pl7Onj3rs+i661G7dm1z9X/kyBFxu92yevVq+eGHH+S+++4z27dv3y6XLl2SRo0aeV9Trlw5KVasmGzcuNGv9yIRAAA4lxW4RGD06NESERHhs+i66zF58mTTL0D7CGTLlk3uv/9+04xQt25dsz06Otqsj4yM9HldoUKFzDZ/0DQAAEAADB482LTtJxYaGnrdiYCW+LUqULx4cdO5UDsGaufCxFWAQCARAAA4lxW4eQT0pH+9J/7ELly4IP/+979l4cKF0qxZM7Putttuk127dsm4ceNMIhAVFSUXL16UM2fO+FQFdNSAbvMHTQMAAOey7Bk+eC3a9q+Ly+V7zCxZssiVK1fM49tvv11CQkJk5cqV3u379u2Tw4cPS61atfx6PyoCAACkM50n4MCBA97nBw8eNFf8efPmNR3+6tWrJ4MGDTJzCGjTgA4P/OCDD2T8+PFmf+1/0LVrV9MUoa8JDw+X3r17myTAnxEDikQAAOBclj1TDG/btk0aNGjgfe7pW6BDBmfMmCEfffSR6XPQoUMHOXXqlEkGXnrpJenRo4f3NRMmTDBVA51ISEcnNG7cWN58802/Y7HcOi4hk3ni42/tDgFIcw3L+PYWBjKjR6oXTdPjhz34TsCOdWHhE5IR0UcAAAAHo2kAAOBcFncfJBEAADiWRSJA0wAAAE5GRQAA4FgWFQESAQCAg1l2B2A/mgYAAHAwKgIAAMeyaBogEQAAOJdFIkDTAAAATkZFAADgWBYVARIBAIBzWSQCNA0AAOBkVAQAAM5l2R2A/UgEAACOZdE0YG/TgNvtlsOHD0tcXJydYQAA4Fi2JwK33HKL/PLLL3aGAQBwcEXACtCSUdmaCLhcLilTpoycPHnSzjAAAA5lkQjYP2rglVdekUGDBsm3335rdygAADiO7Z0FO3XqJOfPn5cqVapItmzZJCwszGf7qVOnbIsNAJC5WRn4Sj7TJAITJ060OwQAgFNZdgdgP9sTgc6dO9sdAgAAjmV7IqASEhJk0aJFsnfvXvO8YsWK0qJFC8mSJYvdoQEAMjGLpgH7E4EDBw5I06ZN5ciRI1K2bFmzbvTo0XLzzTfL559/LqVLl7Y7RABAJmWRCNg/aqBPnz7mZK9zCezYscMsOslQyZIlzTYAAJCJKwJr1qyRTZs2Sd68eb3r8uXLZ4YV1qlTx9bYAACZm0VFwP5EIDQ0VP74449k62NjY81wQgAA0oxldwD2s71p4IEHHpDu3bvL5s2bzZTDumiFoEePHqbDIAAAyMSJwKRJk0wfgVq1akn27NnNok0Ceg+C119/3e7wAACZmMUUw/Y3DURGRsqnn34q+/fvl++//96sK1++vEkEAABIS1YGPoFnmkTAQ28+pAsAAHBQIqB9AubPny+rV6+W48ePy5UrV3y2L1iwwLbYAACZm0VFwP5EoG/fvvLWW29JgwYNpFChQvyhAADSjcU5x/5EYObMmeaqX2cXBAAADksEIiIipFSpUnaHAQBwIsvuAOxn+/DB4cOHy4gRI+TChQt2hwIAcBiL4YP2VwTatm0rc+bMkYIFC0qJEiUkJCTEZ7veewAAAGTSRKBz586yfft26dixI50FAQDpyuKcY38ioLcaXrZsmdx11112hwIAcBiLRMD+PgI333yzhIeH2x0GAACOZHsi8Nprr8kzzzwjhw4dsjsUAIDTWAFcMijbmwa0b8D58+fNjYdy5MiRrLPgqVOnbIsNAJC5WTQN2J8ITJw40e4QAABwrKAYNQAAgB0sKgL2JwKHDx++5vZixYqlWyzwVaZADrm/bH4pnjdMIsNC5I11P8uuI394t7eoWFDuKBYheXOEyOUrbvn51AVZ+M1vcvDUX5NDNStfQCoXyS03R2aXhCtu6bNwr02fBkjZz3u/lg1LPpajP+2X2DMn5eH+I6TcHXf53Bjty/kzZMeq/0rcuVi5uWwladblaclXuKh3n5PHfpEVs96Ww/u+lYSEy1KoWClp8M/HpGTFajZ9KqSWRSJgf2dBnUSoZMmSV11gn9AsLvnlTJzM2n40xe3Rf8TL7B1HZdjS/TJm5U9y8vxF6VevhOQKzeLdJ4vLku2/xMiaH+nrgeB0Mf6CFCpWWpp26ZPi9vWLP5LNSxdKs6595YkX35Bsodnlw1eek8sXL3r3mT32ebmSkCCdXxgn3V+aahKBOa++ILFn+L1H8LO9IrBz506f55cuXTLrxo8fLy+99JJtcUHk2+hYs1zNlsMxPs8/3hktd5fKK0Ujssv3x8+ZdZ/tOW5+1i4RmcbRAtenTNWaZkmJVgM2/2+B1H2wo5SrUcesa/WvZ2Vcj4fk+23rpFLthnL+bIycij4iLZ4cKIWKlzb7NGrfTbat+EyO/3JQckXmTdfPA/9YVATsrwhUqVLFZ6lRo4Z069ZNxo0bJ5MmTbI7PKSSXvnXLZ1Hzl9MkF/PxNkdDhAQZ44fM1f1pSpV967LniOXFC1dXn7Z/515HpY7XPIVuVl2r10hF+MumMrA9pVLJGd4pBQueauN0SOYhw+uXbtWmjdvLkWKFDHJyKJFi5Lts3fvXmnRooW5OV/OnDnljjvu8GlOj4uLk549e0q+fPkkV65c0qZNG/ntt98yXkXgasqWLStbt2792/3i4+PNkljCpYuSJSRbGkYHj9sK55butYpKtqwuiblwWcavOSSxFxPsDgsIiNiY0+Znzog8Puv1+bkzf27Tf8Q7/ftV+ei1oTK6S3PzPGd4Hunw3CsSliu3LXEj+J07d85c/Hbp0kVat26dbPuPP/5oZtzt2rWruTGfTry3Z88eyZ49u3effv36mdl5582bZ5KFXr16mWOtX78+YyUCZ8+eTVaKO3bsmLkrYZkyZf729aNHjzZfUmLV2jwl1f/5r4DHiuS+Px4rI5f/aPoFaLPAk7Vulpe/+FH+iCcZgDPov1n/nT5JckZEyuPDJkpItmyyY9X/ZM64F6TbqDcld558doeIIGwaaNKkiVmu5vnnn5emTZvK2LFjvet0vh2PmJgYeffdd2X27NnSsGFDs2769OlSvnx52bRpk9x5550Zp2kgMjJS8uTJ413y5s0rFSpUkI0bN8rUqVP/9vWDBw82X0jipUqrJ9IldohcTHDL8diL8tPJC/L+1iNyxe2Wu0r5Xj0BGVWu/68EnPv/yoCHPs8Z+ee2g3t2yg87NslDvV+QYmUrmeaAZl2flpBsobJ77XJb4oY9tyGOj483F7eJl6QV69S4cuWKudK/9dZbpXHjxubuvDVr1vRpPtCb9WmfukaNGnnXlStXzoy00/OnP2xPBFavXi2rVq3yLl9++aV89913pixSq1atv319aGioKZkkXmgWsI/+ZQhx2f5rBQREZMHCprPfT9/+dTv0+PPn5Ncf98rNZSqY55fi/+wTYyX5vde/C273lXSOGHYaPXq0KdEnXnSdv44fPy6xsbHyyiuvyP333y/Lly+XBx980JT916xZY/aJjo6WbNmymYvpxPQuvrotQzUN1KtXz+4QcBWhWV1SMNdfSVWBnNnMfADnLiZIbPxlaVahoOw+elbOXLgsuUOzSINb8kmesKyy7Ze/RhPoHAM5s2UxP12WmNcrrSLEX+YfSdhPO/hpr3+P0yeiJfrQAdO+H5G/kNRs0lq+WjRL8kUVlciCUbJ63nTJnSe/lKvx51wDN5epKNlz5pJFU8dI3daPmqaB7av+K6ePR0uZaqkvz8IeVgBbBrRC3b9//2QXq9dTEVAtW7Y0/QBU1apVZcOGDTJt2rSAnzdtSwQ+++yzVO2nPSZhjxJ5wmRQw7/mcni4WmHzc/3B0zJz21EpHJ5NapcoZvoHaHKgEwmNWXVQjp79qxTWslJBqVPyr6aCYY1vMT9fXXVQ9p34c4ghYKejP+2T918c4H2+fOafTZJV6t4nrZ56Vuo0b2eu+he/M17izsdKsbKVpeNzoyVrtj+T5BzhEdLxuVdk1dz35INRAyQhIUEKFi0u7QaOlKj/H04IZ/QRCA0Nva4Tf1L58+eXrFmzmmbyxLT9f926deZxVFSUXLx4Uc6cOeNTFdBRA7rNH5Zbe7rYwJViGc2dbJ3+pfLXEx9/e8PxAcGuYRnmZkDm90j1v2ZwTAtlBi0N2LH2v3r/db1Oz3ULFy6UVq1aedfVrl3bdA6cOXOmd502D4SFhZkOgtofrkCBAjJnzhwzbFDt27fP9BPQPgL+dBa0rSLgKX145M6dW3bv3i2lSpWyKyQAgMNYNs0npH0ADhw44H1+8OBB2bVrl+kwrx3+Bg0aJA8//LDUrVtXGjRoIEuXLpXFixebfnRK+x/o0EJtitDXaP+43r17m751/iQBQdFHAAAApw0f3LZtmznBe3j6FuiN+GbMmGGu/rU/gHY27NOnj5lb55NPPjFzC3hMmDDBVNe1IqCjE3SEwZtvvul3LLY1DSQVyIoATQNwApoG4ARp3TRQ9tllATvWvjGNJSOiIgAAcCyLWw0ETyLgmZABAID04tJxzQ5nWyKgswgmPvFrx4lq1aolG01w6hS38QQAINMlAhMnTrTrrQEAMCwKAvYlAtozEgAA2Cto+ggAAJDeLEoCJAIAAOeyyAPsv/sgAACwDxUBAIBjWZQEgisR8ExyyB8MACA9WJxvgqNp4IMPPpDKlSubuyrpctttt/nccQkAAGTSisD48eNlyJAh0qtXL6lTp45Zp/db7tGjh/z+++/Sr18/u0MEAGRSFgUB+xOByZMny9SpU6VTp07edS1atJCKFSvK8OHDSQQAAGnGIhOwv2ng2LFjUrt27WTrdZ1uAwAAmTgRuOWWW2Tu3LnJ1n/88cdSpkwZW2ICADiDZQVuyahsbxoYMWKEPPzww7J27VpvH4H169fLypUrU0wQAAAIFCsjn8EzS0WgTZs2snnzZsmfP78sWrTILPp4y5Yt8uCDD9odHgAAmZrtFQF1++23y4cffmh3GAAAh7EoCARHIgAAgB0sMgH7EgGXy/W3fwC6/fLly+kWEwAATmNbIrBw4cKrbtu4caNMmjRJrly5kq4xAQCcxaIgYF8i0LJly2Tr9u3bJ88995wsXrxYOnToICNHjrQlNgCAM1hkAvaPGlBHjx6Vbt26mfsNaFPArl275P3335fixYvbHRoAAJmarYlATEyMPPvss2ZSoT179pi5A7QaUKlSJTvDAgA4hMWEQvY1DYwdO1bGjBkjUVFRMmfOnBSbCgAASEtWRj6DZ/REQPsC6C2HtRqgzQC6pGTBggXpHhsAAE5hWyKgdxskEwMA2MniNGRfIjBjxgy73hoAAMMiEwiOUQMAAMAeTDEMAHAsi4IAiQAAwLksMgGaBgAAcDIqAgAAx7KoCJAIAACcyyIPoGkAAAAnoyIAAHAsi5IAiQAAwLks8gCaBgAAcDIqAgAAx7IoCZAIAACcyyIPoGkAAAAnoyIAAHAsFyUBEgEAgHNZ5AE0DQAA4GRUBAAAjmVREiARAAA4l4s8gKYBAACcjEQAAODopgErQIs/1q5dK82bN5ciRYqY1y5atOiq+/bo0cPsM3HiRJ/1p06dkg4dOkh4eLhERkZK165dJTY21u/vgEQAAOBYlhW4xR/nzp2TKlWqyJQpU66538KFC2XTpk0mYUhKk4A9e/bIihUrZMmSJSa56N69u79fAX0EAABIb02aNDHLtRw5ckR69+4ty5Ytk2bNmvls27t3ryxdulS2bt0qNWrUMOsmT54sTZs2lXHjxqWYOFwNFQEAgGNZAfwvPj5ezp4967Pouutx5coVefTRR2XQoEFSsWLFZNs3btxomgM8SYBq1KiRuFwu2bx5s1/vRSIAAHD0qAFXgJbRo0dLRESEz6LrrseYMWMka9as0qdPnxS3R0dHS8GCBX3W6f558+Y12/xB0wAAAAEwePBg6d+/v8+60NBQv4+zfft2ef3112XHjh3pMs8BFQEAgGNZARw1oCd97cGfeLmeROCrr76S48ePS7FixcxVvi4///yzDBgwQEqUKGH2iYqKMvskdvnyZTOSQLcFvCLw9ddfp/qAt912m18BAABgFysIJxTSvgHa3p9Y48aNzfrHH3/cPK9Vq5acOXPGVA9uv/12s27VqlWmb0HNmjUDnwhUrVrVZDtutzvF7Z5t+jMhIcGvAAAAcJrY2Fg5cOCA9/nBgwdl165dpo1fKwH58uXz2T8kJMRc6ZctW9Y8L1++vNx///3SrVs3mTZtmly6dEl69eol7dq182vEQKoTAQ0QAIDMxmVTSWDbtm3SoEED73NP34LOnTvLjBkzUnWMWbNmmZP/PffcY0YLtGnTRiZNmuR3LKlKBIoXL+73gQEACHaWTU0D9evXv2qVPSWHDh1Ktk6rB7Nnz7ans+DMmTOlTp06pvygHRiUTn346aef3nBAAAAg/fidCEydOtWUMHT2Iu2o4OkToBMbJJ0HGQCAYGbZdK+BDJ0I6BSG//nPf+T555+XLFmyeNfr7EbffPNNoOMDACDT3WsgQycC2nGwWrVqydbrWEm9iQIAAMjEiUDJkiXNEIek9OYHOpwBAICMNGrAFaAlo/J7imHtH9CzZ0+Ji4szPR63bNkic+bMMfMpv/POO2kTJQAAacCyO4CMmAg88cQTEhYWJi+88IKcP39eHnnkETN6QOdF1okMAABAxnFdNx3q0KGDWTQR0NmRkt4BCQCAjMDKwCX9QLnuuw/qzQ727dvn/SILFCgQyLgAAEhzLvIA/zsL/vHHH+bGB9ocUK9ePbPo444dO0pMTEzaRAkAAIIjEdA+Aps3b5bPP//cTCiky5IlS8y8yU8++WTaRAkAQBqwmFDI/6YBPekvW7ZM7rrrLp/bI+okQ3onJAAAMgor456/7asI6K0RIyIikq3XdXny5AlUXAAAIBgTAR02qHMJREdHe9fp40GDBsmQIUMCHR8AAGnGomkgdU0DOqVw4g+5f/9+KVasmFnU4cOHzRTDJ06coJ8AACDDcGXc83f6JgKtWrVK+0gAAEBwJgLDhg1L+0gAAEhnVgYu6ds+oRAAABmdZXcAGTERSEhIkAkTJsjcuXNN34CLFy/6bD916lQg4wMAAME0amDEiBEyfvx4efjhh81MgjqCoHXr1uJyuWT48OFpEyUAAGnAxW2I/U8EZs2aZSYPGjBggGTNmlXat29vbj88dOhQ2bRpU9pECQBAGrCswC2OSQR0zoDKlSubx7ly5fLeX+CBBx4w0w4DAIBMnAgULVpUjh07Zh6XLl1ali9fbh5v3brVzCUAAEBGYTGhkP+JwIMPPigrV640j3v37m1mEyxTpox06tRJunTpkhYxAgCQJiyaBvwfNfDKK694H2uHweLFi8uGDRtMMtC8efNAxwcAAIKpIpDUnXfeaUYO1KxZU15++eXARAUAQDpwMWrgxhMBD+03wE2HAAAZiUXTQOASAQAAkPEwxTAAwLGsjHwpHyCZMhF4o00lu0MA0lyeO3rZHQKQ5h7Z+UaaHt+VpkfPZImAdgi8lhMnTgQiHgAAEIyJwM6dO/92n7p1695oPAAApBuLpoHUJwKrV69O20gAAEhnLvIAmkcAAHCyTNlZEACA1HBRESARAAA4l0UfAZoGAABwMioCAADHclEQuL6KwFdffSUdO3aUWrVqyZEjR8y6mTNnyrp16wIdHwAAacbiXgP+JwKffPKJNG7cWMLCwszcAvHx8WZ9TEwMdx8EACCzJwKjRo2SadOmyX/+8x8JCQnxrq9Tp47s2LEj0PEBAJBmXNyG2P8+Avv27UtxBsGIiAg5c+ZMoOICACDNuewOICN+B1FRUXLgwIFk67V/QKlSpQIVFwAACMZEoFu3bvL000/L5s2bzfjLo0ePyqxZs2TgwIHy1FNPpU2UAACkAYvOgv43DTz33HNy5coVueeee+T8+fOmmSA0NNQkAr17906bKAEASAOujHwGtysR0CrA888/L4MGDTJNBLGxsVKhQgXJlStX2kQIAACCb0KhbNmymQQAAICMyqIg4H8fgQYNGkjDhg2vugAAkJFmFnQFaPHH2rVrpXnz5lKkSBFTaV+0aJF326VLl+TZZ5+VypUrS86cOc0+nTp1Mn3yEjt16pR06NBBwsPDJTIyUrp27Wqq9H5/B/6+oGrVqlKlShXvolWBixcvmjkENGgAAHBt586dM+fQKVOmJNum/e/0nDpkyBDzc8GCBWbofosWLXz20yRgz549smLFClmyZIlJLrp37y7+stxut1sCYPjw4SYTGTdunNgt7rLdEQBpL88dvewOAUhzF3a+kabHH7ki+XD46zX03luu63VaEVi4cKG0atXqqvts3bpV/vGPf8jPP/8sxYoVk71795oLcV1fo0YNs8/SpUuladOm8uuvv5oqQrrPpaD3HnjvvfcCdTgAADLU8MH4+Hg5e/asz+KZhv9G6TT+mjBoE4DauHGjeexJAlSjRo3E5XKZ4f3+CFgioEFlz549UIcDACBDGT16tJllN/Gi625UXFyc6TPQvn170x9ARUdHS8GCBX32y5o1q+TNm9dsS9NRA61bt/Z5ri0Lx44dk23btpn2DAAAnHgb4mcGD5b+/fv7rNN5dm6Edhxs27atOddOnTpV0oLfiYBmOIlpGaJs2bIycuRIue+++wIZGwAAacqSwGUCetK/0RN/SkmA9gtYtWqVtxrgme7/+PHjPvtfvnzZjCTQbWmWCCQkJMjjjz9uRgfkyZPHrzcCAAD+JQH79++X1atXS758+Xy216pVy9zob/v27XL77bebdZos6My/NWvWlDRLBLJkyWKu+rW3IokAACCjc9k0oZCOskt8A7+DBw/Krl27TBt/4cKF5aGHHjJDB3VYoF6Ee9r9dbtO6Fe+fHm5//77zf1/pk2bZhKHXr16Sbt27fwaMXBdTQOVKlWSn376SUqWLOnvSwEACCoumxIB7VenE/R5ePoWdO7c2QzH/+yzz7xz9ySm1YH69eubx3rDPz35671/tJm+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", "text/plain": [ "
" ] diff --git a/cnn_reg.ipynb b/cnn_reg.ipynb index b2d4225..8b0436c 100644 --- a/cnn_reg.ipynb +++ b/cnn_reg.ipynb @@ -13,18 +13,18 @@ "metadata": {}, "outputs": [], "source": [ + "# Import required libraries\n", "import torch\n", "import torch.nn as nn\n", "import torch.nn.functional as F\n", "from torch.utils.data import DataLoader\n", - "from tqdm import tqdm # Fortschrittsbalken\n", + "from tqdm import tqdm # Progress bar\n", "import numpy as np\n", + "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score\n", - "\n", - "import matplotlib.pyplot as plt\n", - "import numpy as np" + "import matplotlib.patches as mpatches\n" ] }, { @@ -36,31 +36,32 @@ "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/l7/061cw0t95vz1myntpf9bj9540000gn/T/ipykernel_46830/3644220936.py:6: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n", + "/var/folders/l7/061cw0t95vz1myntpf9bj9540000gn/T/ipykernel_16242/2331049751.py:6: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n", " train_dataset = torch.load(data_path + '/train.pt')\n", - "/var/folders/l7/061cw0t95vz1myntpf9bj9540000gn/T/ipykernel_46830/3644220936.py:7: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n", + "/var/folders/l7/061cw0t95vz1myntpf9bj9540000gn/T/ipykernel_16242/2331049751.py:7: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n", " test_dataset = torch.load(data_path + '/test.pt')\n", - "/var/folders/l7/061cw0t95vz1myntpf9bj9540000gn/T/ipykernel_46830/3644220936.py:8: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n", + "/var/folders/l7/061cw0t95vz1myntpf9bj9540000gn/T/ipykernel_16242/2331049751.py:8: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n", " val_dataset = torch.load(data_path + '/val.pt')\n" ] } ], "source": [ - "# Daten laden\n", - "\n", + "# Define the data path and batch size\n", "data_path = 'data/embedded_padded'\n", "BATCH_SIZE = 32\n", "\n", + "# Load datasets\n", "train_dataset = torch.load(data_path + '/train.pt')\n", "test_dataset = torch.load(data_path + '/test.pt')\n", "val_dataset = torch.load(data_path + '/val.pt')\n", "\n", - "# DataLoader vorbereiten\n", + "# Define the collate function for DataLoader\n", "def collate_fn(batch):\n", " input_ids = torch.stack([item[\"input_ids\"] for item in batch]) \n", " labels = torch.tensor([item[\"labels\"] for item in batch], dtype=torch.float32).unsqueeze(1) \n", " return input_ids, labels\n", "\n", + "# Create DataLoaders\n", "train_loader = DataLoader(train_dataset, batch_size=BATCH_SIZE, shuffle=True, collate_fn=collate_fn)\n", "val_loader = DataLoader(val_dataset, batch_size=BATCH_SIZE, shuffle=False, collate_fn=collate_fn)\n", "test_loader = DataLoader(test_dataset, batch_size=BATCH_SIZE, shuffle=False, collate_fn=collate_fn)\n" @@ -81,7 +82,7 @@ }, { "data": { - "image/png": "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", + "image/png": "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7kCnd59zaPjdv3+/rF+/XlatWmVC9eDBg937k5OTza2bIyMjZdeuXfLKK6+YsD537tzcvHUAAADYeiOMvNClSxezZEV7f2fMmCFjx46VHj16uOcfDg8PNz3FDz/8sHz//feydu1a+fLLL6Vly5bmmNdff126du0qr776qulZXrx4saSmppqeaZ2mrWHDhrJ7926ZNm2aV1AGAACAHXIVgEeOHJnjYzVo5sbhw4dNr7KWPTjKlSsnUVFREhcXZwKwPmrZgxN+lR5frFgx02N8//33m2PatWtnwq9De5FffvllM4VbhQoVMp07JSXFLJ69yAAAALA4AH/zzTdm0Rtg1K1b12z78ccfpXjx4tK8eXP3cVrXm1safpX2+HrSdWefPoaFhWWaiaJixYpex9SsWTPTazj7sgrAU6ZMkYkTJ+a67QAAAChiAVgHrpUtW1befvttd4DU3tQ///nPZrDZM888I4XZmDFjvHq5tQdYB88BAADA0kFwr732mukl9ew91Z9feuklsy8vREREmMcTJ054bdd1Z58+njx50mt/WlqamRnC85isXsPzHBkFBwebWSU8FwAAAFgcgLVH9NSpU5m267Zz587lRbtM2YIG1I0bN3qdV2t7W7VqZdb18ezZs2Z2B8emTZvMzBRaK+wcozNDaLmGQ2eM0NKNrMofAAAAULTlKgDr4DItd1ixYoUcO3bMLP/zP/9j5uDVOYFzSufr1RkZdHEGvunPCQkJpn746aefNr3KeuONvXv3Sr9+/czMDjr3sKpfv77cc889MmjQINm5c6d88cUXMnz4cDNATo9TvXv3NgPgtG06XdqyZctk5syZ1zWQDwAAAJbXAOu8vM8++6wJl07Pqg4+05Cp8+zm1FdffSUdOnRwrzuhNCYmRhYuXCjPPfecmStYpyvTnt42bdqYac/0hhYOneZMQ2/Hjh3N7A+9evUycwd7zhyxbt06GTZsmLRo0UJCQ0PNzTWYAg0AAMBOuQrApUuXljfffNOE3UOHDplttWrVMjequB7t27c38/1mR3uBJ02aZJbs6IwPegOOq9E71H322WfX1TYAAAAUTbkqgXAkJiaa5dZbbzXh92phFgAAACi0AfiXX34xJQd16tQxd13TEKy0BKKwT4EGAACAoi1XAXjEiBFSokQJM1hNyyEcDz30kKnRBQAAAIpUDbAOKvvkk0+k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smvEiBEF3nb8rzVr1rief/5514oVK3RGMdf777/vupqffvrJVbp0adfIkSNNlnn99ddNtlm7dq2roBGAfeSOO+5wDRs2zL2enp7uqlKlimvKlClZHv/ggw+6unXr5rUtKirKNWTIkHxvK278+mWUlpbmKlu2rOvtt9/Ox1Yir6+hXrff//73rrfeessVExNDAC5k13D27NmuW265xZWamlqArUReXT899u677/bapkGqdevW+d5WXFtOAvBzzz3natiwode2hx56yBUdHe0qaJRA+EBqaqrs2rXLfA3uKFasmFmPi4vL8jm63fN4FR0dne3x8K/rl9HFixfl8uXLUrFixXxsKfL6Gk6aNEnCwsJk4MCBBdRS5OU1/PDDD6VVq1amBEJvgtSoUSOZPHmypKenF2DLkdvr9/vf/948xymT+Omnn0z5SteuXQus3bgx/pRlrLkTnD/5+eefzX9wM96FTtd/+OGHLJ+jd6/L6njdDv+/fhmNHj3a1Exl/A8B/Pcafv755zJv3jzZvXt3AbUSeX0NNTBt2rRJHn30UROcDh48KE888YT5Y1TvVgX/vn69e/c2z2vTpo1+ey1paWkydOhQ+etf/1pArcaNyi7LJCcny2+//WZquwsKPcBAAZs6daoZRPX++++bgR/wf+fOnZO+ffuawYyhoaG+bg5y6cqVK6YHf+7cudKiRQt56KGH5Pnnn5c5c+b4umnIAR08pT32b775pnz99deyYsUKWb16tbz44ou+bhoKIXqAfUD/D7R48eJy4sQJr+26HhERkeVzdPv1HA//un6OV1991QTgDRs2SJMmTfK5pcira3jo0CE5cuSIGe3sGaZUYGCgxMfHS61atQqg5biRf4c680OJEiXM8xz169c3vVL6lXxQUFC+txu5v34vvPCC+UP0scceM+s6G9KFCxdk8ODB5g8ZLaGAf4vIJsuEhIQUaO+v4rfFB/Q/str7sHHjRq//M9V1rU/Lim73PF6tX78+2+PhX9dPxcbGmp6KtWvXSsuWLQuotciLa6jTD+7du9eUPzjLvffeKx06dDA/63RM8P9/h61btzZlD84fL+rHH380wZjw6//XT8dOZAy5zh8z/zsGC/6ulT9lmQIfdgf39C86ncvChQvNVCCDBw82078kJSWZ/X379nX95S9/8ZoGLTAw0PXqq6+aabTGjx/PNGiF6PpNnTrVTPfz73//25WYmOhezp0758N3YbfrvYYZMQtE4buGCQkJZvaV4cOHu+Lj412rVq1yhYWFuV566SUfvgt7Xe/10//f0+v37rvvmum01q1b56pVq5aZJQm+ce7cOTO9py4aKadNm2Z+Pnr0qNmv10+vY8Zp0EaNGmWyjE4PyjRoFtL576pXr26CkU4Hs337dve+u+66y/wfrKf33nvPVadOHXO8TiOyevVqH7Qaubl+kZGR5j8OGRf9DzoKz79BTwTgwnkNt23bZqaQ1OClU6L97W9/M9Pbwf+v3+XLl10TJkwwobdkyZKuatWquZ544gnXmTNnfNR6bN68Ocv/b3Oumz7qdcz4nGbNmplrrv8GFyxY4JO2B+j/FHy/MwAAAOAb1AADAADAKgRgAAAAWIUADAAAAKsQgAEAAGAVAjAAAACsQgAGAACAVQjAAAAAsAoBGAAAAFYhAAMAAMAqBGAAuAH9+/eX++67L9P2LVu2SEBAgJw9e1YKi/T0dJk6darUq1dPSpUqJRUrVpSoqCh56623fN00AMhTgXn7cgAAf5eamipBQUGZtk+cOFH+8Y9/yBtvvCEtW7aU5ORk+eqrr+TMmTMF3hYAyE/0AANAAZgwYYI0a9bMa9uMGTOkRo0amXqTJ0+eLOHh4VK+fHmZNGmSpKWlyahRo0yPbNWqVWXBggVer7N37165++67Ta9tpUqVZPDgwXL+/PlMr/u3v/1NqlSpInXr1s2yjR9++KE88cQT8qc//Ulq1qwpTZs2lYEDB8qzzz7rPubKlSsSGxsrtWvXluDgYKlevbp53Rtty3/+8x958MEHzXvW99mjRw85cuSIV4/6HXfcIWXKlDHHtG7dWo4ePZrLqwHAdgRgAPAjmzZtkuPHj8vWrVtl2rRpMn78ePnjH/8oFSpUkB07dsjQoUNlyJAhcuzYMXP8hQsXJDo62uz/8ssvZfny5bJhwwYZPny41+tu3LhR4uPjZf369bJq1aoszx0REWHOf+rUqWzbN2bMGFMm8cILL8h3330nS5YsMWH9Rtpy+fJl87yyZcvKZ599Jl988YXcdNNNcs8995geYv0DQEPzXXfdJXv27JG4uDgTrLXEBAByxQUAyLWYmBhX8eLFXWXKlPFaSpYs6dL/xJ45c8YcN378eFfTpk29njt9+nRXZGSk12vpenp6untb3bp1XW3btnWvp6Wlmdd/9913zfrcuXNdFSpUcJ0/f959zOrVq13FihVzJSUluV83PDzclZKSctX3sn//flf9+vXNcxs3buwaMmSIa82aNe79ycnJruDgYNc///nPLJ+f27b861//Mu/zypUr7m26v1SpUq5PPvnE9csvv5jPcsuWLVdtPwDkFD3AAHCDOnToILt37/ZacjtwrGHDhlKs2P/9p1l7Vxs3buxeL168uCktOHnypFn//vvvTamClgY4tDxASxW0l9Whr3GtWtsGDRrIvn37ZPv27TJgwABzju7du8tjjz3mPldKSop07Ngxy+fnti3ffvutHDx40PQAa8+vLloGcenSJTl06JD5WUsntJdY2zNz5kxJTEzM8WcKABkxCA4AbpAGPq2J9eSUKDg01Lpc2pH5f/Sr/4xKlCjhta5f82e1TUPl9bYxJ7Sdt99+u1mefvppeeedd6Rv377y/PPPm7revJCxLVoj3KJFC1m8eHGmY2+++WbzqHXPTz31lKxdu1aWLVsmY8eONSUUd955Z560CYBd6AEGgAKgQS4pKckrBGtP8Y2qX7++6UHV+luH1tBqkM1usNv10F5hpa9/6623mhCsNbx52ZbmzZvLgQMHJCwszPwh4bmUK1fOfdxtt91mapC3bdsmjRo1MvXHAJAbBGAAKADt27c3g8t0BgX9Wn/WrFny8ccf3/DrPvroo1KyZEmJiYkx5QubN2+WJ5980vTaOoPTcuqBBx6Q6dOnm8F2OsOCzrwwbNgwqVOnjpkbWM8zevRoee6552TRokXmfWi5xLx5826oLfq80NBQM/ODDoI7fPiwObf2+GpPuq5r8NXBb9qudevWmcCsgRsAcoMADAAFQMPam2++aYKv1snu3LnTa3qx3CpdurR88skncvr0aVO2oCFWa3R1Lt/rpTW2H330kamz1dCrQVaDrwbOwMD/rZjT2R+eeeYZGTdunHlPDz30kLseObdt0efprBc6pVrPnj3N6+r0a1oDHBISYvb/8MMP0qtXL9MunQFCg7nOhgEAuRGgI+Fy9UwAAACgEKIHGAAAAFYhAAMAAMAqBGAAAABYhQAMAAAAqxCAAQAAYBUCMAAAAKxCAAYAAIBVCMAAAACwCgEYAAAAViEAAwAAwCoEYAAAAIhN/j+wLVS5ctgASAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -91,15 +92,14 @@ } ], "source": [ - "# Labels extrahieren und in eine Liste konvertieren\n", - "train_labels = [item[\"labels\"].item() for item in train_dataset] \n", + "# Visualize label distribution in training data\n", + "train_labels = [item[\"labels\"].item() for item in train_dataset]\n", "\n", - "# Verteilung der Labels visualisieren\n", "plt.figure(figsize=(8, 6))\n", "sns.histplot(train_labels, bins=20)\n", "plt.xlabel(\"Humor Scores\")\n", "plt.ylabel(\"Frequency\")\n", - "plt.title(\"Verteilung der Trainingslabels\")\n", + "plt.title(\"Training Labels Distribution\")\n", "plt.show()\n" ] }, @@ -109,6 +109,39 @@ "metadata": {}, "outputs": [], "source": [ + "# Define the CNN model for regression\n", + "class CNN_HumorRegressor(nn.Module):\n", + " def __init__(self, embed_dim, filter_sizes, num_filters, dropout=0.5):\n", + " super(CNN_HumorRegressor, self).__init__()\n", + " self.convs = nn.ModuleList([\n", + " nn.Conv2d(in_channels=1, out_channels=num_filters, kernel_size=(fs, embed_dim)) \n", + " for fs in filter_sizes\n", + " ])\n", + " self.highway = nn.Linear(len(filter_sizes) * num_filters, len(filter_sizes) * num_filters)\n", + " self.dropout = nn.Dropout(dropout)\n", + " self.fc1 = nn.Linear(len(filter_sizes) * num_filters, 256)\n", + " self.fc2 = nn.Linear(256, 128)\n", + " self.fc3 = nn.Linear(128, 1)\n", + "\n", + " def forward(self, x):\n", + " x = x.unsqueeze(1) # [Batch Size, 1, Seq Length, Embed Dim]\n", + " conved = [F.relu(conv(x)).squeeze(3) for conv in self.convs]\n", + " pooled = [F.max_pool1d(c, c.size(2)).squeeze(2) for c in conved]\n", + " cat = torch.cat(pooled, dim=1)\n", + " highway = F.relu(self.highway(cat))\n", + " highway = self.dropout(highway + cat)\n", + " fc_out = F.relu(self.fc1(highway))\n", + " fc_out = F.relu(self.fc2(fc_out))\n", + " return torch.sigmoid(self.fc3(fc_out)) # Sigmoid for range [0, 1]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# Define the weighted MSE loss\n", "class WeightedMSELoss(nn.Module):\n", " def __init__(self, weights):\n", " super(WeightedMSELoss, self).__init__()\n", @@ -119,94 +152,28 @@ " loss = weights * (inputs - targets) ** 2\n", " return loss.mean()\n", "\n", - "# Gewichtung basierend auf Seltenheit der Zwischenwerte\n", + "# Define weights for loss function\n", "weights = torch.tensor([2.0 if 0.2 <= x <= 0.8 else 1.0 for x in range(2)], dtype=torch.float32)\n" ] }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "class CNN_HumorRegressor(nn.Module):\n", - " def __init__(self, embed_dim, filter_sizes, num_filters, dropout=0.5):\n", - " super(CNN_HumorRegressor, self).__init__()\n", - "\n", - " # Convolutional Layers mit verschiedenen Filtergrößen\n", - " self.convs = nn.ModuleList([\n", - " nn.Conv2d(in_channels=1, out_channels=num_filters, kernel_size=(fs, embed_dim)) \n", - " for fs in filter_sizes\n", - " ])\n", - "\n", - " # Highway-Netzwerk für bessere Feature-Extraktion\n", - " self.highway = nn.Linear(len(filter_sizes) * num_filters, len(filter_sizes) * num_filters)\n", - "\n", - " # Dropout zur Vermeidung von Overfitting\n", - " self.dropout = nn.Dropout(dropout)\n", - "\n", - " # Fully Connected Layers\n", - " self.fc1 = nn.Linear(len(filter_sizes) * num_filters, 256)\n", - " self.fc2 = nn.Linear(256, 128)\n", - " self.fc3 = nn.Linear(128, 1)\n", - "\n", - " def forward(self, x):\n", - " x = x.unsqueeze(1) # [Batch Size, 1, Seq Length, Embed Dim]\n", - "\n", - " # Convolution + ReLU activation\n", - " conved = [F.relu(conv(x)).squeeze(3) for conv in self.convs]\n", - "\n", - " # Max-Pooling über jede Feature-Map\n", - " pooled = [F.max_pool1d(c, c.size(2)).squeeze(2) for c in conved]\n", - "\n", - " # Feature-Vektor kombinieren\n", - " cat = torch.cat(pooled, dim=1)\n", - "\n", - " # Highway-Netzwerk\n", - " highway = F.relu(self.highway(cat))\n", - " highway = self.dropout(highway + cat)\n", - "\n", - " # Fully Connected Layers\n", - " fc_out = F.relu(self.fc1(highway))\n", - " fc_out = F.relu(self.fc2(fc_out))\n", - " return torch.sigmoid(self.fc3(fc_out)) # Sigmoid für Wertebereich [0, 1]\n" - ] - }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ - "EMBED_DIM = train_dataset[0][\"input_ids\"].shape[1]\n", - "FILTER_SIZES = [2, 3, 4, 5]\n", - "NUM_FILTERS = 300\n", - "DROPOUT = 0.5\n", - "LR = 0.001\n", - "EPOCHS = 10\n", + "# Define the training function with ReduceLROnPlateau\n", + "def train_model_with_plateau_scheduler(model, train_loader, val_loader, criterion, optimizer, scheduler, epochs, device, patience=3):\n", + " train_losses = []\n", + " val_losses = []\n", + " best_val_loss = float('inf')\n", + " patience_counter = 0\n", "\n", - "device = torch.device(\"mps\" if torch.backends.mps.is_available() else \"cuda\" if torch.cuda.is_available() else \"cpu\")\n", - "\n", - "# Modell initialisieren\n", - "model = CNN_HumorRegressor(EMBED_DIM, FILTER_SIZES, NUM_FILTERS, DROPOUT).to(device)\n", - "\n", - "# Gewichtete Verlustfunktion und Optimierer\n", - "criterion = WeightedMSELoss(weights.to(device))\n", - "optimizer = torch.optim.Adam(model.parameters(), lr=LR)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "def train_model(model, train_loader, val_loader, criterion, optimizer, epochs, device):\n", " for epoch in range(epochs):\n", " model.train()\n", " total_loss = 0\n", "\n", - " # Fortschrittsbalken für das Training\n", + " # Training phase\n", " with tqdm(train_loader, unit=\"batch\", desc=f\"Epoch {epoch+1}/{epochs}\") as tepoch:\n", " for inputs, labels in tepoch:\n", " inputs, labels = inputs.to(device), labels.to(device)\n", @@ -220,20 +187,203 @@ " total_loss += loss.item()\n", " tepoch.set_postfix(loss=loss.item())\n", "\n", - " val_loss = evaluate(model, val_loader, criterion, device)\n", - " print(f\"Epoch {epoch+1}/{epochs} - Train Loss: {total_loss:.4f} - Val Loss: {val_loss:.4f}\")\n", + " avg_train_loss = total_loss / len(train_loader)\n", + " train_losses.append(avg_train_loss)\n", "\n", - "def evaluate(model, test_loader, criterion, device):\n", + " # Validation phase\n", + " val_loss, val_r2, val_mae = evaluate_with_metrics(model, val_loader, criterion, device)\n", + " val_losses.append(val_loss)\n", + "\n", + " print(f\"Epoch {epoch+1}/{epochs} - Train Loss: {avg_train_loss:.4f} - Val Loss: {val_loss:.4f}\")\n", + " print(f\"Validation R²: {val_r2:.4f} | Validation MAE: {val_mae:.4f}\")\n", + "\n", + " # Scheduler step\n", + " scheduler.step(val_loss)\n", + "\n", + " # Early stopping logic\n", + " if val_loss < best_val_loss:\n", + " best_val_loss = val_loss\n", + " patience_counter = 0\n", + " torch.save(model.state_dict(), \"best_model.pt\") # Save best model\n", + " else:\n", + " patience_counter += 1\n", + " print(f\"No improvement for {patience_counter} epoch(s).\")\n", + "\n", + " if patience_counter >= patience:\n", + " print(\"Early stopping triggered.\")\n", + " break\n", + "\n", + " # Load best model after training\n", + " model.load_state_dict(torch.load(\"best_model.pt\"))\n", + "\n", + "# Evaluation function with metrics\n", + "def evaluate_with_metrics(model, data_loader, criterion, device):\n", " model.eval()\n", " total_loss = 0\n", - " with tqdm(test_loader, unit=\"batch\", desc=\"Evaluating\") as tepoch:\n", - " with torch.no_grad():\n", - " for inputs, labels in tepoch:\n", - " inputs, labels = inputs.to(device), labels.to(device)\n", - " outputs = model(inputs)\n", - " loss = criterion(outputs, labels)\n", - " total_loss += loss.item()\n", - " return total_loss / len(test_loader)\n" + " predictions, actuals = [], []\n", + "\n", + " with torch.no_grad():\n", + " for inputs, labels in data_loader:\n", + " inputs, labels = inputs.to(device), labels.to(device)\n", + " outputs = model(inputs)\n", + " loss = criterion(outputs, labels)\n", + " total_loss += loss.item()\n", + " predictions.extend(outputs.cpu().numpy().flatten())\n", + " actuals.extend(labels.cpu().numpy().flatten())\n", + "\n", + " avg_loss = total_loss / len(data_loader)\n", + " r2 = r2_score(actuals, predictions)\n", + " mae = mean_absolute_error(actuals, predictions)\n", + "\n", + " return avg_loss, r2, mae\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/michellegoppinger/.pyenv/versions/3.12.3/lib/python3.12/site-packages/torch/optim/lr_scheduler.py:62: UserWarning: The verbose parameter is deprecated. Please use get_last_lr() to access the learning rate.\n", + " warnings.warn(\n", + "Epoch 1/10: 100%|██████████| 124/124 [00:31<00:00, 3.98batch/s, loss=0.22] \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/10 - Train Loss: 0.2443 - Val Loss: 0.2275\n", + "Validation R²: 0.0946 | Validation MAE: 0.4442\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 2/10: 100%|██████████| 124/124 [00:30<00:00, 4.12batch/s, loss=0.267]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 2/10 - Train Loss: 0.2150 - Val Loss: 0.2126\n", + "Validation R²: 0.1520 | Validation MAE: 0.4143\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 3/10: 100%|██████████| 124/124 [00:30<00:00, 4.13batch/s, loss=0.12] \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 3/10 - Train Loss: 0.1805 - Val Loss: 0.2393\n", + "Validation R²: 0.0442 | Validation MAE: 0.3811\n", + "No improvement for 1 epoch(s).\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 4/10: 100%|██████████| 124/124 [00:30<00:00, 4.11batch/s, loss=0.119] \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 4/10 - Train Loss: 0.1306 - Val Loss: 0.2551\n", + "Validation R²: -0.0116 | Validation MAE: 0.3799\n", + "No improvement for 2 epoch(s).\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 5/10: 100%|██████████| 124/124 [00:30<00:00, 4.08batch/s, loss=0.0157]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 5/10 - Train Loss: 0.0840 - Val Loss: 0.2769\n", + "Validation R²: -0.0851 | Validation MAE: 0.3798\n", + "No improvement for 3 epoch(s).\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 6/10: 100%|██████████| 124/124 [00:30<00:00, 4.12batch/s, loss=0.00121]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 6/10 - Train Loss: 0.0412 - Val Loss: 0.2997\n", + "Validation R²: -0.1832 | Validation MAE: 0.3758\n", + "No improvement for 4 epoch(s).\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 7/10: 100%|██████████| 124/124 [00:30<00:00, 4.12batch/s, loss=0.11] \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 7/10 - Train Loss: 0.0245 - Val Loss: 0.2891\n", + "Validation R²: -0.1477 | Validation MAE: 0.3619\n", + "No improvement for 5 epoch(s).\n", + "Early stopping triggered.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/l7/061cw0t95vz1myntpf9bj9540000gn/T/ipykernel_16242/4163769425.py:53: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n", + " model.load_state_dict(torch.load(\"best_model.pt\"))\n" + ] + } + ], + "source": [ + "# Hyperparameters\n", + "EMBED_DIM = train_dataset[0][\"input_ids\"].shape[1]\n", + "FILTER_SIZES = [2, 3, 4, 5]\n", + "NUM_FILTERS = 300\n", + "DROPOUT = 0.5\n", + "LR = 0.001\n", + "EPOCHS = 10\n", + "\n", + "device = torch.device(\"mps\" if torch.backends.mps.is_available() else \"cuda\" if torch.cuda.is_available() else \"cpu\")\n", + "\n", + "# Initialize model, loss, optimizer, and scheduler\n", + "model = CNN_HumorRegressor(EMBED_DIM, FILTER_SIZES, NUM_FILTERS, DROPOUT).to(device)\n", + "criterion = WeightedMSELoss(weights.to(device))\n", + "optimizer = torch.optim.Adam(model.parameters(), lr=LR)\n", + "scheduler = torch.optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=0.5, patience=2, verbose=True)\n", + "\n", + "# Train the model\n", + "train_model_with_plateau_scheduler(model, train_loader, val_loader, criterion, optimizer, scheduler, EPOCHS, device, patience=5)\n" ] }, { @@ -241,356 +391,24 @@ "execution_count": 8, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Epoch 1/10: 0%| | 0/124 [00:00" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# Definiere korrekte und falsche Vorhersagen basierend auf einem Schwellenwert\n", - "threshold = 0.5\n", - "predicted_labels = (np.array(predictions) > threshold).astype(int)\n", - "true_labels = (np.array(actuals) > threshold).astype(int)\n", - "\n", - "# Bool-Array für korrekte Vorhersagen\n", - "correct = predicted_labels == true_labels\n", - "\n", - "# Farben zuordnen: Grün für korrekt, Rot für falsch\n", - "colors = ['green' if is_correct else 'red' for is_correct in correct]\n", - "\n", - "# Scatter-Plot\n", - "plt.figure(figsize=(8, 6))\n", - "plt.scatter(actuals, predictions, c=colors, alpha=0.6, edgecolor='k')\n", - "\n", - "\n", - "# Legende anpassen\n", - "import matplotlib.patches as mpatches\n", - "green_patch = mpatches.Patch(color='green', label='Correct Predictions')\n", - "red_patch = mpatches.Patch(color='red', label='Incorrect Predictions')\n", - "plt.legend(handles=[green_patch, red_patch])\n", - "\n", - "# Achsen und Titel\n", - "plt.title('True vs. Predicted Humor Scores')\n", - "plt.xlabel('True Humor Score')\n", - "plt.ylabel('Predicted Humor Score')\n", - "plt.show()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "239\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVstJREFUeJzt3Qm8zPX+x/HPIWuFZA2hlCV7yNKlopC6tF/1vyTpaiVSV4uljVJJUVou2lyl0L0lS7Ika6JClBIqW4s1u/k/3t/bb5oZM8c5x5wzM7/zej4eP37zm9/MfH+/mTO/z3y/n+/3mxYIBAIGAADgE3kSXQAAAIB4IrgBAAC+QnADAAB8heAGAAD4CsENAADwFYIbAADgKwQ3AADAVwhuAACArxDcAAAAXyG4AVJQWlqaDRgwINHF8KXzzjvPLZ7vv//ene8xY8bE7TUqVapk119/vSXC4sWLrWnTpnb88ce741q2bFlCygFkJ4IbxJUuAPrC/PTTT6Per4tGzZo1zW90sdJxe4suHI0aNbJXX301y885efLkXBfAzJo1K+w85suXz0477TTr1KmTfffdd5ZK5s2b596/bdu2WbI4cOCAXXXVVfbrr7/a0KFD7bXXXrOKFSvmyN9ErCVeQeOjjz5qkyZNyvD+W7dutR49eli1atWsUKFCVqpUKfc3e88999iuXbt88X7nZsclugCAX9StW9d69+7t1jdu3Ggvv/yyde7c2fbt22fdunXLUnAzYsSIqAHOnj177Ljj/Pvne8cdd1jDhg3dxfizzz6zF1980d5//3378ssv7ZRTTsnRsujir/OtQCuzF7uBAwe6GppixYqF3bd69WrLkyfnf1t+++23tm7dOnvppZfsxhtvzNbXevrpp8OCBH2e//3vf7ugqkSJEsHtqkWKV3Bz5ZVXWocOHY66r4K7Bg0a2I4dO+yGG25wAc4vv/xiX3zxhT3//PN288032wknnBC39xs5z7/fjkAcHTx40A4fPmz58+ePuU+5cuXs//7v/4K39SWnWgd9mWcluElPwYIFzc/+8pe/uAuVdOnSxc4880wX8LzyyivWt2/fqI/ZvXu3qzGLN9UuxPt8FyhQwBJhy5Yt7v94XnxjnffIIGPTpk0uuNF21eok0r/+9S9bv369ffLJJ0cEVwp40vs7R2qgWQoJlV4+Q2Reida17euvv3ZBRNGiRa1kyZL2wAMPmCa337Bhg7Vv396KFCliZcqUsSeffDLql3vXrl2tdOnS7oJVp04dd8GMVqYnnnjC/fo8/fTT3cVo5cqVmTo2lU2/CPVrOdTHH3/smgZOPfVU97wVKlSwO++809UOhAZGqrXxzoO3HO3crFmzJvjLUedHgcHvv/8e9vp6HQUK+vV84okn2l//+lf78ccfj5rHs3nzZldbpF+nkVQToccPHz7c3VaNi/Y744wz3Hk++eST7dxzz7Xp06dbVlxwwQXu/7Vr14Ydr96Ta6+91k466ST3/J7XX3/dzj77bNfcULx4cfvb3/7mPh+RVCOk91f7qUlC701GP6OrVq2yq6++2r3PenzVqlXtvvvuC5avT58+br1y5crB90/PFSvnRs1u+lyovIULF7bGjRu72qpozXZvvfWWPfLII1a+fHl3flu2bOne+/To9Vq0aOHW9Tp6ntDcoo8++sgFlQpU9PnR39JXX30V9hxHO+9ZkZH36ptvvrErrrjC/V3reHXc2m/79u3ufpVJQZb+lr1znV5Ok/4m8+bN685xJH1/RAazCxcutDZt2ri/Kb03Oo8KjELPS3rvN3IeNTfIFvrS+fnnn4/YrovesbrmmmusevXqNnjwYPfl//DDD7svxRdeeMFdBB977DF744037K677nJNG82bNw9e1PVlrovAbbfd5r6Exo8f774E1U6u9vdQo0ePtr1799pNN93kghC9RmZre3744Qd3AQil11TAoapvXfQXLVpkzz77rNtX98k//vEP++mnn1wwoLyIjNLFVsc1aNAg15yjpjHlEuiceHS8ujj+/e9/d1/us2fPtnbt2h31uRUQ6ktdj+3fv3/YfW+++aa7WOii6X3Zqwxq+lDQoF/DysNSmS688ELLLC9A1PkKpddTAKUmCQW4oou+Al6dC72+cit0fvU5WLp0abDWQr/edZ71y71nz54uuFCgp/dZAWd61HyhQEBNVfp8KFhRGf/73/+617/88stdEB7ZDKNAKFbgqHLoc6HAU8epC7XK8/bbb9tll10Wtr8++2rW0mdcf2uPP/64XXfdde4iHIuOVbWLOldes5/eU/nwww+tbdu2rqZR753+VnTOmjVr5t6zyJqWaOc9KzLyXu3fv99at27tmndvv/12F+AoGH/vvffc360CDv2NeJ81vR+ioDW9psZDhw65x6npOD0K+nRuFIDpc6/zru8GfdcoGNZrZvb9Rg4IAHE0evRofdOlu5x11lnB/deuXeu26XGRtL1///7B21rXtptuuim47eDBg4Hy5csH0tLSAoMHDw5u/+233wKFChUKdO7cObjt6aefdo9//fXXg9v2798faNKkSeCEE04I7NixI6xMRYoUCWzZsiVDx12xYsXARRddFNi6datbvvzyy8Df//539zy33npr2L6///77EY8fNGiQO4Z169YFt+lxsf5EY52bG264IWy/yy67LHDyyScHby9ZssTt17Nnz7D9rr/++iOeM5oXXnjB7afjC1WjRo3ABRdcELxdp06dQLt27QKZNXPmTPf8o0aNcufxp59+Crz//vuBSpUqufOzePHisOPt2LFj2OO///77QN68eQOPPPJI2HaV97jjjgtu1/teqlSpQN26dQP79u0L7vfiiy+6523RokW6n9HmzZsHTjzxxLD3Sw4fPhxcHzJkiHucHh/t8xL62dT7oX0//vjj4LadO3cGKleu7I790KFDYeenevXqYeUeNmxY1Pcl1vkdP3582HadB52PX375Jbjt888/D+TJkyfQqVOn4LZY5z0jIs9HRt+rpUuXRi1zpOOPPz7snKZn06ZNgZIlS7rnrVatWqB79+6BsWPHBrZt23bE+3nGGWcEWrduHfbe6m9Y782FF14Y8/iQWDRLIVuoSUW1DpFL7dq1j/m5QxMhVVugxEBd79Xc5NEvPjUThPawUUKjfvV17NgxuE2/vPUrVomPqsEIpWrwzPzymjZtmttfS61atdyvQjULDRkyJGw/Vb97VJWuGi79atcx6NfqsejevXvYbdUuKFFSNScyZcoU9/8tt9wStp9+EWeEfqGqaUo1NZ7ly5e7ZgrVqIWe/xUrVrjmhKxQkqfOo5KHVavkNTnovU7veCdMmOByo1QToPPqLXrfVdMwc+ZMt59qkdREqceH5leoVks1AelR7cKcOXNcGdW0GCq06TAz9NlUDUBoE48SWlULoaaNyCZRfa5Cy633WbLSo0zJ7+oOrmMPrZ3U36pq2VS2SJHnPSsy+l5578fUqVOPaGLNKtVYff755+44fvvtNxs5cqRrZlMt50MPPRSsjdJ50WdY9+nvyCujPo9qCtTnQMeA5EOzFLKFvqgjL0SiJppozVWZEXlB0Zef2shDe2B42/WF5FEv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fIsWLWzChAnuYvDCCy/EfP5Bgwa5iba8RbM15waqwdDs05qFu3jx4q4pb8CAAWH7qNbgH//4h5UuXdolZmsmcc3yHTqjt2rFFHiquUQzXofStoceesi9J8qFuummm1yNRLFixdws1wpS9dj169e7IPOuu+6ycuXKuZqJc845x2bNmhX2fJ988okrty7umrlcs47/9ttvrlZKtTGavdtLJP/+++9jHrser+NVrY2OWTldKo93XlSTo1qTEiVKuNeQ5cuXW9u2bV2grfPx97//3X4OCS5Vo6jj1P1ly5Y94lx45yO0ZinW+dVxd+nSxU3+5h2P995EPofOnfLQ9Lo6xwrWNm/eHLxfj9Pfw2uvveYeq8/43/72N9u5c2e6nw8A8LOEBzf58+e3KlWq2Nlnn+0CkTp16riLWEbky5fP6tWrZ2vWrIm5T9++fd1FxFs2bNhguYUStBVIKHB8/PHH7cEHH7Tp06e7+1Sboou5AgrVgimgVHK3N6T9kiVL3IVUF0rVruki+sADD7jgJdQTTzzh3jMlget+UU+Wxx57zF5++WVbsWKFlSpVygUU8+fPt3HjxtkXX3xhV111lbVp08a++eYb9xgFuC1btnQBkfabO3euy8lSzY8+DwpsvRoZLZkJUgsVKhRWQ6Pzos+djn3kyJEuCLngggvcZ+nTTz+1KVOmuABCx+/p06ePC7BUazht2jQXoHz22WcxXzO986vaRgUwCla841HgF+05FNj8+uuv7rX13n333Xd2zTXXhO337bffuuZIBU5atK9ey4/y5Mnjftho0ToARBVIMueff36gc+fOGdr34MGDgapVqwbuvPPODD//9u3bNQ+7+z/Snj17AitXrnT/h1myJBDQqcrpRa+bQTpn7du3D95u0aJF4Nxzzw3bp2HDhoF77rnHrU+dOjWQJ0+ewOrVq6M+37XXXhu48MILw7b16dMnUKNGjeDtihUrBjp06BC2z+jRo935XbZsWXDbunXrAnnz5g38+OOPYfu2bNky0LdvX7fesWPHQLNmzWIen46nR48e6Z6DyP30+XjttddceYYPHx68v169emGPeeihhwIXXXRR2LYNGza4x+n87Ny5M5A/f/7AW2+9Fbz/l19+CRQqVCisTDofQ4cOzdD51XkqWrToEdtDn2PatGnuvK1fvz54/4oVK1y5Fi1a5G73798/ULhw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3HGH3X333Va8eHE3I/yAAQPC9vnmm2+sefPmVrBgQTeDsGYTjrRhwwa7+uqrrVixYu552rdvb99//727b9WqVVa4cGEbO3ZscP+33nrLChUqZCtXrsyBowSQHQhuACStV155xY4//nhbuHChPf744/bggw8GA5jDhw/b5Zdfbvnz53f3jxw50u65556wxx84cMBat25tJ554on388cf2ySef2AknnGBt2rSx/fv3W7Vq1eyJJ56wW265xdavX28//PCDde/e3R577DEXLAFITUycCSCpcm62bdvmEoJVc3Po0CEXlHgaNWpkF1xwgQ0ePNimTZtm7dq1s3Xr1tkpp5zi7p8yZYq1bdvWJk6c6HJ3Xn/9dXv44Yftq6++conGoqBGtTh6jYsuushtu+SSS2zHjh0uUMqbN697Hm9/AKnnuEQXAABiqV27dtjtsmXL2pYtW9y6ApYKFSoEAxtp0qRJ2P6ff/65rVmzxtXchNq7d699++23wdujRo2yM8880/LkyWMrVqwgsAFSHMENgKSVL1++sNsKOtQclVG7du2ys88+2954440j7itZsmRYELR7924X3GzcuNEFUQBSF8ENgJRUvXp1lywcGowsWLAgbJ/69evbm2++aaVKlbIiRYpEfZ5ff/3VNYfdd9997rmuu+46++yzz1xSMYDUREIxgJTUqlUr15TUuXNnV/Oi3BwFKKEUqJQoUcL1kNL9a9eutVmzZrleWEoeFiUQq3nr/vvvt6eeesrl+dx1110JOioA8UBwAyAlqQlJicN79uxxicY33nijPfLII2H7qJv3nDlz7NRTT3U9q1Tb07VrV5dzo5qcV1991SZPnmyvvfaaHXfcca5nlpKQX3rpJfvggw8SdmwAjg29pQAAgK9QcwMAAHyF4AYAAPgKwQ0AAPAVghsAAOArBDcAAMBXCG4AAICvENwAAABfIbgBAAC+QnADAAB8heAGAAD4CsENAADwFYIbAABgfvL/LD/ANShCoRMAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import pandas as pd\n", - "\n", - "# Load the data from csv\n", - "df = pd.read_csv('data/hack.csv')\n", - "df_test = df.iloc[test_dataset.original_indices].copy()\n", - "df_test['prediction'] = predicted_labels\n", - "df_test['label'] = true_labels\n", - "df_test['pred_correct'] = (df_test['prediction'] == df_test['label'])\n", - "\n", - "df_test_sorted = df_test.sort_values(by='humor_rating').reset_index(drop=True)\n", - "\n", - "from matplotlib import patches as mpatches\n", - "\n", - "median_rating = df['humor_rating'].median()\n", - "# get first index where humor_rating is greater than median_rating\n", - "median_idx = df_test_sorted[df_test_sorted['humor_rating'] > median_rating].index[0]\n", - "print(median_idx)\n", - "# range idx for len df_test\n", - "range_idx = range(len(df_test))\n", - "colors = df_test_sorted['pred_correct'].map({True: 'g', False: 'r'})\n", - "# bar plot for each df_test humor_rating value \n", - "plt.bar(range_idx, df_test_sorted['humor_rating'], color=colors)\n", - "# vertical line for True/False cut off\n", - "plt.axvline(x=median_idx, color='black', linestyle='--')\n", - "# Create a legend handles\n", - "green_patch = mpatches.Patch(color='g', label='Correct Prediction')\n", - "red_patch = mpatches.Patch(color='r', label='Incorrect Prediction')\n", - "line_patch = mpatches.Patch(color='black', label='humor_rating cut off')\n", - "plt.title('Humor Rating vs Prediction for Test Set')\n", - "plt.xlabel('Index')\n", - "plt.ylabel('Humor Rating')\n", - "plt.legend(handles=[green_patch, red_patch, line_patch])\n", - "plt.show()" + "# Evaluate the model on test set\n", + "test_loss, test_r2, test_mae = evaluate_with_metrics(model, test_loader, criterion, device)\n", + "print(\"Test Set Metrics:\")\n", + "print(f\"Test Loss (MSE): {test_loss:.4f}\")\n", + "print(f\"Test R²: {test_r2:.4f}\")\n", + "print(f\"Test MAE: {test_mae:.4f}\")\n" ] } ],