diff --git a/gan/playground.ipynb b/gan/playground.ipynb index 9bdf4ee6..15da8673 100644 --- a/gan/playground.ipynb +++ b/gan/playground.ipynb @@ -9,7 +9,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 113, "metadata": {}, "outputs": [], "source": [ @@ -18,7 +18,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 114, "metadata": {}, "outputs": [], "source": [ @@ -47,7 +47,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 115, "metadata": {}, "outputs": [], "source": [ @@ -62,7 +62,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 116, "metadata": {}, "outputs": [], "source": [ @@ -89,7 +89,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 117, "metadata": {}, "outputs": [ { @@ -123,7 +123,7 @@ ")" ] }, - "execution_count": 8, + "execution_count": 117, "metadata": {}, "output_type": "execute_result" } @@ -135,12 +135,11 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 118, "metadata": {}, "outputs": [], "source": [ "def get_noise(n_samples, z_dim):\n", - "\n", " return np.random.randn(n_samples,z_dim)" ] }, @@ -153,12 +152,11 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 119, "metadata": {}, "outputs": [], "source": [ "def DisBlock(in_dim:int,out_dim:int):\n", - " \n", " return nn.Sequential(\n", " nn.Linear(in_dim,out_dim),\n", " nn.LeakyReLU(negative_slope=0.2)\n", @@ -167,7 +165,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 120, "metadata": {}, "outputs": [], "source": [ @@ -191,7 +189,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 121, "metadata": {}, "outputs": [ { @@ -216,7 +214,7 @@ ")" ] }, - "execution_count": 13, + "execution_count": 121, "metadata": {}, "output_type": "execute_result" } @@ -235,7 +233,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 122, "metadata": {}, "outputs": [], "source": [ @@ -250,7 +248,7 @@ }, { "cell_type": "code", - "execution_count": 197, + "execution_count": 123, "metadata": {}, "outputs": [], "source": [ @@ -272,7 +270,7 @@ }, { "cell_type": "code", - "execution_count": 198, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -282,12 +280,14 @@ " \n", " fake_disc = disc(fake_images)\n", " \n", - " fake_labels = mx.zeros((len(fake_images),1))\n", + " fake_labels = mx.zeros((fake_images.shape[0],1))\n", " fake_loss = nn.losses.binary_cross_entropy(fake_disc,fake_labels,with_logits=True)\n", " \n", " real_disc = disc(real)\n", - " real_labels = mx.ones((len(real),1))\n", - " real_loss = nn.losses.binary_cross_entropy(real_disc,real_labels,with_logits=True)\n", + " real_labels = mx.ones((real.shape[0],1))\n", + "\n", + " # print('Shapes.....',real_disc.shape,real_labels.shape)\n", + " real_loss = nn.losses.binary_cross_entropy(real_disc,real_labels)\n", "\n", " disc_loss = (fake_loss + real_loss) / 2\n", "\n", @@ -296,7 +296,7 @@ }, { "cell_type": "code", - "execution_count": 204, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -307,7 +307,7 @@ " \n", " fake_disc = disc(fake_images)\n", "\n", - " fake_labels = mx.ones((len(fake_images),1))\n", + " fake_labels = mx.ones((fake_images.shape[0],1))\n", " \n", " gen_loss = nn.losses.binary_cross_entropy(fake_disc,fake_labels,with_logits=True)\n", "\n", @@ -316,7 +316,7 @@ }, { "cell_type": "code", - "execution_count": 205, + "execution_count": 105, "metadata": {}, "outputs": [], "source": [ @@ -327,7 +327,7 @@ }, { "cell_type": "code", - "execution_count": 206, + "execution_count": 106, "metadata": {}, "outputs": [], "source": [ @@ -347,12 +347,12 @@ }, { "cell_type": "code", - "execution_count": 207, + "execution_count": null, "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAUkAAAFICAYAAADd1gwNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACOnElEQVR4nOy955Oc13mnfXXOOU9PDhgMciAJUoREUpJTydm7DuvdcnnT37Nftmr3w1atN7jsWsuWX2stiUtJpCkQJAEBRMbk1NPTOef4foDPQQ8wGABEmO6Z56qaIoieafTzzHnuc587/G5Vt9vtoqCgoKCwK+r9/gAKCgoK/YxiJBUUFBT2QDGSCgoKCnugGEkFBQWFPVCMpIKCgsIeKEZSQUFBYQ8UI6mgoKCwB4qRVFBQUNgDxUgqKCgo7IH2Wb9RpVK9ys8xUHzdJiXlHj5EuYcvjnIPX5xnuYeKJ6mgoKCwB4qRVFBQUNgDxUgqKCgo7IFiJBUUFBT2QDGSCgoKCnugGEkFBQWFPVCMpIKCgsIeKEZSQUFBYQ8UI6mgoKCwB4qRVFBQUNiDZ25LfB2o1Wo8Hg92ux2DwYDZbKbT6ZDJZKjX6xSLRUql0n5/TIUDilqtRq/Xo9FosNlsmM1mGo0G1WqVdrtNqVSi1Wrt+rN6vR6tVovL5SIYDKJSqWg2m7TbbeLxOMlk8jVfzeAj7qder3/sNY1Gg9PpxGQyPfZat9slkUiQyWRoNpvUarWv3cIJfWYk9Xo93/rWtzh37hzDw8McP36ccrnMT3/6UzY3N7l+/To3btx4oQtWUHgSBoOBQCCAxWLh/PnzTE1NkUwmWVtbI5fLcefOHbLZ7GM/p9Fo8Hq92O12PvjgA/71v/7XaLVaEokElUqFv/qrv+IHP/iBsm6fE5vNxsWLFwkGg4+9Zjab+eY3v8nU1NRjrzWbTb7//e/zk5/8hFwux/r6Os1m82t/jr4ykmq1GpfLxfDwMJOTkxw/fpxSqcTy8jKdTofl5eX9/ogDgUqlkl+P/l2326Xb7aJSqVCrH0RbOp3OjgdYpVKh0Wjk94jvEwgPqdPp0Ol0Xs9FvWJUKhVarRa73Y7dbmdoaIixsTG0Wi25XI52u41W++THRa/XYzabCQQCHDt2DK1Wi8PhIJ/P43Q6X9+FvAZ615dard6xzrrd7mNronetPYparX7ifXU4HAwNDREOhx97zWKxMDs7y9GjRx97rdFocPnyZWw2G7Va7YUFPfrKSPY+qOLPRqOR8+fPMzExQSQS4Re/+IWyI++BCFnYbDa5ALVaLVarFb1eT6VSoVKpYDabCQaDqNVqEokEuVxOvofFYmFmZgaHw0EoFCIQCMiFVq1WuXTpEisrKySTSba2tgbeUOr1egwGAxMTE/z+7/8+wWCQ8fFxfD4fKpWKhYWFPX9epVJhNptxOBxYLBY0Gg3tdptYLPbYvT0IWK1W/H4/RqMRv9+PxWKRr1WrVeLxOI1GQ/6d3W7H5/Oh0Wgeey+v18upU6cwm82PvWYymRgbG8NqtT72mk6nIxAIvKQr2pu+MpKA9HTEn41GI0eOHKHRaPDhhx8qMk9PQaVSyUWp1WoxmUzo9Xq8Xi9Go5FcLkc2m8XlcnH06FG0Wi0LCwvE43H5Hk6nk3fffZdQKMTx48c5cuSIvO/5fJ5Op4NKpaLT6RCNRvfrUl8aOp0Ok8lEIBDg4sWLjI2NYbFYMBgMxOPxJ3pBApVKhdFoxGazYTQa0Wg0NJtNMpkMsViMcrn8mq7k9WAymQgGg9hsNmZnZ3G5XPK1fD7P/fv3qVar8u8CgQAzMzO7eowTExP81m/91o736Df6zkg+Su+Rz2w243K5qNVqVCqVgfdgXgYulwu3243RaMTlcmE0GpmYmMDv90svUqfTYbfb0el0lMtlyuUyFouFoaEhGQAvFAryPYUn6XQ6sVqtOzYmrVbLkSNH5P8vLy9Tq9VotVoD6+EPDw9z9OhRZmZm8Hg8GI1G1tfXSaVS3L59m7W1NbLZLPV6fdefV6vVOBwOgsEgdrtdJm22trZYXV09cJ6k3+/n4sWLOJ1OQqHQDk+vUqkQCAR2eJLi3uzmSfp8PnQ63Uv9fN1ul1KpRCKRoFAovLCd6HsjCQ8C4zqdDqfTyfDwMIVCgUgksuMXcRhRqVSMjo5y5swZfD4fp06dwul0MjExQSAQkJtLb+xIxB9F3BHYEVsUsSatVotarX5sYZtMJr71rW/x9ttvo9Pp+PzzzykUCpTL5SdmfvsZtVrN6dOn+ZM/+RO8Xi8TExOoVCquXr3KJ598QiQS4fbt2zQajScG/zUaDeFwmKNHjxIKhVCr1VSrVe7evcvNmzeJRqMDu4HsxszMDP/xP/5HvF7vYzFrsZZ6r3e3dSTQaDS7Zq9fhG63SzKZZHFxkXa7TbvdfqH36zsj2W63ZWKgF3GkcTgctFqtpx6BDjJqtVrGGAOBAMPDw3g8HoLBIA6HA4/HI5MFe4UnxGuP/lfQG/bo/Rmz2YzRaMRkMu2a2BkUdDodWq0Wm82Gx+PBarVSqVRoNpuk02kSiQTZbFZ6yk9CpVLJI7ter5ebUaPReOrPDiJ6vV4muF4XrVaLVquFRqNBq9XuWKuVSoVisShtR7VaJZvN0mw2X8rm1FdGstvtksvliEajeDyeHYZSpVIxNDTEuXPnWFtbY3Nzk1qtto+fdv+wWq18+9vfZmxsjLNnz3L+/HlMJhM2m03GIdVqNa1Wi0aj8cTdXXiLOp3uiTv9bjzqnQ5inFin0zE0NITNZmN8fJyRkREKhQIfffQRqVSKS5cucefOHer1+lM9kd7EjclkGsj70c90u11SqRSJRAKbzcbw8PCOI/pXX33FD3/4QwqFApubmxSLRZaXl1+a9953RrJWq1EqlXaN/1gsFvx+P4VC4bke6oOGXq9nbGyMY8eOMTc3x9zcHGq1+jHPr91uU6/X6XQ6tFqtHbEZrVaLwWCQO/Oj9JYK9dLrdQ6yMVCr1dhsNtxuN06nE7vdTqFQYG1tja2tLba2tkin08/8fjqdDoPBsGeZ0EGiN2zzPOxluHarbhF/LpVKpNNpOp2ODCUJ4vE4169fJ5lMsrCwQLFYfK7P9DT66jfabreJRqOoVCr8fv9jnqQ4blssFulyH6RYz9MwGo3Y7XaCwSBTU1PMzs7KMpVOp0Oz2aTZbLK2tkYymSSZTLK6uiqPIL1GMhgM8s477+xIOAgajQbRaJRqtYrL5cLhcOx6zBlkLBYL3/zmNzl69CgnTpxAo9FQr9fZ3NxkY2PjpT9oB4lEIsEXX3xBMBiUCb5noVarsbCwQD6ff+w10VlXLpcplUpks9kdz38ulyOXy2EymfB6vTucpPv377O0tES1Wn1icu1F6DsjGYlEyGazHDly5LFjjtFoxOl0ymOlWq1+7Bh5kBGlF+FwmJmZGebm5jCbzahUKuk1VioVbt26xe3bt1leXubzzz+nWq1SKpV2JB5Onz6N0+lkdHT0sfhSvV5ndXWVbDbLxMQEer3+uY/k/Y7VauWDDz7gvffek9dWr9fZ2NhgeXl5R7ZfYSfJZJLPPvuMcDiM1+t9ZiNZqVS4ceMG6+vrj73WbDZZXFwkmUyyvb3NysrKjljuo3HxXnoTj6/CFvSVkYSHF7xb2t5iseDz+XA6neh0OnnEPCxGUqPRYDKZZOJE9AvDA8O2vb1NPp9nY2ODjY0N4vE45XKZer1Oo9Gg3W7viCXq9XrZq6xSqchms8RiMXK5HHfv3iWbzaLX63E6nZjNZkwmE51Oh2q1SrPZpFwuy86bQUHUM/p8PqxWKwaDgXK5TDKZJBaLUSwWqVarz5xsEfdTq9Xu+H0cZBqNBrlcDovF8kztfqVSSXqClUpl1xhvp9PBYDBgsVjQ6XQ0m82+SXgNzG9UpVIRDofx+Xw0Gg2sVis6nW7XNqiDiih49vv9OBwOrFarNHjZbJZ/+qd/IhqN8vOf/1yWrdRqtR2bjqibFF0TgUAAo9EIwO3bt/mrv/orUqkUd+7coVQq8bu/+7totVr5b2o0GiKRCKlUikgkQqVSkXHPQcDr9XL27FmGh4cJBoOYzWbu37/PlStXWFlZYX19nUQi8UxlI70G0mq14na7pWd/kCkWiywtLVGv15+pUH5ra4tPP/2USqXyRIEajUZDKBTC7/dTr9e5e/fuy/7YX5uBMpIGg0GqA2k0moEtPXkRRH2j+BJ0Oh0qlYqM6RSLRTqdzq6lVOJnRQlMq9WiWq2STqdZW1sjnU6TTCap1WqUy2W5qwuvvVwuk81mpSfZbrcHwpsXcW2v14vP58NoNKJWq6lUKiQSCVKpFLVa7bnEEISh1Ov1GI1GdDrdgTWSvVUNz3OCEKeOWq322LrtRSj6uFwunE6n/F30Vmfsh17AwBhJBSgUCiwuLlKv12X9nvAMnU4nFy9elLJyer2eVCrF6urqDkPZm4BpNBoUi0WpbnPlyhXu3buHVqvljTfewOPxcPHiRY4fP47ZbEan01Gr1bh37x43b95kYWFhYLptRFx1fHyc7373uwSDQbxeLwCxWExmR5+nrEzURxoMBnw+HyMjIxiNxgNpJNVqtQx1TU9Pc/HiRQKBAB6P56k/Gw6H+c53vvPMx+c33niDX//1Xyefz3P9+nXS6TSpVIpMJkOpVCIWi73Wo7hiJAeIarXK9va2bC9sNpuyO8ZisXD06FHK5TILCwtks1nUajUbGxuPVQmIGKTwIBcXF1lcXOTevXtsbW3hdruZmZlhenqaubk5hoeHpefearWIRCLcu3ePaDQqd/p+R5Q8+Xw+Tp48ic/nw2azAQ8ypysrKxSLxefq4hL3UrR9CqN7EFGpVFLwZHx8nFOnTkkhlafhcrm+Vm92KpXCYrGwvr7O2toaGxsbZDIZksnk4TaSrVZLCuwKNRGHw4HBYJDfIwyDyHAfFkQXR6lU4v79+1IlZXx8XN4To9HI1NQUrVYLm81GqVSiUCgQj8dlQkIkeT799FNsNhubm5tks1k8Hg+//uu/jtPp5MyZMwwNDeF2u1Gr1RSLRba3t0mlUqysrBCJRMjlcn3vQcLD9WIwGDAajZjNZqmI1G63yefzlMtlqtXqQFzPfqDRaDh27BhvvfUWw8PDhMNhmfh6VRgMBqanp3G5XLLtMxaLYTabKRQKbG1t7VpO9LLpKyPZ7XZpNBqywn5paQmfz8eRI0d2/DJEv6fRaHwldVH9SqvVot1uk0ql+MUvfsHm5ibf+c53GB0dlfdEHJXn5ua4desWGo2GeDzOp59+SrValT3Iy8vL/I//8T8wGAwye/3GG2/wve99D4fDwcjIiMw0qlQq0uk0n3zyCdvb21y5coU7d+4MlJ6kiGXbbDYcDgdms5loNEqhUJAq1s/SXXNY0ev1fPDBB/z5n/+59J5fdUuq1Wrl7bff3lHxsry8TDAYZHt7mw8//PDwGUl4YChFD2alUpHS+b0IWfdcLketVtshy3TQ6Xa7tFotMpkMBoOBZDIp/ywyqyIuJgSMtVotHo9HKid1Oh2MRiNWqxWj0YjP55NF5eIYarFYMBqNVKtVisUiqVSKaDRKLBZ7rOay31GpVJhMJmkcRehAfIn623q9Tq1Wo91uyw1JrMfnQSQYBimp9TS63S7VapV8Pi9L0HYzkK1WSyb0ngcR3xUxc7E5Pyp+4XK5pHrV5OSkPAmkUqlXdp/7zkiKxSmO22q1+jFv0ev18u1vf5tIJMJHH31EPp8/EAvxWanVaty6dYvFxUXZbRMIBLhw4QJ2u13WPx47doxgMEgikaDb7bK8vCznBIVCId59913cbjfj4+N4vV4cDofUoRS9sQsLC9y5c4fFxUV++MMfkslknqtdrx/QaDSMj49z7NgxpqenZZhGNCWcPn2abDYrkwK1Wo1kMkmhUJCG4VnXV7vdlqVXYpMfpA3lSTQaDX7yk5+wvb3NuXPn+P3f//1dxXAzmQyfffbZc3t4QknJ5XLh8XgIh8O7GmG/3893vvMdGo0G3/72tymXy/zgBz/gv/yX//LKtBz6zkiKMpNGoyEX2aML1Gg0ymSCzWaT2cTDYijb7TaZTAaVSsXm5qbMYFcqFalEo9VqcTqdskNpbGyMer0ui3rD4TBzc3P4fD6mpqbw+/07er+FJ5ROp1ldXWVlZYW1tbXXcrx52ahUKtmIINZLr5fi9XoZHx+nWCyiUqmoVCo7MvaPapeKNdpbiiXWYK8HKTzSg7AuO50Om5ubdDodXC6XbE4QiGsslUpsbGw890aq1WrRaDR0Oh30ej3NZnNHzkHcX/HsA0xOTgJw9+5ddDod9Xr9cHTcCEqlEmtrazID24vNZuPYsWP4fD4+/fRTrFar3L0PE91ul42NDT799FMCgQClUgmv18sbb7zB5OSkPLpYLBbefvttZmZmqNVq1Go1HA4HMzMzWCwWKb+fzWbZ2tqiVCqxuLgoO28WFhZkDeEg0ul0yGazbGxs4PV65cwa0cE0MTGBwWCgXq+Tz+dpNpuyO6Rer1MqlXYYyUQiIU85Op0Om80mh1X1NjdYrVZcLpcUghAb/6DEcXsRvdXNZpMrV67wl3/5lzvGNuTzebkBLywsUKlUnuv91Wo1N27cwGKxEAqFmJ6exm63Mzs7Kzd7h8Ox688ODQ1x8eJFkskk8/PzB1vgohexIwGPPZzCSGazWYLBIBaLBZVK9cp2kn5mY2ODzc1NXC4X29vbspZtZGSEbrcrjeSFCxceuzePKvlkMhnu3r3L9vY2P/nJT9ja2pJF1oPc/ikk+CKRCENDQ+RyOTl0zmg0Mj4+zvj4+A5PWugXij8LOp0Ot2/flokrEdMU81aEkVSpVFitVhwOhzSKlUpFdkANGt1ul0wmQyaToVarkc/nZTJVeJnr6+uy6PvrrBWxFoWRDAaD/OZv/iZjY2NS/X03hoaG+MY3vkEkEiEajR4eI9loNMhmszidzh2LVNzI3szaQSzefR5EeCKTyQAP2sDW19dxOp1SNv9RgygeZlH3mMlkWFtb4/bt27J4t1AoDOxD3YvoEkqn02xsbHDt2jXsdrsce2E2m+VG29vXLo7Sj6ofud1uuQmJ7xWDrESbohiBYTQaKRQKFItFKpUKqVRKVhiIU5KoeS0WiwMRvxTNDL196mIm+YtspOJnRfcXwJ07d0in03S7XdmKbDabd8QrRb3qq8q0962RLBQKcoSscN0HXcPwVVKpVFheXpb1j5VKhWPHjuHxeHZtA+t0OtRqNYrFIn/zN3/DpUuXSCaTbGxsyGOhSKINOp1Oh1gsRiqVYmtri6+++gqDwYDb7ZbH7ampKVlnqtVqCYfDeDyeHZP+hAGdmppidHRUvr+oKABkhjYcDvNHf/RHUlxEVGukUinq9TrpdJpyuczGxgbz8/Nks1lu3749EElIIWrby8uMvebzeSqVCqurq9y7dw+j0cgf//Efo9PpcLvdUpnqddG3RlLssqLtTcSQFCO5O51Oh3q9jkqlkt7JXuGHXmHeQqFAMpkkHo8/s7jDoCG0NoVau06no1AoyOmG4r+9iS9RiiZ63Hvn/oi1KMY1iI2od/yIeB+j0Uin05GK8Y1GA41GI+tWC4WCVJQXm1M/e+8vY27Ms75/uVxGq9WSzWalXuTr3kT61kiK+rRarUY8HpdxN6Fd1++77X4gEgkicy3qyZ70veLBnJ6eplAocPfuXaLR6IE0kgJRBdBrrAqFAktLS9L4qdVqWSdqs9nwer3o9XpZXC/m+3g8Ho4fP47NZsPv92O32+XgMKFyXiqVMJlMUtrOarWi1Wpl18+JEyd466232Nraolarsbq6SjKZHLgyq4NMXxtJETMrFApkMhn0ev0Tg7eHHRFPEyNiQ6EQTqdz1ziN2GBE54Tf72diYoJEInHgPfXeLiFRf5vNZp/4/RaLBZfLJXU19Xo9NpsNq9XK6OgoTqdT1piK97p79y6pVIqvvvqKTCYjx0M4HA5GR0cxm82Ew2FMJhNDQ0PMzc2xvr7OJ598IpWcFCPZP/S1kRRq28lkkmg0itVq3TFXQ6VSyQC8SqWiWCweWg/TbDYzMjKC2+1mdHRU6kSKUa9C4cbhcOB0OuUxUKfTMTIygk6n21H6I3q9DztC5qter9NqteQxXa/XYzAYZIZbrMlsNsu9e/dIp9NEo1FKpZI0emazmXQ6jV6vZ2lpCbPZjM/n49q1a6RSKebn54nFYs+k0XgYsFqtnDhxAr/fz9mzZxkaGsJqtb52hfy+NpIiLrmxsYFer5fqNAJRxiGKS+PxeF/Hcl4ldrud8+fPMzQ0xLFjxxgfH6dSqZDNZikUCly5coV0Os2RI0c4cuQIFouFYDCIwWBgbm6O2dlZtFot8Xic7e1tLl26pBhJ2DFvuzdxKPRN2+32jux3LBbjs88+k/ddKDWJL+HZ97ZEWq1WWq0WuVyurxS59xuXy8Uf/MEfcPz4caanp5mYmNiXEcZ9ayQFwqPcLXsmOimcTqcsfzmsCHVsm82GyWRCq9VKId5CocD29jbxeFzGxtxuN3a7XfYyC03KkZER1Gq1nB54UDLcL8KjUyhF3FKIioipk/CwLVF0pDxt0xb1mELh6aD0er8Ioi1WzEMXozaeNBqjV+fhVThJfW8k90L05ApRghs3bhzaXdhgMDA0NMTIyIjsqS0Wi6ysrBCNRvnZz37G8vIyfr8fn8/H0aNH+dM//VMCgQBOp1PW9bndbjnXXKj/7BWzO4xYrVbsdjuhUIjh4WGGhoZkneTz0msYD9NQu71wOByEw2E5EfTIkSOyxGo3RJdPIpF4JV1hA20khUiBx+ORxcCHFY1Gg8VikQW3gCxQzmazRKNRNjY2KBQKpFIp9Ho92WxW/gw86GSy2Wx0u108Hg8Oh4NyuXzoRvc+DVEVIIaymUymrx0ne7Sjp5/Z7aj7Ih02j9Lbn+3xeHbMRN8N4akLEZJisfhK7uVAG0mFh4jG//HxcWn0KpUK8XicZDIpM7m1Wo1sNsv8/Dz/5//8HwKBAN/73vc4ffq07C5xOBz86q/+KnNzc/z85z/n0qVLNJtNarWaYix5WBXQ+3XQxZ91Oh0XLlxgbm5O/l21WuX+/fukUiny+fwLnTjUarVUOj9//jy/8Ru/gc/nw+/37/r9tVqNX/ziF6yurnL16lWWlpYol8vPpSz/rChG8oAgjtvDw8PSSFarVdl7LZIPQuCiVquRy+Xwer0cPXqUubk5WTRts9l47733KJVKJJNJbty4IQufD3t8Eh7Wo4r7dZDmkT8JrVbLm2++yW/+5m/Kv8vlcvzwhz9keXmZjY2NF1KqF0YyEAjw5ptv8i//5b/c83RYq9X47LPP+Pjjj9na2mJtbe2VrU3FSA44QqHdYrFgMBh2zCMXAqi7zToWbYmlUonl5WWuX79OMBhkampKZl273S6jo6OcPXuWeDzO7du3FSO5C70P8kEL+RgMBjlOeGhoaMccH6PRyMmTJ/F4PBgMBkqlkhwz+6wJFJvNxsTEBFarlZmZGQKBABMTE0+cOimSNJlMhlQqJds7X+UJRzGSA47D4SAQCBAOh7HZbDJbDQ88yVgsRiKReOwY0mw2KRQK1Ot1fvzjH3P37l0++OADRkZGMJlM8r3ef/99RkdHuXbtGuvr6wMrl6bw9XC5XLz//vsMDQ3x1ltvMTs7K1/rdDrMzs7SaDT4/ve/T7VaJZvNsry8/MzrZHR0lH/37/4dw8PDTE9PEwgEZGvoblQqFVZWVojFYiwsLDA/P/9c422/Dn1vJIXCjejhVtiJKEMRwgq9hc2dTmfHzOxHEa+n02nUajWZTEaWo4j3sdvtBINBXC7XoThWKuxEnCpEgurRwV8mk4lOp0MwGCQYDKLT6chms/L00mu8eid1ihbQYDDI8PCwrBJ40sRJIWZcLpelnmexWHwtM6763kjWajXu379POp1menp6R8eNwovTbrfZ3t4mm81y4sQJkskkjUYDu90ue4yFGs5BT04oPE6tVmN9fV0KEu+GWq3mrbfewu/3k8vlpPBtLBYjl8vJ7zMYDIRCIakS7/P5cLlcsrlht3EQgBwMmEqluHv3Ln/5l39JPB5ncXHxVVzyY/S9kWy1WsTjcVkUrWRXXy7dbpdCoSD740ulkhRz0Gq18s9PGvyksFNs5aCtz2azSSaTkapFT2J0dJTR0VHy+TzBYFBKHcZiMfk9JpOJ2dlZXC4XY2NjjI2NPfPnEEnElZUVPvvsM+Lx+Atd1/PQ90ZSDAVrt9syMCwEURV2R7TACU9QSHR9HUTv8kEQ31V4fprNJslkkmazSTQaJRqNysmTu60pg8FAIBDA4XBgNBoZGRmRr+l0OgKBgBzt+zRqtZqcq3Tz5k3u3bvH6urqc4+GeFEGwkiKSXa5XE7GIPaqwD+sPCpKLFq7SqXSE1u6nvQe4n3q9TrFYvGVZxAV+pNarcbm5ibpdJrl5WWWl5flQLXdjKQwjN1ul6mpqcfWjIh1P0vIrFwu8+WXX7KxscHHH3/MZ599JvU6Xyd9byThYf92uVwmmUxitVrx+Xz7/bH6glarJftWS6USpVIJs9mMwWCQM7WbzabMGIruiF7xWIfDIWW7hDKQWMSlUolEIiGHZykcPkSCT2SURZzRaDTuGGEsMtJf59Qiwj61Wk3Oes9kMqyurhKNRkmn0/vWzDAQRhIe3MTFxUV+/OMfMzo6ygcffPBYpu0wIqTu7XY79+/fp1arMTExQSAQYGhoiO985ztsbm6ysrIii8GFarbdbsdqtfIrv/IrUjloaGhIhjPa7TYLCwv87Gc/Y21tTVEFOsQ0m00+/PBDvvzyS3w+HzMzM3i9Xi5evMjw8DDBYJBQKPS1k6qNRoNr166xtLTE/Pw8ly9fplKpyNPjfsogDoyRhAeCDdFoFLPZTKvVUowkD8cSlEolstmsLPrtdruYTCYCgQCtVkuq/gjVGaPRKEd1Tk1NcfLkSTnzRaVSyWON6PtOJpOKJ9nDbv3KBzkc0el0iMfjxONxWSrm9/uZmprCZDJhsVjweDzyhAI7PUoRzxb3rVf8GB7U9MbjcTY2Nrh//z5Xr159JS2GX4eBMZLdbpdsNsvq6ioWi4VarSZnhyg82EBu3rxJKpXaIVTh9XoxGAz80R/9EclkUhpJofJuNBqZnZ2V2pJCXu3evXukUimuXr3KnTt3BmaS3+ug2WxSrVZ3fAlJOTH58CBLnolxz0LI2el0Mjo6ytjY2I6RFl6vF5vNRrFYlAPQEomELAhfWlqS79lqtVhbWyOZTPbdnKWBMZLwYIJiJBLB5/Mp2nuPUC6X5dS92dlZxsbGMJvN0lv0+XxSl7PZbMp5K73D1UTBbrFY5M6dO2xsbHDr1i1WVlakcVV48ED39sDXajXq9bo0nqKI+qCuTbExACwvL6NSqRgdHZXzy/V6veycsdlsVCoVtra2KBaLLCwskMlk+Kd/+ic+/fTTHU5Ov96vgTGS3W5Xtj2tra3x05/+FJvNxvLyMslkks3NzUPtVTYaDVKpFK1Wi1u3btHpdPB4PHI0g16vl1JXarV6R4+t6MoRMaBMJsOtW7eIxWLymH2QH/rnRRjD7e1tPv74Y7xer/Qe79y5I/VND8v96na7clyuWq3mypUruFwuVlZWcLlc5HI5otEo1WpVGstUKjUwa0rVfcZP2Q9dLqLtTnhBarV6x5jQ11U/9XV/sa/yHqpUKqlKEwqFcLlcTE1N8dZbb2G32xkfH8dut8tkTbFYZGlpSY54qFQqRCIRFhYWyOfzrKysyLavZrP50hdzP97D5/kMQgnIbrej0WhkrE3MMn9ZGot70U/3UFRKiNlJYhqnSACK1ljR9irmke83z3IPB8aThIfzeEWBs8JDRI+76JCo1+uYzWY5jMpgMFAulymXyzgcDrm79xrJaDTK1taWrEl93UW7g4IoSRMjjxUePpuv01l5XQyUkVR4Ot1uV3bI1Ot14vE4Op1OzowWX0K1XMQoxdA1MdfmdQgHKCgMAgN13O4X+umYM6go9/DFUe7hi/Ms91BRLFBQUFDYA8VIKigoKOyBYiQVFBQU9uCZY5IKCgoKhxHFk1RQUFDYA8VIKigoKOyBYiQVFBQU9kAxkgoKCgp7oBhJBQUFhT1QjKSCgoLCHihGUkFBQWEPFCOpoKCgsAeKkVRQUFDYA8VIKigoKOyBYiQVFBQU9kAxkgoKCgp78MzK5IpQ50MUsdMXR7mHL45yD18cRXRXQUFB4QVRjKSCgoLCHihGUkFBQWEPlGmJCocSrVaLy+XCZDIRDAYZGhqiXq+TyWSo1Wpsbm6SyWT2+2Mq9AGKkVQ4lBgMBmZnZwmFQvzKr/wKv/Ebv0E2m+WLL74gFovx93//94qRVAAUI6lwyNBoNOj1eqxWK4FAgHA4TCgUIhQKodfr8fv9dDodzGbzfn9UhT5BMZIKhwq3283U1BTBYJB/8S/+BUePHsXv96NSqTAajYyPj2OxWHA6nWg0GrrdLp1OZ78/tsI+ohhJhUOF0WgkEAgwPDzM3NwcJ0+elK9ptVocDgetVguj0YharVYMpIKS3VY4XIhEjd/vx2Aw7HhNq9Vis9lwOp2Ew2EmJyfx+Xyo1cpjcphRfvsKhwqz2Uw4HGZoaAij0bjjNa1Wi91ux+PxMDo6yuzsLMFgEI1Gs0+fVqEfUI7bCocOlUolv3qp1+vkcjkKhQLpdJpcLke1Wv3a7X8KL45KpUKtVuN2u3G5XOh0OkwmE2q1mkajQavVolgsks1mabVa1Gq1lx4iUYykwqGn2+3S7XZJp9N89tlnxONxLl++zPXr12k2m7Rarf3+iIcSlUqFXq9Hp9PxrW99i/fffx+Px8PMzAxarZbt7W0KhQLXr1/n448/Jp/Ps7GxQaVSeamfQzGSCocKtVqNVqtFo9FIT1JksOv1OvF4nK2tLdLpNMVicZ8/7eFGrVZjMplkHHlychK/38+JEydkaCSbzZJMJvF6vahUKqLR6Ev/HIqRVDgUqNVq1Go1DoeDyclJAoGArIWs1WpUq1U2Nzf5+c9/zvr6OpFIZJ8/sYLb7eZ3fud3GBsb48yZMxw7dgyz2YxWq0WlUmEymWi325w+fRqn08nGxobsmGq1Wi/t2K0YSYVDgfAgrVYroVBoR3a71WpRLpdJJBLcuHGDlZWVff60CgA2m41vfetbnD17lkAggNfrla91Oh30ej0mk4mpqSmmp6e5f/8+//AP/0AkEqHT6fSPkTQajZw6dQq/349Op0Ov18vXut0uuVyOcrlMu91+7EPX63Xq9TrNZlN+z6N0u125K4jvV3gyGo2GkZERvF4ver0es9lMtVrl7t27ZLPZHd8rjptqtfqxJIaI04mvQUckavR6PXa7HZvNhlar+Aj9iNVqxeVyMTIygsvlwmazodPp6Ha7FAoF1tbWqFQqbG5uksvlcLvdBAIBEokEwWCQWq1GNBolkUi8lM/zwqvE4XDwp3/6p1y8eBGbzYbD4ZALstVqcffuXdbX12XmqfeBy2QypFIpSqUSGxsbuxrAdrtNuVym2WySTqcVI/kUdDodFy5c4K233sLpdBIKhYjFYvyn//SfHjOSwjiKGF0v7XZbblC7bV6DhlqtRqPRYLFYCAQCeDwepbSnT/F6vZw5c4axsTFGR0fx+/1oNBo6nQ6RSIS///u/JxaLcfXqVba2tjh58iQXL15EpVIxNzfHxMQEn376af8YSXiwAEVq3uVyybR9u93G7/fLVH29XpdGstvtYjQaMRqNlEolgCcayVKpRKvVkkHcXkPb6XTkw9xsNul0OjQaDTqdDu12+0A84M+DWq3GZrPh9XpxOp14vV4ajQZmsxmj0YjBYMBgMMjfmVqtxmAwyDiPSqWS97DVapHL5cjlcvt9WS+MMJK9Xy/7/XfzyAG5FhX2Rtw7ERIJBoMyBlmv1+V6jMfjbG9vk0qlSKfT5PN5SqUSRqNxxzp/WbywkWw0Gty9exetVitT8zqdTj6I4XAYn8/3WA9sp9Oh1WrRaDRot9tUq9VdYwidTodarUa73aZQKFAoFHa8ViwWaTQapFIpotEopVKJ5eVlisUimUzmMe/pIKNSqdBoNPh8PiYnJzGbzTgcDur1OhMTE9RqNWZnZ5mdncVoNOJwODAYDLjdbqxWq9zcms0myWSSSqXCD37wA3784x8P9JFbpVJhMBiwWq0YjcaXPr5ApVJht9sxmUzSAPdmzguFAqVSSTGWT0Gv16PVajlx4gT/5t/8G9xuN8FgEJVKxfb2NhsbG9y8eZNLly6RSCQoFAq0Wi2q1SqFQgG1Ws3Y2Bh6vR6n0/nSPtcLG8lWq0UmkyESieByuSiXy+j1enmMM5lM2O32Z16Yu8XGhFdTqVQol8vytU6nQy6Xo1KpEI1GMZvNshhYo9FQqVRQq9UHJq72LKjVasxmM06nU3qNFosFt9uN1+tlcnKS06dPY7FY8Hq9GAwGgsEgDodDekONRoNoNEo+n+fKlSuoVKqBv39i49bpdC/VSIqNyWg0YrFY0Gq1O+LynU6HZrMpN3px8lHYibiPOp0Or9fL3NyctBvCGdre3mZ7e1uWaAnEKbXdbmO1WqU3+bLW7UvxJO/cuUM8Hmd5eZkrV65gNBpxuVzo9XpsNhsmkwmHw/HUFi+NRkMgEMDpdO7oitBqtbJ/VgRw4YEBNRgMtFotHA4Hfr+farXKsWPHKJfLLC0tsba2RiKR4O7du1QqFRlrO2iI47PBYMDpdOLz+aQsmFqt5ld/9Vc5d+4cQ0NDDA0NyUWpVqvlBqTX6+XiMhqNNJvNA5Hc0Gg0hMNhpqamGBsbe+FrEt6i0+nkyJEj2Gw2ZmZm8Pl86PV6DAaDNMSdToeFhQVWVlbI5XKsrKzIkiOlSP0hGo2G4eFhfD4f4XAYrVYrT5H1ep379+/zySefsLm5+VhYTpxKW63WK3m2X/gJqNfr3LlzZ4dRM5lMhEIhTCYTbrcbh8PByMgIZ86c2bHLPopwt8UOIgyqWJQ6ne6xn+m9KcJjFMeaW7ducffuXe7evUskEqHZbNLtdg/kkUdkbo1GI06nE7/fL1+z2Wx873vf23Fv6vU62WyWdrst74vYdEQRb7vd3vP3NSio1WrGx8c5f/48k5OTLxyPFJtPMBjkvffeIxgM8uabbzI+Po7BYMBkMkkj2W63uXz5MlevXmVtbY1SqUQul6PdbitGsgdRlTEzM8Pw8LCUqSuXy5RKJW7fvs1HH31EpVKhWq3u+FnhrfetkQQeO87W63UZKxT/Dw8UWHYzdAKdTker1SIaje4wkk9CJCmMRiMmkwmr1YpWq5XHKofDwdDQELlcjnA4jF6vJ5FIyETRQcJoNBIOh/F6vdhsth2viZBFu90mHo+TSCSoVqtkMhna7TZOp1N2NVit1n26gleLiLfudtQWsXGR8NsNEcbQarV4vV68Xi+jo6OMjY3h8/lwOBwYjUbZRtf7c263m9HRUbRaLdlsllwux8bGBtlslnK5TLFYPDCnG1GLKkJter2eYrFIOp3e1TkRJyCLxUIoFGJychKv14taraZer7OyskIqlWJ7e5tKpbIj+SuoVqskk0k6nQ4bGxtYrVby+fxLu6ev5CzVbDZJpVKoVCri8bi8EZ9//vme8SDhhT4tMyU8VqPRyMmTJxkeHmZsbIyTJ09itVoZHR3FYrEwNjZGMBjE5XKRSCTY3t7m008/PZBG0uv18mu/9msMDw8zPj6+47Vms0k8HqdYLPKTn/yE//f//h/lcplkMolKpeLIkSMEg0EuXrzIyMjInhvZQaRWq8l63ic9WHq9nrGxMZxOJ2+99RYXLlzA4/Fw9OhRLBYLRqNx13inWq1menqakZERSqUS3/jGNygUCnz66acsLy+zuLjIV199dWC8SqvVyvHjx7Hb7YyPj+P3+7l58yYffvjhrslZnU6H2+3G7XZz8eJFvvvd78q6yHg8zve//33u3LnD0tIS2Wx21yLxeDxOoVDAYrEQjUaxWCwsLS29tGt6JUay2+3SbDa/1s8+abfvRXiZImPZ6XTQ6XQEAgEajYaMDfXG6NxuN9Vq9cAaABHwDgQCmEymHa+JyoBsNks0GmV5eZlyuUwqlZLeuFarpVAo7Ij39v73ICNisnspyGg0Gmw2Gx6Ph3A4zPj4OA6HA4/HIzf13nBPL6I0RZykisUiKysrlMtlYrHYS8+27wfCUzcajXi9Xlwul4x/b29vYzQad5TpCTQaDSaTSSYXfT7fjnhkLBZjY2ODXC73RJvSaDRoNpuyKqNUKr1UkYu+i8p3Op1nWjRiR5mfnycajXLnzh2++OIL/H4/v/7rv87w8DCjo6OEw2Hgofd5UDEajYyMjDA2NiaP2yLemEwm+cd//EcWFha4e/cuyWSSZrNJu92WCYhgMCgTZmKBViqVr73ZDQrdbpdoNMqVK1dYXl6mVqvteF2cglwuF++88w4zMzPMzc0xNjYmwzqArOOrVCrkcjm5uahUKpxOp7y3drsdo9HIuXPnGB4eptVqce3aNarVqowNDyIOhwOn08n09DS//du/TSgUkqEfjUbD1tYWqVSK+fn5HXW3ZrOZiYkJgsEgHo8Ho9EoQ0Hb29vE43FZjrYXIqQUj8fRaDQ7qmBelL4zkvBs3ovYsUVZgCgWHhoaYnh4mEajgc1m22EkDzJ6vV7uxEJMVhSF5/N5rl27xpUrV2SJlECtVstd3GKxyLKJRqMhyyoOOplMhqWlJba2tmQcXSCMpNVqZXZ2ltOnTxMOh3ckxkQzQ71ep1AokEgk5H3r7fQRcTqj0cjk5CTBYJC7d+9iMBheaeLhdWA2m/F6vYyMjPDmm28yMjIiY5K5XI6ZmRmsVqv0CgUGgwG/308oFMJqtUpPO5fLyfitqId8GqLY/GXTl0by6yCMZrPZlPJJlUplYBfds2K1WuXkv94+V5VKRSaTYXFxkc3NTRKJBOVyeVcj4PV6GRsbw+PxyDrJbDZLOp2mVCod+Hu4G6JmNBgMMj09TSgUkj3xQj2o1WpRKpWo1+ssLy+TSqVIJpNsbGzsMJJTU1OMj4/LIWR6vV5WDYjCf5HMedlaiK8aEfqamJjgG9/4BuPj49jtdjQajVTkWVtbY319nWQyKZO4vZUww8PDDA8Py/uazWa5d+8e6+vrlEqlfS/bO1BGUnTubG1toVarOX78+H5/rFeO2+1mfHycyclJhoaGCAQCsiogEonwox/9iO3tbVZWVkin048tNq1WK6WovF4vGo2GVqtFJBIhGo0eiJbEr4PoHJuenub3fu/3CAaDnDx5kmAwKGt2hZBCLpfjww8/5Pbt22xtbbGwsLDDSJ49e5YTJ04wOzuLz+fD5XJhMpnkUfPtt98mGo2STqcHzkiK0rzz58/z7//9v8dqteJ2u4EH6299fZ3r169z69Yt2XkEDz1sp9PJsWPHGB0dxel0yvDHJ598QiwWk4rj+8mBMZKPctC7bISn43Q6GRkZIRgMotfrpYHsdrtUq1XS6TSZTIZ6vf7EpISo7RMJCNEvn8/nH4vRDSq1Wo18Pv9YjR08fNB7+9eFkbRarfj9frxer2w7FKeWarVKPB4nnU7L0qpMJkOxWNxhJFOpFLFYDJfLRSaTQaVSyZIhIbhRr9dlp9qgrFuRzBKaDU6nE51OR61Wo9FoyKRLIpGQ5TtiDYqaXqvVisPhwG63o9Pp6HQ6VCoVUqkUmUzmsZPPfnDgjKTIsFkslgNRCL0b4pii1+t5++23+dM//VNcLhdutxuVSiWTMolEgps3b0qlpd1Qq9VYrVZpBFQqFdVqlcXFRebn50kmkwPz0D6JdrvN8vIy1WpVdhL1Yjab8fl8lEol2XdttVplGcv58+dlKAMelFTV63VWV1f5m7/5G6LRKAsLC8Tj8cfiuJ1Oh/X1dWkoHQ4HoVCIt99+m/HxcUZGRvjud7/LwsICly5dIplMDowwi8lk4o033iAcDnPs2DFsNhulUon5+XnS6TR/93d/xxdffLGjTrLdbqNSqQgEAoyOjnLixAmOHj1KKBRCrVZL7/zq1atks9m+KNc7cEZSdJ4YDIYDK4XV2+caDAY5duzYDuUTkdUWZT7ZbHbPLLVOp9tR59dut8lms6RSqYE7/u1Gt9sln8+jUqnI5XK71uqJft/e9lej0YjNZsPn82G32+X3i1KWQqHAysoKGxsbbG9vk8/nd/33i8UixWIRi8XC5uam9JbgQUx5eHiYYrEoPdVBmfWt1WoJBAKMjY3hdrvR6/V0Oh1Z/L28vMz9+/cf+zmVSoXZbMbj8chyIbvdLqspSqUSiUSib8ZnHCgjKdReRkdHmZ6elp7VQdJFFPRKc/Vm7pvNJnfu3GFtbY3r169TKBRkz/rTED2w1WqVSCQiC3gHnW63S61Wo1gsPjb9UKVSSUEFoXb9NMQGJFrmyuXyM2dfS6WSlP6DB8dOi8WCzWaTIiS5XK5vDMRuiCy91+vl7NmznD59mpGREVqtFul0mi+//JLNzU1isdhjPys2+HA4zBtvvMHExAQGg0GK1YivftooDoyR7O3CGR0d5ciRIzKALJI6u6mjDyLiWoWh7DWYrVaLO3fucPnyZRYWFsjn888sVCw2EzHvZWVlZeCP2vDgukQ8bLcRsT6fD51OR7lcfiYdwkajQbFYlAbvWY2kEJAuFovy+7VaLVqtVhaqezwe2dbbr4hYrRDHvXjxojy9ZDIZfvnLX7K8vEwymXzsZ3uN5Llz56QSVafTIZvNsr29vaPOtB84MEZSHItGR0fxer04HA60Wi2NRoNyuUw8HicWix2IRITwmM1ms0zWCJHjVqtFPp8nHo+Tz+efuCmoVCrZkSRUloSHJB7iflqoL8pe17LbHO5Go0GlUpE1e4Ds3dbr9XLEwOTkJHq9nrW1taduRo1Gg3Q6LQ1yq9WSG5xWq8XtduP3+weioqB39Ifos65UKnLTqFQqj20cWq0Wl8slY8AejwebzSZHs0SjURYXF4nFYn3lzBwYIzk+Ps4HH3zA8PAwx48fZ2RkhEajQalUYmtriy+++OIxHbpBRZROuN1unE6njKWJB3t1dZXr16/LGrPd0Ol02O12KW6h1WrJ5/Nsbm6ysbFxIDaTr4vQL6zVakQiEebn52U9o5iPYzab6XQ6/PZv/zbb29v87d/+LalUas/3LRQK3L59W27YpVJJziEym80cPXoUk8lEPp9nbW3t9VzsC9B7iimXy7KxI5lMkslkHouDG41Gjh8/TjAY5OzZs8zNzQHI+O6lS5f49NNP2d7e7qtOrwNhJEUgOBgMEggEsFgsGAwGarWajB0VCgWKxWJf3fwXQRyvRRyx0+lQLpfJ5/Pk83mKxeKuiikC0QUiuhyEkRX3ab9r014FIuxSr9dpNBo7BClE3Z5Op5OlKGLTyWazUqFKfK9QBfL5fLTbbVkZsJfHKt5TKDL1fq94P4vFMlD6AsIDF2VRvZJ9QqtUlOMJxXBx0jOZTLKVs1qtks1micViOzQE+oGBN5Kivi0cDvPWW2/JflFRenH//n1u3rwpFcwPQvKm1WrJzPPS0pIs1L158ybpdJpbt27J6ZNPWmwul4u3335bihDodDoymQxXr14lEon0RenFy0RsJPF4nGvXrhEIBJiZmZGeuChLmZubw2QyyVNHJBLh448/Znh4mJGRERnnhgf1pYFAAHhwP61Wq1Qh3w2LxcLU1JQcRCay2QcBh8MhN9s/+ZM/IZFIsLCwwPb2ttxsnE4np0+fZnJyknA4LMvNNjc3SSaTRCIRYrHYnjW9+8FAG8neol8RHxKLvtvtkk6nWV5eJhqNUqlU+qIw9WUgjoP1ep1EIsHW1hbxeJzLly+TTCbZ2tp6anzMbDYzOTkpx3aq1WpKpRIrKysHJnbbixibIEaS1ut1wuGwLIDWaDTY7XZCoRD1ep1MJiOTCffv35enkl6EQHS9Xpdyad1u94kepcFgwOfzydOOMCoHATGkT6VSceHCBTKZjIy1isYEj8fD6OgoExMTUvBDtBGL4vF+jMcOtJEUghZer5fh4WFMJhNqtZpCoUCj0WB1dZVbt24RjUYPjIEUiKPf0tISH330EYVCgdXVVVny8yTEUdFqtTIxMcHIyIgU2i0Wi2xsbJBMJg+ckRRGq1qtkkgkZFJPIBR6Tp06hdfrJZ/Pk81m6Xa7xONxDAYD29vbeL1e7Ha7DFM4HA46nQ7hcJixsTFSqRTVanXXE4soARKC1OJ7Doo3CQ82gqGhIRwOB91ul4mJCer1OqVSCavVyszMzA5xZ7HR1Go1PB4PPp+PWq3WV5oBA20kdTodR44c4ejRoxw9elQW/IrC3hs3bvDJJ59QrVYP1EMv9DqbzSbXrl3j5s2bsnxnNz3DXkTczeVyceLECamLCMijej6fPzCx21663a70lkUsDB7G1bxeLx988AGZTIZoNEo0GpXHwVarxfLyMhaLhdHRUaxWK3q9XnYqHTlyhFwux/z8PFtbW7saSSEcotfrd2R/D5KRNJvNzMzM0O12OXHixI75M6JT7NGZVUJYRUj9JZPJPQWQXzcDayRFoN3j8TA8PCyPjI1Gg2QyKTNsooq/X274y0YYy2dFSOVbrVbZr91qtSiXy1LT8FFh1INEvV4nl8thNptJJBJ4PB55P0Qyq91uEwqFGB8fl3OejUajlEFzuVw0m80ds7zFOiwWi/j9fhlX63a7MhkkxB/EJEsYTAm/3gSYCPcYDAZZjmY0GtFoNHLgWu8oXbEhiDIhkRXPZrPyBNhveYOBNJIi1mG1Wrlw4QK/9Vu/JY8/yWSSjz76iPn5eW7fvk25XFbGeP4zwlsaGRlhfHxclv9sbW1J1fKDvKEApFIprl69Kuv1bty4wZtvvsnbb78tvRq73c5v/dZvcf78eVZWVrh69SrtdpvFxUU2NjZotVqyCFrMWLpw4QLHjh3j1q1beDweGcNst9v4/X6pziQ2qXA4/EpmgL8Oms2mHPH6//1//x83b95kdHRUnkqmpqZkUkp4jFqtVp6AWq0WN27c4NatW6TTaebn58nn89y7d49YLNZ3m/RAGsneQmi/38/o6Kh8TcyMXl1dJZPJHMhSlhfBZDLhdDqx2+2yv71SqZBOp+UR5yAbyXq9TiqVotFosLa2RqfTYXJykk6ns2OInJDu0mg0sqYxk8mQz+elxyO8IrVaLZWCSqUSGxsbO4ryexXyO52OnIXem7QR3tluM1z6DWHsKpUK6+vrcuyFEA8OBoOyFEiUWanVahkSEp05q6urJJNJ7t+/L730fqyqGCgjKZIOfr+fN954g2AwyNDQEIAMDqfTaalo/KzteIcFlUrF8PAwFy5cYGJiQs4dEWVEIlZ30BFtisvLy2SzWSYnJ0kkEphMJux2u0xs6XQ6ZmdnMZvNslWw3W4zPT29Q9wYHtathsNh3n33XZrNppy+KBI9Aq1WK+PAgkqlws2bN7l//z7RaPS13o/nRRjxarXK6uoq8Xicra0tbt26hclkwufzYbVaefvttzly5Ah2u13KwQmFoMuXL/Ppp59SqVSkGG+/Pq8DZyQ1Gg0+n4+LFy8yPDxMKBQCHsaastms3O379abvFyqVilAoxNmzZwkEAjIeuba2xrVr11hfX++7eNCrol6vs7a2xvb2NmfPniWVSmG327FYLGg0GtkF43K5mJqakq1z7XZ7h/ak8AbFf0VDw6M87VhdqVS4e/cu169ff6nzWV4V4n5sbGwAO69PpVJhsVio1Wro9XqGhobw+XzU63WWlpZYX1/nl7/8JVeuXBmI9TZQRtJiseBwOAgGg4TDYYaGhqTkeyqV4saNG2xubpLNZuVgJoWH9aR6vV6qzVitVnkEEkfJfsoovg7a7TaNRoONjQ0uX76M0+lkYmICi8Ui+4rFEVzEwcVGvVd94/PEGdPpNNvb2ywuLpLP5/sycfEsPNo9JHRdhb4APBRzzuVyu46X7VcGxkiqVCqCwSBHjhzhxIkTXLhwgUAgIDXs7t69y3/7b/+NZDLJ0tISxWJxYH4JrxoxNtZsNjM0NMTk5KQcb1qpVIjFYiwuLg7Uwn1RxLCzZrPJJ598wldffYXH4+H06dN4vV4uXrzI3NwcNpsNr9crB4LBy81I379/n7//+78nGo2yubkpE42DilqtRq/XS7XyQCAgQxitVotEIsHm5uaOYXT9zkAYSVFm4XA4CAQCsvXQbDbLEh8xgjKXy1Gr1QZyN35V9AoRGwwGKbArVINqtRq1Wu3AZ7YfRSSpisWiHC8gipnj8Ther5dWq4XRaJSSZr0ydcCeHqWg1WrtKFwXtaydTkd2SMXj8QOxboUHKb5EcrBXCFoU0w8KfW8kdTodPp8Ps9nMN7/5TX7rt34Lt9uN2WymVqtx6dIlFhYWuHr1KltbW4diVvTzotVq8Xg8uFwuXC6XTNgkEgk5EfGwjI/dDVEilsvluHnzJgaDgVgsht/vZ2xsjNOnT2OxWAiFQjJWKY6RYq70k+h2u6yurrK6uirHzjabTVKpFOVymdu3b3PlyhUpxDLo2Gw2jh8/js/nY3x8HK/XS6PRIJFIEIlEuH//Prdv3yaTyQzMhtz3RlIcFcXg8zfffFPGhsrlsqxjW1hYIJfLKQZyF0S21ul0YjabpaJN77CvgyJI/HUQHmWtVmN7exuVSkU2m8VsNnPkyBE0Gg0ul4tut4vD4ZAtd51ORyZ6nkSn0yGdTrO0tCQ9qXq9LmPnYtzqQYmfGwwGQqEQQ0NDuFwuLBYLrVZL6nLG43FZjzso9L2RFHNcxFxpMa1OyPFvbm4yPz9PPB4/tA/50xCCrr09s6LdLhaLydKWQdnZXzUiXtntdtna2uLatWuYzWaWlpbkLBwR07VarU+NUa6trRGJROSxu9VqyURZNps9UOvWYrEwNzfHyMgIHo8HeDhHW8QihSLToND3RlKv1zM2NsbExAR+vx+tVitHDBSLRRYXF/nlL385EEW4+4XYaMbGxqT6SrlcZnFxkUgkcuAe1JeB6PcvlUqsr6/vUC/vVTF/liROr5cuNiLhvT6t137QcDgcvPHGG0xPTxMMBgFIJpNcuXJFzhYfJC8S+thIigl2LpdLyksJNehyuczm5ibxeFzuTApPpve4LXqGRbJLlEspPM5BNGKvClEaJQR3Rf82PJwJNKhizn1rJL1eL0ePHmVoaIj33ntPdjkIodn//b//N1tbW8zPz+/3R+179Ho9ExMTHD9+HL/fj0qlkqME1tfXD8RIC4X9xWQyybk/Nptth8J6pVIhEonIueSDRt8aSdHe5Pf75Zeo8s/n86ysrLC5udnXU+X6BbVajcVikf3a8KAsRXQoDVI5hkJ/otPpMJlMGI1G9Hr9DgUgMWtqUCcD9J2R1Gq1aDQaRkZGeP/99wkEAoRCIUwmE8vLy3Lg+draGvF4fE+BWYUnI7pNDnPpj8LLQTR6HD9+nLm5OZxOJ3q9nnQ6TbValYmrQQ3t9KWR1Gq1hEIhLly4INWK9Xo9yWSSr776iuXlZSnvpfD16B1KpcTcFF4Uv98vRZzFiUXIqW1tbckqikFca31lJEVniJgaJ+aGiOl2sViMpaWlgauz2i/EIHgRTBdlK4+ilP4ovCjpdFrWKmu1WiwWC9vb22QyGVkjOqjrrO+MpJgF7fP58Pl8mEwm2RVy48YNfvrTn1KtVpVj9jOg1WoxmUxYLBY5p9tkMu33x1I4YHS7XSlIrNFo+Ou//mvZqy0UzKvVqmIkXxbC++md5yvmSffOzh7UG74f9NbyiSRNrVaTi1hB4UURoZuDSN8ZyXq9LvtYhVLItWvXpNp47+wQhb1pt9tyjEA+nyeTyVAoFMjn89y6dYtkMilVthUUFHanr4ykkHcXKsVCmWZra4u1tTWy2azSPvccdDodOdirVqtJFWgxCbBUKlGr1ZT7qaCwB31lJAE5L+PWrVv8xV/8BZ1Oh3v37pHJZIjFYsoD/TUoFAr89Kc/5d69exSLRQqFglI+paDwjKi6z2h1XudUN6HX11uQKr76wUh+3c+wX5PxhDK5UCIXX/vZIjZo97AfUe7hi/Ms97AvjWS/oyzOF0e5hy+Ocg9fnJdqJBUUFBQOI0/XnldQUFA4xChGUkFBQWEPFCOpoKCgsAeKkVRQUFDYA8VIKigoKOyBYiQVFBQU9kAxkgoKCgp7oBhJBQUFhT1QjKSCgoLCHihGUkFBQWEPFCOpoKCgsAeKkVRQUFDYA8VIKigoKOzBM4vuKvJKD1Ekql4c5R6+OMo9fHGe5R4qnqSCgoLCHihGUkFBQWEPFCOpoKCgsAeKkVRQUFDYA8VIKigoKOyBYiQVFBQU9kAxkgoKCgp78Mx1kgqHg0dr6JRhmgqHHcVIKkimpqY4d+4cRqMRq9UKwI0bN7h9+zbNZpNaraYYTYVDh2IkFSRHjx7lz//8z3G5XASDQTQaDf/1v/5XIpEIlUqFRqNBu93e74+poPBa6XsjqdFosNvtGAwGrFYrdruder1OJpOh0WhQKpWo1+v7/TEHGp1Oh0ajwWKx4HA4sNvtmEwm1Go1Op0OlUqltLI9BXF/NBoNWq2WbrdLs9mk0+mg0WhQq9WoVCr5X6PRiFarRavVotfrabVaFAoFms0mzWZT2Yz6iL43kmazmXPnzhEMBjl37hxnz55la2uLn/3sZySTSW7cuMHm5uZ+f8yBRa1W43A4sFqthEIhwuEwVqsVrVZLq9WSD7ViJPdGo9Gg0Wgwm83YbDba7TbpdJpGo4HJZMJsNqPRaNDr9eh0OkZGRnA6nTidTgKBAPl8ni+++IJUKkUul6NQKOz3JSn8M31vJDUaDR6Ph6GhISYmJpibm8NoNPLVV19Rq9XQ6XT7/REHGpVKhcFgwGw2YzabMZlMGAyGxzwaJRb5OCqVCo1GIz1DnU6HzWbD5XLRbDap1+vUajVsNhsWiwWtVovRaMRgMBAIBPB4PHg8HoLBINlslqWlJVqtFtVqdb8vTaGHvjeSFouFN954g9OnTzM8PIzJZKLb7ZJKpYjFYsqCekE0Gg2hUIixsTGGhoYwGAw0Gg1u3rxJMplkfn6eTCYjj44KD7HZbExOTmK32zly5AjBYFDGcxuNBisrK5RKJdxuN263G71ej9lsRqfTYbfbMRqNGI1GzGYzlUqF0dFRMpkMP/jBD/j5z3++35en8M/0vZE0GAzMzs5y/vx5dDodOp2OTqdDLpcjm80q8cgXRK1W4/P5GB0dxefzodfrKRaLrKyssLa2RiQSoVgsKp7kLpjNZqampvD5fLz77rscOXIEn8/HyMgItVqNe/fuUSgUCAQC8t7a7XbU6sfLk5vNJmNjYxSLRW7dusXHH3+s3PM+oW+NpF6vx2Kx4HK5MBqNaDQaCoUCpVKJra0tGbtpNBr7/VEHGo1GQzAYZHZ2lmAwiFqtpt1uk8/nyWQyh95TF/FYg8FAOBzekdxyu90cO3YMh8PB6OgoHo8Hi8WCWq1Gq9XidrsxmUw4HA4MBgNarfaJsd1ut0uj0aBWqx3YpI1arZZhCZfLhdfrRavVYrPZZChCr9fT7XbpdDrUajXW1tYolUpks1ny+fy+fO6+NZJWq5WRkRGGh4ex2WwYDAaWl5e5d+8ed+/eZXV1lXg8rhwBXxCdTseJEyf49re/jd1uR6vV0mw2icVirK+vk8/nD7VHo1Kp0Gq1OBwOLl68yNjYGLOzsxw5cgSDwSDvmc1mw2g0ykSXwWBgdHSUbrcrDeNeCbB2u02lUqFUKh3YjV/kFywWC+fPn+fs2bNygzGbzYRCIRwOB+12m2azSTwe52/+5m9YXV3l1q1bipF8FI1Gg8FgkDuwWq2m0+nQaDRoNBpKmcQLIh5+g8GAyWTCarViMBjodru0221qtRrlcplWq7XfH3VfEV6h0WjE5/MRDocJBoP4/X50Op085YhSKeENCm8IoNPp0Ol00Ov12Gw21Gr1jiO3KBdKpVKkUinK5fKB2JjEpqDT6TCZTJhMJsLhMA6Hg3A4TCAQwGq1yg3GZDLJjUacaJxOJ3a7Hb1ev2/X0bdGUmQKbTYber1eZhEVXg5Go5FAIIDX691xTBTZ1UQiwfb2NsVicb8/6r6i1+txOBwEg0Heeecdzp49i9VqxWKxyOx2t9ulWq1SLBbZ2Njg3r171Ot1qtWq9IqazSYjIyPSYxebv3h9e3ub73//+ywuLnLv3r39vuyXgl6vR6vVMjExwfnz5/F6vbzzzjvSOFosFiqVCtFolGazSTKZRKfTEQwGmZqawmQyEQwGqdfrzM/Po1Kp9mXz6FsjKWrKhIEUu4tSs/dyEBlWp9OJyWRCp9PR7XZptVo0m03K5fKBPvo9K+JEY7FYGBoaYmxsbMfrwmNsNBpUKhVSqRRLS0tUq1XpiTcaDVqtljSmZrNZekbCSBaLRebn57l9+za5XG4frvTlIk4qer0ej8fD9PQ0Q0NDvPHGG4TDYXkaTKVS8l4VCgXUajVmsxkArVaLxWKRjtJ+0bdGcjfcbjdTU1PkcjmlPvIF8fl8/MZv/AbhcJjx8XE0Gg2ZTIZoNMrq6irJZJJCoXDojaTwZvx+PwaDAYB6vS6P1ZlMhnK5LJsatre3WVpaQq1W4/V6MZvNTExMMDIyImNuer1eho3m5+e5evUqkUiEjY2Ngb/n4nhtMBg4deoUo6OjzM7O8vbbb2M0Gtnc3GR9fZ21tTXW19cpFotEo1EAzpw5w8jIiHSG+oWBMZIqlQqPx4PBYCAejytG8gUJBAL85m/+pqzz02q1FAoF7t+/z/r6OqlUSun64EGZz/DwMMFgcIeRLBQK5HI5lpaWSKfT/OAHP+D69etUq1UKhQJ2u5233noLvV7P9PQ077//PkajEZvNhkqlolgsUqvV+Oqrr/if//N/ks1mWV9fp1wu7/MVvxgig22xWDh37hzvvPMOY2NjnD17lnK5zI9//GPW1ta4dOkSly5dkicXq9WK1+tlfHx81xKp/WRgjCQgEw16vb6vdppBQvQLiyC5iI0BlMtltra22N7eVupP/5l6vU46nUan03Hz5k1ZhlYqlSgUCrICQBwb1Wo1Ho8Ht9vN5OQkQ0ND+P1+WfoiEhLZbJZcLkcymSSXy1EsFg9EksxgMOD3+3E6nfj9frxeLwBra2vk83lWV1flJizWmEh82e12GR/vp+d7oIykMJBms7nvdptBQdT5eTwebDYbZrNZGsnenvj9KrfoN1KpFL/85S8xGo3Mz89jtVqp1+vU63WazSb5fF7GcOv1OqOjo8zNzTE8PMy/+lf/isnJyR2JHpVKRbPZ5N69eywuLnLjxg02Njao1WoHwki6XC4uXrxIKBTiwoULHD9+nPv37/NXf/VXJJNJLl26xPb2NpVKhWazicFgwOl04vF4OHLkCGfPnpV5iH6hb42kyGL1ZrOEYVQy3V8fUdtnsVik+o8o+xGJh2w2S7PZ3O+P2hc0m02Z8W+32+j1evl34u+73a5MMtpsNoLBIKFQSH4BMjPb6XRkoiaTyZDP56nVagN/v0Vi1WQyEQgECAaDUiilUqmwublJIpEgHo+TSqXkcy1qSkUZmghHCHqVk/aLvjaS7XabdrtNp9PZcVMVvh5qtZpjx45x8eJFpqamsNlsAKTTaXnUTqVS0jtSeIBYi6VSCY1GI+se1Wo1FosFg8HA8ePHCYfDHD16lHfeeQen0ymPmu12W2a5C4UChUKB7e1t4vH4gWn59Pl8hEIhjhw5wnvvvYff7yeRSPCzn/2Mr776iitXrshr771eo9FIKBSSRrW3ekUYXavVqmS3d0Psur0GUvz9QVhU+4FKpSIcDvPWW2/h9/sxmUyoVCpKpRLpdFq2fpVKJaVQ/xE6nc5jcVq9Xi9V3I8cOcKxY8c4fvw4Fy9e3PFQCyNZrVblPRYxSeGJDjoOh4ORkREmJyc5ceIELpeL1dVVbt68yd27d1laWqJWqz32czqdTqohGY3Gx7zI3oaS/aJvjWS1WmV7exuDwSDjPSLpoPB8qFQqKYEmukYcDodsQVxYWGB+fp7FxUVF7YcH98tutz+mAelyuWSGGx5kvn0+HxaLhbNnzzI2NiYV3TudDuVymWazSSQSYXt7m3w+z9raGsVikTt37rC9vU06nR54I6lSqfB6vRw7dozR0VHpdW9tbbG4uMj29vZjm654lr1eLydPniQcDuN2u4GHjlC9Xicej7O1tbWvlRZ9a3FExq/ZbEqhBZPJpBjJr4FWq8XpdGK1WhkbG2Nubk5mWvP5PJ999hk//vGPZYb2sHuRarWaYDBIMBiUAhVWq1V6SMLbsdvtjI2NYTKZ8Hq9WK1WKb5br9dJpVIUi0U+/fRTPv/8c+LxOLdu3ZJJCxFKGvRNSaVSMTY2xgcffIDNZqPZbFIqlbhz5w6XL1+mUqk8lpQSAjajo6P82q/9GqOjozI8IZoaKpUKS0tLLC4ukkwm920z6VuLI25Uq9WSR25xk0QlvtVqPTBZwVeJ2LHdbjdOp1MqrVQqFdnpkM/nqVQqA+/VvAgajUZ63EJj02g0ykRXKBTC6XRKI2m1WnG73VIXUqPRyKRMpVIhEomQy+XY2tqSCQuRqDkIiMLx3u4tnU5HqVSSHVuVSmXXcjLRjSNijlarVdY+i+RWrVYjl8uRTqf3VY2qb43kXtjtds6cOYPL5WJ+fp5YLLbfH6kvEUFwl8vF9773PY4dO8bJkydlMbPYodfX10kkEjQajYH3al4Eu93OqVOncLvdfO973+Ps2bNotVp0Op3cmHubGITwBUCtVpNZ3Hv37pFOp/nFL35BLBYjmUzKUQ6D3E3zKFqtlqGhIex2O1NTU0xOTpLNZrl8+TLxeFx21OyWR7BYLPh8PrxeLy6XS4Z/4EGoLZVKsbm5yVdffcXt27f3tch+II2kCPZWKhXW19f3++P0NWq1Gr1eL0df+Hw+qVaTTqdJJBIUCgWq1eqhNpDw4AjYm6U9deqULEHZCxF/rNVqZLNZ1tbW5NE6Go3KNsaDhsju2+12+VUsFkmn08RiMQqFwq6nPJVKhV6vx2q1YjabZf2zQNSdijKpZDL5Oi/rMQbSSAr5KiU+uTdiIXo8HgKBAKFQSNahiR1f9Bu32+1DfdQG5DF7eHgYq9X6zA0LQrgin8+zsrLCpUuXyGQysqvkoMZ4xUlFSBmKMITI5u/1c8PDw7z55pvMzs5Kb1yE1aLRKJ999pnsZtpvBtLKCIkq8aWwO0Lmy+VySSMpFnIul+Pzzz9nbW2NWCx26L1IeHC/gsEgQ0NDsmbvWeg1kqurq/ziF784MJqQT0M8g71GsjeXsBuiFO3ChQsEg8EdRrLT6RCNRuWRvR+k+gbSSCo8G0ajUepFiuOMaKcrFouUy2VFWLeHTqcje7JTqZQstoeHiURxtK5UKlitVkZHR6WREPqJ4v8frfE9aIh7odPpZAa72+1iMpnkdMhehPiFwWDA7Xbj8/lwOp3AA8MqlKcikQixWIx0Ot0XTQ0DYSSFW9/7pfB0PB4PZ86ckcfHbrcrxRgikYjMuPbDQuwHqtUqm5ub1Go1VCoV8XhcviZq/xqNhixLOX78OP/23/5bvF4vOp1OZmktFgudTodKpXJgj9rwwLDFYjGy2SzxeJxSqUSn08Hv99PtdqUupECr1Uq5uNnZWU6dOiU3lkqlwrVr11hYWODq1atcuXKFarXaF0IrA2EkRYzjIC+4V4HYsV0ulxTVrdVqUslGeJXKUfsB7XabYrGITqd7LFkgXqvX62xubrKxsYHH46HRaNDtdneIRIsH/6Bv5mJ4WW85Wb1ex2QyYbPZcDqd0lOEB+vR4/HgcrlwOp1S9KPVakm1pWg0Sjqd7ivB5743kq1Wi1QqRTQaJRgMYrFYDvQR5mUgjnxDQ0NcuHABv9+P3W6n2+2ysbHBl19+ycLCgpLRfoRCocD169fR6/Vcv35dxsoEogBc1JWGQiH5IIvsrs/nIxAIoNVqD3wNrwhBdLtdlpeX+eijj3C5XExOTkptgO985zvy+0VVislkYnZ2VtZUrq+vk06n+fTTT/niiy/IZDJ9dd/63kiKHTybzeJwOPb74wwEIvvvdDqZmpqSCxMgk8mwtLTE1tZW3+zU/UKtVmNjY+OZv7+3xEXoRYpxs6KN9qAj4q6JRIK7d+8yOTnJm2++idvtxu1276hv1Gg0smjcZDLJ4vtEIkEsFmNxcZHbt2/v49XsTt//Fnvl4JVM9tMRNWhGoxGz2YzFYpELstvtkkqluH//vixuVni5OBwOpqensVgsbG1t9UV29lXTu65KpRI+nw+XyyXl08SmbTAY5FRO0d9eKBS4d+8eW1tbZDKZ/b6UXel7I6lWqzEYDHKnVtgbIWZhs9lkq5jdbpexn83NTT7//HOpiajwcvH5fJw/f56NjQ1u3ry574XQr4tIJEIqlcLr9VIoFHA6nQwPD8vKCpPJhN1ulzO2O50O7XabVCrFpUuX2NjY2JEo6yf63kjCwz5PxZN8Omq1WsbGnE6nvGfNZlMqajcajQOdBDOZTFLBp1cOrlqtyiTBiyCSM0Jw5VFR2MMo5yfua7lcJpFIUKvVUKvVVCoVuWmL0boqlUpOmBSJxFwu17dVFn1vJMVD73a7ZVxNYXfE+NOzZ89y9uxZTpw4gU6nkzVoxWLxUAz3mpiY4PTp07jdbo4ePYrRaOTSpUvcvn2bTCbDxsbG1/aiVSoVgUCAkZERZmZmsNlsO0JBlUpF9msfpnCGUDRKp9N89dVX8ngtYuPinp07d45wOEy5XCafzxOLxVhbW2Nzc7Mvyn12YyCMpBKTfDq9LWJer5fR0VHcbrcsahZqP/26EF8mQsLM7/dz+vRpjEajLFButVpoNJoXasM0m8243W4pytC7LpvNJpVK5dBJzgnveTcRD5fLRavVwmAwUK/XZVa8VqvJmdv9PCWy742kwrOh1Wqx2+04HA6mpqY4ffo0DocDlUpFoVDgs88+Y3V1lYWFhQNd9qNSqRgdHeX999/H4XAwNDSEVqvl/fffZ3p6mjt37gBICa5KpfJcnTFitPHMzAzDw8MYDAbZlthoNIhEIty6dYtkMkmlUnmVlzowtNttarWa/BJjLIR0XL9vJoqRPCBotVpsNhtut5vx8XGOHz8ue2FLpRJXrlzh+vXrRCKRAx8vC4fDvPvuuxiNRhkv9Pl8tNttAoEAy8vLMm4mPOvneVBFLeDQ0JBs9xQeUTQa5d69e1KfU+HBvRXxx0ajQb1ep1QqkclkKBQKfb9p972RFGUC2WxWZm4VHiJKLOx2O3NzcwQCATweD4AULY3H43KGzX6Kl74uhLESsWyhwg4Pss9nzpwhk8lgs9nIZrOk02lZErXXfB9RyiKUlex2+47EWK+3VK/X+/7hf12IbiSDwSAndIrYbb8Vju9G3xvJRqNBNBpleXkZYId8vgIyQD4+Ps4f/uEfMjY2xszMDPCgcPz27dtsbGywsLDA6upq3x9tXgZbW1tcvnyZYDDIhQsXZJZfo9Fw9OhRwuGwHA2QyWS4du0aV65cIZ1Os7CwsKsHKIZSCaWgI0eOPKbyLoZ7FQoFyuWyYiT/GaFcbrfbpfJ7IpHg2rVrRCKRvk9w9b2R7HQ6UnwzHA4DD2sn9Xr9oTeYBoMBm82Gw+EgEAgQCAQwmUzywU0kEiSTyb7qhX3VlMtlYrEYGo2GUqkkPRihJG40GqWSuNlsJh6PE4lE0Gq1xGKxHQo+7XabZrMpy4nMZrMUsjAYDHKedq1Wk8K7ItOr8AAh/iGU3YXo86BsJn1vJMvlMleuXGFrawuTycTc3BxWq5W5uTkcDocMxB82hGL21NQUZ8+eZXJyksnJSfx+v6wLnJ+f5+/+7u9IJBKkUqn9/sivhW63y/z8PKVSifHxceBBjFIkWgQ6nY6hoSE5PuDMmTPEYjF+8YtfyLGvlUqFZDLJysoKJpOJc+fOEQwGOXXqFIFAQNbu1ut1VlZWuHv3Lmtra4fCW38egsEg3/rWtxgaGpKCF/l8nq2tLdLptHLcflEajYZUKP7GN75Bt9tFr9cTCAQAHpNjOiyIWKTf72dubk5Om7Pb7dKjSSQS3Lhxg2w2e6iSCIlEgnQ6TaFQ4Pjx4zQaDQKBwI6ElYjjAni9XmZnZ9na2qJSqZBOp4nH4+TzeTQaDdFoFJPJxPj4OOPj43KuS68SdzqdZmNjg2w22/ee0etGzMAJBoPyeRXx8kGY8d73RlIctwGy2ax84DUajXTdDxtarVbOexazWDweDwaDgXa7zfr6OltbW6ysrFCpVA7dgC9xrblcjqtXr7K2tkaj0SCZTOJyuRgdHZVdM701jlarldnZWUqlEsVikWq1yvHjxzl58iQGg4Hjx4/j8XgIhULy3xGZ2kQiQSQSIZvNHvjqgefFaDTi8XhwOp0yNCG6v5rNZt/fr743ku12WxrGRCJBPB6n2+3K+NJhUFp5FJ1Ox8jICIFAgHPnzvHNb35TFjVXq1Xu3bvHL3/5S+7cuUOxWDwwI0yfFRFLTKVSfPTRR+j1eqLRKHNzc8zNzWE2m6XeYa+RtNvtnDt3bkdbodAyFUIrarUajUaDSqWS86Xz+TyRSITl5WXFk9wFs9lMKBTC7XbLWHm1WpWiuoqRfEHEgm+1WnKCmsjoWiwWnE4nHo9HBuL7/Ya/DNRqtUwgmEwmKfxRLBalVxONRg/9Ayv6gzudDplMhmg0itls5v79+zgcDkZGRrDb7TKZIzqWdnsfQJYRdTodWq0WlUpFqrvncjnK5bIUoVXYiahXFUkt0Zkj9Cj7mYEwkmKhx2Ix7ty5QzAY5MyZM/j9ft58801arRbr6+vcvHmz74PALwOtVksgEGB8fFyWRBUKBe7evUsymeSTTz7h008/pVqt9q1owOtCtMDNz8+zsbHB1atX+dnPfobH4+HXfu3XmJiYYHJykunpaTQaza5G8tGpidVqVWpPfvjhh2xvb3Pr1i3i8fhAPPT7hWhsaDQa5HI5crncngPD+oW+N5Lw0Jssl8uyCFiUdXi9XoaGhsjlcs88AnTQ6dXYhAcPbalUIplMEo/HicVifSs7tR90u11KpRKlUolsNksymcTj8UjxC7fbTb1el5qbe60jsWmXy2Wy2SwbGxtsb2+TzWYPXVjjWeidSyXunVCiEkrv/c5AGEl4sDjX1tb4p3/6J44dO8bx48dxOBzSqywWi4fGSFarVa5du8bq6iq3b9/mRz/6EbVajXg8TrlcZm1tbb8/Yt8iWuRyuRyffvopd+7c4f79+9y/fx+LxUIgENhTt1SsQzGK98qVK9IrUniISqXCarXKTchms6HX69nY2CCTyQxUgmugjGQ0GiWfz9PpdEilUuh0Onw+HzabjaWlpUOjElSv17l79y7AYzqGCnvT7XalruHVq1dRqVRsbGwQiURwOp3MzMzsWVbW6XT46quvuH79OsVikUgkciiUlZ4XlUolE2R2ux2LxQI86ALb2toaKMm+gTGSgJRXSiQSfPbZZ7hcLmq1Gs1mk6WlpUMRj3wUxTC+GOIoLjbgZrMpwxi70el02NjYIJfLye4ahd0RPdui8qLRaBCLxVhdXSWXyw3M2h0oIyliGbdv32Z9fR21Wi3LNYTCiILC8xKLxUilUlLA4mm1t8ITFSMIFB5HVAoIYQu9Xk+lUuHGjRtcvXqVWCymGMlXgTCIohBVQeFl0Gq1DuUp5FXS7XZlqZT4ajablMvlgdMRGCgjqaCgMBiIUQ7FYpH19XU2NzcpFAqUSiXq9fpAbUqKkVRQUHgliK4akf0vFovSQPZ7bWQvipFUUFB4payvr/P973+fer3O+vo65XJ5oJocVN1njJ4eRiGJJ/F1A87KPXyIcg9fnEG5hyIhBvSdF/ks91DxJBUUFF4pold7UHlmT1JBQUHhMHI4+vgUFBQUviaKkVRQUFDYA8VIKigoKOyBYiQVFBQU9kAxkgoKCgp7oBhJBQUFhT1QjKSCgoLCHihGUkFBQWEPFCOpoKCgsAeKkVRQUFDYA8VIKigoKOyBYiQVFBQU9uCZVYAUiaqHDIpEVT+j3MMXR7mHL86z3EPFk1RQUFDYA8VIKigoKOyBYiQVFBQU9kAxkgoKCgp7oBhJBQUFhT1QZtwoKCg8EY1Gg9lsRqPRyL/rdrt0Oh2ZGVapVBgMBoxG43O9t0qlotVqUa1W6XQ6tNttut0urVarr2biKEZSQUHhiXg8Ht5//33cbrc0jPV6nWKxuMNInj59mvPnzz/Xe6vVamKxGF9++SX5fJ5cLkelUiEWi7G8vEy73X4Vl/TcHGgjuVs92GGZe7ZXLdxhuQcKL47ZbGZqaoqhoSFpJCuVCplMRhoxjUbDW2+9xa/+6q+i0Wjodrt7rjGxNlUqFWtra5TLZVKpFPF4nEKhQK1WQ61WK0by62A2mzGZTBiNRlwul/yFdDodstks29vbaDQafD4fZrOZY8eOMTMzQ6VSIZlMUq1WiUQi5HI5isUi2Wz2wBgMvV6Py+XCYDDg9/txOp243W7C4TAAuVyOWq3G9vY2kUiEbrdLs9ncdQZyu92WA+SbzSatVut1X47CPmOz2XA4HIyNjTE3N8fw8DBqtRqVSkWj0aBare7wJMfHx1GpVE81kPBgkxaG0m63c/bsWUqlEoVCgWq1yvz8PBaLhWKxyPb2NuVymVqtRq1We+XXvRsDZSQtFgs+nw+n08n09DQGg4FWq0W322VhYYFEIoHBYGB0dBS/388f//Ef8zu/8zukUilu3rxJJpPh008/ZXl5ma2tLfL5fN/sVi+K0WgkHA7LRTcxMcHMzAzf+MY36Ha7rK2tkcvl+Pzzz/n888+p1+tUKpVdr7/RaBCLxahUKlQqFcVIHkKEgZyenubkyZOMjY1hMBjQah+YjEcNoYhZPqvTIb7P4XDw1ltvyU272+1y69YtrFYriUSCL774glQqRTqdVozkk9BoNLhcLoxGI8PDw9IQTExMYDAYaLfbtNttVCqVdNMDgQB2ux2z2YzRaMRqteLz+dDr9UxOTqLT6QCIxWI0Gg0ajcauHlU/o9FoUKvV2O12bDYbbrebY8eO4XA4mJiYIBwO4/V6MZlMdLtdHA4HarWakZERcrkczWaTSqWy66Ku1+v4/X7K5TIbGxtEIhE6nQ7NZnMfrnRwEb+jYDCIz+dDpVLJZEUkEpGbdD+uvUajQblcJp/PE41G0Wq1OJ1ObDYb9XqdUqlEu92mXq/T7XYxGAwYDAY0Gg0WiwW1eu/CGeFJqtVqDAaD9FK73S52u52RkREsFgv5fJ5UKsXq6iqtVotWqyX/zdd1Cux7I2m1WnnnnXcYHh7m1KlTnDhxArPZjMfjQaPRyDhJKpUiEonIB7tWq+Fyueh2u9hsNo4dO0az2WRycpJKpcKHH35INpsll8sRi8X2bZf6OqjVasxmMwaDgTfeeIMLFy4QDAZ56623cDgcmM1m9Hq9XLQAwWAQv99PKBTi4sWLj2Uoe2m1WuTzeSqVCn/913/NP/zDP1CtVsnlcgfG837VqNVqjEYjRqOR3/u93+MP/uAP0Gq1aLVa8vk8//k//2d+8YtfUKvVKJfL+/1xHyObzVIqlSgWi7jdboLBIKdOnWJiYoJoNMqtW7col8vE43HK5TJDQ0MMDQ3hdDo5cuQIZrN5z/cXRtJisRAKhdDr9ajVatRqNePj4/h8Pmq1GhcuXKBYLPKjH/2In//85/II3mg0ZDb8VdP3RlKj0eB2uwkEAgwPDzM5OYnRaMRms+0IElssFsxms4xrFItFDAaDfA+LxUK320Wv19NqtQgEAjgcDlqt1o7yhn5HrVaj1Wrl9QYCAcbHxwmFQkxOTmK32+UC7Ha7ciGpVCrUajVWqxWr1Sq9mt4guviedrtNsVikWq0yNDSE3W4HIJ/P79t17xfCw+lNhImHufcePloSI9acyWRieHiYubk5dDodWq2WbDaL1+uV4SLhQfUTIh4tPMlms4nP58NmsxGLxdjY2KBYLLK1tUWpVKJWq8lYtsvlwmKx7Pn+4n42Gg2cTqd8NrVaLUajEZPJRLPZRK/XUy6X5clIo9GQzWaBByee17Fp97WRVKlUaLVabDYbLpcLp9OJ3W5Hq9VKd753R1Kr1fIX1Gq1CAaDOxa3SqWSv4jR0VHefvtttra2SCaTfbmbP4rRaMThcOByufiVX/kVxsfHmZqakju3yWQCoNPp0Ol0yGQybG5uUqvVSKVS0ltWqVQYjUY8Hg86nU4+vG63m1AoJD1VnU7H+fPnabfbLC4u8sMf/vDQGEqxTux2O16vF61WK70dn8+H1+vFbDbj8/nQaDQkk0mKxSJGo1HWFRqNRnQ6HW+++SZWq1UaVxE6mp2dJRqNyqNrP1Iqlbh9+zZGo5Hl5WWcTifFYpFkMimP5M1mk0wmw8rKCkajkcuXL8uQ1l6oVCqCwSBvv/02breb6elp/H4/Op0OvV4vnR+j0cgHH3zA1NQUm5ubXLp0iXQ6zZ07d9je3n7l96BvjaTYoUUxq81mk95Tr6ckvlfERAD8fv8T31cEnn0+H3NzcxiNRn7xi1+84qt5Oej1epxOJ6FQiPfee48zZ87ILHYvIk6by+VYXl6mUCiwurpKsVjckVUcHx+XD7VOp6Pb7RIIBKRB0Ol0HDlyBJPJhMlk4qOPPjoURlKlUqHT6TAYDDidTsbGxtDr9fI+TU5OMjExIROIWq2WlZUVEokENpsNp9OJRqNBr9ej0WgYGhraUWhtMBjwer2MjY1RrVb7WrqsVquxtrYGwP3795/4fYlE4mu9/9jYGGq1mlAohNlslnkEcaoxmUyo1WrOnDnDmTNnWFxcpFarsbW1RSQSOZxG0mQyodPp5A4eCASYmZmRi/JlLah2uy2TNv121HkSzWaTYrFIsVikUqlQrVaxWq3Ag2NLLpejXq+zurpKPB4nHo+zvLy8owRKYDKZSCaT6HQ6ec9TqZQ8kgeDQQwGAzqdDqPRiF6v7+uH+WUgTi46nY6pqSlCoRChUIgjR45gMBik0QsEArLMzGw2ywRau92WSTSNRiNPPMLD7/13HA4HXq9Xhj4OK+VymaWlJVKpFPV6nfv37xMOh5mdncVsNkuPXSDCFzqdjunpaVqtFoVCgWQy+cqe474ykmq1GofDgcPhYHJykjfeeAO/38+3vvUtRkZGpBf4Mmi1WlQqFRlLGQRqtRqJRELGZYrFIna7XRb4Li4ukkql+Nu//Vu++OILqtUq+Xx+R8uXQHjparVaHi3Pnj1LPp8nGAzy/vvv4/f75RG/14M/qAiDZrFYePfdd7lw4QIjIyOcOnUKnU63Iwap1WplzLfdbhMMBrFarTidTnw+347s7qMxb2FoJycniUQiB/6+7oUoy1Or1Xz44YdoNBq++c1v8kd/9Ef4/X6sVusOI+lwODh9+jT5fJ56vU4oFOLu3btkMplXVqq270ZSuNUiLma323E6nXi9XkKhkAwWP60vVPR7djodyuWyLK3odrvSWxJxIq1WKz1JUZs1CPT2tWYyGWKxmPRYMpkMkUiEVCpFLBaTMaMnlfmIB10YBpGJFcds8eC2222azebAbCQvgkiICS8vEAjg8Xiw2Wyo1Wqq1SrNZpN6vU69XqfT6dBoNGi1WjLRVa1WaTQaMmTRm8ARiJiw1WrFYDAcaiPZ6XQeqyyJx+NsbW3RbDYJBAK0Wi2sVisWi0Xez06ng9vtJp/Pv3JvfF+NpEajQaPRYLVaZV3U2NgYgUCAubk53nvvPSwWC06n84nvIbLb6XSazc1NMpkMly5dIh6Py+N0MBjkzTffxOVyceLECYaGhqjVaqTTaXK53MAVSxcKBf7v//2/fPnll3i9Xvx+P/l8nvv371MoFIjFYpRKpSeW+MCDuJjP58NisfDOO+8wMzPD1NQU586dw2w2y4xjOp1mdXWVWCw2cPfpebHb7Zw5c0aul7Nnz6LT6Wg2m5TLZa5cuUIymeT+/fvMz8/T6XTkPREnEr1ej8lkwmw2Mzk5icvl4uLFi1y4cEE+yKIrTKVS4Xa7D7WR3I35+Xn++3//7zgcDs6ePYvf7+eDDz7g4sWLmEwmuXHNzc3h8XhkmOhVsa9GUpSzGI1GvF4vdrudcDgsy31GR0dlMuZRhHEUHmO5XCaRSBCLxbh+/Trr6+uylWlychKv10u1WmVqagp44CHVajXpEQwSjUaD1dVVtre3cblceDwe8vk8i4uLVCoVYGdSazd0Oh0Wi0VmFU+ePMno6ChjY2MyrCF2eXG0H7T79Lzo9XqCwSDhcFjWlTabTarVKpVKhUgkwvr6Or/85S+5cuWK3IR616Hw7O12O4VCgWAwyNGjR3f8OyqVCpPJJE9IipHcSTabJZvNyooAn8/H8ePHgYflfDqdDq/XC7Cj7O1VsK9GMhwOMz09TTAY5MKFCzJTa7PZ8Pv9T6xfrNfrZDIZqtUqy8vLJBIJIpEI8/Pz5PN5lpaWpIfYarUolUrU6/UdnTU+n49z587hdru5fv06+XyeVqs1EIag0+nIo5+4PhE6UKlUstBc1JP27rIie+j1ejl58iROp5NTp04xPDyM0+lErVbT7Xap1Wo0Gg3u3bvHT3/6U7a2tgaq4P7rYLPZOHXqFGNjY/IBzOfzMhH25ZdfsrKyQiQSeazrQ/xZnI5sNhvnz59namqK0dHRHQ9xt9ulVCqRyWQol8sDE+553TQaDTY3NykUCmQyGTqdjlyfvbzqZ3bfjKRoiv/Wt77F2NgYv/ZrvyZLWR4tdH6UWq1GNBolm83y0Ucfcfv2bba2tpifn5eGrvdGimLXXiMZCAR44403ZAw0FovJLpR+RyRq4MHRu7ckSmSnRT1lKBSSnqFKpcLj8eD1egmHw3zzm9+Utae9iRmh8Vcul7l9+zY/+clPqNVqO7LjBxGr1cqZM2eYnp6WIZ5sNsu9e/fY3Nzk8uXLLCws7NkSJ+K8NpuNN998k9OnTz8WLup0OhQKBVKplGIk96DRaLCxsYHBYCCdTu+6Kb0OXruRFL3YZrOZUChEIBDA7XbLIPeT6Ha75PN58vk86XSae/fukc1m2dzcJJlMUigUaLVaTxRsyOfzWCwW6QGIIL3NZsPn85FKpchmswNXBygKlM1mM0NDQ7ILRxg/UewscDqdMjFhs9lk+c+jG5IoSG+327tuPAeVR6+x3W7L4/aTVJPgYZ+23+9ncnKSsbEx3G73DsFa0f9eLpfZ3Nxkfn6eeDw+EBvzfvGk9llRG202m6WjUyqVqFarLz3J+NqNpNls5s0332R0dJSzZ89y/vx57Hb7U7PXnU6HO3fucPXqVaLRKJcvXyaXy5FKpfY0kPCgFmthYYFCocA3v/lNWq0WBoOBQCBAo9HgzJkz2O12bty4MXBGUtQxzszM8Gd/9meEw2FCoRBut1tmWAVqtVoeB7Varazx2y3oLQxkb9ztoCPCDNVqFZvNBiC7lbLZ7BMFPkS2Wq/Xc+HCBf7sz/4Mj8fDkSNHsNvt8v42Gg3S6TSpVIof/ehHfPzxxxSLxQOfEHsViHZli8XC+Pg4R48elUIYL7t77rUbSVEL6Xa7cblcsgZvLy9SPLCFQoFIJCKr7QuFAuVymXq9vue/KYqwLRaLPHILQ2EymfD5fJRKpac25fcjWq0Wg8GAzWaTiZdQKITL5ZLlVcAOYyc8F+Et9iqyiH54eFgmpNfr5fcdZGMpysJ6e4JFBvtJYgq9nSFCym98fByn04nFYtlRT1mv18nlcmQyGeLxONFo9NB46K8CcW9Ft53RaHwlWe7XbiQfdZNF//CTLq7VapFKpSiVSly7do2f/vSnFItF0um0TFY8jUqlwvr6OtVqVXqdwjA4HA7ee+89jh8/LjPjg7Ro3W43Y2NjzMzMMDY2xvDwsNx0xIPZaDRIJBJUKhWKxSKlUmmHIRShDr/fz8jIiMwgGgwGpqeneeutt4jFYty5c+dAxyUrlQr37t2jUqlIYWfhce/2AIq6W7PZzPvvv8/s7CynTp0iGAzKelx4kPwpFAqsrKzw4YcfEovFWFpaem0qNgcREZevVquk02mSyaSUAHzZ7IuRFN6J6Mney/qLHuRcLsfa2hq3bt167phDo9EgmUwCSKFZ4bkKBfNKpcIPf/jDr39h+4BKpcJms8n2OY/Hs6OPWwiZ1mo14vG4DE+kUqkdRtJoNEptzkAgIGv9ut0uoVBI9ifPz8/v16W+FkRPsEqlYm5uDkD2YO/WlinEKmw2G8ePH+fdd9+VcmG9IrTlclnWm3788cfEYjFSqZQSi3wBut2ubJaoVCoUCoVXJhTyyo2k6OAQNXler5e5uTlmZmZkQW0vIg6WTCaJRCIUi0WWlpbIZrOsra19rZ3XbDbj9/sJBoM4HA60Wq1cxPV6nc3NTbLZLJlM5qVc8+tCPICJRAKTycTly5fxeDzy9UqlQi6Xk2MrRN/3kzzJWCxGsVjE5XJx8uRJ7HY7gUBA1qiJxNeglEo9L/V6XQomiEFXdrud2dlZbDYbR44cQa1Wy3vodrs5efIkXq+XI0eOEAwGpb6AKNNqNBrcunWL69evs7a2JjPaioDx0xHKVFarVcaIexHdT7VaTbYYv4p1+UqNpKjZs1qtUjRX9AVPTU3t2pIlHsKFhQV++MMfkslkuHPnjjRiX+cmuFwu3nzzTUKhkBRuEP9uuVzmq6++krHOQTv+ZLNZOp0O6XSaQqGwo/0tnU6zsbEhxS9EPHa3TCHA6Ogo169fZ3x8XGbIp6am8Hg8GI1GPvzwQykSexCNZLlcZnFxkUwmIwdd+Xw+3n33XeLxOBsbG7hcLtbW1lhbW2Nqaorf//3fJxwOc+zYMcLhsEyENRoNWS3x4Ycf8pd/+ZfU63V57w7i/XvZGI1GJicn8fv9+P3+x2pNhUJ6sViUzsCreH5fuZG02Wx4PB7ZRePz+bDb7VICCR52doijdbFYJBqNEovFyGQycrE9LUHzJITcmqjU763BbLfbVCqVgd3dW60WtVpNahr2ZrPFxtJoNCiVSk/NooryKofDIe+FXq+XIgPi2Fmr1QbyXj0NIRqr1+vJZDIkk0kMBoMUKvb5fBSLRZncEV05Xq/3sSSNqOVNp9PE43E5qkHJZD8dIb5iNBoJhUKEw2EcDseO7xFGslqtyq65gVQBEsoyouTn3Llz0mhqtVppqEqlEouLixQKBW7cuMHa2hrr6+tcv359R43a14036HQ6nE6nnCbYGwNttVoyVjeISQnheZdKJfL5/I5rE/FIUR3wNPL5PAsLC6hUKnkvTCYTer1eSvj3HnEOGuK4nc/n+fjjjykUChw9epRvfetbOBwO3n//fc6dO0c0GiUajRIIBDh79qzc9OHhbJjNzU3+4i/+gvv377O6ujpQQir7jdiYxsfH+cM//ENOnDhBIBDYUW/aarXY3t5maWmJRCLxSj3zV2ok1Wo1Ho+HyclJRkdHmZqa2lEPKRZNb/3Y0tIS9+/fZ3t7m+3t7RfaeXtlrYTSjTDOvZX7ojZuEHd5IdUFvLCRr9fr5PN5isXijpnKYlcX4ruDNO7ieeh0OnI65ObmplTEb7fbchqlz+fb0dEkhq0JRLeSEBy5ceMGlUrl0B+vn2cOvHheHQ4H09PTHD9+/LGfF/H4XC73RKWrl8UrMZIi6yeSNaIf+9EsdqPRoFarsb6+zj/+4z8SiUTY3NyUwe2vs7B6Rw8EAgH8fj8zMzO8++67UnYfkDJX5XKZTCZDKpWSrX4Kh5t2u83m5ib1eh2n00kqlcJms8kEZCAQkPJnQtFdnHZWV1e5ceMGkUiEeDw+sJvvy0AkBK1Wqxzc9yhimJg4KXa7XYLBIOfPn2d8fBybzbbDAAodWCHocuPGDTY3NwfPk+yNATocDjwej1T06KVer1MoFNjY2OBHP/oRKysrOzy8r/tvW61WjEYjs7OzzM3NceTIEb7xjW9IAQdA1hBWKhXpxQ7icVvh5dNut9nY2CAajTI8PCxVrwOBwI6iceHdiEy2SPz89Kc/JZFISCN5GOkdgeHz+ZiZmdl17k0qlaJYLMoedlGG9s477xAKheQQOjHMTjSGZLNZlpeXuXnzJrlcbvCMpMlkYnJyEo/HQygUkj3CvcmSTqdDKpVifX1d7tov40JFSYtQuhH6lI/2J4t4nSiwFqMPDjMGgwGHwyGHrR1mRHeSWCePrs/etdTpdMhmsyQSCba3t4nFYmSzWRqNxn589H2ht+vF6/XKhJ/RaMTn8zE1NbXrmspkMuh0OsrlsuxsOnr0KMFgUDaaCERtZCqVIplMks/nKZfLr/w+v5Inwefz8bu/+7uMj49z+vRpxsbGpABAb/3YV199xUcffcTW1haFQuGl/NtCBcfpdHLixAm++93vyolrsDMOKhI2KysrLC0tHciM7fPgdDrlPKGn9dIfFsQ6EVqTu9Fqtbh//z53797l+vXrMuF4mDZdMaAuHA7zwQcf4PF4pLqUy+ViaGhox3FbbDKFQoG1tTVqtZqsv/X5fIyMjGAwGB4bTZvP57l58ybRaJTV1VUSicQr71x6JUZSCGIGg0FsNtsO4VwRCxTD7re3t0mn0y8ct+kV8BW1mTabDYfDIesie2+kKMc4yNna50Wv12O327HZbDt2feFVHRShCxFy2e16RC+2aEUUEnJPSjyIkRr5fJ5EIkEmk5H6ngeZ3qSo0GMQDRsjIyNSRFu0HwcCgcfGQMODBgXRMy+MpN1ux263o9PpHotjNptNKcor4sCvmpdqJEUhrcFgwG63SwMF7GjyF2MW7ty5I7N/X3fXFb8kj8cj66mOHz+Ox+NhaGiIVqu1a8BYyFYppRkPcbvdnDhxQo7SAOQ8FyEkMuj3S7QRiuyomJbZ6XSkfJ7FYuE73/kOJ0+eZHJykpMnT+6Yay5oNpuUSiVyuRzXr1/n5z//+UvZ8PsdIapiNBqZmJjA7Xbz1ltv8c4772Cz2QiHw+j1egwGg2zrfNImI2ohhTcoZlKJUr1H8xj5fF4mxrLZ7Ou43JdrJMUuLFL4JpNJeiRiIYpyHzHsZ3Nz84X6LcW/53A4GBsbw+VyMTMzg8fjwel07pD76qVXcv+wl2cIzGYzw8PDsisJHsZuRbG/uGeDijCEwA7vBR5OSxSzbr773e9K4eLdNlrRiCDUqXpFnw8yYsKmmEk1NDTEW2+9xa/8yq/s6Fl/EiIJA8hn91k33kqlwubmJpubmy9dEu1JvFQj6XK5CAaDcqaM0+mUHSD5fJ6NjQ2y2SyXLl1ic3NzRzb7eRC92GazmXA4LGMeU1NT2Gw2hoeHZdmBKAd6dEeKx+NcuXKF9fX1Q1/6I3rZRVzJ5/Oh0+nodDrMz89z+/ZtFhYWpBr8IB8lxWlGbJK9R26LxcL09DQ+n49wOIzb7cZkMj1m9NRq9WMtck8Shz1IiDnsw8PDnD17FofDwdzcHF6vl5GRkV2rV5rNJrlcjlgsJu+jSqUiHA4TDoef+zPY7XaOHz+Ow+GQql6vmpdqJIPBIG+88QZTU1OyBVHcuEQiweXLl4lEIvzDP/wDy8vLeyo974Xdbufs2bP4fD7eeecdpqen5XFbHL/FQt4tDgKwtrbGP/7jP5JMJl+b296PCOk6g8GA1+uVE/5MJhPtdpvPP/+c//W//he5XI719fUdIzAGkVarJT0QEToQhs1ut/Pmm28yPDzM7OysPAY+enwW44/hoU7nowb3oKFSqbBYLFitVs6ePct/+A//QVaviK6sRzeOcrksu+k+++wzGVJTqVR8+9vfJhQKPbf+o8fj4eLFi2xvb7O+vs7GxsZLvc7deKlGUoi/Wq1WaazgoWRXsViUHQ1ihILogHl0dxb9m6LusbcUIBAIMDY2JnvCPR6PFO/d7aaLf793gFY6nSabzVIoFA7FTOknIURIxCgLMURMPPiie0T0fg+ygYSHYRbxZ7EOxfAuIaZgMBhkzDGdTu9YI2KNt9ttefS02+24XC6q1apUEDoIiOSMVqvF7/dLDQaPxyM3U7PZTKvVkp5jqVSi2WwSi8XI5XJsbm7KWkaLxSKLzEXyp/f4/bTPotfr8Xg8tFotfD4fHo9Hiq68Kl6akVSpVFitVoaGhvB6vdKoiQdLzIPOZDI4nU7Gx8cffoh/jhP1xn1E/6bD4eAb3/gGgUBA3lSz2SyFTZ1OJ2azeYdRfpR6vU46naZarXL//n0SiQSfffYZq6urL5Q0OghotVqmpqYYHx+XRyej0ShFHAqFAvl8nmq1OvAGEh6OEoaHU/aE+PPs7CwXL15kdHSUdrvN1tYWt27dkupH7XYblUrFsWPH5Mzno0ePYjQaOX/+PI1Gg5WVFa5du3Zgysl0Op2UK/ud3/kdLl68SCAQkOOexXNeKBSk+O3Vq1fJZDLcunWLjY0NGfpyOp0cO3aMYDAovcjeIXZ7IZ59Md0zn88TiUTweDwsLCxw7dq1V5Ywe6mepCggtVgsO7xIkRwRI1BF4Fx8j06nw2az7TCSZrNZduuImdDiRun1evn9Ykd6EsKLFJJK0WiUSCRCIpGgWCwO5Nxt2DlRUlz/s+zGjx4JdTodLpeLQCCAy+XCaDSi0+lknZ/4OigPfa8nKej1BMVwulgsRj6fJxaLce/evR0qSkajUc4QEpuz1+tleHiYTCZzoOZoixZjq9XK6OgoJ06ckMfuXqek0WjIiQFra2skEgnu3bvHysoK4XBY6kGKDal3Ouej9CZTxfeI51yIrej1esLhMJlMhnQ6jVarfWVJ2FcSkxRuODy8uPHxcX7zN3+TSqVCNpuV7VpqtRqdTieP6PKD/XOZgdlsZmxsbMcAcpHRflL9msjACgm0jY0Nfvazn5HJZFhZWSGVShGPx+Usk0E5GokQhChsNpvN+Hw+AoGA7Gx4UqdMo9Gg3W6TTCbleE548MBfvHhRjn/QarU0Gg2i0ajsaRf9x4O4mTwNMWZ3dnaWsbExDAYDnU6H5eVl5ufnuXnzJhsbG9KTVqvVsh7SbrfT6XTkAyu6QV7FnJX9wmKxcPToUQKBACMjIzgcjse617rdLtFolKtXr8rRF8FgkN/+7d9GrVbLxKpIjImurkfHw4o1KvrfO52OlOg7evQoMzMz8vt1Oh3Hjx/H6/XicDhot9tkMhnm5+cpFosv9R68VCMZCAQ4ffr0juJxkUQZHh4mHA7TbrelJh887PF81JPs5Ume0m7GTXgKrVZLDjWfn5/n//7f/0ssFiOdTu9Q5h4kegvmR0dH8fl8HDlyhKNHj+J0OpmdnX2slg8eBtEbjQYLCwssLi7K6zcYDLz77rtMT09jNBrRaDRUKhXi8Tjb29tkMhlqtdpA3q9nxe12Mz09zcjICEajkW63y9raGleuXGFxcZGtrS0ZklGr1aTTaXK5nBwXoNFoCIVC6HQ65ufnD5RKkslkYmpqipGRkR291MAOIxeLxbhx44ZUE3e5XDKJKzpnRPxWOE69a0oYSbFG//7v/552u43H45Edc1NTU9IG6HQ6Zmdn5bqtVCpsbW2xtbXV30ayXC6TTCZlt8uji0UkaPR6/Y7dVhxZ9jqmPOsRpvdmb25usry8zOLiolQuHuRiaNEXK0ovhoeH5eYjwhy9GxQgRwmoVCparRbBYHBHqYrQ2jQYDNI77/XCB7nc51kRUnAiQ9vpdCgWiySTSUql0g4PundkhtfrlXFKUQB9UHreRSIvHA4zPj7OyMjIDgP5KD6fj7m5Odl9YzAYdpTg9VadALIfXkjLNZtNtre3yeVy3L17l1gsJhV/TCaTzClotVoZBxXvJU5UlUrlldz/l/qOyWSSmzdv4vP5OHbs2GN9l/BQyqzXUO3V9vW8tNttSqUSpVKJS5cu8cMf/lBm2F7VDIzXhdvt5syZMwwNDfEnf/InHD16dNcFKOgtgRIL3O/3c/LkyR3f02sg4UGyLZ1OE4vFKJfLB36UrEgAWq1WNBoNnU6HaDTK3bt3d2hrwk6vSa/X02g05DA1m82G0Wg8EDHJYDDI3Nwc09PTfOc73yEcDj9x5LJKpeL48ePS0xNfvevq0WdcjNUtlUpsb29TLBb58ssvWV5eJpFIsL6+Lr10vV7PqVOn+MY3viFzFUILQsSDjx49ikaj2fUk9aK8VCMp5gobjcY9y2pexCiKnf7RGjfRDVKv10mlUhQKBeLxOIlEglKptGOW8qCi1+txOBw4nU48Ho/UxoQHhu3RB1rsumKhifjv0xbSbhMthfbnQTSW4jp7DZxoWd0tZv2kWdy9M80HHaGdabVaZS/1XuEws9m8w4ju1uEmnlsxpmV7e5tyuUw0GqVYLLK1tUU0GiWfz+8QKtbpdGSzWVKplNzIxLoW84TEeOm+Ttx0u10ymQwLCwvU6/Ud3srLplwuS+UQkTHPZDJEo1EKhQLz8/PkcjlWVlZIJBIvNPqhn7BYLIyOjjI0NPSYodve3uYf//Ef5bjYTqdDIBBgenoau93OkSNHHpsT8iRsNhvvvvsuxWIRt9vN8PAwm5ubXLp0iVKp9Coubd9QqVQEAgFOnTqFw+GQ5U9izIhKpZLzacT3u91uZmZmGB4elp1JxWJRikUfhI1EJE7F5vq0cNheiBrKSqXC0tISuVyOzz77jM8//5xmsymP26lUSoqD9Bq7drvN5cuXKZVK+P1+jh8/jtVqlQI6V65c4cMPP5RJyZfNS49JJhIJbDbbSy8Z6S04rdfrMl4kbnAkEmFhYYFsNstXX31FOp2WBvSgtIvp9XpcLhdOp/MxAdNCocD169dlL3yn02FychKtVovX62V0dPSZjaRer2d8fJxOpyMHpOl0Oq5cufIqLmvfsdlscuMR2X1R9lKpVB4zDhaLRcaGNRqNHAEiREAOwlpTq9WyxO55s/WPXr844ZXLZSKRCNvb21y7do1PPvnkmTy/TqfD2toauVxOtjIKXQafz8fKygpXrlyRo35fNi89yvmiC0QYtWazKRVaBGKxbm5u8uWXX5LJZCgWi1J2TShBFwoF6T0eFAMJD4LdqVQKo9H42Cbkdrt57733yGQyMgwhjKPopNnrfZvNpnwwxLFcpVLJgHy9Xsfr9cqkzkFK6NTrddklIzL8fr+f6elp1Go1kUgEQNZFDg0NMTc3x+joKP9/e+eyk0oTReFlAnqCxgQjARIVW00cGB2YGKf6DMaRT+XDONGRCSMHaiKId6ANfeHS0CAXG7DPaNffHrF/FC+I+xu3pC2KVbuq9tp7eHgYtm3DNE3ouo5yuTwQ861QKCCRSMCyLMTjcZimiXA4jImJiRfP2rYt8pBpjjrnJ+WbVioVJBIJGIaB+/v7N41TvV4XYn18fAyfz4fb21uMjY3h4uJCdFPt6+22k14mCZ0tUJOfTiJ5dXWF/f19KIoiQnRngYFBEkYnjUYDmqbB6/W+cAmFQiFsbW09mySdPOz/QtFitVoVt7xkBfV4PMKD32q1xCququpAiWSj0UCxWIRt2yI6nJ6exsrKCtrtNs7OzgBAWDYlScLa2prICmi326LH+Xt7w/cbqqpC13Xk83nMzc0hEolgfX29o0gCQKlUgizLKBQKODs7exbRKYqCRCKBarUKTdNQq9XenJ9crVZRq9VENwPnZZDTX/8Zv/sPFUlqrEWZ95Qf9VqVaxI0WslJHBuNhjjjcZ4lkkje3d2hWCyK7fZvsRVSlew/f/5AVVWR9uPMQesECSF55oH/tkDksTVNU2wxfT4fZmZm4PF4xGJF7S1+eoGLTtAxETWhIgdOKBTC7OwslpaW0Gq1xBkdpcNQhSDLslAsFoVXeRAWaHKv1Go1KIoiFpDXjtE0TYOiKCKTxFlZK5vNCgMJdSV4D85qS1/JkN3lN9rNoW04HBZJp5ubmwgGg1hdXcXCwkLH5+nGVFVVHB4ewjAMsYXOZrNIJpMd/Zj1eh3ZbPZFPcCv4r0/gl5TQ0ZHR4UHdmNjA9PT01heXhYJ/K8l5FerVcRiMRHlkJdelmU8PDwgFoshk8kgEAhgZmYGU1NT2NnZQSQSQTQaxdHREa6vr0U61UdchH3XGHb6PCoYOz8/j+3tbUxOTuLh4UH0QCLho4ickqVpgS+VStjd3cXBwQFM00Qul/uSOfkVY0gFJchy/FpmBHn9KbfR+f9TJwJnVkq/0M27fHgkWS6XMTw8DEVR0Gq1IEnSq60RaBIWi0Wk02nouo5CoYBKpSIajw96lee38Pj4CMMw0Gw2Icsyms0mAoEAJEkSlw6dkmlpm0L9QJ6enlAqlXBzc4NyuYzz83Ok02mEw2Ex0amoRS6XQyqVQiaTEcIxaJCnf3x8XFgwqQXI0NAQJEkSzzrbWFBkRLseTdMGLtK2LAuqqn73a3wrH367TYe4lmXB5/Ph9PT0WT6fE6d98ObmRmy16SZskCbbR0CRi23biMViSKVSSKVSiEajImWj09kjebHr9br4gTcaDRiGISrFk3De3t4in89jd3cXfr8fyWQSsiyjXC4P5LGGbdvQdV342kdGRkSvdrLhBQKBZxG6ruvQNA3ZbBYnJyfI5/O4vLz88WYFpjMfut3u5e/6KQT/P/plq/jWz33Le3dbwuq99NsYAhClvCYmJkSPm2AwiMXFRXi9XrHAxONxnJ+fI5lMYm9vD7lcTpzrfiX9OIY/jS/fbr/3JZje+Iwx/o3fW7PZFNF1LBZDpVKB3+/H9fX1s94tsizj/v4emqaJ7IpBKSXHvOTTI8lBhFfw3unHMaRCFdTxkyqW/3vOS62IqYDv09PTt5Tc68cx/Gl0M4Ysku+AJ2fv8Bj2Do9h73QzhoNTHZRhGOYTYJFkGIZxgUWSYRjGBRZJhmEYF1gkGYZhXOj6dpthGOY3wpEkwzCMCyySDMMwLrBIMgzDuMAiyTAM4wKLJMMwjAsskgzDMC6wSDIMw7jAIskwDOMCiyTDMIwLfwHicOBLBTGUrAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -374,27 +374,4120 @@ }, { "cell_type": "code", - "execution_count": 208, + "execution_count": null, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "0it [00:00, ?it/s]\n" + " 0%| | 139/60000 [00:00<01:22, 726.53it/s]" ] }, { - "ename": "TypeError", - "evalue": "'bool' object is not callable", + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 1%| | 307/60000 [00:00<01:14, 801.44it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 1%| | 471/60000 [00:00<01:13, 808.99it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 1%| | 633/60000 [00:00<01:14, 800.05it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 1%|▏ | 794/60000 [00:01<01:16, 778.34it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 2%|▏ | 949/60000 [00:01<01:18, 747.52it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 2%|▏ | 1098/60000 [00:01<01:20, 733.90it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 2%|▏ | 1240/60000 [00:01<01:28, 660.48it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 2%|▏ | 1307/60000 [00:01<01:29, 656.89it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 2%|▏ | 1438/60000 [00:02<01:36, 608.91it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 3%|▎ | 1561/60000 [00:02<01:36, 603.59it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 3%|▎ | 1683/60000 [00:02<01:40, 582.79it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 3%|▎ | 1799/60000 [00:02<01:45, 552.37it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 3%|▎ | 1915/60000 [00:02<01:46, 543.12it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 3%|▎ | 2026/60000 [00:03<01:46, 543.94it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 4%|▎ | 2142/60000 [00:03<01:43, 560.25it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 4%|▍ | 2257/60000 [00:03<01:45, 545.45it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 4%|▍ | 2365/60000 [00:03<01:51, 518.84it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 4%|▍ | 2472/60000 [00:03<01:53, 506.74it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 4%|▍ | 2575/60000 [00:04<01:53, 504.04it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 4%|▍ | 2626/60000 [00:04<02:02, 469.09it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 5%|▍ | 2781/60000 [00:04<01:55, 494.90it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 5%|▍ | 2831/60000 [00:04<01:56, 490.73it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 5%|▍ | 2928/60000 [00:04<02:10, 438.99it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 5%|▌ | 3023/60000 [00:05<02:05, 453.50it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 5%|▌ | 3118/60000 [00:05<02:03, 460.44it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 5%|▌ | 3211/60000 [00:05<02:06, 449.22it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 6%|▌ | 3302/60000 [00:05<02:16, 416.36it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 6%|▌ | 3391/60000 [00:05<02:12, 426.27it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 6%|▌ | 3479/60000 [00:06<02:13, 423.14it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 6%|▌ | 3564/60000 [00:06<02:17, 411.69it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 6%|▌ | 3648/60000 [00:06<02:20, 401.16it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n", + "real shape , (784,)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 6%|▌ | 3662/60000 [00:54<14:01, 66.96it/s] \n" + ] + }, + { + "ename": "KeyboardInterrupt", + "evalue": "", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[208], line 28\u001b[0m\n\u001b[1;32m 23\u001b[0m disc_opt\u001b[38;5;241m.\u001b[39mupdate(disc, D_grads)\n\u001b[1;32m 25\u001b[0m \u001b[38;5;66;03m# Update gradients\u001b[39;00m\n\u001b[0;32m---> 28\u001b[0m G_loss,G_grads \u001b[38;5;241m=\u001b[39m \u001b[43mG_loss_grad\u001b[49m\u001b[43m(\u001b[49m\u001b[43mgen\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdisc\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbatch_size\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mz_dim\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 30\u001b[0m \u001b[38;5;66;03m# Update optimizer\u001b[39;00m\n\u001b[1;32m 31\u001b[0m gen_opt\u001b[38;5;241m.\u001b[39mupdate(gen, G_grads)\n", - "File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/mlx/nn/utils.py:34\u001b[0m, in \u001b[0;36mvalue_and_grad..wrapped_value_grad_fn\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 32\u001b[0m \u001b[38;5;129m@wraps\u001b[39m(fn)\n\u001b[1;32m 33\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mwrapped_value_grad_fn\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[0;32m---> 34\u001b[0m value, grad \u001b[38;5;241m=\u001b[39m \u001b[43mvalue_grad_fn\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtrainable_parameters\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 35\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m value, grad\n", - "File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/mlx/nn/utils.py:28\u001b[0m, in \u001b[0;36mvalue_and_grad..inner_fn\u001b[0;34m(params, *args, **kwargs)\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21minner_fn\u001b[39m(params, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 27\u001b[0m model\u001b[38;5;241m.\u001b[39mupdate(params)\n\u001b[0;32m---> 28\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfn\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", - "\u001b[0;31mTypeError\u001b[0m: 'bool' object is not callable" + "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[108], line 40\u001b[0m\n\u001b[1;32m 37\u001b[0m G_loss,G_grads \u001b[38;5;241m=\u001b[39m G_loss_grad(gen, disc, batch_size, z_dim)\n\u001b[1;32m 39\u001b[0m \u001b[38;5;66;03m# Update optimizer\u001b[39;00m\n\u001b[0;32m---> 40\u001b[0m \u001b[43mgen_opt\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mupdate\u001b[49m\u001b[43m(\u001b[49m\u001b[43mgen\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mG_grads\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 42\u001b[0m \u001b[38;5;66;03m# Update gradients\u001b[39;00m\n\u001b[1;32m 43\u001b[0m \n\u001b[1;32m 44\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 60\u001b[0m \u001b[38;5;66;03m# mean_discriminator_loss = 0\u001b[39;00m\n\u001b[1;32m 61\u001b[0m \u001b[38;5;66;03m# cur_step += 1\u001b[39;00m\n", + "File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/mlx/optimizers/optimizers.py:29\u001b[0m, in \u001b[0;36mOptimizer.update\u001b[0;34m(self, model, gradients)\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mupdate\u001b[39m(\u001b[38;5;28mself\u001b[39m, model: \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmlx.nn.Module\u001b[39m\u001b[38;5;124m\"\u001b[39m, gradients: \u001b[38;5;28mdict\u001b[39m):\n\u001b[1;32m 21\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Apply the gradients to the parameters of the model and update the\u001b[39;00m\n\u001b[1;32m 22\u001b[0m \u001b[38;5;124;03m model with the new parameters.\u001b[39;00m\n\u001b[1;32m 23\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 27\u001b[0m \u001b[38;5;124;03m via :func:`mlx.nn.value_and_grad`.\u001b[39;00m\n\u001b[1;32m 28\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m---> 29\u001b[0m model\u001b[38;5;241m.\u001b[39mupdate(\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mapply_gradients\u001b[49m\u001b[43m(\u001b[49m\u001b[43mgradients\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmodel\u001b[49m\u001b[43m)\u001b[49m)\n", + "File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/mlx/optimizers/optimizers.py:88\u001b[0m, in \u001b[0;36mOptimizer.apply_gradients\u001b[0;34m(self, gradients, parameters)\u001b[0m\n\u001b[1;32m 85\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstate[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mstep\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstep \u001b[38;5;241m+\u001b[39m \u001b[38;5;241m1\u001b[39m\n\u001b[1;32m 87\u001b[0m \u001b[38;5;66;03m# Apply the update\u001b[39;00m\n\u001b[0;32m---> 88\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mtree_map\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mapply_single\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mgradients\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mparameters\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstate\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/mlx/utils.py:48\u001b[0m, in \u001b[0;36mtree_map\u001b[0;34m(fn, tree, is_leaf, *rest)\u001b[0m\n\u001b[1;32m 43\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m TreeType(\n\u001b[1;32m 44\u001b[0m tree_map(fn, child, \u001b[38;5;241m*\u001b[39m(r[i] \u001b[38;5;28;01mfor\u001b[39;00m r \u001b[38;5;129;01min\u001b[39;00m rest), is_leaf\u001b[38;5;241m=\u001b[39mis_leaf)\n\u001b[1;32m 45\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i, child \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(tree)\n\u001b[1;32m 46\u001b[0m )\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(tree, \u001b[38;5;28mdict\u001b[39m):\n\u001b[0;32m---> 48\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m {\n\u001b[1;32m 49\u001b[0m k: tree_map(fn, child, \u001b[38;5;241m*\u001b[39m(r[k] \u001b[38;5;28;01mfor\u001b[39;00m r \u001b[38;5;129;01min\u001b[39;00m rest), is_leaf\u001b[38;5;241m=\u001b[39mis_leaf)\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m k, child \u001b[38;5;129;01min\u001b[39;00m tree\u001b[38;5;241m.\u001b[39mitems()\n\u001b[1;32m 51\u001b[0m }\n\u001b[1;32m 52\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 53\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m fn(tree, \u001b[38;5;241m*\u001b[39mrest)\n", + "File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/mlx/utils.py:49\u001b[0m, in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 43\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m TreeType(\n\u001b[1;32m 44\u001b[0m tree_map(fn, child, \u001b[38;5;241m*\u001b[39m(r[i] \u001b[38;5;28;01mfor\u001b[39;00m r \u001b[38;5;129;01min\u001b[39;00m rest), is_leaf\u001b[38;5;241m=\u001b[39mis_leaf)\n\u001b[1;32m 45\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i, child \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(tree)\n\u001b[1;32m 46\u001b[0m )\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(tree, \u001b[38;5;28mdict\u001b[39m):\n\u001b[1;32m 48\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m {\n\u001b[0;32m---> 49\u001b[0m k: \u001b[43mtree_map\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfn\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mchild\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mr\u001b[49m\u001b[43m[\u001b[49m\u001b[43mk\u001b[49m\u001b[43m]\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mr\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mrest\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mis_leaf\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mis_leaf\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m k, child \u001b[38;5;129;01min\u001b[39;00m tree\u001b[38;5;241m.\u001b[39mitems()\n\u001b[1;32m 51\u001b[0m }\n\u001b[1;32m 52\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 53\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m fn(tree, \u001b[38;5;241m*\u001b[39mrest)\n", + "File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/mlx/utils.py:48\u001b[0m, in \u001b[0;36mtree_map\u001b[0;34m(fn, tree, is_leaf, *rest)\u001b[0m\n\u001b[1;32m 43\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m TreeType(\n\u001b[1;32m 44\u001b[0m tree_map(fn, child, \u001b[38;5;241m*\u001b[39m(r[i] \u001b[38;5;28;01mfor\u001b[39;00m r \u001b[38;5;129;01min\u001b[39;00m rest), is_leaf\u001b[38;5;241m=\u001b[39mis_leaf)\n\u001b[1;32m 45\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i, child \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(tree)\n\u001b[1;32m 46\u001b[0m )\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(tree, \u001b[38;5;28mdict\u001b[39m):\n\u001b[0;32m---> 48\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m {\n\u001b[1;32m 49\u001b[0m k: tree_map(fn, child, \u001b[38;5;241m*\u001b[39m(r[k] \u001b[38;5;28;01mfor\u001b[39;00m r \u001b[38;5;129;01min\u001b[39;00m rest), is_leaf\u001b[38;5;241m=\u001b[39mis_leaf)\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m k, child \u001b[38;5;129;01min\u001b[39;00m tree\u001b[38;5;241m.\u001b[39mitems()\n\u001b[1;32m 51\u001b[0m }\n\u001b[1;32m 52\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 53\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m fn(tree, \u001b[38;5;241m*\u001b[39mrest)\n", + "File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/mlx/utils.py:49\u001b[0m, in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 43\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m TreeType(\n\u001b[1;32m 44\u001b[0m tree_map(fn, child, \u001b[38;5;241m*\u001b[39m(r[i] \u001b[38;5;28;01mfor\u001b[39;00m r \u001b[38;5;129;01min\u001b[39;00m rest), is_leaf\u001b[38;5;241m=\u001b[39mis_leaf)\n\u001b[1;32m 45\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i, child \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(tree)\n\u001b[1;32m 46\u001b[0m )\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(tree, \u001b[38;5;28mdict\u001b[39m):\n\u001b[1;32m 48\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m {\n\u001b[0;32m---> 49\u001b[0m k: \u001b[43mtree_map\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfn\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mchild\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mr\u001b[49m\u001b[43m[\u001b[49m\u001b[43mk\u001b[49m\u001b[43m]\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mr\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mrest\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mis_leaf\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mis_leaf\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m k, child \u001b[38;5;129;01min\u001b[39;00m tree\u001b[38;5;241m.\u001b[39mitems()\n\u001b[1;32m 51\u001b[0m }\n\u001b[1;32m 52\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 53\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m fn(tree, \u001b[38;5;241m*\u001b[39mrest)\n", + "File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/mlx/utils.py:43\u001b[0m, in \u001b[0;36mtree_map\u001b[0;34m(fn, tree, is_leaf, *rest)\u001b[0m\n\u001b[1;32m 41\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(tree, (\u001b[38;5;28mlist\u001b[39m, \u001b[38;5;28mtuple\u001b[39m)):\n\u001b[1;32m 42\u001b[0m TreeType \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mtype\u001b[39m(tree)\n\u001b[0;32m---> 43\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mTreeType\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 44\u001b[0m \u001b[43m \u001b[49m\u001b[43mtree_map\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfn\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mchild\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mr\u001b[49m\u001b[43m[\u001b[49m\u001b[43mi\u001b[49m\u001b[43m]\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mr\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mrest\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mis_leaf\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mis_leaf\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 45\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mi\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mchild\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43menumerate\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mtree\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 46\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(tree, \u001b[38;5;28mdict\u001b[39m):\n\u001b[1;32m 48\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m {\n\u001b[1;32m 49\u001b[0m k: tree_map(fn, child, \u001b[38;5;241m*\u001b[39m(r[k] \u001b[38;5;28;01mfor\u001b[39;00m r \u001b[38;5;129;01min\u001b[39;00m rest), is_leaf\u001b[38;5;241m=\u001b[39mis_leaf)\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m k, child \u001b[38;5;129;01min\u001b[39;00m tree\u001b[38;5;241m.\u001b[39mitems()\n\u001b[1;32m 51\u001b[0m }\n", + "File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/mlx/utils.py:44\u001b[0m, in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 41\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(tree, (\u001b[38;5;28mlist\u001b[39m, \u001b[38;5;28mtuple\u001b[39m)):\n\u001b[1;32m 42\u001b[0m TreeType \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mtype\u001b[39m(tree)\n\u001b[1;32m 43\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m TreeType(\n\u001b[0;32m---> 44\u001b[0m \u001b[43mtree_map\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfn\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mchild\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mr\u001b[49m\u001b[43m[\u001b[49m\u001b[43mi\u001b[49m\u001b[43m]\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mr\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mrest\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mis_leaf\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mis_leaf\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 45\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i, child \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(tree)\n\u001b[1;32m 46\u001b[0m )\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(tree, \u001b[38;5;28mdict\u001b[39m):\n\u001b[1;32m 48\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m {\n\u001b[1;32m 49\u001b[0m k: tree_map(fn, child, \u001b[38;5;241m*\u001b[39m(r[k] \u001b[38;5;28;01mfor\u001b[39;00m r \u001b[38;5;129;01min\u001b[39;00m rest), is_leaf\u001b[38;5;241m=\u001b[39mis_leaf)\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m k, child \u001b[38;5;129;01min\u001b[39;00m tree\u001b[38;5;241m.\u001b[39mitems()\n\u001b[1;32m 51\u001b[0m }\n", + "File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/mlx/utils.py:48\u001b[0m, in \u001b[0;36mtree_map\u001b[0;34m(fn, tree, is_leaf, *rest)\u001b[0m\n\u001b[1;32m 43\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m TreeType(\n\u001b[1;32m 44\u001b[0m tree_map(fn, child, \u001b[38;5;241m*\u001b[39m(r[i] \u001b[38;5;28;01mfor\u001b[39;00m r \u001b[38;5;129;01min\u001b[39;00m rest), is_leaf\u001b[38;5;241m=\u001b[39mis_leaf)\n\u001b[1;32m 45\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i, child \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(tree)\n\u001b[1;32m 46\u001b[0m )\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(tree, \u001b[38;5;28mdict\u001b[39m):\n\u001b[0;32m---> 48\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m {\n\u001b[1;32m 49\u001b[0m k: tree_map(fn, child, \u001b[38;5;241m*\u001b[39m(r[k] \u001b[38;5;28;01mfor\u001b[39;00m r \u001b[38;5;129;01min\u001b[39;00m rest), is_leaf\u001b[38;5;241m=\u001b[39mis_leaf)\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m k, child \u001b[38;5;129;01min\u001b[39;00m tree\u001b[38;5;241m.\u001b[39mitems()\n\u001b[1;32m 51\u001b[0m }\n\u001b[1;32m 52\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 53\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m fn(tree, \u001b[38;5;241m*\u001b[39mrest)\n", + "File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/mlx/utils.py:49\u001b[0m, in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 43\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m TreeType(\n\u001b[1;32m 44\u001b[0m tree_map(fn, child, \u001b[38;5;241m*\u001b[39m(r[i] \u001b[38;5;28;01mfor\u001b[39;00m r \u001b[38;5;129;01min\u001b[39;00m rest), is_leaf\u001b[38;5;241m=\u001b[39mis_leaf)\n\u001b[1;32m 45\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i, child \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(tree)\n\u001b[1;32m 46\u001b[0m )\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(tree, \u001b[38;5;28mdict\u001b[39m):\n\u001b[1;32m 48\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m {\n\u001b[0;32m---> 49\u001b[0m k: \u001b[43mtree_map\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfn\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mchild\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mr\u001b[49m\u001b[43m[\u001b[49m\u001b[43mk\u001b[49m\u001b[43m]\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mr\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mrest\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mis_leaf\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mis_leaf\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m k, child \u001b[38;5;129;01min\u001b[39;00m tree\u001b[38;5;241m.\u001b[39mitems()\n\u001b[1;32m 51\u001b[0m }\n\u001b[1;32m 52\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 53\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m fn(tree, \u001b[38;5;241m*\u001b[39mrest)\n", + "File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/mlx/utils.py:43\u001b[0m, in \u001b[0;36mtree_map\u001b[0;34m(fn, tree, is_leaf, *rest)\u001b[0m\n\u001b[1;32m 41\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(tree, (\u001b[38;5;28mlist\u001b[39m, \u001b[38;5;28mtuple\u001b[39m)):\n\u001b[1;32m 42\u001b[0m TreeType \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mtype\u001b[39m(tree)\n\u001b[0;32m---> 43\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mTreeType\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 44\u001b[0m \u001b[43m \u001b[49m\u001b[43mtree_map\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfn\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mchild\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mr\u001b[49m\u001b[43m[\u001b[49m\u001b[43mi\u001b[49m\u001b[43m]\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mr\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mrest\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mis_leaf\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mis_leaf\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 45\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mi\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mchild\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43menumerate\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mtree\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 46\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(tree, \u001b[38;5;28mdict\u001b[39m):\n\u001b[1;32m 48\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m {\n\u001b[1;32m 49\u001b[0m k: tree_map(fn, child, \u001b[38;5;241m*\u001b[39m(r[k] \u001b[38;5;28;01mfor\u001b[39;00m r \u001b[38;5;129;01min\u001b[39;00m rest), is_leaf\u001b[38;5;241m=\u001b[39mis_leaf)\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m k, child \u001b[38;5;129;01min\u001b[39;00m tree\u001b[38;5;241m.\u001b[39mitems()\n\u001b[1;32m 51\u001b[0m }\n", + "File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/mlx/utils.py:44\u001b[0m, in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 41\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(tree, (\u001b[38;5;28mlist\u001b[39m, \u001b[38;5;28mtuple\u001b[39m)):\n\u001b[1;32m 42\u001b[0m TreeType \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mtype\u001b[39m(tree)\n\u001b[1;32m 43\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m TreeType(\n\u001b[0;32m---> 44\u001b[0m \u001b[43mtree_map\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfn\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mchild\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mr\u001b[49m\u001b[43m[\u001b[49m\u001b[43mi\u001b[49m\u001b[43m]\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mr\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mrest\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mis_leaf\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mis_leaf\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 45\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i, child \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(tree)\n\u001b[1;32m 46\u001b[0m )\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(tree, \u001b[38;5;28mdict\u001b[39m):\n\u001b[1;32m 48\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m {\n\u001b[1;32m 49\u001b[0m k: tree_map(fn, child, \u001b[38;5;241m*\u001b[39m(r[k] \u001b[38;5;28;01mfor\u001b[39;00m r \u001b[38;5;129;01min\u001b[39;00m rest), is_leaf\u001b[38;5;241m=\u001b[39mis_leaf)\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m k, child \u001b[38;5;129;01min\u001b[39;00m tree\u001b[38;5;241m.\u001b[39mitems()\n\u001b[1;32m 51\u001b[0m }\n", + "File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/mlx/utils.py:48\u001b[0m, in \u001b[0;36mtree_map\u001b[0;34m(fn, tree, is_leaf, *rest)\u001b[0m\n\u001b[1;32m 43\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m TreeType(\n\u001b[1;32m 44\u001b[0m tree_map(fn, child, \u001b[38;5;241m*\u001b[39m(r[i] \u001b[38;5;28;01mfor\u001b[39;00m r \u001b[38;5;129;01min\u001b[39;00m rest), is_leaf\u001b[38;5;241m=\u001b[39mis_leaf)\n\u001b[1;32m 45\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i, child \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(tree)\n\u001b[1;32m 46\u001b[0m )\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(tree, \u001b[38;5;28mdict\u001b[39m):\n\u001b[0;32m---> 48\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m {\n\u001b[1;32m 49\u001b[0m k: tree_map(fn, child, \u001b[38;5;241m*\u001b[39m(r[k] \u001b[38;5;28;01mfor\u001b[39;00m r \u001b[38;5;129;01min\u001b[39;00m rest), is_leaf\u001b[38;5;241m=\u001b[39mis_leaf)\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m k, child \u001b[38;5;129;01min\u001b[39;00m tree\u001b[38;5;241m.\u001b[39mitems()\n\u001b[1;32m 51\u001b[0m }\n\u001b[1;32m 52\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 53\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m fn(tree, \u001b[38;5;241m*\u001b[39mrest)\n", + "File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/mlx/utils.py:49\u001b[0m, in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 43\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m TreeType(\n\u001b[1;32m 44\u001b[0m tree_map(fn, child, \u001b[38;5;241m*\u001b[39m(r[i] \u001b[38;5;28;01mfor\u001b[39;00m r \u001b[38;5;129;01min\u001b[39;00m rest), is_leaf\u001b[38;5;241m=\u001b[39mis_leaf)\n\u001b[1;32m 45\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i, child \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(tree)\n\u001b[1;32m 46\u001b[0m )\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(tree, \u001b[38;5;28mdict\u001b[39m):\n\u001b[1;32m 48\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m {\n\u001b[0;32m---> 49\u001b[0m k: \u001b[43mtree_map\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfn\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mchild\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mr\u001b[49m\u001b[43m[\u001b[49m\u001b[43mk\u001b[49m\u001b[43m]\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mr\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mrest\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mis_leaf\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mis_leaf\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m k, child \u001b[38;5;129;01min\u001b[39;00m tree\u001b[38;5;241m.\u001b[39mitems()\n\u001b[1;32m 51\u001b[0m }\n\u001b[1;32m 52\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 53\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m fn(tree, \u001b[38;5;241m*\u001b[39mrest)\n", + "File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/mlx/utils.py:53\u001b[0m, in \u001b[0;36mtree_map\u001b[0;34m(fn, tree, is_leaf, *rest)\u001b[0m\n\u001b[1;32m 48\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m {\n\u001b[1;32m 49\u001b[0m k: tree_map(fn, child, \u001b[38;5;241m*\u001b[39m(r[k] \u001b[38;5;28;01mfor\u001b[39;00m r \u001b[38;5;129;01min\u001b[39;00m rest), is_leaf\u001b[38;5;241m=\u001b[39mis_leaf)\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m k, child \u001b[38;5;129;01min\u001b[39;00m tree\u001b[38;5;241m.\u001b[39mitems()\n\u001b[1;32m 51\u001b[0m }\n\u001b[1;32m 52\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m---> 53\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfn\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtree\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mrest\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/mlx/optimizers/optimizers.py:426\u001b[0m, in \u001b[0;36mAdam.apply_single\u001b[0;34m(self, gradient, parameter, state)\u001b[0m\n\u001b[1;32m 424\u001b[0m v \u001b[38;5;241m=\u001b[39m state[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mv\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m 425\u001b[0m m \u001b[38;5;241m=\u001b[39m b1 \u001b[38;5;241m*\u001b[39m m \u001b[38;5;241m+\u001b[39m (\u001b[38;5;241m1\u001b[39m \u001b[38;5;241m-\u001b[39m b1) \u001b[38;5;241m*\u001b[39m gradient\n\u001b[0;32m--> 426\u001b[0m v \u001b[38;5;241m=\u001b[39m b2 \u001b[38;5;241m*\u001b[39m v \u001b[38;5;241m+\u001b[39m (\u001b[38;5;241m1\u001b[39m \u001b[38;5;241m-\u001b[39m b2) \u001b[38;5;241m*\u001b[39m \u001b[43mmx\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msquare\u001b[49m\u001b[43m(\u001b[49m\u001b[43mgradient\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 427\u001b[0m state[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mm\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m m\n\u001b[1;32m 428\u001b[0m state[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mv\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m v\n", + "\u001b[0;31mKeyboardInterrupt\u001b[0m: " ] } ], @@ -403,20 +4496,27 @@ "cur_step = 0\n", "mean_generator_loss = 0\n", "mean_discriminator_loss = 0\n", - "test_generator = True # Whether the generator should be tested\n", - "gen_loss = False\n", "error = False\n", "\n", "D_loss_grad = nn.value_and_grad(disc, disc_loss)\n", "G_loss_grad = nn.value_and_grad(gen, gen_loss)\n", "\n", "\n", - "for epoch in range(n_epochs):\n", + "for epoch in range(10):\n", " \n", " # Dataloader returns the batches\n", - " for real in tqdm(batch_iterate(batch_size, train_images)):\n", + " # for real in tqdm(batch_iterate(batch_size, train_images)):\n", + " \n", + " for real in tqdm(train_images):\n", "\n", + " \n", + " # real = real.reshape(-1)\n", + " \n", " # Flatten the batch of real images from the dataset\n", + " \n", + " # plt.imshow(real[0].reshape(28,28))\n", + " # print(len(real))\n", + " # break\n", " \n", " D_loss,D_grads = D_loss_grad(gen, disc, real, batch_size, z_dim)\n", "\n", @@ -425,7 +4525,6 @@ " \n", " # Update gradients\n", " \n", - " \n", " G_loss,G_grads = G_loss_grad(gen, disc, batch_size, z_dim)\n", " \n", " # Update optimizer\n", @@ -433,7 +4532,6 @@ " \n", " # Update gradients\n", "\n", - " \n", "\n", " # # Keep track of the average discriminator loss\n", " # mean_discriminator_loss += disc_loss.item() / display_step\n", @@ -452,6 +4550,85 @@ " # mean_discriminator_loss = 0\n", " # cur_step += 1\n" ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Shapes..... (1,) (784, 1)\n" + ] + }, + { + "ename": "ValueError", + "evalue": "Inputs shape (1,) does not match targets shape (784, 1).", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[90], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mdisc_loss\u001b[49m\u001b[43m(\u001b[49m\u001b[43mgen\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdisc\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mreal\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbatch_size\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mz_dim\u001b[49m\u001b[43m)\u001b[49m\n", + "Cell \u001b[0;32mIn[89], line 14\u001b[0m, in \u001b[0;36mdisc_loss\u001b[0;34m(gen, disc, real, num_images, z_dim)\u001b[0m\n\u001b[1;32m 11\u001b[0m real_labels \u001b[38;5;241m=\u001b[39m mx\u001b[38;5;241m.\u001b[39mones((real\u001b[38;5;241m.\u001b[39mshape[\u001b[38;5;241m0\u001b[39m],\u001b[38;5;241m1\u001b[39m))\n\u001b[1;32m 13\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mShapes.....\u001b[39m\u001b[38;5;124m'\u001b[39m,real_disc\u001b[38;5;241m.\u001b[39mshape,real_labels\u001b[38;5;241m.\u001b[39mshape)\n\u001b[0;32m---> 14\u001b[0m real_loss \u001b[38;5;241m=\u001b[39m \u001b[43mnn\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlosses\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbinary_cross_entropy\u001b[49m\u001b[43m(\u001b[49m\u001b[43mreal_disc\u001b[49m\u001b[43m,\u001b[49m\u001b[43mreal_labels\u001b[49m\u001b[43m,\u001b[49m\u001b[43mwith_logits\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m)\u001b[49m\n\u001b[1;32m 16\u001b[0m disc_loss \u001b[38;5;241m=\u001b[39m (fake_loss \u001b[38;5;241m+\u001b[39m real_loss) \u001b[38;5;241m/\u001b[39m \u001b[38;5;241m2\u001b[39m\n\u001b[1;32m 18\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m disc_loss\n", + "File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/mlx/nn/losses.py:155\u001b[0m, in \u001b[0;36mbinary_cross_entropy\u001b[0;34m(inputs, targets, weights, with_logits, reduction)\u001b[0m\n\u001b[1;32m 124\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 125\u001b[0m \u001b[38;5;124;03mComputes the binary cross entropy loss.\u001b[39;00m\n\u001b[1;32m 126\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 152\u001b[0m \u001b[38;5;124;03m array(0.510826, dtype=float32)\u001b[39;00m\n\u001b[1;32m 153\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 154\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m inputs\u001b[38;5;241m.\u001b[39mshape \u001b[38;5;241m!=\u001b[39m targets\u001b[38;5;241m.\u001b[39mshape:\n\u001b[0;32m--> 155\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[1;32m 156\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mInputs shape \u001b[39m\u001b[38;5;132;01m{\u001b[39;00minputs\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m does not match targets shape \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mtargets\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 157\u001b[0m )\n\u001b[1;32m 159\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m with_logits:\n\u001b[1;32m 160\u001b[0m loss \u001b[38;5;241m=\u001b[39m mx\u001b[38;5;241m.\u001b[39mlogaddexp(\u001b[38;5;241m0.0\u001b[39m, inputs) \u001b[38;5;241m-\u001b[39m inputs \u001b[38;5;241m*\u001b[39m targets\n", + "\u001b[0;31mValueError\u001b[0m: Inputs shape (1,) does not match targets shape (784, 1)." + ] + } + ], + "source": [ + "disc_loss(gen, disc, real, batch_size, z_dim)" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "784" + ] + }, + "execution_count": 86, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "real.shape[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(8, 784)" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "real.shape" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "real.reshape((-1,len(real))).shape" + ] } ], "metadata": {