From d5a288d4fe7e163836964562fd78f051cb8a4fc0 Mon Sep 17 00:00:00 2001 From: GitHub Action <52708150+marcpinet@users.noreply.github.com> Date: Sun, 21 Apr 2024 16:18:43 +0200 Subject: [PATCH 1/2] refactor: add seed to dropout too --- examples/cnn-classification/requirements.txt | 3 + .../simple_cnn_classification_mnist.ipynb | 98 +++++++++---------- neuralnetlib/layers.py | 11 ++- 3 files changed, 57 insertions(+), 55 deletions(-) create mode 100644 examples/cnn-classification/requirements.txt diff --git a/examples/cnn-classification/requirements.txt b/examples/cnn-classification/requirements.txt new file mode 100644 index 0000000..0a53d33 --- /dev/null +++ b/examples/cnn-classification/requirements.txt @@ -0,0 +1,3 @@ +matplotlib +numpy +tensorflow \ No newline at end of file diff --git a/examples/cnn-classification/simple_cnn_classification_mnist.ipynb b/examples/cnn-classification/simple_cnn_classification_mnist.ipynb index 6539559..0ed6117 100644 --- a/examples/cnn-classification/simple_cnn_classification_mnist.ipynb +++ b/examples/cnn-classification/simple_cnn_classification_mnist.ipynb @@ -18,11 +18,11 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 1, "metadata": { "ExecuteTime": { - "end_time": "2024-04-21T13:02:23.680426300Z", - "start_time": "2024-04-21T13:02:23.578846800Z" + "end_time": "2024-04-21T13:59:06.963987800Z", + "start_time": "2024-04-21T13:59:02.342450300Z" } }, "outputs": [], @@ -49,11 +49,11 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 2, "metadata": { "ExecuteTime": { - "end_time": "2024-04-21T13:02:23.865530500Z", - "start_time": "2024-04-21T13:02:23.587363100Z" + "end_time": "2024-04-21T13:59:07.142613500Z", + "start_time": "2024-04-21T13:59:06.964989400Z" } }, "outputs": [], @@ -70,11 +70,11 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 3, "metadata": { "ExecuteTime": { - "end_time": "2024-04-21T13:02:24.363006100Z", - "start_time": "2024-04-21T13:02:23.866530700Z" + "end_time": "2024-04-21T13:59:07.253448500Z", + "start_time": "2024-04-21T13:59:07.144680500Z" } }, "outputs": [], @@ -94,21 +94,19 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 4, "metadata": { "ExecuteTime": { - "end_time": "2024-04-21T13:02:24.381541800Z", - "start_time": "2024-04-21T13:02:24.371022600Z" + "end_time": "2024-04-21T13:59:07.270516400Z", + "start_time": "2024-04-21T13:59:07.257449600Z" } }, "outputs": [ { "data": { - "text/plain": [ - "\"\\n Side note: if you set the following:\\n \\n - filters to 8 and 16 (in this order)\\n - padding of the Conv2D layers to 'same'\\n - weights initialization to 'he'\\n \\n you'll get an accuracy of ~0.9975 which is actually pretty cool\\n\"" - ] + "text/plain": "\"\\n Side note: if you set the following:\\n \\n - filters to 8 and 16 (in this order)\\n - padding of the Conv2D layers to 'same'\\n - weights initialization to 'he'\\n \\n you'll get an accuracy of ~0.9975 which is actually pretty cool\\n\"" }, - "execution_count": 10, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -148,11 +146,11 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 5, "metadata": { "ExecuteTime": { - "end_time": "2024-04-21T13:02:24.436650200Z", - "start_time": "2024-04-21T13:02:24.380542200Z" + "end_time": "2024-04-21T13:59:07.322785100Z", + "start_time": "2024-04-21T13:59:07.267961400Z" } }, "outputs": [ @@ -196,11 +194,11 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 6, "metadata": { "ExecuteTime": { - "end_time": "2024-04-21T13:07:13.446324100Z", - "start_time": "2024-04-21T13:02:24.396579200Z" + "end_time": "2024-04-21T14:04:14.757698500Z", + "start_time": "2024-04-21T13:59:07.286701700Z" } }, "outputs": [ @@ -208,16 +206,16 @@ "name": "stdout", "output_type": "stream", "text": [ - "[==============================] 100% Epoch 1/10 - loss: 0.7568 - accuracy_score: 0.7469 - 29.07s - val_accuracy: 0.8824\n", - "[==============================] 100% Epoch 2/10 - loss: 0.3492 - accuracy_score: 0.8896 - 28.25s - val_accuracy: 0.9090\n", - "[==============================] 100% Epoch 3/10 - loss: 0.2760 - accuracy_score: 0.9131 - 27.70s - val_accuracy: 0.9248\n", - "[==============================] 100% Epoch 4/10 - loss: 0.2290 - accuracy_score: 0.9287 - 26.66s - val_accuracy: 0.9306\n", - "[==============================] 100% Epoch 5/10 - loss: 0.1984 - accuracy_score: 0.9385 - 26.46s - val_accuracy: 0.9359\n", - "[==============================] 100% Epoch 6/10 - loss: 0.1761 - accuracy_score: 0.9453 - 26.47s - val_accuracy: 0.9403\n", - "[==============================] 100% Epoch 7/10 - loss: 0.1575 - accuracy_score: 0.9516 - 26.47s - val_accuracy: 0.9446\n", - "[==============================] 100% Epoch 8/10 - loss: 0.1420 - accuracy_score: 0.9566 - 26.98s - val_accuracy: 0.9495\n", - "[==============================] 100% Epoch 9/10 - loss: 0.1281 - accuracy_score: 0.9613 - 26.54s - val_accuracy: 0.9552\n", - "[==============================] 100% Epoch 10/10 - loss: 0.1161 - accuracy_score: 0.9649 - 27.12s - val_accuracy: 0.9597\n" + "[==============================] 100% Epoch 1/10 - loss: 0.7568 - accuracy_score: 0.7469 - 30.60s - val_accuracy: 0.8824\n", + "[==============================] 100% Epoch 2/10 - loss: 0.3492 - accuracy_score: 0.8896 - 27.70s - val_accuracy: 0.9090\n", + "[==============================] 100% Epoch 3/10 - loss: 0.2760 - accuracy_score: 0.9131 - 27.41s - val_accuracy: 0.9248\n", + "[==============================] 100% Epoch 4/10 - loss: 0.2290 - accuracy_score: 0.9287 - 28.12s - val_accuracy: 0.9306\n", + "[==============================] 100% Epoch 5/10 - loss: 0.1984 - accuracy_score: 0.9385 - 29.91s - val_accuracy: 0.9359\n", + "[==============================] 100% Epoch 6/10 - loss: 0.1761 - accuracy_score: 0.9453 - 29.25s - val_accuracy: 0.9403\n", + "[==============================] 100% Epoch 7/10 - loss: 0.1575 - accuracy_score: 0.9516 - 31.05s - val_accuracy: 0.9446\n", + "[==============================] 100% Epoch 8/10 - loss: 0.1420 - accuracy_score: 0.9566 - 29.53s - val_accuracy: 0.9495\n", + "[==============================] 100% Epoch 9/10 - loss: 0.1281 - accuracy_score: 0.9613 - 27.19s - val_accuracy: 0.9552\n", + "[==============================] 100% Epoch 10/10 - loss: 0.1161 - accuracy_score: 0.9649 - 28.16s - val_accuracy: 0.9597\n" ] } ], @@ -235,11 +233,11 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 7, "metadata": { "ExecuteTime": { - "end_time": "2024-04-21T13:07:15.165781800Z", - "start_time": "2024-04-21T13:07:13.470118200Z" + "end_time": "2024-04-21T14:04:16.312526400Z", + "start_time": "2024-04-21T14:04:14.753676500Z" } }, "outputs": [ @@ -265,11 +263,11 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 8, "metadata": { "ExecuteTime": { - "end_time": "2024-04-21T13:07:16.940258200Z", - "start_time": "2024-04-21T13:07:15.162657600Z" + "end_time": "2024-04-21T14:04:18.043740600Z", + "start_time": "2024-04-21T14:04:16.310956700Z" } }, "outputs": [], @@ -286,11 +284,11 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 9, "metadata": { "ExecuteTime": { - "end_time": "2024-04-21T13:07:16.963571600Z", - "start_time": "2024-04-21T13:07:16.941256300Z" + "end_time": "2024-04-21T14:04:18.054771900Z", + "start_time": "2024-04-21T14:04:18.046739300Z" } }, "outputs": [ @@ -319,20 +317,18 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 10, "metadata": { "ExecuteTime": { - "end_time": "2024-04-21T13:07:17.435508900Z", - "start_time": "2024-04-21T13:07:16.963571600Z" + "end_time": "2024-04-21T14:04:18.315666800Z", + "start_time": "2024-04-21T14:04:18.058285200Z" } }, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnIAAAMsCAYAAADQ3U+mAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAACBBElEQVR4nO3deXRURfr/8U8HyB4whATIAAGiuLCIbCoimywSlnFBjKAiIxqU1RlBBUZWcdxYBiTqjBCHBFREQBwERAkg7ogwIDiARGBA2RP2EFK/P/ilv3Ruh3RCJ92XvF/n5BzqSd3qp2+a1JPqW7cdxhgjAAAA2E6ArxMAAABA8VDIAQAA2BSFHAAAgE1RyAEAANgUhRwAAIBNUcgBAADYFIUcAACATVHIAQAA2BSFHAAAgE3ZrpCrXbu2HnnkEWc7PT1dDodD6enpPsspv/w54vK0bdtWbdu29XUaAFAg5qay55FHHlHt2rV9nUbRCrmUlBQ5HA7nV3BwsOrVq6dBgwbp999/L6kcS8TSpUs1duxYX6dhMXbsWJdznP9r3bp1lzX+1q1bnT+7Y8eOFXucSZMmadGiRZeVS2nI/5rN/5WWlubrFAFcJuamkrdt2zaNGDFCjRs3VkREhKpXr66uXbvq+++/98r4x44dU3BwsBwOh7Zu3VrscWbOnKmUlBSv5FSSDh8+rFdeeUWtW7dWdHS0rrrqKt1yyy167733ijxW+eIkMH78eNWpU0dnzpzRF198oeTkZC1dulSbN29WaGhocYYsttatW+v06dMKDAws0nFLly7V66+/7nf/Ye655x5dffXVlvjIkSN14sQJNW/e/LLGT01NVbVq1XT06FF98MEH6t+/f7HGmTRpknr27Km77rrrsvIpaa1bt9acOXMs8SlTpmjjxo264447fJAVgJLA3FRy/vnPf+rtt9/WvffeqyeffFKZmZl68803dcstt2jZsmXq0KHDZY0/f/58ORwOVatWTWlpaZo4cWKxxpk5c6aqVKni9yuPX331lUaNGqWEhASNHj1a5cuX14IFC5SYmKiffvpJ48aN83isYhVyXbp0UbNmzSRJ/fv3V1RUlCZPnqzFixfrgQcecHvMyZMnFRYWVpyHu6SAgAAFBwd7fVxfadSokRo1auQS27Nnj/bu3av+/fsX+ZfCxYwxmjt3rnr37q1du3YpLS2t2IWcXdStW1d169Z1iZ0+fVpPPvmk2rdvr2rVqvkoMwDextxUch544AGNHTtW4eHhztif/vQnXX/99Ro7duxlF3KpqalKSEhQXFyc5s6dW+xCzi7q16+v7du3Ky4uzhl78skn1aFDB7300ksaMWKEx69Lr1wj1759e0nSrl27JF143zg8PFw7d+5UQkKCIiIi1KdPH0lSbm6upk6dqvr16ys4OFhVq1ZVUlKSjh496jKmMUYTJ05UjRo1FBoaqnbt2mnLli2Wxy7oOoRvvvlGCQkJioyMVFhYmBo1aqRp06Y583v99dclyWU5Po+3c5SknTt3aufOnZ6eUhfz5s2TMcZ5Dotr3bp1ysjIUGJiohITE7VmzRrt3bvX0i83N1fTpk1Tw4YNFRwcrOjoaN15553OJXSHw6GTJ0/qnXfecZ67vL9+CrpmIO8t44vNnj1b7du3V0xMjIKCgnTDDTcoOTnZo+eye/dubdu2rWgn4P9bsmSJjh8/ftnnE4B/Y27y3tzUtGlTlyJOkqKionT77bdf1luh0oXf52vXrnXOTbt27dKXX37ptm9qaqpatGih0NBQRUZGqnXr1lqxYoWkC9cAbtmyRatXr3aeu7zrq93NQdL/vS2fkZHhjC1evFhdu3ZVbGysgoKCFB8frwkTJuj8+fOFPpf9+/dr27ZtOnfu3CX71alTx6WIky78zO+66y6dPXtWv/zyS6GPladYK3L55b0IoqKinLGcnBx17txZrVq10quvvupc1k5KSlJKSor69eunIUOGaNeuXZoxY4Y2bNigdevWqUKFCpKk559/XhMnTlRCQoISEhL0ww8/qFOnTsrOzi40n08//VTdunVT9erVNXToUFWrVk1bt27Vxx9/rKFDhyopKUn79u3Tp59+6vZtt5LIMe8tvItfLJ5KS0tTzZo11bp16yIfm3+c+Ph4NW/eXA0aNFBoaKjmzZun4cOHu/R79NFHlZKSoi5duqh///7KycnR2rVr9fXXX6tZs2aaM2eO+vfvrxYtWujxxx+XJMXHxxc5n+TkZNWvX189evRQ+fLltWTJEj355JPKzc3VwIEDL3nsww8/rNWrV8sYU+THTUtLU0hIiO65554iHwvAPpibSnZukqTffvtNVapUKdaxeebNm6ewsDB169ZNISEhio+PV1pamlq2bOnSb9y4cRo7dqxatmyp8ePHKzAwUN98840+//xzderUSVOnTtXgwYMVHh6uUaNGSZKqVq1a5HxSUlIUHh6uP//5zwoPD9fnn3+u559/XllZWXrllVcueexzzz2nd955R7t27SrWRojffvtNkop2Tk0RzJ4920gyK1euNAcPHjR79uwx7777romKijIhISFm7969xhhj+vbtaySZZ5991uX4tWvXGkkmLS3NJb5s2TKX+IEDB0xgYKDp2rWryc3NdfYbOXKkkWT69u3rjK1atcpIMqtWrTLGGJOTk2Pq1Klj4uLizNGjR10e5+KxBg4caNw9/ZLI0Rhj4uLiTFxcnOXxCrN582YjyYwYMaLIx14sOzvbREVFmVGjRjljvXv3NjfeeKNLv88//9xIMkOGDLGMcfHzDAsLszxHYy787N09zzFjxljO96lTpyz9OnfubOrWresSa9OmjWnTpo0lVsSXrzHGmMOHD5vAwEDTq1evIh8LwD8xN5X+3GSMMWvWrDEOh8P89a9/LdbxeRo2bGj69OnjbI8cOdJUqVLFnDt3zhnbvn27CQgIMHfffbc5f/68y/EXP8/69etb5gtj3M9Bxvzfa2fXrl3OmLu5KSkpyYSGhpozZ844Y+7mu7zX2MXjeerw4cMmJibG3H777UU6rlhvrXbo0EHR0dGqWbOmEhMTFR4eroULF+oPf/iDS78nnnjCpT1//nxVqlRJHTt21KFDh5xfeUu2q1atkiStXLlS2dnZGjx4sMtS6LBhwwrNbcOGDdq1a5eGDRumq666yuV77pZV8yupHDMyMoq9Gifpst8G/OSTT3T48GGX60QeeOABbdy40WXJfcGCBXI4HBozZoxlDE/OX1GEhIQ4/52ZmalDhw6pTZs2+uWXX5SZmXnJY9PT04u1GvfBBx8oOzubt1WBKxBzU+nNTQcOHFDv3r1Vp04djRgxosjH59m0aZP+85//WOamQ4cOafny5c7YokWLlJubq+eff14BAa6lS0nOTcePH9ehQ4d0++2369SpU4Ve0pOSkiJjTJFX43Jzc9WnTx8dO3ZM06dPL9KxxXpr9fXXX1e9evVUvnx5Va1aVddee63lxJYvX141atRwiW3fvl2ZmZmKiYlxO+6BAwckSb/++qsk6ZprrnH5fnR0tCIjIy+ZW95SeoMGDTx/QqWco6fM/9+c0KBBA8sGiKJKTU1VnTp1FBQUpB07dki68HZoaGio0tLSNGnSJEkXzl9sbKwqV6582fkXZt26dRozZoy++uornTp1yuV7mZmZqlSpktcfMy0tTZUrV1aXLl28PjYA32JuKp256eTJk+rWrZuOHz+uL774wnLtXFGkpqYqLCxMdevWdc5NwcHBql27ttLS0tS1a1dJF85fQECAbrjhBq88h0vZsmWLRo8erc8//1xZWVku3ytskaG4Bg8erGXLlulf//qXbrzxxiIdW6xCrkWLFs6dQQUJCgqy/AfKzc1VTExMgffuio6OLk46XuVPOa5bt06//vqrXnzxxcsaJysrS0uWLNGZM2cs/7klae7cuXrhhRe88ldNQWPkv0h0586duuOOO3Tddddp8uTJqlmzpgIDA7V06VJNmTJFubm5l51LfnkX1D7++OPOa0kAXDmYm0pedna27rnnHm3atEnLly8vdmEqXVismDdvnk6ePOm2QDtw4IBOnDhxWYViHk/npmPHjqlNmzaqWLGixo8fr/j4eAUHB+uHH37QM888UyJz07hx4zRz5kz97W9/00MPPVTk472y2cFT8fHxWrlypW677TaXpcv88nZybN++3eXWEQcPHrTsznH3GJK0efPmS26HLuiHWho5eiotLU0Oh0O9e/e+rHE+/PBDnTlzRsnJyZYLKH/++WeNHj1a69atU6tWrRQfH6/ly5fryJEjl1yVK+j8RUZGur3RcN5fiXmWLFmis2fP6qOPPlKtWrWc8by3B0qCt3b/AriyMDd5Jjc3Vw8//LA+++wzvf/++2rTps1ljbd69Wrt3btX48eP1/XXX+/yvaNHj+rxxx/XokWL9OCDDyo+Pl65ubn66aef1Lhx4wLHvNTcJF0o1C5+azv/3JSenq7Dhw/rww8/dNlgmLfz2dvy7hk4bNgwPfPMM8Uao1Q/oqtXr146f/68JkyYYPleTk6OswDo0KGDKlSooOnTp7tcBzV16tRCH6NJkyaqU6eOpk6daikoLh4r7/4s+fuUVI5Fvf3IuXPnNH/+fLVq1cql0CmO1NRU1a1bVwMGDFDPnj1dvp5++mmFh4c7/8q79957ZYxxezPC/OfPXcEWHx+vzMxMbdq0yRnbv3+/Fi5c6NKvXLlyljEzMzM1e/Zsj55TcW4/MnfuXNWqVUutWrUq0nEArmzMTZ7NTYMHD9Z7772nmTNnemXXf97bqsOHD7fMTY899piuueYa59x01113KSAgQOPHj7esink6N0nSmjVrnLG822hdzN3clJ2drZkzZ3r0nDy9/YgkvffeexoyZIj69OmjyZMnezS+O6W6ItemTRslJSXpxRdf1I8//qhOnTqpQoUK2r59u+bPn69p06apZ8+eio6O1tNPP60XX3xR3bp1U0JCgjZs2KBPPvmk0C25AQEBSk5OVvfu3dW4cWP169dP1atX17Zt27RlyxbnxZNNmzaVJA0ZMkSdO3dWuXLllJiYWGI5FnWL9/Lly3X48OFLrh7lbUOfPXt2gXex3rdvn1atWqUhQ4a4/X5QUJA6d+6s+fPn6+9//7vatWunhx56SH//+9+1fft23XnnncrNzdXatWvVrl07DRo0yHn+Vq5cqcmTJys2NlZ16tTRzTffrMTERD3zzDO6++67NWTIEJ06dUrJycmqV6+efvjhB+fjdurUSYGBgerevbuSkpJ04sQJ/eMf/1BMTIz2799f6Pkp6u1HNm/erE2bNunZZ5/1+oWxAOyNuanwuWnq1KmaOXOmbr31VoWGhio1NdXl+3fffbezCE1PT1e7du00ZsyYAj+h4uzZs1qwYIE6duxY4I2Te/TooWnTpunAgQO6+uqrNWrUKE2YMEG333677rnnHgUFBem7775TbGys8xKkpk2bKjk5WRMnTtTVV1+tmJgYtW/fXp06dVKtWrX06KOPavjw4SpXrpxmzZql6Oho7d692/mYLVu2VGRkpPr27ashQ4bI4XBozpw5Hs81nt5+5Ntvv9XDDz+sqKgo3XHHHZa3zFu2bGm5mX2BirLFNW+b7nfffXfJfn379jVhYWEFfv+tt94yTZs2NSEhISYiIsI0bNjQjBgxwuzbt8/Z5/z582bcuHGmevXqJiQkxLRt29Zs3rzZxMXFXXKLd54vvvjCdOzY0URERJiwsDDTqFEjM336dOf3c3JyzODBg010dLRxOByWbcnezNGYom/xTkxMNBUqVDCHDx8usM/06dONJLNs2bIC+7z22mtGkvnss88K7JOSkmIkmcWLFxtjLpybV155xVx33XUmMDDQREdHmy5dupj169c7j9m2bZtp3bq1CQkJsWxpX7FihWnQoIEJDAw01157rUlNTXW79fujjz4yjRo1MsHBwaZ27drmpZdeMrNmzbJs3fbG7UeeffZZI8ls2rTJ42MA2ANzU8nPTXm3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BwUFqXPnzpo/f77+/ve/q127dnrooYf097//Xdu3b9edd96p3NxcrV27Vu3atdOgQYOc52/lypWaPHmyYmNjVadOHd18881KTEzUM888o7vvvltDhgzRqVOnlJycrHr16umHH35wPm6nTp0UGBio7t27KykpSSdOnNA//vEPxcTEaP/+/QWeozye3n7E3fnMW4Hr0qVLoa8nAFc+5ibPbj8yZ84c/frrr85rmtesWaOJEydKkh566CHnamB6erratWunMWPGFPgxXmfPntWCBQvUsWNHBQcHu+3To0cPTZs2TQcOHNDVV1+tUaNGacKECbr99tt1zz33KCgoSN99951iY2P14osvOs9fcnKyJk6cqKuvvloxMTFq3769OnXqpFq1aunRRx/V8OHDVa5cOc2aNUvR0dHavXu38zFbtmypyMhI9e3bV0OGDJHD4dCcOXM83lxXlNuPrFmzxllYHjx4UCdPnnSez9atW3v+qSBF2eKat033u+++u2S/wm6X8dZbb5mmTZuakJAQExERYRo2bGhGjBhh9u3b5+xz/vx5M27cOFO9enUTEhJi2rZtazZv3mzi4uIuucU7zxdffGE6duxoIiIiTFhYmGnUqJGZPn268/s5OTlm8ODBJjo62jgcDsu2ZG/maEzxtnjnKeh8Tp8+3Ugyy5YtK/DY1157zUgyn332WYF9UlJSjCSzePFiY8yFc/PKK6+Y6667zgQGBpro6GjTpUsXs379eucx27ZtM61btzYhISGWLe0rVqwwDRo0MIGBgebaa681qampbrd+f/TRR6ZRo0YmODjY1K5d27z00ktm1qxZlq3bl3v7kfy4/QhwZWFuKp25Ke/3rruvi5/nkiVLjCTzxhtvFDjWggULjCTz9ttvF9gnPT3dSDLTpk1zxmbNmmVuuukmExQUZCIjI02bNm3Mp59+6vz+b7/9Zrp27WoiIiKMJJe5Y/369ebmm282gYGBplatWmby5Mlubz+ybt06c8stt5iQkBATGxtrRowYYZYvX255npd7+5G8ucjdV1Fu7eIwxsMyE36nV69eysjI0LfffuvrVAAAkCSNGDFC8+bN044dOxQUFOTrdK54pfrWKrzHGKP09PQS+cw7AACKa9WqVfrrX/9KEVdKWJEDAACwqVLdtQoAAADvoZADAACwKQo5AAAAm6KQAwAAsCm/2rWam5ur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y5stW7YYYy6cz7CwMI+OLUh2draJiooyo0aNcsZ69+5tbrzxRpd+n3/+uZFkhgwZYhnj4ucZFhZmeY55ubp7nmPGjLGc71OnTln6de7c2dStW9cl1qZNG9OmTRtLzNOX78aNG025cuXM8uXLXXI5ePCgR8cD8G/MTSU/N3Xv3t1cddVVJisryyV+6623Gknm1VdfLXQMd8rq3DR48GATEBBgMjIyXOKJiYlGkhk0aFChY+Qp1lurHTp0UHR0tGrWrKnExESFh4dr4cKF+sMf/uDS74knnnBpz58/X5UqVVLHjh116NAh51fTpk0VHh7u3P2ycuVKZWdna/DgwS5LnsOGDSs0tw0bNmjXrl0aNmyY5S00Tz5epaRyzMjI8Gg1Ljs7W0899ZQGDBigG264odD+nvrkk090+PBhPfDAA87YAw88oI0bN7osuS9YsEAOh0NjxoyxjOHtj6e5+K+RzMxMHTp0SG3atNEvv/yizMzMSx6bnp7u8WrckCFD1KVLF3Xq1Omy8gXg35ibSm5ueuKJJ3Ts2DHdf//92rBhg/773/9q2LBhzrc1T58+XegY7pTVual///4qV66cevXqpS+//FI7d+7Uiy++qIULF0oq2vks1lurr7/+uurVq6fy5curatWquvbaay0XdJYvX141atRwiW3fvl2ZmZmKiYlxO+6BAwckSb/++qskWZZpo6Oj3S7tXixvKb1BgwaeP6FSzvFSpkyZokOHDnl911Jqaqrq1KmjoKAg7dixQ9KFJefQ0FClpaVp0qRJki6cv9jYWFWuXNmrj+/OunXrNGbMGH311VeWXWWZmZmqVKnSZT/Ge++9py+//FKbN2++7LEA+DfmppKbm7p06aLp06fr2WefVZMmTSRJV199tV544QWNGDGi2LfIKqtzU6NGjTR37lwNGDBAt912mySpWrVqmjp1qp544okinc9iFXItWrRQs2bNLtknKCjI8h8oNzdXMTExBe5IiY6OLk46XuXLHDMzMzVx4kQ9+eSTysrKUlZWlqQLtyExxigjI0OhoaEF/kcuSFZWlpYsWaIzZ864vYZh7ty5euGFF7zyV01BY5w/f96lvXPnTt1xxx267rrrNHnyZNWsWVOBgYFaunSppkyZotzc3MvORZKGDx+u++67T4GBgc6/OvPuUbRnzx5lZ2crNjbWK48FwLeYm0rWoEGD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sMRq1qxZ6FjuNkkcPny4eInBa1iRAwAAsCkKOQAAAJuikAMAALApCjkAAACbchhjjK+TyJOVleX20wVKW6dOnSyxTz75pNDjqlWrZokdPHjQKzl5W/369S2x//znP5bYwoULXdqPPPKIpc/x48e9lpc7mZmZbi+yBYCS5i/zkqdq1Kjh0t6wYYOlT1RUlCXmSSngbtPfoEGDLLEjR44UOtaVwF/mJlbkAAAAbIpCDgAAwKYo5AAAAGyKQg4AAMCmyvwnO8TExFhi9957r0fHPvrooy5tO21sWLlypUfH5t/sUNIbGwAAxff000+7tPN/AtHluP/++y2xO++80xJz98kR06dPd2lnZ2d7La+yjhU5AAAAm6KQAwAAsCkKOQAAAJsq89fIvfbaa5bYgw8+aImtX7/eEps/f36J5ORtt99+uyVWtWpVSywlJcUSS01NLYmUAACXKS4uzhLr169focdt2rTJEvv9998tsQ4dOhQ6lrubJee/Tk+S0tLSXNq//fZboWPDM6zIAQAA2BSFHAAAgE1RyAEAANgUhRwAAIBNlfnNDsYYSyw3N9cS27dvnyXmDzc0DAkJscRGjhzp0n7yySctfdw97z/96U/eSwwAUKIaN25siUVERLi0165da+nTpk0bSyw4ONgSe+CBB1za+ecWSYqPj7fEqlWrZoktXrzYpd2lSxdLnyNHjlhiKBwrcgAAADZFIQcAAGBTFHIAAAA2RSEHAABgU2V+s4OnunbtaomtWLHCpX3s2DFLn+TkZK/l4O4C1bZt21pit9xyS6FjffDBB95ICQDgI0FBQZZY/o1sU6ZM8WisM2fOWGKzZ892ad93332WPnXr1vVo/FOnTrm0/WGz4JWCFTkAAACbopADAACwKQo5AAAAm6KQAwAAsKkyv9lh2rRplli7du0ssdjYWEusdevWLm2Hw2Hp06NHj8vIzpW78d19QkN+v/zyiyXm7g7dAAD7yP/JC+6426i3aNGiYj1es2bNinWcJH399dcu7RMnThR7LLhiRQ4AAMCmKOQAAABsikIOAADApsr8NXLr16+3xBo1amSJNW7c2BK78847XdrDhw+39Dl48KAl9s477xQhw/8zZ84cS2zjxo2FHvfll19aYjt37ixWDgAA/zBv3jxLLP912c2bN7f0ue666yyxhg0bWmJ33323SzsyMtLSx92N8N31e+yxx1za7uazn376yRJD4ViRAwAAsCkKOQAAAJuikAMAALApCjkAAACbchhP7ihbSrKyslSpUiVfp+G36tata4nt2LHDEvvxxx9d2p07d7b0cbcJw19lZmaqYsWKvk4DQBnkz/NS5cqVLbH8c4K73It7c/mVK1daYgMHDrTEPv74Y0vsmmuucWn/4x//sPQZMGBAoTn4E3+Zm1iRAwAAsCkKOQAAAJuikAMAALApCjkAAACbKvOf7GAnzz//vCXm7gLVZ555xqVtp40NAADPHDlyxBLr1auXS/uDDz6w9PF088b06dNd2vnnFkk6c+aMJfbhhx9aYs8++6xL290mvPj4eEuMTyEqHCtyAAAANkUhBwAAYFMUcgAAADZFIQcAAGBTbHbwU/fdd58l9vDDD1tix48ft8QOHz5cIjkBAPxb/k9f6Nmzp6VP7969LbFjx45ZYvk32Lnb2ODOhAkTLLHrr7/epd2jR49CH0+S+vbt69FjlmWsyAEAANgUhRwAAIBNUcgBAADYFNfI+akuXbp41O/jjz+2xH744QdvpwMAsKH818wVFPOm06dPW2LvvfeeS9vdNXLt2rWzxCpXrmyJubsRclnGihwAAIBNUcgBAADYFIUcAACATVHIAQAA2BSbHfyUu80OJ0+etMRee+210kgHAIBie//9913a7jY73H///ZbYoEGDLLHx48d7L7ErACtyAAAANkUhBwAAYFMUcgAAADZFIQcAAGBTDmOM8XUSebKyslSpUiVfp+ETAwYMcGnPnDnT0ufAgQOWWLVq1UosJ3+RmZmpihUr+joNAGVQWZ6XSlLjxo0tsXXr1lliwcHBltj111/v0v7vf//rtbyKwl/mJlbkAAAAbIpCDgAAwKYo5AAAAGyKQg4AAMCm+GQHP5F/s4O7PSj//ve/PRorIiLCpR0ZGWnps3v37iJkBwCA9/z444+W2PPPP2+JvfLKK5bYpEmTXNoPPfSQpc/p06eLn5zNsCIHAABgUxRyAAAANkUhBwAAYFNcI2cj58+ft8T69OljiT311FMu7S1btlj69O3b13uJAQBwmf71r39ZYklJSZbYPffc49IeP368pc+mTZu8l5ifY0UOAADApijkAAAAbIpCDgAAwKYo5AAAAGzKYdzdedZHsrKyVKlSJV+n4RP5b47YsGFDSx+Hw2GJufvxvf322y7tCRMmWPrs2bOniBn6TmZmpipWrOjrNACUQWV5XvIHtWrVssQyMjJc2vPmzbP0cbcR0Nv8ZW5iRQ4AAMCmKOQAAABsikIOAADApijkAAAAbIpPdvATgwYNcmm7u1P1mjVrLLHk5GRL7OjRoy7t7Ozsy8wOAIDSt3v3bkts5cqVLu0ePXpY+txwww2W2E8//eS9xPwIK3IAAAA2RSEHAABgUxRyAAAANkUhBwAAYFNsdvATX3zxhUu7ffv2PsoEAAD/1bNnT5f2xo0bLX2uvvpqS4zNDgAAAPArFHIAAAA2RSEHAABgU1wjBwAAbCMrK8ulXadOHR9l4h9YkQMAALApCjkAAACbopADAACwKQo5AAAAm6KQAwAAsCkKOQAAAJuikAMAALApCjkAAACb8qtCzhjj6xTgh3hdAPAVfv+gIP7y2vCrQu748eO+TgF+iNcFAF/h9w8K4i+vDYfxl5JSUm5urvbt26eIiAg5HA5fpwMfM8bo+PHjio2NVUCAX/3NAaCMYF5Cfv42N/lVIQcAAADP+b6UBAAAQLHYrpCrXbu2HnnkEWc7PT1dDodD6enpPsspv/w54vK0bdtWbdu29XUaAFAg5qayx1/mpiIVcikpKXI4HM6v4OBg1atXT4MGDdLvv/9eUjmWiKVLl2rs2LG+TsMiIyPD5Rxf/PXuu+9e9vhbt251/uyOHTtW7HEmTZqkRYsWXXY+paGg8/m3v/3N16kB8ALmptKxY8cO9ezZU5GRkQoNDVWrVq20atUqr4xdFuem33//Xf369VNMTIxCQkLUpEkTzZ8/v8jjlC/Og48fP1516tTRmTNn9MUXXyg5OVlLly7V5s2bFRoaWpwhi61169Y6ffq0AgMDi3Tc0qVL9frrr/vtf5gHHnhACQkJLrFbb731ssdNTU1VtWrVdPToUX3wwQfq379/scaZNGmSevbsqbvuuuuycyoNHTt21MMPP+wSu+mmm3yUDYCSwNxUcvbs2aNbb71V5cqV0/DhwxUWFqbZs2erU6dO+uyzz9S6devLGr+szU1ZWVlq1aqVfv/9dw0dOlTVqlXT+++/r169eiktLU29e/f2eKxiFXJdunRRs2bNJEn9+/dXVFSUJk+erMWLF+uBBx5we8zJkycVFhZWnIe7pICAAAUHB3t9XF9r0qSJHnzwQa+OaYzR3Llz1bt3b+3atUtpaWnF/s9iN/Xq1fP6+QTgX5ibSs7f/vY3HTt2TJs3b9a1114rSXrsscd03XXX6amnntL69euLPXZZnJvefPNN7dixQ5999pnat28vSXriiSd0yy236C9/+Yt69uzp8R8BXrlGLi+JXbt2SZIeeeQRhYeHa+fOnUpISFBERIT69Okj6cJW7qlTp6p+/foKDg5W1apVlZSUpKNHj7qMaYzRxIkTVaNGDYWGhqpdu3basmWL5bELug7hm2++UUJCgiIjIxUWFqZGjRpp2rRpzvxef/11Sa5vu+Xxdo6StHPnTu3cudPTUyrpwi+Y7OzsIh1zKevWrVNGRoYSExOVmJioNWvWaO/evZZ+ubm5mjZtmho2bKjg4GBFR0frzjvv1Pfffy/pwjk7efKk3nnnHee5y7vu4pFHHlHt2rUtY44dO9aydX/27Nlq3769YmJiFBQUpBtuuEHJyckePZfdu3dr27ZtRXr+p0+f1pkzZ4p0DAD7Ym7y3ty0du1a3XTTTc4iTpJCQ0PVo0cP/fDDD9q+fXuhYxSkLM5Na9euVXR0tPM1Kl0o/nv16qXffvtNq1ev9ujxpGKuyOWX9yKIiopyxnJyctS5c2e1atVKr776qnNZOykpSSkpKerXr5+GDBmiXbt2acaMGdqwYYPWrVunChUqSJKef/55TZw4UQkJCUpISNAPP/ygTp06eVTYfPrpp+rWrZuqV6/uXLLcunWrPv74Yw0dOlRJSUnat2+fPv30U82ZM8dyfEnkeMcdd0i6cA2cJ8aNG6fhw4fL4XCoadOmeuGFF9SpUyePji1IWlqa4uPj1bx5czVo0EChoaGaN2+ehg8f7tLv0UcfVUpKirp06aL+/fsrJydHa9eu1ddff61mzZppzpw56t+/v1q0aKHHH39ckhQfH1/kfJKTk1W/fn316NFD5cuX15IlS/Tkk08qNzdXAwcOvOSxDz/8sFavXu3xnbVTUlI0c+ZMGWN0/fXXa/To0UVaugZgP8xN3pubzp49q8jISEs87/ytX79e11xzTaHnwJ2yODedPXtWISEhlvjF57Njx46eJWyKYPbs2UaSWblypTl48KDZs2ePeffdd01UVJQJCQkxe/fuNcYY07dvXyPJPPvssy7Hr1271kgyaWlpLvFly5a5xA8cOGACAwNN165dTW5urrPfyJEjjSTTt29fZ2zVqlVGklm1apUxxpicnBxTp04dExcXZ44ePeryOBePNXDgQOPu6ZdEjsYYExcXZ+Li4iyPl9+vv/5qOnXqZJKTk81HH31kpk6damrVqmUCAgLMxx9/XOjxBcnOzjZRUVFm1KhRzljv3r3NjTfe6NLv888/N5LMkCFDLGNc/DzDwsIsz9GYCz97d89zzJgxlvN96tQpS7/OnTubunXrusTatGlj2rRpY4l5+vJt2bKlmTp1qlm8eLFJTk42DRo0MJLMzJkzPToegH9jbir5ual79+7mqquuMllZWS7xW2+91Ugyr776aqFjuFNW56bBgwebgIAAk5GR4RJPTEw0ksygQYMKHSNPsd5a7dChg6Kjo1WzZk0lJiYqPDxcCxcu1B/+8AeXfk888YRLe/78+apUqZI6duyoQ4cOOb+aNm2q8PBw5+6XlStXKjs7W4MHD3ZZ8hw2bFihuW3YsEG7du3SsGHDdNVVV7l8z5O7cpdUjhkZGR6txtWqVUvLly/XgAED1L17dw0dOlQbNmxQdHS0/vKXvxR6fEE++eQTHT582OU6kQceeEAbN250WXJfsGCBHA6HxowZYxnD23c1v/ivkczMTB06dEht2rTRL7/8oszMzEsem56e7vFq3Lp16zR06FD16NFDAwYM0Pr169WgQQONHDlSp0+fvqznAMB/MDeV3Nz0xBNP6NixY7r//vu1YcMG/fe//9WwYcOcb2sW93dpWZ2b+vfvr3LlyqlXr1768ssvtXPnTr344otauHChpKKdz2K9tfr666+rXr16Kl++vKpWraprr73W8jEV5cuXV40aNVxi27dvV2ZmpmJiYtyOe+DAAUnSr7/+KkmWZdro6Gi3S7sXy1tKb9CggedPqJRzLKrKlSurX79++tvf/qa9e/dazqsnUlNTVadOHQUFBWnHjh2SLiw5h4aGKi0tTZMmTZJ04fzFxsaqcuXKXn0O7qxbt05jxozRV199pVOnTrl8LzMzU5UqVSqRxw0MDNSgQYOcRV2rVq1K5HEAlC7mppKbm7p06aLp06fr2WefVZMmTSRJV199tV544QWNGDFC4eHhxRq3rM5NjRo10ty5czVgwADddtttkqRq1app6tSpeuKJJ4p0PotVyLVo0cK5M6ggQUFBlv9Aubm5iomJUVpamttjoqOji5OOV/lrjjVr1pQkHTlypMiFXFZWlpYsWaIzZ864vYZh7ty5euGFF7zyV01BY5w/f96lvXPnTt1xxx267rrrNHnyZNWsWVOBgYFaunSppkyZotzc3MvO5VIuPp8ArgzMTSVr0KBB6tevnzZt2qTAwEA1btxYb7/9tqQLdwYoqrI+N/Xs2VM9evTQxo0bdf78eTVp0sS5OaYo59Mrmx08FR8fr5UrV+q2225ze5Ffnri4OEkX/gKpW7euM37w4EHL7hx3jyFJmzdvVocOHQrsV9APtTRyLI5ffvlFUvH+s3744Yc6c+aMkpOTVaVKFZfv/fzzzxo9erTWrVunVq1aKT4+XsuXL9eRI0cu+ZdPQecvMjLS7c0c8/5KzLNkyRKdPXtWH330kWrVquWMe+vmkoW5nPMJ4MrC3OS5sLAwl3uarly5UiEhIc5VpaJgbrrwDlHz5s2d7ZUrV0rSJV8j+ZXqR3T16tVL58+f14QJEyzfy8nJcZ7kDh06qEKFCpo+fbrLe81Tp04t9DGaNGmiOnXqaOrUqZYf2sVj5d03KH+fksrR0y3eBw8etMT+97//adasWWrUqJGqV69e6Bj5paamqm7duhowYIB69uzp8vX0008rPDzc+VfevffeK2OMxo0bZxkn//lz958iPj5emZmZ2rRpkzO2f/9+5/v+ecqVK2cZMzMzU7Nnz/boOXm6xdvd+Tx+/LimTp2qKlWqqGnTph49HoArF3NT0W6NlefLL7/Uhx9+qEcffbRYbzeW5bnJne3bt+uNN95Qt27dirbC6fG2CPN/O4O+++67S/br27evCQsLc/u9pKQkI8l06dLFTJkyxcyYMcMMHTrUxMbGmvnz5zv7Pffcc0aSSUhIMDNmzDCPPvqoiY2NNVWqVLnkziBjLuziqVChgomLizNjx441b775pnnqqadMp06dnH3ef/99I8k89NBDJjU11cybN6/EcjTG851BjzzyiLn99tvN2LFjzVtvvWVGjhxpoqKiTGBgoMtzNOb/fh6zZ88ucLz//e9/JiAgwAwbNqzAPvfee6+Jiooy2dnZxhhjHnroIefznzZtmpkyZYq55557zPTp053HJCQkmLCwMPPaa6+ZefPmma+//toYY8yhQ4dMWFiYqVu3rpk6daqZNGmSqVmzpmnSpInLTp5t27aZwMBA07BhQzNjxgzzt7/9zcTHx5sbb7zRSDK7du1y9r2cnUFjxowxN954oxk9erR56623zLhx40xcXJxxOBwmNTW10OMB+D/mppKfmzIyMkyLFi3MxIkTzT//+U/z1FNPmZCQEHPTTTdZdrIyN3lWWl1//fXm+eefN//85z/NqFGjTOXKlU1cXJxzl7WnSr2QM8aYt956yzRt2tSEhISYiIgI07BhQzNixAizb98+Z5/z58+bcePGmerVq5uQkBDTtm1bs3nzZhMXF1fofxZjjPniiy9Mx44dTUREhAkLCzONGjVy+WHn5OSYwYMHm+joaONwOCwn3ps5GuP5f5a5c+ea1q1bm+joaFO+fHlTpUoVc/fdd5v169db+k6fPt1IMsuWLStwvNdee81IMp999lmBfVJSUowks3jxYue5eeWVV8x1111nAgMDTXR0tOnSpYtLDtu2bTOtW7c2ISEhli3tK1asMA0aNDCBgYHm2muvNampqW63eH/00UemUaNGJjg42NSuXdu89NJLZtasWV79z7JixQrTsWNHU61aNVOhQgVz1VVXmU6dOl3yfACwF+amkp+bjhw5Yv74xz+aatWqmcDAQFOnTh3zzDPPWIo4Y5ibPC3kEhMTTc2aNU1gYKCJjY01AwYMML///rtHx17MYYyH93CA3+nVq5cyMjL07bff+joVAAAkMTeVtlLd7ADvMcYoPT1dqampvk4FAABJzE2+wIocAACATZXqrlUAAAB4D4UcAACATVHIAQAA2BSFHAAAgE351a7V3Nxc7du3TxEREV75bDXYmzFGx48fV2xsrOWzEQGgNDAvIT9/m5v8qpDbt2+f88PMgTx79uxRjRo1fJ0GgDKIeQkF8Ze5yfel5EUiIiJ8nQL8EK8LAL7C7x8UxF9eG35VyLFsDXd4XQDwFX7/oCD+8trwq0IOAAAAnqOQAwAAsCkKOQAAAJuikAMAALApCjkAAACbopADAACwKQo5AAAAm6KQAwAAsCkKOQAAAJuikAMAALApCjkAAACbopADAACwKQo5AAAAm6KQAwAAsCkKOQAAAJuikAMAALCp8r5OAN4XGRnp0q5Vq1axx/r1119d2k899ZSlz+bNmy2x//73v5bYxo0bi50HAACwYkUOAADApijkAAAAbIpCDgAAwKYo5AAAAGyKzQ420rVrV0usR48elljbtm1d2ldffXWxHzP/poW4uDhLn6CgII/GKleuXLHzAAAAVqzIAQAA2BSFHAAAgE1RyAEAANgU18j5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", - "text/plain": [ - "
" - ] + "text/plain": "
", + "image/png": "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ueYa59x01113KSAgQOPHj7esink6N0nSmjVrnLG822hdzN3clJ2drZkzZ3r0nDy9/YgkvffeexoyZIj69OmjyZMnezS+O6W6ItemTRslJSXpxRdf1I8//qhOnTqpQoUK2r59u+bPn69p06apZ8+eio6O1tNPP60XX3xR3bp1U0JCgjZs2KBPPvmk0C25AQEBSk5OVvfu3dW4cWP169dP1atX17Zt27RlyxbnxZNNmzaVJA0ZMkSdO3dWuXLllJiYWGI5FnWL9/Lly3X48OFLrh7lbUOfPXt2gXex3rdvn1atWqUhQ4a4/X5QUJA6d+6s+fPn6+9//7vatWunhx56SH//+9+1fft23XnnncrNzdXatWvVrl07DRo0yHn+Vq5cqcmTJys2NlZ16tTRzTffrMTERD3zzDO6++67NWTIEJ06dUrJycmqV6+efvjhB+fjdurUSYGBgerevbuSkpJ04sQJ/eMf/1BMTIz2799f6Pkp6u1HNm/erE2bNunZZ5/1+oWxAOyNuanwuWnq1KmaOXOmbr31VoWGhio1NdXl+3fffbezCE1PT1e7du00ZsyYAj+h4uzZs1qwYIE6duxY4I2Te/TooWnTpunAgQO6+uqrNWrUKE2YMEG333677rnnHgUFBem7775TbGys8xKkpk2bKjk5WRMnTtTVV1+tmJgYtW/fXp06dVKtWrX06KOPavjw4SpXrpxmzZql6Oho7d692/mYLVu2VGRkpPr27ashQ4bI4XBozpw5Hs81nt5+5Ntvv9XDDz+sqKgo3XHHHZa3zFu2bGm5mX2BirLFNW+b7nfffXfJfn379jVhYWEFfv+tt94yTZs2NSEhISYiIsI0bNjQjBgxwuzbt8/Z5/z582bcuHGmevXqJiQkxLRt29Zs3rzZxMXFXXKLd54vvvjCdOzY0URERJiwsDDTqFEjM336dOf3c3JyzODBg010dLRxOByWbcnezNGYom/xTkxMNBUqVDCHDx8usM/06dONJLNs2bIC+7z22mtGkvnss88K7JOSkmIkmcWLFxtjLpybV155xVx33XUmMDDQREdHmy5dupj169c7j9m2bZtp3bq1CQkJsWxpX7FihWnQoIEJDAw01157rUlNTXW79fujjz4yjRo1MsHBwaZ27drmpZdeMrNmzbJs3fbG7UeeffZZI8ls2rTJ42MA2ANzU8nPTXm3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BwUFqXPnzpo/f77+/ve/q127dnrooYf097//Xdu3b9edd96p3NxcrV27Vu3atdOgQYOc52/lypWaPHmyYmNjVadOHd18881KTEzUM888o7vvvltDhgzRqVOnlJycrHr16umHH35wPm6nTp0UGBio7t27KykpSSdOnNA//vEPxcTEaP/+/QWeozye3n7E3fnMW4Hr0qVLoa8nAFc+5ibPbj8yZ84c/frrr85rmtesWaOJEydKkh566CHnamB6erratWunMWPGFPgxXmfPntWCBQvUsWNHBQcHu+3To0cPTZs2TQcOHNDVV1+tUaNGacKECbr99tt1zz33KCgoSN99951iY2P14osvOs9fcnKyJk6cqKuvvloxMTFq3769OnXqpFq1aunRRx/V8OHDVa5cOc2aNUvR0dHavXu38zFbtmypyMhI9e3bV0OGDJHD4dCcOXM83lxXlNuPrFmzxllYHjx4UCdPnnSez9atW3v+qSBF2eKat033u+++u2S/wm6X8dZbb5mmTZuakJAQExERYRo2bGhGjBhh9u3b5+xz/vx5M27cOFO9enUTEhJi2rZtazZv3mzi4uIuucU7zxdffGE6duxoIiIiTFhYmGnUqJGZPn268/s5OTlm8ODBJjo62jgcDsu2ZG/maEzxtnjnKeh8Tp8+3Ugyy5YtK/DY1157zUgyn332WYF9UlJSjCSzePFiY8yFc/PKK6+Y6667zgQGBpro6GjTpUsXs379eucx27ZtM61btzYhISGWLe0rVqwwDRo0MIGBgebaa681qampbrd+f/TRR6ZRo0YmODjY1K5d27z00ktm1qxZlq3bl3v7kfy4/QhwZWFuKp25Ke/3rruvi5/nkiVLjCTzxhtvFDjWggULjCTz9ttvF9gnPT3dSDLTpk1zxmbNmmVuuukmExQUZCIjI02bNm3Mp59+6vz+b7/9Zrp27WoiIiKMJJe5Y/369ebmm282gYGBplatWmby5Mlubz+ybt06c8stt5iQkBATGxtrRowYYZYvX255npd7+5G8ucjdV1Fu7eIwxsMyE36nV69eysjI0LfffuvrVAAAkCSNGDFC8+bN044dOxQUFOTrdK54pfrWKrzHGKP09PQS+cw7AACKa9WqVfrrX/9KEVdKWJEDAACwqVLdtQoAAADvoZADAACwKQo5AAAAm6KQAwAAsCm/2rWam5ur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y5stW7YYYy6cz7CwMI+OLUh2draJiooyo0aNcsZ69+5tbrzxRpd+n3/+uZFkhgwZYhnj4ucZFhZmeY55ubp7nmPGjLGc71OnTln6de7c2dStW9cl1qZNG9OmTRtLzNOX78aNG025cuXM8uXLXXI5ePCgR8cD8G/MTSU/N3Xv3t1cddVVJisryyV+6623Gknm1VdfLXQMd8rq3DR48GATEBBgMjIyXOKJiYlGkhk0aFChY+Qp1lurHTp0UHR0tGrWrKnExESFh4dr4cKF+sMf/uDS74knnnBpz58/X5UqVVLHjh116NAh51fTpk0VHh7u3P2ycuVKZWdna/DgwS5LnsOGDSs0tw0bNmjXrl0aNmyY5S00Tz5epaRyzMjI8Gg1Ljs7W0899ZQGDBigG264odD+nvrkk090+PBhPfDAA87YAw88oI0bN7osuS9YsEAOh0NjxoyxjOHtj6e5+K+RzMxMHTp0SG3atNEvv/yizMzMSx6bnp7u8WrckCFD1KVLF3Xq1Omy8gXg35ibSm5ueuKJJ3Ts2DHdf//92rBhg/773/9q2LBhzrc1T58+XegY7pTVual///4qV66cevXqpS+//FI7d+7Uiy++qIULF0oq2vks1lurr7/+uurVq6fy5curatWquvbaay0XdJYvX141atRwiW3fvl2ZmZmKiYlxO+6BAwckSb/++qskWZZpo6Oj3S7tXixvKb1BgwaeP6FSzvFSpkyZokOHDnl911Jqaqrq1KmjoKAg7dixQ9KFJefQ0FClpaVp0qRJki6cv9jYWFWuXNmrj+/OunXrNGbMGH311VeWXWWZmZmqVKnSZT/Ge++9py+//FKbN2++7LEA+DfmppKbm7p06aLp06fr2WefVZMmTSRJV199tV544QWNGDGi2LfIKqtzU6NGjTR37lwNGDBAt912mySpWrVqmjp1qp544okinc9iFXItWrRQs2bNLtknKCjI8h8oNzdXMTExBe5IiY6OLk46XuXLHDMzMzVx4kQ9+eSTysrKUlZWlqQLtyExxigjI0OhoaEF/kcuSFZWlpYsWaIzZ864vYZh7ty5euGFF7zyV01BY5w/f96lvXPnTt1xxx267rrrNHnyZNWsWVOBgYFaunSppkyZotzc3MvORZKGDx+u++67T4GBgc6/OvPuUbRnzx5lZ2crNjbWK48FwLeYm0rWoEGD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sMRq1qxZ6FjuNkkcPny4eInBa1iRAwAAsCkKOQAAAJuikAMAALApCjkAAACbchhjjK+TyJOVleX20wVKW6dOnSyxTz75pNDjqlWrZokdPHjQKzl5W/369S2x//znP5bYwoULXdqPPPKIpc/x48e9lpc7mZmZbi+yBYCS5i/zkqdq1Kjh0t6wYYOlT1RUlCXmSSngbtPfoEGDLLEjR44UOtaVwF/mJlbkAAAAbIpCDgAAwKYo5AAAAGyKQg4AAMCmyvwnO8TExFhi9957r0fHPvrooy5tO21sWLlypUfH5t/sUNIbGwAAxff000+7tPN/AtHluP/++y2xO++80xJz98kR06dPd2lnZ2d7La+yjhU5AAAAm6KQAwAAsCkKOQAAAJsq89fIvfbaa5bYgw8+aImtX7/eEps/f36J5ORtt99+uyVWtWpVSywlJcUSS01NLYmUAACXKS4uzhLr169focdt2rTJEvv9998tsQ4dOhQ6lrubJee/Tk+S0tLSXNq//fZboWPDM6zIAQAA2BSFHAAAgE1RyAEAANgUhRwAAIBNlfnNDsYYSyw3N9cS27dvnyXmDzc0DAkJscRGjhzp0n7yySctfdw97z/96U/eSwwAUKIaN25siUVERLi0165da+nTpk0bSyw4ONgSe+CBB1za+ecWSYqPj7fEqlWrZoktXrzYpd2lSxdLnyNHjlhiKBwrcgAAADZFIQcAAGBTFHIAAAA2RSEHAABgU2V+s4OnunbtaomtWLHCpX3s2DFLn+TkZK/l4O4C1bZt21pit9xyS6FjffDBB95ICQDgI0FBQZZY/o1sU6ZM8WisM2fOWGKzZ892ad93332WPnXr1vVo/FOnTrm0/WGz4JWCFTkAAACbopADAACwKQo5AAAAm6KQAwAAsKkyv9lh2rRplli7du0ssdjYWEusdevWLm2Hw2Hp06NHj8vIzpW78d19QkN+v/zyiyXm7g7dAAD7yP/JC+6426i3aNGiYj1es2bNinWcJH399dcu7RMnThR7LLhiRQ4AAMCmKOQAAABsikIOAADApsr8NXLr16+3xBo1amSJNW7c2BK78847XdrDhw+39Dl48KAl9s477xQhw/8zZ84cS2zjxo2FHvfll19aYjt37ixWDgAA/zBv3jxLLP912c2bN7f0ue666yyxhg0bWmJ33323SzsyMtLSx92N8N31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40xcXJxxOBwmNTW10OMB+D/mppKfmzIyMkyLFi3MxIkTzT//+U/z1FNPmZCQEHPTTTdZdrIyN3lWWl1//fXm+eefN//85z/NqFGjTOXKlU1cXJxzl7WnSr2QM8aYt956yzRt2tSEhISYiIgI07BhQzNixAizb98+Z5/z58+bcePGmerVq5uQkBDTtm1bs3nzZhMXF1fofxZjjPniiy9Mx44dTUREhAkLCzONGjVy+WHn5OSYwYMHm+joaONwOCwn3ps5GuP5f5a5c+ea1q1bm+joaFO+fHlTpUoVc/fdd5v169db+k6fPt1IMsuWLStwvNdee81IMp999lmBfVJSUowks3jxYue5eeWVV8x1111nAgMDTXR0tOnSpYtLDtu2bTOtW7c2ISEhli3tK1asMA0aNDCBgYHm2muvNampqW63eH/00UemUaNGJjg42NSuXdu89NJLZtasWV79z7JixQrTsWNHU61aNVOhQgVz1VVXmU6dOl3yfACwF+amkp+bjhw5Yv74xz+aatWqmcDAQFOnTh3zzDPPWIo4Y5ibPC3kEhMTTc2aNU1gYKCJjY01AwYMML///rtHx17MYYyH93CA3+nVq5cyMjL07bff+joVAAAkMTeVtlLd7ADvMcYoPT1dqampvk4FAABJzE2+wIocAACATZXqrlUAAAB4D4UcAACATVHIAQAA2BSFHAAAgE351a7V3Nxc7du3TxEREV75bDXYmzFGx48fV2xsrOWzEQGgNDAvIT9/m5v8qpDbt2+f88PMgTx79uxRjRo1fJ0GgDKIeQkF8Ze5yfel5EUiIiJ8nQL8EK8LAL7C7x8UxF9eG35VyLFsDXd4XQDwFX7/oCD+8trwq0IOAAAAnqOQAwAAsCkKOQAAAJuikAMAALApCjkAAACbopADAACwKQo5AAAAm6KQAwAAsCkKOQAAAJuikAMAALApCjkAAACbopADAACwKQo5AAAAm6KQAwAAsCkKOQAAAJuikAMAALCp8r5OAN4XGRnp0q5Vq1axx/r1119d2k899ZSlz+bNmy2x//73v5bYxo0bi50HAACwYkUOAADApijkAAAAbIpCDgAAwKYo5AAAAGyKzQ420rVrV0usR48elljbtm1d2ldffXWxHzP/poW4uDhLn6CgII/GKleuXLHzAAAAVqzIAQAA2BSFHAAAgE1RyAEAANgU18j5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\n" }, "metadata": {}, "output_type": "display_data" @@ -356,11 +352,11 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 11, "metadata": { "ExecuteTime": { - "end_time": "2024-04-21T13:07:17.638232900Z", - "start_time": "2024-04-21T13:07:17.436513100Z" + "end_time": "2024-04-21T14:04:18.477652200Z", + "start_time": "2024-04-21T14:04:18.317667200Z" } }, "outputs": [], diff --git a/neuralnetlib/layers.py b/neuralnetlib/layers.py index 4bf5d1e..1beff02 100644 --- a/neuralnetlib/layers.py +++ b/neuralnetlib/layers.py @@ -180,16 +180,18 @@ def from_config(config: dict): class Dropout(Layer): - def __init__(self, rate: float): + def __init__(self, rate: float, seed: int = None): self.rate = rate self.mask = None + self.seed = seed def __str__(self): return f'Dropout(rate={self.rate})' def forward_pass(self, input_data: np.ndarray, training: bool = True) -> np.ndarray: if training: - self.mask = np.random.binomial(1, 1 - self.rate, size=input_data.shape) / (1 - self.rate) + rng = np.random.default_rng(self.seed) + self.mask = rng.binomial(1, 1 - self.rate, size=input_data.shape) / (1 - self.rate) return input_data * self.mask else: return input_data @@ -200,12 +202,13 @@ def backward_pass(self, output_error: np.ndarray) -> np.ndarray: def get_config(self) -> dict: return { 'name': self.__class__.__name__, - 'rate': self.rate + 'rate': self.rate, + 'seed': self.seed } @staticmethod def from_config(config: dict): - return Dropout(config['rate']) + return Dropout(config['rate'], config['seed']) class Conv2D(Layer): From 7514a3c054aaf39f5038f792f570165a67fc008f Mon Sep 17 00:00:00 2001 From: GitHub Action <52708150+marcpinet@users.noreply.github.com> Date: Sun, 21 Apr 2024 16:19:37 +0200 Subject: [PATCH 2/2] ci: bump version to 2.2.1 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index b169e59..9e34cb6 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ setup( name='neuralnetlib', - version='2.2.0', + version='2.2.1', author='Marc Pinet', description='A simple convolutional neural network library with only numpy as dependency', long_description=open('README.md', encoding="utf-8").read(),