diff --git a/6_pytorch/0_basic/2-autograd.ipynb b/6_pytorch/0_basic/2-autograd.ipynb index 21f272f..0d8676a 100644 --- a/6_pytorch/0_basic/2-autograd.ipynb +++ b/6_pytorch/0_basic/2-autograd.ipynb @@ -10,7 +10,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -28,7 +28,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -67,7 +67,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -93,7 +93,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -115,7 +115,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -127,12 +127,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "如果你对矩阵乘法不熟悉,可以查看下面的[网址进行复习](https://baike.baidu.com/item/%E7%9F%A9%E9%98%B5%E4%B9%98%E6%B3%95/5446029?fr=aladdin)" + "如果你对矩阵乘法不熟悉,可以查看下面的[《矩阵乘法说明》](https://baike.baidu.com/item/%E7%9F%A9%E9%98%B5%E4%B9%98%E6%B3%95/5446029?fr=aladdin)进行复习" ] }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -326,7 +326,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -345,7 +345,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -354,7 +354,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -371,7 +371,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -413,7 +413,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## 4 练习题\n", + "## 4. 练习题\n", "\n", "定义\n", "\n", @@ -462,7 +462,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 25, "metadata": {}, "outputs": [], "source": [ @@ -475,18 +475,31 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 29, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "tensor([2., 3., 4.], requires_grad=True)\n", + "tensor([2., 0., 0.])\n" + ] + } + ], "source": [ - "#k.backward(torch.ones_like(k)) \n", - "#print(x.grad)\n", - "# 和上一个的区别在于该算法是求得导数和,并不是分布求解。" + "# demo to show how to use `.backward`\n", + "x = torch.tensor([2,3,4], dtype=torch.float, requires_grad=True)\n", + "print(x)\n", + "y = x*2\n", + "\n", + "y.backward(torch.tensor([1, 0, 0], dtype=torch.float))\n", + "print(x.grad)" ] }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 26, "metadata": {}, "outputs": [ { @@ -500,6 +513,7 @@ } ], "source": [ + "# calc k_0 -> (x_0, x_1)\n", "j = torch.zeros(2, 2)\n", "k.backward(torch.FloatTensor([1, 0]), retain_graph=True)\n", "print(k)\n", @@ -508,6 +522,7 @@ "\n", "x.grad.data.zero_() # 归零之前求得的梯度\n", "\n", + "# calc k_1 -> (x_0, x_1)\n", "k.backward(torch.FloatTensor([0, 1]))\n", "j[1] = x.grad.data\n", "print(x.grad.data)\n" @@ -515,24 +530,7 @@ }, { "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "tensor([13., 13.], grad_fn=)\n" - ] - } - ], - "source": [ - "print(k)" - ] - }, - { - "cell_type": "code", - "execution_count": 32, + "execution_count": 30, "metadata": {}, "outputs": [ { diff --git a/6_pytorch/1_NN/1-linear-regression-gradient-descend.ipynb b/6_pytorch/1_NN/1-linear-regression-gradient-descend.ipynb index ef09890..b057b62 100644 --- a/6_pytorch/1_NN/1-linear-regression-gradient-descend.ipynb +++ b/6_pytorch/1_NN/1-linear-regression-gradient-descend.ipynb @@ -131,7 +131,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 1, @@ -155,7 +155,7 @@ { "data": { "text/plain": [ - "[]" + "[]" ] }, "execution_count": 2, @@ -164,7 +164,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -243,7 +243,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 6, @@ -252,7 +252,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWoAAAD4CAYAAADFAawfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAXEUlEQVR4nO3df5BV5X3H8c8XXMRVa8yyzWgIuziTUFdQhNXBZmKoEqTqRB07He0axYlFpVr7I3Z0+CNOlUk700o1E8UdS4ywNkZMHKalraPikCb+WnQ1CSgkuOAiLStaogLlx377x9ldYLnLPXf3nHuec8/7NbOze8+9nPM8e+HDc59fx9xdAIBwjcm6AACAYyOoASBwBDUABI6gBoDAEdQAELjj0jjphAkTvLm5OY1TA0BNWrdu3Qfu3ljquVSCurm5WZ2dnWmcGgBqkpltGe45uj4AIHAENQAEjqAGgMCl0kddyv79+9XT06O9e/dW65I1b/z48Zo4caLq6uqyLgqAFFUtqHt6enTyySerublZZlaty9Ysd9fOnTvV09OjyZMnZ10cACmqWtfH3r171dDQQEgnxMzU0NDAJxQgAB0dUnOzNGZM9L2jI9nzV61FLYmQThi/TyB7HR3SggXS7t3R4y1boseS1NaWzDUYTASAUVi06FBID9i9OzqeFII6pubmZn3wwQdZFwNAYLZurez4SAQb1Gn2+bi7+vr6kjshgMKaNKmy4yMRZFAP9Pls2SK5H+rzGU1Yd3d3a8qUKbr++us1depU3XvvvTrvvPN09tln69vf/vbg66688krNnDlTZ511ltrb2xOoDYBatnixVF9/5LH6+uh4UoIM6rT6fDZt2qSFCxdqyZIl2rZtm1599VV1dXVp3bp1Wrt2rSRp2bJlWrdunTo7O/Xggw9q586do7sogJrW1ia1t0tNTZJZ9L29PbmBRKnKsz7iSqvPp6mpSbNmzdK3vvUtPfvsszr33HMlSZ988ok2bdqkCy+8UA8++KB+8pOfSJLee+89bdq0SQ0NDaO7MICa1taWbDAPFWRQT5oUdXeUOj4aJ554oqSoj/ruu+/WzTfffMTzL774op577jm99NJLqq+v1+zZs5mnDCBzQXZ9pN3nc8kll2jZsmX65JNPJEnbtm3Tjh07tGvXLp166qmqr6/X22+/rZdffjmZCwLAKATZoh74CLFoUdTdMWlSFNJJfbSYO3euNmzYoAsuuECSdNJJJ2nFihWaN2+eli5dqjPPPFNTpkzRrFmzkrkgAIyCuXviJ21tbfWhNw7YsGGDzjzzzMSvVXT8XoHaYGbr3L211HNBdn0AAA4hqIECSXvzIKQjyD5qAMmrxuZBSActaqAgqrF5ENJBUAMFUY3Ng5AOghooiGpsHoR0ENQlPPbYY3r//fcHH990001av379qM/b3d2tJ554ouI/N3/+fK1cuXLU10exVWPzIKQj3KDOcHh6aFA/+uijamlpGfV5RxrUQBKqsXkQ0hFmUKexz6mkFStW6Pzzz9f06dN188036+DBg5o/f76mTp2qadOmacmSJVq5cqU6OzvV1tam6dOna8+ePZo9e7YGFvCcdNJJuvPOO3XWWWdpzpw5evXVVzV79mydccYZWrVqlaQokL/yla9oxowZmjFjhn7+859Lku666y799Kc/1fTp07VkyRIdPHhQd9555+B2q4888oikaC+S2267TVOmTNGcOXO0Y8eOUdUbGNDWJnV3S3190XdCOifcPfGvmTNn+lDr168/6tiwmprco4g+8qupKf45Slz/8ssv93379rm7+6233ur33HOPz5kzZ/A1H330kbu7f/WrX/XXXntt8PjhjyX56tWr3d39yiuv9K997Wu+b98+7+rq8nPOOcfd3T/99FPfs2ePu7tv3LjRB34fa9as8csuu2zwvI888ojfe++97u6+d+9enzlzpm/evNmffvppnzNnjh84cMC3bdvmp5xyij/11FPD1gvFsGJF9E/ALPq+YkXWJUKSJHX6MJka5jzqFIann3/+ea1bt07nnXeeJGnPnj2aN2+eNm/erNtvv12XXXaZ5s6dW/Y848aN07x58yRJ06ZN0/HHH6+6ujpNmzZN3d3dkqT9+/frtttuU1dXl8aOHauNGzeWPNezzz6rt956a7D/edeuXdq0aZPWrl2ra6+9VmPHjtXpp5+uiy66aMT1Rm1gDnSxhdn1kcLwtLvrhhtuUFdXl7q6uvTOO+/ogQce0JtvvqnZs2dr6dKluummm8qep66ubvDu32PGjNHxxx8/+POBAwckSUuWLNHnPvc5vfnmm+rs7NS+ffuGLdN3v/vdwTK9++67sf6zQPEwB7rYwgzqFIanL774Yq1cuXKwv/fDDz/Uli1b1NfXp6uvvlr33Xef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\n", "text/plain": [ "
" ] @@ -309,7 +309,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "tensor(719.2896, dtype=torch.float64, grad_fn=)\n" + "tensor(687.4893, dtype=torch.float64, grad_fn=)\n" ] } ], @@ -349,8 +349,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "tensor([-153.8987])\n", - "tensor([-237.1102])\n" + "tensor([-120.5742])\n", + "tensor([-231.9290])\n" ] } ], @@ -386,7 +386,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 12, @@ -395,7 +395,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -429,11 +429,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "epoch: 19, loss: 15.28364363077673\n", - "epoch: 39, loss: 14.795312869325372\n", - "epoch: 59, loss: 14.536351699107472\n", - "epoch: 79, loss: 14.39902521175574\n", - "epoch: 99, loss: 14.326200708394845\n" + "epoch: 19, loss: 18.053107839401285\n", + "epoch: 39, loss: 16.176534764175827\n", + "epoch: 59, loss: 15.469259285871882\n", + "epoch: 79, loss: 15.202689710228258\n", + "epoch: 99, loss: 15.102220561226387\n" ] } ], @@ -460,7 +460,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 14, @@ -469,7 +469,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWoAAAD4CAYAAADFAawfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAXGElEQVR4nO3df5BV5X3H8c93cQEXqXEW4mjI7uJMQkEQhNVgZ0QaEKhmotZOJ84mSmKCSrWmnTijs3/oVJlMZ1qpphlxa4lVVqtidGhjE6piSRMVdw0aAxYMWXTRBlwNVX6EH/vtH3eXH+u97Nm958dz7n2/Zu7s3ruHe5/nXvazz3nO88PcXQCAcNVkXQAAwIkR1AAQOIIaAAJHUANA4AhqAAjcSUk86bhx47ypqSmJpwaAitTZ2fm+u48v9rNEgrqpqUkdHR1JPDUAVCQz217qZ3R9AEDgCGoACBxBDQCBS6SPupiDBw+qu7tb+/fvT+slK97o0aM1YcIE1dbWZl0UAAlKLai7u7s1duxYNTU1yczSetmK5e7q6elRd3e3Jk6cmHVxACQota6P/fv3q76+npCOiZmpvr6eMxQgAO3tUlOTVFNT+NreHu/zp9ailkRIx4z3E8hee7u0ZIm0d2/h/vbthfuS1NISz2twMREAytDaejSk++3dW3g8LgR1RE1NTXr//fezLgaAwLz99tAeH45ggzrJPh93V29vb3xPCKBqNTQM7fHhCDKo+/t8tm+X3I/2+ZQT1l1dXZo0aZKuvvpqTZ06VXfeeafOO+88nXPOObr99tuPHHf55Zdr1qxZOvvss9XW1hZDbQBUsmXLpLq64x+rqys8HpcggzqpPp+tW7dq6dKlWr58uXbs2KENGzZo48aN6uzs1Pr16yVJK1euVGdnpzo6OnTvvfeqp6envBcFUNFaWqS2NqmxUTIrfG1ri+9CopTyqI+okurzaWxs1OzZs/Wd73xHa9eu1bnnnitJ+vjjj7V161bNmTNH9957r5566ilJ0jvvvKOtW7eqvr6+vBcGUNFaWuIN5oGCDOqGhkJ3R7HHyzFmzBhJhT7q2267Tdddd91xP3/hhRf07LPP6sUXX1RdXZ3mzp3LOGUAmQuy6yPpPp+FCxdq5cqV+vjjjyVJO3bs0M6dO7V7926ddtppqqur05tvvqmXXnopnhcEgDIE2aLuP4VobS10dzQ0FEI6rlOLBQsWaPPmzbrgggskSaeccopWrVqlRYsWacWKFZo8ebImTZqk2bNnx/OCAFAGc/fYn7S5udkHbhywefNmTZ48OfbXqna8r0BlMLNOd28u9rMguz4AAEcR1AAQOIIaAAJHUANA4AhqAAgcQQ0AgSOoi3jwwQf17rvvHrn/zW9+U5s2bSr7ebu6uvTII48M+d8tXrxYq1evLvv1AeRTuEGd9N42JzAwqB944AFNmTKl7OcdblADqG5hBnUS65xKWrVqlc4//3zNmDFD1113nQ4fPqzFixdr6tSpmjZtmpYvX67Vq1ero6NDLS0tmjFjhvbt26e5c+eqfwLPKaecoltuuUVnn3225s+frw0bNmju3Lk666yztGbNGkmFQL7wwgs1c+ZMzZw5Uz//+c8lSbfeeqt++tOfasaMGVq+fLkOHz6sW2655chyq/fff7+kwlokN954oyZNmqT58+dr586dZdUbQM65e+y3WbNm+UCbNm36xGMlNTa6FyL6+FtjY/TnKPL6X/rSl/zAgQPu7n7DDTf4HXfc4fPnzz9yzIcffuju7hdddJG/8sorRx4/9r4kf+aZZ9zd/fLLL/eLL77YDxw44Bs3bvTp06e7u/uePXt837597u6+ZcsW738/1q1b55deeumR573//vv9zjvvdHf3/fv3+6xZs3zbtm3+5JNP+vz58/3QoUO+Y8cOP/XUU/2JJ54oWS8A+Sepw0tkaqS1PszsZknfkmSS/snd/yG5Px1KZJ3T5557Tp2dnTrvvPMkSfv27dOiRYu0bds23XTTTbr00ku1YMGCQZ9n5MiRWrRokSRp2rRpGjVqlGprazVt2jR1dXVJkg4ePKgbb7xRGzdu1IgRI7Rly5aiz7V27Vq9/vrrR/qfd+/era1bt2r9+vW66qqrNGLECJ155pn64he/OOx6A8i/QYPazKaqENLnSzog6cdm9u/u/lZipUpgnVN31zXXXKPvfve7xz2+bNky/eQnP9GKFSv0+OOPa+XKlSd8ntra2iO7f9fU1GjUqFFHvj906JAkafny5Tr99NP12muvqbe3V6NHjy5Zpu9973tauHDhcY8/88wzw6ojgMoUpY96sqSX3X2vux+S9F+S/jTRUiWwzum8efO0evXqI/29H3zwgbZv367e3l5deeWVuuuuu/Tqq69KksaOHauPPvpo2K+1e/dunXHGGaqpqdHDDz+sw4cPF33ehQsX6r777tPBgwclSVu2bNGePXs0Z84cPfbYYzp8+LDee+89rVu3bthlAZB/Ubo+3pC0zMzqJe2TdImkjoEHmdkSSUskqaHcFf4TWOd0ypQpuuuuu7RgwQL19vaqtrZWd999t6644oojG932t7YXL16s66+/XieffLJefPHFIb/W0qVLdeWVV+qhhx7SokWLjmxYcM4552jEiBGaPn26Fi9erJtvvlldXV2aOXOm3F3jx4/X008/rSuuuELPP/+8pkyZooaGhiPLsQKoTpGWOTWzayUtlbRH0q8k/d7dv13qeJY5TQ/vK1AZyl7m1N3/2d1nufscSR9KKn51DEDQMpyegDJEHfXxaXffaWYNKvRPs/UJkDP90xP27i3c75+eICW7MSvKF3XCy5NmtknSv0n6C3f/3XBeLEo3C6Lj/cRQtLYeDel+e/cWHkfYIrWo3f3Ccl9o9OjR6unpUX19/ZHhbRg+d1dPT0/JoX/AQAlMT0BKUtvcdsKECeru7tauXbvSesmKN3r0aE2YMCHrYiAnEpiegJSkFtS1tbWaOHFiWi8HYIBly47vo5bKnp6AlIS5KBOA2LW0SG1tUmOjZFb42tbGhcQ8SK1FDSB7LS0Ecx7RogaAwBHUABA4ghoAAkdQA0DgCGoACBxBDQCBI6gBIHAENQAEjqAGgMAR1EBOsOh/9WIKOZADLPpf3WhRAznAov/VjaAGcoBF/6sbQQ3kQKnF/Vn0vzoQ1EAOLFtWWOT/WCz6Xz0IaiAHWPS/ujHqA8gJFv2vXrSoASBwBDUABI6gBoDAEdQAEDiCGgDKlfBCLIz6AIBypLAQCy1qAChHCguxENQAUI4UFmIhqAGgHCksxEJQA0A5UliIhaAGUL3iGK2RwkIsjPoAUJ3iHK2R8EIstKiBItifsArkaNucSEFtZn9lZr8yszfM7FEzG510wYCs9De0tm+X3I82tAjrCpOjbXMGDWoz+4ykv5TU7O5TJY2Q9JWkCwZkJUcNLZQjR9vmRO36OEnSyWZ2kqQ6Se8mVyQgWzlqaKEcOdo2Z9Cgdvcdkv5O0tuS3pO0293XDjzOzJaYWYeZdezatSv+kgIpyVFDC+XI0bY5Ubo+TpN0maSJks6UNMbMvjrwOHdvc/dmd28eP358/CUFUpKjhhbK1dIidXVJvb2FrwGGtBSt62O+pN+4+y53Pyjph5L+KNliAdnJUUMLVSLKOOq3Jc02szpJ+yTNk9SRaKmAjLE/IUISpY/6ZUmrJb0q6Zd9/6Yt4XIBAPpEmpno7rdLuj3hsgAAimBmIoDsMAU0Etb6AJCNFHZGqRS0qAFkgymgkRHUqBqcZQeGKaCREdSoCiy0FCCmgEZGUKMqcJadsOGcrjAFNDKCGlWBs+wEDfd0hSmgkZm7x/6kzc3N3tHB5EWEo6mpkB8DNTYWlnhAGXhzY2Fmne7eXOxntKhRFTjLThCnK4kjqFEVOMtOEBcFE0dQo2rkZEXL/OF0JXEENYDycLqSOKaQAygf68ImihY1UE2YnplLBDWQsdSyk+mZuUVQAxlKNTuZnplbBDWQoVSzk/HOuUVQAxlKNTsZ75xbBDWQoVSzk/HOuUVQAxkacnaWc+WR8c65xThqIEP9GdnaWujuaGgohHTR7Fy6VFqxonDVURre1lWMd84lVs8D8qC9Xfra146G9LFYpa4isHoekHetrcVDWmLURhUgqIGsRel3PlEYM2qj4hHUQJaizngpFcZmjNqoAgQ1kKaBreebb44246XY8BAz6frruThYBRj1AaSlv/XcH8zFtq/qN7CrY0jDQ1BpaFEDSSjW71xsvngpxbo62PmgatGiBuJWrOV87P3BMFsQA9CiBuJWYqWl3poRRQ/ff0o9swVxQrSogbiVGEpnvYe1R3Uao6Mhvkd1um3UPbq3i2BGabSogbiVGEq3XY36ltrUpUb1ytTVd/8fPyCkcWIEdYVix6UMlVhp6e76ZXpULZqoLo1QryaqS4+qhfkqGBRBXYHYcSkGCaxS94V7WlhlFMPj7rHfZs2a5chOY6N7IaKPvzU2Zl2ynFi1yr2u7vg3r66u8HgMT93Y6G5W+BrDU6IMIX0ekjq8RKYO2qI2s0lmtvGY2/+Z2beT/xOC4WLHpSGIOt45pv2xGAp9vCy76PJ05jmkZU7NbISkHZK+4O4lp1WxzGm2mpqKT3pjNcwBBo53lgp9EaXGO5sVEhaxKPX2pzU6MbTfkziXOZ0n6dcnCmlkjx2XSoi6zsaI4uOduepX2nBaxllvip6rM89SfSLFbpJWSrqxxM+WSOqQ1NHQ0JBWtw5KCKnvLQjF+p1PdEuoj7oSDbdL36z4W2+WTrlDu5ajE/RRDyWkR0p6X9Lpgx3LxUQEp9RvZanfVP7SRTbcwMs6KBO8ZjwsJwrqoXR9/ImkV939tzE26IF0RD2f7e8j4qpfZMPtQsi6iy5Pe/0OJaivkvRoUgUBElWqf7medTbKVeqtHaxLP4SgzMvf40hBbWZjJF0s6YfJFgdISKnm2z335OM3NWDltIzzEpRZixTU7r7H3evdfXfSBQISEULzrULx1iZvSOOoo2IcNWLVPwmFnU1QwU40jpplThG2UovwS4Q1qgaLMiFsWc+KAAJAUCNsuZo+BiSDoEbYhjv2C6ggBDXClvWsCCAABDXCxtgvgKBGzBJYYLhdLWpSl2rUqyZ1qV2ENKoLw/MQnwSG0jE6D2DCC+KUwErsoS3uDiQlzo0DgNISGErH6DyAoEacEhhKl9fReVnuBYjKQ1AjPgkMpcvj6Lw8bZqKfCCoEZ8EhtLlcXQes94RNy4mAjGrqSm0pAdiE3OcCBcTgRTltV8d4QoqqLkAg0qQx351hC2YoOYCDCpFHvvVEbZggpoLMDHj9CRT7AWIOAUzhZyJDTFi3jVQUYJpUXMBJkacngAVJZig5gJMjDg9ASpKMEHNBZgYcXoCVJRggrq9vXBm/vbbhTxZtoyQHrYMT0+4hgnEL4iLiVz7iln/m5byXz4+RyAZQUwhZ83hysDnCAxf8FPIufZVGfgcgWQEEdRc+6oMfI5AMoIIaobmVQY+RyAZQQQ1Q/MqA58jkIwgLiYCQLUL/mIiAKA0ghoAAkdQAznCzM/qFCmozexTZrbazN40s81mdkHSBQNwPDbXqF5RW9T3SPqxu/+hpOmSNidXpADRjEEAWL22eg261oeZnSppjqTFkuTuByQdSLZYAWEBCwSCmZ/VK0qLeqKkXZJ+YGa/MLMHzGxMwuUKB80YBIKZn9UrSlCfJGmmpPvc/VxJeyTdOvAgM1tiZh1m1rFr166Yi5khmjEIBDM/q1eUoO6W1O3uL/fdX61CcB/H3dvcvdndm8ePHx9nGbNFMwaBYOZn9Ro0qN39fyW9Y2aT+h6aJ2lToqUKCc0YBITdzatT1I0DbpLUbmYjJW2T9PXkihSYjBbhB4B+rPUBAAFgrQ+gBIbIIw+C2DMRyAJD5JEX+WxR0wxCDBgij7zIX4uaZhBiwhB55EX+WtQ0gxAThsgjL/IX1DSDEBOGyCMvwgnq9nZp3LjClCuzwvfF+p5pBiEmzPRDXoQR1O3t0te/LvX0HH2sp0f6xjc+GdY0gxAjZvohD8II6tZW6eDBTz5+4MAn+55pBgGoMmHMTKypKWxZUYxZobkDABUs/JmJJ+pfpu8ZQJULI6iXLZNqaz/5+MiR9D0DqHphBHVLi/SDH0j19Ucfq6+XVq6k7xlA1QtnZmJLC6EMAEWE0aIGAJREUANA4AhqAAhcLoOaVU4BVJNwLiZGxCqnAKpN7lrUrHIKoNrkLqhZ5RRAtcldULPKKYBqk7ugZpVTANUmd0HNKqcAqk3uRn1IzDYHUF1y16IGgGpDUANA4AhqAAgcQQ0AgSOoASBwBDUABI6gBoDAEdQAEDiCGgACR1ADQOAiTSE3sy5JH0k6LOmQuzcnWSgAwFFDWevjj939/cRKAgAoiq6PCNijEUCWoga1S1prZp1mtqTYAWa2xMw6zKxj165d8ZUwY/17NG7fLrkf3aORsAaQFnP3wQ8y+4y77zCzT0v6T0k3ufv6Usc3Nzd7R0dHjMXMTlNTIZwHamyUurrSLg2ASmVmnaWu/0VqUbv7jr6vOyU9Jen8+IoXNvZoBJC1QYPazMaY2dj+7yUtkPRG0gULBXs0AshalBb16ZL+28xek7RB0o/c/cfJFisc7NEIIGuDDs9z922SpqdQliD1b/nV2lro7mhoKIQ0W4EBSEsu90xMG3s0AsgS46gBIHAENQAEjqAGgMAR1AAQOIIaAAIXaQr5kJ/UbJekIhOvNU5SNa/AR/2rt/7VXHeJ+kepf6O7jy/2g0SCuhQz66jmtaypf/XWv5rrLlH/cutP1wcABI6gBoDApR3UbSm/Xmiof/Wq5rpL1L+s+qfaRw0AGDq6PgAgcAQ1AAQukaA2s0Vm9j9m9paZ3Vrk56PM7LG+n79sZk1JlCMrEer/12a2ycxeN7PnzKwxi3ImYbC6H3PclWbmZlZRQ7ai1N/M/rzv8/+VmT2SdhmTFOH/foOZrTOzX/T9/78ki3ImwcxWmtlOMyu6sYoV3Nv33rxuZjMjP7m7x3qTNELSryWdJWmkpNckTRlwzFJJK/q+/4qkx+IuR1a3iPX/Y0l1fd/fUCn1j1L3vuPGSlov6SVJzVmXO+XP/nOSfiHptL77n8663CnXv03SDX3fT5HUlXW5Y6z/HEkzJb1R4ueXSPoPSSZptqSXoz53Ei3q8yW95e7b3P2ApH+VdNmAYy6T9C9936+WNM/MLIGyZGHQ+rv7Onff23f3JUkTUi5jUqJ89pJ0p6S/lbQ/zcKlIEr9vyXp++7+oXRkH9JKEaX+LukP+r4/VdK7KZYvUV7Y8PuDExxymaSHvOAlSZ8yszOiPHcSQf0ZSe8cc7+777Gix7j7IUm7JdUnUJYsRKn/sa5V4a9sJRi07n2ne5919x+lWbCURPnsPy/p82b2MzN7ycwWpVa65EWp/x2Svmpm3ZKekXRTOkULwlCz4Qh2eMmQmX1VUrOki7IuSxrMrEbS3ZIWZ1yULJ2kQvfHXBXOpNab2TR3/12WhUrRVZIedPe/N7MLJD1sZlPdvTfrgoUsiRb1DkmfPeb+hL7Hih5jZiepcArUk0BZshCl/jKz+ZJaJX3Z3X+fUtmSNljdx0qaKukFM+tSoZ9uTQVdUIzy2XdLWuPuB939N5K2qBDclSBK/a+V9LgkufuLkkarsGBRNYiUDcUkEdSvSPqcmU00s5EqXCxcM+CYNZKu6fv+zyQ973297RVg0Pqb2bmS7lchpCupj/KEdXf33e4+zt2b3L1Jhf75L7t7RzbFjV2U//tPq9CalpmNU6ErZFuKZUxSlPq/LWmeJJnZZBWCeleqpczOGklX943+mC1pt7u/F+lfJnT18xIVWgq/ltTa99jfqPBLKRU+nCckvSVpg6Szsr5im3L9n5X0W0kb+25rsi5zWnUfcOwLqqBRHxE/e1Oh+2eTpF9K+krWZU65/lMk/UyFESEbJS3Iuswx1v1RSe9JOqjCmdO1kq6XdP0xn/33+96bXw7l/z5TyAEgcMxMBIDAEdQAEDiCGgACR1ADQOAIagAIHEENAIEjqAEgcP8PqzUTWzG9JkAAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] @@ -585,7 +585,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 16, @@ -663,7 +663,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 20, "metadata": {}, "outputs": [], "source": [ @@ -691,16 +691,16 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 20, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" }, @@ -735,7 +735,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 22, "metadata": {}, "outputs": [ { @@ -754,7 +754,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 23, "metadata": {}, "outputs": [], "source": [ @@ -764,7 +764,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -786,7 +786,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 25, "metadata": {}, "outputs": [], "source": [ @@ -797,16 +797,16 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 25, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" }, @@ -841,7 +841,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 27, "metadata": {}, "outputs": [ { @@ -882,16 +882,16 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 27, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" }, diff --git a/6_pytorch/1_NN/2-logistic-regression.ipynb b/6_pytorch/1_NN/2-logistic-regression.ipynb index 192c383..9110970 100644 --- a/6_pytorch/1_NN/2-logistic-regression.ipynb +++ b/6_pytorch/1_NN/2-logistic-regression.ipynb @@ -47,7 +47,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [ { @@ -145,16 +145,16 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 75, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -179,16 +179,16 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 76, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, @@ -238,7 +238,7 @@ }, { "cell_type": "code", - "execution_count": 95, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -259,7 +259,7 @@ }, { "cell_type": "code", - "execution_count": 96, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -280,22 +280,22 @@ }, { "cell_type": "code", - "execution_count": 97, + "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 97, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD4CAYAAAD8Zh1EAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAxTklEQVR4nO3deXgUVfbw8e9NSIgssio4QBKcwVdwDAiICzjigiAquOAoi4IoCCMjjM4ITkYniPwIiMrmCqIo4IaMGyrjhhoWIQgiAiooSxjEGHZIIKTP+0d3MIR00p3U1t3n8zz9pJdK1emuqlO37r11y4gISimlIl+c2wEopZSyhiZ0pZSKEprQlVIqSmhCV0qpKKEJXSmlokQ1txbcsGFDSU1NdWvxSikVkVauXPmriJxS1meuJfTU1FSys7PdWrxSSkUkY8yWYJ9plYtSSkUJTehKKRUlNKErpVSU0ISulFJRQhO6UkpFiQoTujFmpjHmF2PM2iCfG2PMFGPMRmPMGmNMW+vDjGJz5kBqKsTF+f/OmeN2REqpCBVKCf0FoFs5n18JtAg8BgNPVT2sGDFnDgweDFu2gIj/7+DBmtSVUpVSYUIXkc+BXeVM0hN4UfyWAXWNMadZFWBUS0+HQ4eOf+/QIf/7SikVJivq0JsA20q8zgm8dwJjzGBjTLYxJjs3N9eCRUe4rVvDe7+StFYncum6U+FwtFFURJ4VkfYi0v6UU8q8cjW2JCeH934laK1O5NJ1p8JlRULfDjQr8bpp4D1VkbFjoUaN49+rUcP/vkW0VsdaTpaYvbbu9GwhAohIhQ8gFVgb5LOrgPcBA5wPLA9lnu3atRMlIrNni6SkiBjj/zt7tqWzN0bEX747/mGMpYuJWiVXT4MGIomJx/+ONWpYvsqOCXfd2bkpzZ7t/65OfXcVHJAtwXJ1sA+OTQAvAzuAQvz147cDQ4Ahgc8N8ASwCfgGaF/RPEUTumNSUspOCikpbkfmfWUlMSd/y3DWnd0JV7cj76hSQrfrEZMJ3ebSeLBFasmqcoIlMafOdsJZd3YnXD3T847yErpeKeoUl1q4+vaFZ5+FlBQwxv/32Wf976vyhdrZyMI27OOEs+7s7jDlQPu9soDxJ3zntW/fXmJqPPTUVH8SLy0lBTZvdjoaFYJgq6ykGjW8cYC0e/MqLo+UbKT1ynePNcaYlSLSvqzPtITuFIf6nCvrlNUJKSEBGjTw3tmO3R2m9EwvMrh2x6KYk5xcdhFKz1k9qzhZpaf7j7vJyf4E6cUk5kSsfft687ur32iVi1P0nFUpZQGtcvECPWdVFtELfFQwWuXiJD1nVVVU+kSvuLMU6KaltISuVETx2nAAoGcMXqIldKUiiNc6S+kZg7doCV2pCOK1C3y8eMYQyzShKxVBHBigMyxeO2OIdZrQlYogVnaWsqLuu3798N5X9tI6dKUijBWdpbTuOzppCV2pGFJcKu/Xz5q6711B7jYc7H1lL03oKuJoN7nKKTngZzDh1n17rZE21mlCVxFF77NZeWX1SCkt3ETstUbaikR7YUATurKMEzuLdpOrvIpK35VJxJE0okUsFAZ0cC5lCafGHouL8++MpRkDPp91y4lG5Y3vnpLi3ZEkrRIttyTQwbmU7ZwqOWudbeUFqx4ZOtT//JZboq8aouRZY7CDWTT1mdeEHuOsqiZx6gKTSKuz9ZKyqkf694dZs6KzGqJ0FUswUVUYCHazUbsfMXmTaI+x8gbSTt4V3oV7bUctJ9eb00K5ybfVN0x3YtuknJtEa0KPYVbuzFYeHNwWSwcMY8reBoxxO7KqC/bdir+f1evWqX1AE7oqk9U7czQkwmg6MFVk9myR+PjYK6Hb9d2cWl55CV3r0GOY1Q2Mffv6ewv4fP6/kdhjwu1ukU71ky6uXy4qOvGzaGmTcLq9xQsDlWlCj2HawHgiN3dKu/tJlzxY9O9f9kVG8fHe7UceLqf7yHuiB1aworvdD61y8YZoqCaxkpuNhHYuu6yqpGitO3eLF+rQtYQe46KhmsRKbp612Hl2EMpl/xBlXfgc5oWrZjWhK1WCmzulnafsoRwUYr26zQpuF5A0oStVils7pZ1nB8EOCvHx3h+DRYVOE7pSHmHn2UGwg8WsWVrdFk30jkVKeYgVdyMKNl/w16Vv3eovsUf7YFyxSBO6UjHCroOF8g6tclFKqSihCV0ppaKEJnSlLBTttzhT3qZ16EpZpPRdm4ov3Qetu1bO0BK6UhZxe2AvpTShK2URL4y2p2JbSAndGNPNGPOdMWajMWZUGZ8nG2M+NcasMsasMcZ0tz5UpbzNE6PtqZhWYUI3xsQDTwBXAq2A3saYVqUm+xfwmoicA9wMPGl1oMom2opnGbcG9tJVqIqFUkLvAGwUkR9F5AjwCtCz1DQCnBx4Xgf4n3UhxhCn90y7B+COQSed9NvzBg3sHx9FV6EqKZSE3gTYVuJ1TuC9kjKAfsaYHOA94K9lzcgYM9gYk22Myc7Nza1EuFHMjT1TW/EsU7z68vJ+ey8/3/7l6ipUJRn/eOnlTGBML6CbiNwReH0LcJ6IDCsxzT2BeT1qjLkAeA74o4j4gs23ffv2kp2dbcV3iA6pqf4kXlpKin/kJDvExfkPHqUZ4x+xSYXMjdUHugpjkTFmpYi0L+uzUEro24FmJV43DbxX0u3AawAishRIAhqGH2oMc6OLhLbiWcatHi66Cu0Rqe0SoST0FUALY0xzY0wi/kbPt0tNsxW4DMAY0xJ/Qtc6lXC4sWfqTUUt41ZijYRVGGnJMaLbJYLdm67kA+gOfA9sAtID7z0E9Ag8bwUsBr4GVgNXVDRPvadoKVbfkDDUm4XqTUUt4dT9JIMt26ur0M3fpbLcvK9sKCjnnqJ6k2gvsWrPjKC9yM1kZPWyvZxY3eL15FgWY7x9A21N6F5ndSaIkL3I7VJthBzzPCXcTdXrybEsXt99NKF7mR2ZJUL2Ijd3HK/vtF5UmU01En9nrx/sNaF7mR1bfITsRW4edyLkmOcpldmsvJ4cg7HqpHl3/m4Z+/lYmb9uvmWxlZfQdXAut9nR3y0Suj7gbpc77e4XvmCb5JYtwXuw2Hnjazv17eu/fqCyN9D++cDPjPxwJMmPJ5P+STqLNi+yIcoyBMv0dj+0hB5gV2k6AlrotA49sgTbVPU3/M3GvI1y5zt3SvUx1SVudJzc9PpNsmrHKkuXgVa5eFiMZxav9nKJgOOh48raVCOgZs8Rq3eslt7zekvc6DhJHJMog94eJD/k/WDLsjShe51mFk8pK3EV17nH+ioouTkGS+ix1A7xxZYvpPuc7kIGUuv/asnfF/5dtu/bbusyNaFHqhgvvbuloqoFXQV+EdL2bjmfzycLvl8gnWZ2EjKQhhMaykOLHpJdh3ZV+L9WlM80oUeqWN1jXFZe6VNXwW9irbxRWFQoc9fMlbSn0oQMJPnxZJmybIocOHwgpP+36vcqL6FXONqiXXS0xRDoUHquCDZyYkm6CvzmzPEP1bt1q7+H0Nix3u/BEq6CowXMWj2LCUsm8OPuH2nZsCUjO46kz9l9SIhPCHk+Vo3IWdXRFpVbrOpbF2mjI7msrF6fpWn3Rr+qdu/zsn2H9zFh8QSaT27OkAVDaFijIf+56T+s/cta+rfpH1YyB2dG5NSE7mVW9CeP6KHj3FGy7zT4S+MlebBLv6Vi/fj/y8FfSP84neTHkxn50UjOPvVsPr71Y5bdvoxrz7yWOFO5tOnItQ/B6mLsfmgdeoiq2oqi9fBVFksdjWKtXrykzbs3y7AFwyTp4SQxGUZ6vdZLVmxfYdn8nahD14Qe7fQad8tFYoIPNeZIPf5XZZ2s3blWbpl/i8SPjpeEhxJk4JsDZUPuBs/FWUwTeiyL0D3Uq0kzEkuw4cQcicf/yq6TZduWSc+XewoZSI2xNWTE+yNk656tzgRdBZrQY1kEZiAvhxyJx8dwYi6vD76XDqwlhfP9fD6fLNy4UDq/0FnIQOpl1pMHP3lQcg/mVjkOp64P1IQe67xa3A3Cy0kzEkuw4cRc0eX9XjmwlhTK9ztadFReW/uatH2mrZCB/O7R38mjSx6V/Yf3WxJDeYUQqwso5SV07YeuPMfL3e+t6kvspHBjLu5bHqwvvte+a3nf77uNh5m9ZjYTlkzg+7zvaVG/BSM7jqRfWj+qV6vuSAxg7Taj/dBVRPHy0LYRMjLxccKNubhveenumsWs7DdthbK+30k1hI4DFvD7Kb/njnfuoFZiLV7r9Rrr71rP7W1vtzSZQ/l9zJ3of15ME7ryHC8nzUgc37uyMXv5wFrS8d9PqNNoD3HX3MlcczUtGrRgYb+FZA/K5sazbiQ+Lt6WGMr7rRz9HYPVxdj90Dp0VZ4Iq/avNC9/Ty83Tpe2be82GfH+CKkxtoaQgfR8uacs3bbUseV7pQ5dE7qqmJezTgSLhITp9VW/IXeD3PbmbZLwUILEj46XW+bfImt3rnUlFu3lorwvErJOhPJybx6vy96eLTe8eoOYDCNJDyfJsAXDZPPuzSLi/YNQVWlCV5WnWcc2kdgF0k0+n08+/vFjufzFy4UMpM64OpL+cbrsPLDz2DRWlj+8emDQhB4r7NgCIyTreHXnK48eK0NT5CuS+evmS4fpHYQMpPHExjI+a7zsLdh7wrRW/aZePjHVhB4L7NoCIyDreHnnK0+kxu2UI0ePyAurXpCW01oKGcjpk0+Xp1c8LfmF+UH/x6ryh5c3e03oscCuLTACso6Xd76KROKZhd0OHjkok5dNlmaPNRMykLSn0mTumrlSWFRY4f9atS14+cRUE3ossHML9HjW8fLOp0K369AuGfPZGGk4oaGQgXSa2Une/e5d8fl8Ic/DqvKHlwsJ5SX0ajZ0bVduSE4u+/piK65e6NvX01fO2PnVlf127N/BY0sf4+mVT3PgyAG6t+jO/Z3up1Nyp7DnVbyZVvW2eGPH+u8Dc+jQb+955eK2cgXL9HY/tIRusQioGglLGGcF0fbVY8UPeT/I4LcHS+KYRIkbHSe95/WWr3/+2u2wjvHqiSla5RIjvLoFhqsSGTpavnosWLVjldz0+k0SNzpOqo+pLne+c6dszNvodlgRo7yErqMtKu+JxCENVblEhC+2fsG4rHF8sPEDaifWZmj7oYw4fwSn1T7N7fAiSnmjLWoduvIeJ4enU7byiY8F3y8gc3EmS7Yt4ZQap/DwJQ9zV4e7qJtU1+3woo4mdOU92soZ8Y76jvLq2lfJXJzJ2l/WklwnmalXTmXgOQOpkVCj4hmoStHhc5X3lDV+rjHQvbs78dhgzhx/zVJcnP/vnDluR2SN/MJ8nlrxFGdMPYN+/+mHT3zMunYWG/+6kWEdhsVsMndsfQerXLf7oY2iZdCWvd8MHXpiB/Mo6boSjb1y9uTvkXFfjJNGjzQSMpDzpp8nb65/U4p8RW6H5jq9BV0smjOn7I6vXr97gl2iuGE0mr7azgM7mbRsEk9mP8m+w/vo+vuujOo0iotTLsYEu+VRjLF6fest6CJBevrxyRz8r9PT3YnHLqGee1rYMOq16o1oaPP9afdP3LXgLlInpzJ+8Xi6/r4rKwev5IN+H9A5tbMm8xIcXd/Biu4lH0A34DtgIzAqyDR/BtYB3wJzK5qnVrmUEgvXr4dz7mnRtdderN7w8mXlFflm5zfS942+Ej86XhIeSpA73rpDvv/1e7fD8jSr1zdVubAIiAc2AacDicDXQKtS07QAVgH1Aq9PrWi+mtBLieS9PFThfEeLMrEXf1YvHmQqsnjrYrl67tVCBlJzbE2554N7JGdvjtthRQRP3YIOuABYWOL1/cD9paaZANxR0bxKPjShlxKJe3m4wj0LsaCR2KsnPpHQ/u3z+eT9H96Xi5+/WMhAGoxvIKMXjZZfD/7qdmgRx6lb0FXYKGqM6QV0E5E7Aq9vAc4TkWElpnkT+B7oGCjRZ4jIB2XMazAwGCA5ObndlrJaCmLZnDlVH1XIy1xoDYymBkinFPmKmLduHpmLM1n982qantyUey+4l0FtB1Ezsabb4cU8JxpFq+GvdukM9AamG2Pqlp5IRJ4VkfYi0v6UU06xaNFRpG9ff5bx+fx/oymZQ9n9y20ews6FRUasw0cPM33ldM584kxufuNm8gvzmdljJpvu3sSI80doMo8AoST07UCzEq+bBt4rKQd4W0QKReQn/KX1FtaEqKJG377+bpgpKf4LhVJSbO+W6cIiI87+w/uZuGQizSc3Z/C7g6mbVJd5N87j2798y23n3EZifKKj8XitV1IkCaXKpRr+BH0Z/kS+AugjIt+WmKYb0FtE+htjGuJvIG0jInnB5qv90JVy16+HfmXKl1OYtnwauwt2c1nzyxjVaRSXNb/MtW6HejlGxapU5SIiR4FhwEJgPfCaiHxrjHnIGNMjMNlCIM8Ysw74FPhHeclcRSgtOkWFrXu3Mvz94SQ/nsyYz8fQObUzX97xJR/d+hGXn365Y8m8rM0pVi7HsIteKapCo0WniLc+dz0Tlkxg9prZAPRL68d9F95Hy1NaOh5LsM2pdDIvZoy/aUmVX0LXhK5Co91FItaK7SsYlzWONze8SVK1JAa1HcS9F95Lch33Rq8MtjnFx0NR0Ynv62b2Gx0PXVVdNFyvHkNEhI9/+pjMrEw+/ulj6ibVJf2idO4+725Oqel+D7Ngm01R0Yklde2VFDody0WFJthY5DpGuaf4xMcb696gw4wOdHmpC+ty1/FIl0fYOmIrYy4d44lkDsE3m+JeSNorqXI0oavQaIduTztSdITnVz1Pqyda0ev1Xuwp2MOzVz/LT8N/4u8X/p3a1Wu7HeJxytucov1yDDtplYsKTfFeFc1Xskagg0cOMv2r6Ty69FFy9uXQpnEbXu31Kje0vIH4uHi3wwtKNyd7aKOoUhFoV/4upn45lSnLp7Arfxd/SvkT93e6n66/76pD10Y5HQ9dqQgTrMv/9n3buXfhvSQ/nkzGZxl0bNaRxQMX89mAz+j2h26azGOcVrmoyBWlg5mV7qO9ZQvcMcjHjK+eY3Hdu/CJj5v/eDMjO47k7EZnuxus8hQtoStnWH2VaXHW27LFPyLuli3+13ZfverA1bJlXS1ZkB/HoueuYFDbQfzw1x+Yff1sTebqBFqHruxnx1Wmblzo5NDVsnFxgsiJVSfGCD6fVqnEOq1DV+6yY4AONy50snmgEZ/4eGvDWyTU+7nMz5OTNZmr8mlCV/azI/m6caGTTQeRwqJCXvr6JdKeSuPaV6/l5O7jSUwqPG4a7fKvQqEJXdnPjuTrxoVO9euX/X4lv8ehwkNMWz6NFlNbcOubtxJn4ph93Wx2zJrIzBkJerWkCpsmdGW/YMm3e/fKNzA6feeKOXNg374T309MDPsgsqdgD2M/H0vqpFT++v5faXJyE97p/Q5fD/mavml9qRZXTa+WVJUT7Gajdj+i7ibRkXDXXzeV/n2GDo2sm2KnpJR9t+kGDUKexY79O+S+/94ntf+vtpCBXDn7Svls82fi8/nsi1tFHapyk2i7RFUvFx0rPHzBeqk0aAC//up4OBWKi/On8NJCGKj7x90/8sjiR3h+9fMU+gq5sdWNjOo0ijaN29gTq4pq2svFbnqblfAFa0jMy/PmnZAq0Q6wZuca+rzRhxZTWzBz9Uz6t+7Pd8O+45Ver2gyV7bQhG4FHSs8fOU1JHrxQBhGI2zW1iyunns1rZ9uzTvfv8O9F9zL5uGbeeaaZ/hD/T84FLB36Z0MbRSsLsbuR1TVoQerX01JcTsy75o9u+zfDPz17F5UTjuJz+eTBd8vkE4zOwkZSMMJDWXMZ2Nk16FdroVbWXY2B82eHVlNJ15EOXXomtCtoFtp5TRoEPEHwsKiQpm7Zq6kPZUmZCDNHmsmk5dNloNHDrodWqXYvSlr2afqykvoWuViBTu60MXCeenkySdWYyQkwIEDnv/eBUcLeCb7Gc6cdiZ95vehsKiQF3q+wKa7N3H3eXdTI6FGxTPxILubg7R20mbBMr3dj6gqoVstlkr8Jc/vGzQQSUz09PfeW7BXxmeNl8YTGwsZSIfpHWT+uvlS5Cuq2owd7PZa3qKMsbcWTEvoVYdWuUSYWN3qPfy9dx7YKekfp0vdzLpCBtLlxS7yyY+fWNOH3MEDeEWLsnsVxFJZxS6a0CON3cUkL/JoI+nm3Ztl2IJhctLDJ4nJMNLrtV6yYvsKaxfi4IGsokU5kXAj7Ro8r8WrCT3SeLikaouysojL33vtzrVyy/xbJH50vCQ8lCAD3xwoG3I32LMwBw/goSzKawmsMqz6Dl48o9CEHmm8uBXZKdgBzIXvvXTbUunxcg8hA6kxtoaMeH+EbNu7zd6FeqiEXhleOwBYuft4sWylCT0SlDXWiZf2EjsFKzaCI9/b5/PJwo0LpfMLnYUMpF5mPfn3p/+W3IO5ti9bRDxVh+72/KxgZRL2Yu2nJnSnVLao4sW9wkkuFYOOFh2V1799Xdo9007IQH736O/k0SWPyv7D+21dbpk80sslXF4swVqZhL34/TShOyHUpFzW3uTFrcZJDh/QDh89LDNWzpAzpp4hZCAtprSQ6SunS0FhgS3Li2ZWJE+rj2XBdqf4+PDn7cWyliZ0J4SSlINtHcGqG6K5V0tpDpRQ9x/eL48ueVSaPNpEyEDOefoceW3ta3K06Kjly4oVVS2L2JEwy2tjr8y8vdZGoAndCaEUVcorOsRyCd1mvx78VR785EGpl1lPyEAueeESWbhxYfl9yJ3ai72WLcIUUkIu5zvadXI6e3b07laa0J0QypZZXuOf187rosDWPVtlxPsjpMbYGkIG0vPlnrJ029KK/9Gp82wvns9XQrnHpAq+o52Njl5s0LSCJnQnhLJzlpf0I7yk5iUbcjfIbW/eJgkPJUj86Hi5Zf4tsnbn2tBn4FSbRiy0nVTwHe38CaL159WE7pSKknKUlMi8Knt7ttzw6g1iMowkPZwkwxYMk827N4c/I6eKdm4UIZ0uOFTwHe3cJaJ1d9OE7iVaEreUz+eTj3/8WLq82EXIQOqMqyP//OifsvPAzsrP1IkBTcq7mMquIqQbGS6E39Lu8dejbXfThK6iTpGvSOavmy8dpncQMpBGjzSS8VnjZW/B3qrP3Olio1MJ1o06iNmzTxxBMzExOjKrS8pL6NVcGLFXqUorLCpk7jdzGb94POt/Xc/p9U7n6auepn+b/iRVS7JmIcXj2Ken+wfqTk7232rOiht+lzXgeLGUFOuWUxa3BiMXKf+1soyREH5cY0w3YDIQD8wQkcwg090AzAPOFZHs8ubZvn17yc4udxKljjlUeIgZX81g4pKJbNu3jbRGaYzqOIobz7qRanERVC6Jiys7oRkDPp+9y05NhS1bTnw/JQU2b46eZUY5Y8xKEWlf1mcV3rHIGBMPPAFcCbQCehtjWpUxXW1gOPBl1cJV6je783fz8OcPkzIpheEfDCelbgoL+ixg9Z2r6X127+DJ3Kt3fAp2c+zybpptlTBudG0ZvUWRo0K5BV0HYKOI/CgiR4BXgJ5lTDcGGA8UWBifilH/2/8//vHff5A8KZkHPn2A85qcxxe3fcEXt31B9xbdMcYE/+c5c2DwYH/JUMT/d/BgbyR1N5JqMTtulVgRNw9g4fBqASBcwSrXix9AL/zVLMWvbwGmlZqmLfBG4PkioH2QeQ0GsoHs5ORkB5oPVKT5Ie8HGfT2IEkckyhxo+Ok97ze8vXPX4c3E693QI7GrhfBRELfwXBjdHn9UZVeLhUldPyl/EVAqlSQ0Es+tJeLKmn1jtVy0+s3SdzoOKk+proMeWeIbMzbWLmZReslgpHK6wewcAoAHjhAlZfQK2wUNcZcAGSISNfA6/sDJftxgdd1gE3AgcC/NAZ2AT2knIZRbRRVIsIXW78gMyuT9ze+T+3E2gxtP5QR54/gtNqnVX7G2hCnwhFOQ7UHtq3yGkVD6R6wAmhhjGkObAduBvoUfygie4GGJRa2CPh7eclcxTaf+Hjvh/cYlzWOJduWcEqNUxh76Vj+cu5fqJtUt+oLGDvWX2desnugU/XUKvIkJ5edpMuq5/d4I2+FjaIichQYBiwE1gOvici3xpiHjDE97A5QRY+jvqPMWTOH1k+35pqXr2H7vu1Mu3Iam0ds5p8X/dOaZA7uNP6pyBVOQ7XHG3lD6oduB61yiR35hfk8v/p5HlnyCJv3bKbVKa0Y1XEUN//xZhLiE9wOTyl/r5ZQLiQr7kFV+uzPwQJDVatclKqUvQV7eXLFk0z6chK/HPyF85qcx6Suk7jm/11DnAmlx6xSDunbN7SEbOdVxBbQvUpZbueBndz/0f0kT0rmn5/8kzaN2/Bp/09ZevtSep7Z075kHi19iZW39e3rbwD1+fx/PZLMQUvoykI/7f6JiUsmMnP1TA4fPUyvVr0Y1WkUbU9ra//CS58KF19MBJ7a4ZSyk9ahqypb+8taMrMyeWXtK8SZOPq37s8/Ov6DMxqc4VwQHuhOppQTtA5d2WLJtiWMyxrHu9+/S82Emow4fwR/O/9vNDm5ifPBeLw7mVJO0ISuwiIifLDxAzIXZ/L5ls9pcFIDRncezbAOw6h/Un33AgunL7FSUUoTugpJka+Ieevmkbk4k9U/r6bpyU2Z1HUSd7S9g5qJNd0OTy8mUgpN6KoCh48eZtbXs5iweAKbdm/ijAZnMLPHTPqm9SUxPrHc/y0sLCQnJ4eCAgcG4GzbFj77DHbvhqIiiI+HevWgZk1Yv97+5XtAUlISTZs2JSFB+/bHKk3oqkz7D+/nmZXP8NjSx9hxYAftTmvHvBvnce2Z1xIfFx/SPHJycqhduzapqanlD3erqkxEyMvLIycnh+bNm7sdjnKJJnR1nNyDuUxdPpVpy6exu2A3lza/lBeve5HLml8WdlIuKCjQZO4QYwwNGjQgNzfX7VCUizShKwC27t3Ko0seZfpX08k/ms91Z17HqE6j6NCkQ5Xmq8ncOfpbK03oMW597nrGLx7PnG/8V1X2S+vHfRfeR8tTWrocmVIqXHrpf4xavn051716Ha2ebMXr617nrnPvYtPdm3i+5/Mxm8w3b97M3Llzj71evXo177333rHXb7/9NpmZZd4fPWwDBgxg3rx5ANxxxx2sW7fOkvmq2KYJPYaICB9u+pDLXryM82acx6LNi3jgTw+wZcQWJnWbRHKd2O6zXVFC79GjB6NGjbJ8uTNmzKBVqxPuu24fHfMmammVSwzwiY//rP8P47LGsXLHSk6rdRqPdHmEO9vdSe3qtR2JYcQHI1j982pL59mmcRsmdZtU7jQvvvgiEydOxBhDWloaL730EgMGDODqq6+mV69eANSqVYsDBw4watQo1q9fT5s2bejduzdPPPEE+fn5ZGVlcf/995Ofn092djbTpk1jwIABnHzyyWRnZ/Pzzz8zYcIEevXqhc/nY9iwYXzyySc0a9aMhIQEBg4ceGxZZencuTMTJ06kffv21KpVi+HDh/Puu+9y0kkn8dZbb9GoUSNyc3MZMmQIWwNXvk6aNImOHTuG/6PpmDdRTRN6FDtSdIQ5a+YwfvF4vsv7jj/U/wPPXv0st7a+lerVqrsdnu2+/fZbHn74YZYsWULDhg3ZtWtXudNnZmYyceJE3n33XQAaNWp0LIEDvPDCC8dNv2PHDrKystiwYQM9evSgV69ezJ8/n82bN7Nu3Tp++eUXWrZsycCBA0OO+eDBg5x//vmMHTuW++67j+nTp/Ovf/2L4cOH87e//Y1OnTqxdetWunbtyvrK9K9PTz/+4ivwv05P14QeBTShR6GDRw4y/avpPLr0UXL25dCmcRteueEVerXqFXIfcqtVVJK2wyeffMKNN95Iw4b+OyTWr2/t0ATXXnstcXFxtGrVip07dwKQlZXFjTfeSFxcHI0bN+aSSy4Ja56JiYlcffXVALRr144PP/wQgI8++ui4evZ9+/Zx4MABatWqFV7QOuZNVNOEHkV25e9i2vJpTPlyCnn5eVyccjHTr5lO19931S5tJVSrVg1f4Oa/Pp+PI0eOVGo+1av/dpZj1ailCQkJx9ZVfHw8R48eBfxxLlu2jKSkpKotQMe8iWraKBoFtu/bzr0L7yX58WT+vejfXNjsQpYMXMKiAYvo9oduMZvML730Ul5//XXy8vIAjlW5pKamsnLlSsDfc6WwsBCA2rVrs3///mP/X/p1KDp27Mgbb7yBz+dj586dLFq0yIJvAldccQVTp0499nr16tWVm1E4989UEUcTegT7Pu97Br09iOaTmzP5y8lc1/I6vhn6DW/3fpsLml3gdniuO+uss0hPT+fiiy+mdevW3HPPPQAMGjSIzz77jNatW7N06VJq1vQPLpaWlkZ8fDytW7fm8ccf55JLLmHdunW0adOGV199NaRl3nDDDTRt2pRWrVrRr18/2rZtS506dar8XaZMmUJ2djZpaWm0atWKp59+unIz0htoRzW9wUUE+mrHV2RmZTJv3TyqV6vO7efczr0X3Evzet4aw2P9+vW0bBl7fdqL67bz8vLo0KEDixcvpnHjxo4sO1Z/81iiN7iIAiLCZ1s+Y1zWOP676b+cXP1kRnUaxfDzhtOoViO3w1MlXH311ezZs4cjR47wwAMPOJbMldKE7nE+8fHOd++QuTiTZTnLOLXmqYy7bBxD2w+lTlLVT+WV9ayqN1cqXJrQPaqwqJBX1r7C+MXj+Tb3W5rXbc6T3Z9kQJsBnJRwktvhKaU8SBO6x+QX5jNz1UweWfIIW/Zu4exTz2bO9XP481l/plqcri6lVHCaITxiT8EenlzxJJOWTSL3UC4XNruQad2ncVWLq2K226FSKjya0F3284GfeXzp4zyV/RT7j+znyj9cyf2d7ueilIvcDk0pFWG0H7pLNu3axJB3h5A6KZWJSyfSvUV3Vt25ivf6vhe7yVxHAVSqSjShO2zNzjX0eaMPZ0w7g+dXP0//1v35bth3vNLrFdo0buN2eO4pHgVwyxYQ+W0UQIeS+qxZs2jRogUtWrRg1qxZjixTKatplYtDsrZmkZmVyYIfFlArsRb3XnAvI84fwe9q/87t0LzBxVEAd+3axejRo8nOzsYYQ7t27ejRowf16tWzdblKWU1L6DYSEd774T0uev4iLnr+Ir7c/iUPdX6IrSO2MqHLBE3mJdkwCuCKFStIS0ujoKCAgwcPctZZZ7F27doTplu4cCFdunShfv361KtXjy5duvDBBx9UerlKuUVL6DY46jvK69++TubiTNbsXENynWSmdJvCwHMGUjOxptvheZMNowCee+659OjRg3/961/k5+fTr18//vjHP54w3fbt22nWrNmx102bNmX79u2VXq5SbtGEbqGCowW8sPoFHlnyCD/u/pGWDVvyQs8X6HN2HxLiE9wOz9vGjj3+TjpgySiADz74IOeeey5JSUlMmTKlikEq5W1a5WKBfYf3MWHxBJpPbs7QBUNpWKMh/7npP6z9y1r6t+mvyTwUNo0CmJeXx4EDB9i/fz8FBQVlTtOkSRO2bdt27HVOTg5NmjSp0nKVcoOOtlgFvxz8hcnLJvPEiifYe3gvl59+Ofd3up9LUi/Ri4Hwxsh/PXr04Oabb+ann35ix44dx24nV9KuXbto164dX331FQBt27Zl5cqVlt/hyAle+M2VvXS0RYtt2bOFiUsm8tyq5yg4WsD1La9nZMeRnNvkXLdDUyW8+OKLJCQk0KdPH4qKirjwwgv55JNPuPTSS4+brn79+jzwwAOce65//T344IMRmcyV0hJ6GNblriMzK5O538wlzsTRL60f93W8jzMbnul2aJ6kpUXn6W8e/bSEXkXLcpaRmZXJW9+9RY2EGvy1w1+554J7aFanWcX/rJRSDgkpoRtjugGTgXhghohklvr8HuAO4CiQCwwUkTL6oEUOEeHDHz9kXNY4Fm1eRL2kevz74n8zrMMwGtZo6HZ4qhK++eYbbrnlluPeq169Ol9++aVLESllrQoTujEmHngC6ALkACuMMW+LyLoSk60C2ovIIWPMUGACcJMdAdutyFfE/PXzyVycyVc7vqJJ7SY8dsVjDGo3iFqJtdwOT1XB2WefXfmbKysVAUIpoXcANorIjwDGmFeAnsCxhC4in5aYfhnQz8ognXD46GFeWvMSExZP4IddP9CifgtmXDODfmn9qF6tutvhKaVUhUJJ6E2AbSVe5wDnlTP97cD7ZX1gjBkMDAZIrsIVgFY6cOQAz658lseWPsb2/ds5p/E5vNbrNa5veT3xcfFuh6eUUiGztFHUGNMPaA9cXNbnIvIs8Cz4e7lYuexw5R3KY+ryqUxdPpVd+bvonNqZmT1n0uX0LtqHXCkVkUK5UnQ7ULI7R9PAe8cxxlwOpAM9ROSwNeFZL2dfDn/74G8kT0pm9Gej6ZTciaW3L+XT/p9yxe+v0GTuIh0OXamqCaWEvgJoYYxpjj+R3wz0KTmBMeYc4Bmgm4j8YnmUFvju1++YsHgCL615CZ/46HN2H0Z2HMlZp57ldmiK34ZDLx7KpXg4dLB99FwAunXrxrJly+jUqRPvvvuu/QtUygYVJnQROWqMGQYsxN9tcaaIfGuMeQjIFpG3gUeAWsDrgRLuVhHpYWPcIcv+XzaZWZnMXz+f6tWqc2e7O/n7hX8npW6K26GpElwcDh2Af/zjHxw6dIhnnnnG/oUpZZOQ6tBF5D3gvVLvPVji+eUWx1UlIsKnmz9lXNY4PvrxI+pUr8M/L/ond593N6fWPNXt8FQZbBgOnRUrVnD77bezfPlyioqK6NChA6+++mqZQ+hedtllLFq0qPILU8oDoupKUZ/4eGvDW2QuzmT59uU0rtWY8ZePZ0j7IZxc/WS3w1PlsGE49JDHQ1cqWkRFQi8sKmTuN3MZv3g8639dz+n1Tufpq56mf5v+JFVLcjs8FQKbhkPX8dBVTInohH6o8BDPffUcE5dOZOveraQ1SmPu9XO58awbqRYX0V8t5hTXk6en+6tZkpP9ybyq9efF46EXFhZSUFBAzZp6xygVvSIy6+3O380TK55g8peT+fXQr3RK7sRTVz3FlX+4UrsdRrC+fa1vAL3zzjsZM2YMP/30EyNHjixzPHSlokXEJfSZq2Yy/IPhHDhygKtaXMWoTqPolNzJ7bCUB4U6HjrARRddxIYNGzhw4ABNmzblueeeo2vXri5ErVTlRVxCT62bSo//14ORHUeS1ijN7XCUh916663ceuutAMTHx5c7quIXX3zhVFhK2SbiEvqlzS/l0uYnlrCUUirWRVxCV6qydDx0Fe00oStbiYhnGqqjfTx0t24nqbwjlMG5lKqUpKQk8vLyNNE4QETIy8sjKUmvu4hlWkJXtmnatCk5OTnk5ua6HUpMSEpKomnTpm6HoVykCV3ZJiEhgebNm7sdhlIxQ6tclFIqSmhCV0qpKKEJXSmlooRxqweCMSYXKGPA1JA0BH61MByraFzh0bjC59XYNK7wVCWuFBE5pawPXEvoVWGMyRaR9m7HUZrGFR6NK3xejU3jCo9dcWmVi1JKRQlN6EopFSUiNaE/63YAQWhc4dG4wufV2DSu8NgSV0TWoSullDpRpJbQlVJKlaIJXSmlooSnE7oxppsx5jtjzEZjzKgyPr/HGLPOGLPGGPOxMSbFI3ENMcZ8Y4xZbYzJMsa08kJcJaa7wRgjxhhHunOF8HsNMMbkBn6v1caYO7wQV2CaPwe2sW+NMXO9EJcx5vESv9X3xpg9Hokr2RjzqTFmVWCf7O6RuFIC+WGNMWaRMcaREcyMMTONMb8YY9YG+dwYY6YE4l5jjGlb5YWKiCcfQDywCTgdSAS+BlqVmuYSoEbg+VDgVY/EdXKJ5z2AD7wQV2C62sDnwDKgvRfiAgYA0zy4fbUAVgH1Aq9P9UJcpab/KzDTC3Hhb+gbGnjeCtjskbheB/oHnl8KvOTQNvYnoC2wNsjn3YH3AQOcD3xZ1WV6uYTeAdgoIj+KyBHgFaBnyQlE5FMRORR4uQxw4sgbSlz7SrysCTjR8lxhXAFjgPFAgQMxhROX00KJaxDwhIjsBhCRXzwSV0m9gZc9EpcAJwee1wH+55G4WgGfBJ5/WsbnthCRz4Fd5UzSE3hR/JYBdY0xp1VlmV5O6E2AbSVe5wTeC+Z2/Ec7u4UUlzHmLmPMJmACcLcX4gqc0jUTkQUOxBNyXAE3BE475xljmnkkrjOAM4wxi40xy4wx3TwSF+CvSgCa81uycjuuDKCfMSYHeA//2YMX4voauD7w/DqgtjGmgQOxVSTcHFchLyf0kBlj+gHtgUfcjqWYiDwhIr8HRgL/cjseY0wc8Bhwr9uxlOEdIFVE0oAPgVkux1OsGv5ql874S8LTjTF13QyolJuBeSJS5HYgAb2BF0SkKf7qhJcC253b/g5cbIxZBVwMbAe88ptZygs/djDbgZIltaaB945jjLkcSAd6iMhhr8RVwivAtXYGFFBRXLWBPwKLjDGb8dfZve1Aw2iFv5eI5JVYdzOAdjbHFFJc+EtMb4tIoYj8BHyPP8G7HVexm3GmugVCi+t24DUAEVkKJOEfhMrVuETkfyJyvYicgz9XICJ7bI4rFOHmkoo50ThQyQaFasCP+E8pixs7zio1zTn4G0RaeCyuFiWeXwNkeyGuUtMvwplG0VB+r9NKPL8OWOaRuLoBswLPG+I/PW7gdlyB6c4ENhO4ONAjv9f7wIDA85b469BtjS/EuBoCcYHnY4GHnPjNAstLJXij6FUc3yi6vMrLc+qLVfLH6I6/VLQJSA+89xD+0jjAR8BOYHXg8bZH4poMfBuI6dPyEquTcZWa1pGEHuLvNS7we30d+L3O9EhcBn811TrgG+BmL8QVeJ0BZDoRTxi/VytgcWA9rgau8EhcvYAfAtPMAKo7FNfLwA6gEP/Z3u3AEGBIie3riUDc31ixP+ql/0opFSW8XIeulFIqDJrQlVIqSmhCV0qpKKEJXSmlooQmdKWUihKa0JVSKkpoQldKqSjx/wGzAjrwjE8m/wAAAABJRU5ErkJggg==\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -334,7 +334,7 @@ }, { "cell_type": "code", - "execution_count": 98, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -354,14 +354,14 @@ }, { "cell_type": "code", - "execution_count": 100, + "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "tensor(0.6824, grad_fn=)\n" + "tensor(0.7655, grad_fn=)\n" ] } ], @@ -381,12 +381,23 @@ }, { "cell_type": "code", - "execution_count": 112, + "execution_count": 37, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "During Time: 0.306 s\n" + ] + } + ], "source": [ + "start = time.time()\n", + "\n", "# 自动求导并更新参数\n", - "for i in range(100):\n", + "for i in range(1000):\n", " # 算出一次更新之后的loss\n", " y_pred = logistic_regression(x_data)\n", " loss = binary_loss(y_pred, y_data)\n", @@ -399,27 +410,30 @@ " # clear w,b grad\n", " w.grad.data.zero_()\n", " b.grad.data.zero_()\n", - " " + " \n", + "during = time.time() - start\n", + "print()\n", + "print('During Time: {:.3f} s'.format(during))" ] }, { "cell_type": "code", - "execution_count": 113, + "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 113, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -461,7 +475,7 @@ }, { "cell_type": "code", - "execution_count": 114, + "execution_count": 31, "metadata": {}, "outputs": [], "source": [ @@ -479,20 +493,20 @@ }, { "cell_type": "code", - "execution_count": 115, + "execution_count": 38, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "epoch: 200, Loss: 0.42650, Acc: 0.90000\n", - "epoch: 400, Loss: 0.33615, Acc: 0.92000\n", - "epoch: 600, Loss: 0.29681, Acc: 0.91000\n", - "epoch: 800, Loss: 0.27461, Acc: 0.91000\n", - "epoch: 1000, Loss: 0.26027, Acc: 0.90000\n", + "epoch: 200, Loss: 0.24529, Acc: 0.89000\n", + "epoch: 400, Loss: 0.23901, Acc: 0.89000\n", + "epoch: 600, Loss: 0.23409, Acc: 0.89000\n", + "epoch: 800, Loss: 0.23013, Acc: 0.89000\n", + "epoch: 1000, Loss: 0.22689, Acc: 0.89000\n", "\n", - "During Time: 0.348 s\n" + "During Time: 0.352 s\n" ] } ], @@ -539,16 +553,16 @@ }, { "cell_type": "code", - "execution_count": 116, + "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 116, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" }, @@ -601,7 +615,7 @@ }, { "cell_type": "code", - "execution_count": 117, + "execution_count": 35, "metadata": {}, "outputs": [], "source": [ @@ -638,20 +652,20 @@ }, { "cell_type": "code", - "execution_count": 119, + "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "epoch: 200, Loss: 0.39446, Acc: 0.88000\n", - "epoch: 400, Loss: 0.32373, Acc: 0.87000\n", - "epoch: 600, Loss: 0.29020, Acc: 0.87000\n", - "epoch: 800, Loss: 0.27049, Acc: 0.87000\n", - "epoch: 1000, Loss: 0.25745, Acc: 0.88000\n", + "epoch: 200, Loss: 0.22419, Acc: 0.89000\n", + "epoch: 400, Loss: 0.22191, Acc: 0.89000\n", + "epoch: 600, Loss: 0.21997, Acc: 0.89000\n", + "epoch: 800, Loss: 0.21830, Acc: 0.88000\n", + "epoch: 1000, Loss: 0.21685, Acc: 0.88000\n", "\n", - "During Time: 0.232 s\n" + "During Time: 0.215 s\n" ] } ], @@ -663,10 +677,12 @@ " # 前向传播\n", " y_pred = logistic_reg(x_data)\n", " loss = criterion(y_pred, y_data)\n", + " \n", " # 反向传播\n", " optimizer.zero_grad()\n", " loss.backward()\n", " optimizer.step()\n", + " \n", " # 计算正确率 0.5以上的判断为正确\n", " mask = y_pred.ge(0.5).float() \n", " acc = (mask == y_data).sum().item() / y_data.shape[0]\n", diff --git a/6_pytorch/2_CNN/1-basic_conv.ipynb b/6_pytorch/2_CNN/1-basic_conv.ipynb index a99280c..d950f7d 100644 --- a/6_pytorch/2_CNN/1-basic_conv.ipynb +++ b/6_pytorch/2_CNN/1-basic_conv.ipynb @@ -355,7 +355,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.9" + "version": "3.7.9" } }, "nbformat": 4, diff --git a/6_pytorch/2_CNN/2-batch-normalization.ipynb b/6_pytorch/2_CNN/2-batch-normalization.ipynb index f9686f7..b6861b9 100644 --- a/6_pytorch/2_CNN/2-batch-normalization.ipynb +++ b/6_pytorch/2_CNN/2-batch-normalization.ipynb @@ -572,7 +572,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.9" + "version": "3.7.9" } }, "nbformat": 4, diff --git a/README.md b/README.md index 701243e..a155f81 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ 由于**本课程需要大量的编程练习才能取得比较好的学习效果**,因此需要认真去完成[《机器学习-作业和报告》](https://gitee.com/pi-lab/machinelearning_homework),写作业的过程可以查阅网上的资料,但是不能直接照抄,需要自己独立思考并独立写出代码。 -为了让大家更好的自学本课程,课程讲座的视频会陆续上传到[《B站 - 机器学习》](https://www.bilibili.com/video/BV1oZ4y1N7ei/),欢迎大家观看学习。 +为了让大家更好的自学本课程,课程讲座的视频在[《B站 - 机器学习》](https://www.bilibili.com/video/BV1oZ4y1N7ei/),欢迎大家观看学习。 ![Machine Learning Cover](images/machine_learning_1.png)