Skip to content

Instantly share code, notes, and snippets.

@SineWaveSurfer
Last active February 3, 2019 16:42
Show Gist options
  • Save SineWaveSurfer/ae55b1664b4a485c0b2ae635954cca31 to your computer and use it in GitHub Desktop.
Save SineWaveSurfer/ae55b1664b4a485c0b2ae635954cca31 to your computer and use it in GitHub Desktop.
fresh initialized NN; input is random with zero mean; tanh output is biased
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"%reload_ext autoreload\n",
"%autoreload 2\n",
"from fastai import *\n",
"from fastai.vision import *"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"def conv_bn_relu(ni, nf):\n",
" return nn.Sequential(OrderedDict([\n",
" ('conv', conv2d(ni, nf, ks=3)), #default padding ks//2\n",
" ('bn', batchnorm_2d(nf)),\n",
" ('relu', nn.ReLU(inplace=True))\n",
" ]))\n",
"\n",
"class ResLayer(nn.Module):\n",
" def __init__(self, nf):\n",
" super().__init__()\n",
" self.conv1=conv_bn_relu(nf, nf)\n",
" self.conv2=conv_bn_relu(nf, nf)\n",
"\n",
" def forward(self, x):\n",
" return x.add(self.conv2(self.conv1(x)))\n",
"\n",
"def pool_resid(nf):\n",
" return nn.Sequential(OrderedDict([\n",
" ('pool', nn.MaxPool2d(kernel_size=2)),\n",
" ('res', ResLayer(nf))\n",
" ]))\n",
"\n",
"def Flt()->Tensor:\n",
" func = (lambda x: x.view(x.size(0), -1))\n",
" return Lambda(func)\n",
"\n",
"def MoReNet9(ch:int=3):\n",
" return nn.Sequential(OrderedDict([\n",
" ('prep', conv_bn_relu(ch, 64)), \n",
" ('proc1', conv_bn_relu(64, 128)),\n",
" ('poolres1', pool_resid(128)),\n",
" ('proc2', conv_bn_relu(128, 256)),\n",
" ('pool2', nn.MaxPool2d(kernel_size=2)),\n",
" ('proc3', conv_bn_relu(256, 512)),\n",
" ('poolres3', pool_resid(512)),\n",
" ('maxpool', nn.AdaptiveMaxPool2d(1)),\n",
" ('flatten', Flt()),\n",
" ('linear', nn.Linear(512, 1)),\n",
" ('tanh', nn.Tanh()) \n",
" ]))"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAQQAAAECCAYAAAAYUakXAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJztnXl0XPWV579Xpb20WZJtybZkC9vY2MYYIxsDDgECxFloyGaWLHQ6HXfSSSZMkj6dIT0dOjNzpskMITmZ7iQm4UAIISEsARJIII4Bs9rygi0s29jGu7xr31W684eKh0K/75OwTJVNfz/n6Kj0vvXeu/Wrp1uv3vfd+zN3hxBCAEBGugMQQpw6KCEIIQKUEIQQAUoIQogAJQQhRIASghAiIC0JwcyWmNlWM9tuZt9MRwxDYtllZpvMbIOZ1aV433ea2WEzqx+yrNTMnjKz15K/x6QxllvMbH9ybDaY2QdTEEeVma00swYze9XMvppcnvJxiYglHeOSa2arzeyVZCz/klxeY2YvJ8fl12aWPaoduXtKfwDEAOwAcAaAbACvAJiV6jiGxLMLQHma9n0xgPkA6ocs+y6AbyYffxPArWmM5RYA30jxmFQCmJ98XAhgG4BZ6RiXiFjSMS4GoCD5OAvAywAWAbgfwHXJ5T8G8MXR7CcdZwgLAWx3953u3gvgVwCuTkMcacfdnwVw/C2LrwZwd/Lx3QCuSWMsKcfdG919XfJxG4AGABORhnGJiCXl+CDtyT+zkj8O4DIADySXj3pc0pEQJgLYO+TvfUjTICdxAE+a2VozW5bGON5gvLs3AoMHJIBxaY7ny2a2MfmVIiVfX97AzKYAOBeDn4ZpHZe3xAKkYVzMLGZmGwAcBvAUBs+0m929P/mUUf8vpSMhWMiydN4/fZG7zwfwAQBfMrOL0xjLqcaPAEwFMA9AI4DbUrVjMysA8CCAm9y9NVX7HWEsaRkXd0+4+zwAkzB4pn1W2NNGs490JIR9AKqG/D0JwIE0xAEAcPcDyd+HATyMwYFOJ4fMrBIAkr8PpysQdz+UPAgHANyBFI2NmWVh8B/wXnd/KLk4LeMSFku6xuUN3L0ZwNMYvIZQYmaZSWnU/0vpSAhrAExPXh3NBnAdgEfTEAfMLG5mhW88BnAlgProtd5xHgVwY/LxjQAeSVcgb/wDJvkIUjA2ZmYAfgagwd2/N0RK+biwWNI0LmPNrCT5OA/A5Ri8prESwMeTTxv9uKTySumQK6YfxOAV2x0AvpWOGJJxnIFBl+MVAK+mOhYA92HwlLMPg2dOnwNQBmAFgNeSv0vTGMs9ADYB2IjBf8jKFMSxGIOnvRsBbEj+fDAd4xIRSzrGZS6A9cl91gP45yHH8GoA2wH8BkDOaPZjyY0KIYTuVBRCvIkSghAiQAlBCBGghCCECFBCEEIEpC0hnCK3CQNQLAzFEs67OZZ0niGcMoMKxcJQLOG8a2PRVwYhRMCobkwysyUAfoDBHgc/dfd/jXp+LB73zNJSAECiowOxePxNrZuv57GIjRYkeHytfMWh2+zv7EBm/puxDGSGrJAkM7efaokOvqLnDlCtOPfNF9/V1I28MbnB3y0d+XQ9y+TbjGVwrT/BPwcyOt/UEp0diA0Zl8ixbol4kyI+dhJZXBu6XqK9A7GCIbGElcgliWXz9ygvs49qnX28t0hpTmfwuKOpF/Exbz73eA9/jwYGeKCZLREDU8ZfQ3/Xm8fZW/+P8uI9oet0HmxDb3NXxKglYxruCQwziwH4NwBXYPBW1zVm9qi7b6Y7Ky3FxP96U6hWsoXH2jOGawOLWqiW86eiE9pmTxn/Zxozg7cM6HipnG9zZhfVPjCDDhkeXz2PajnjOqlWmM8z7PGWONXy6yIO7sURY/0HPtaJXD7WHRP4B9JADtc8i2sl1c1UmzO2kWrrGquodsM03kzrVzvnU62zM4dqYx/LpRo+c4RKRzaPpdqc2tdDlz/7+fv5voYwmq8ManQixLuM0SSEU63RiRBilIwmIYyo0YmZLTOzOjOrS3R0jGJ3Qoh3mtEkhBE1OnH35e5e6+61Qy9+CCFOPU74oiKGNDoBsB+DjU5uiFohow/IPxCeg1ovbw9dDgB5LxdQbWBtMdU6K3gsvSX8wmHOBH4m09HNr0R31fRSraguj2oLa3dQLX5h+FVjAPjD7rAOWoMc3VVKNc/hbkFnLb9QmdHDD5feS/l6tpNfqOwfz8cMEVfoc/Zze6JvTxnVnpvFjyXv5/v7xbYFVOtq5RcHJ07gF6EPXUUlZLRGfHhGGIOb1tWELu+KuLg5lBNOCO7eb2ZfBvBHDNqOd7r7qye6PSFE+hnNGQLc/XEAj5+kWIQQaUZ3KgohApQQhBABSghCiAAlBCFEwKguKr5dBnKA9qnhlte433Frqo3fYo5PXreCane88F6qZXTzXNjdyi0ai3HPJ/sAt8Jqr9tIte/etZRqiQi3qGcstw8zeriFlsjk2swJh6jWP8DHbFrhUar9vuUcquUX8ZqL/gZeHxE/9xjVep/lNSWZuby4aVYlf+3/UPUE1T715BeodmTteKolirn1fc453Ipe23QG1cA2aSMrYtQZghAiQAlBCBGghCCECFBCEEIEKCEIIQKUEIQQASmd7DWnqsonfi28hdonL19F1/v5SxdSLaMzopdfOa8UzN/Eqw/7atuo1nuY26OZZdxC62vm/uHSRauptr+rhGov7ZpCtURnhKMc0Vkv8yi3Tktmc6vv4srtVHu4nreBQzOvHi1fzwPt/yivIlxS1UC15//7Iqodn8XHrD+i21nvmbw9XnERrwLt6uGvfWALr8q88Ao++/yq52aHLt9/+/fRs3fvsD0VdYYghAhQQhBCBCghCCEClBCEEAFKCEKIACUEIURASqsds/L6UDH7cKh2b/1Cup7l8ao+7+U5LRZRmdh+Bp8q67xKPrvP1rozeSwT+DavPp9XO36u9HmqfWX7tVRLRFh2n7zwRard9/RFVCvljhby53Mb9/nb+fuH8/n7kDGWW7WtH+Tve+9ubsdec/Zaqj32uTlUq63cS7Xndk6lWulT3MI+dil3+jIipuJ73/s3UO3V786lmtWS/Y3w7gKdIQghApQQhBABSghCiAAlBCFEgBKCECJACUEIEZBS27G/PQvHXgyfcPG6j/Bqx6cPTqfa/m4+j99di+6k2re2f5RqHyjn3ttWcNuxcz+vUHu87gKq7VjCm4Ie+GM11WLn8Cq7B7bxCkOPqHlrv6aVai1NvOlp2afC7WQAuKKU27ivHq+k2v6dfFyiyvaufervqVZRxaskn9nGj7OZt/L5Pndey23HKFs84wCvgG2q5lW1x67lFZQ5awvD98Ud3L9gVAnBzHYBaAOQANDv7rWj2Z4QIr2cjDOES92d9+AWQpw26BqCECJgtAnBATxpZmvNbFnYE8xsmZnVmVldopN/DxNCpJ/RfmW4yN0PmNk4AE+Z2RZ3f3boE9x9OYDlAJA7oSp1/dqEEG+bUZ0huPuB5O/DAB4GEFHhIoQ41TnhMwQziwPIcPe25OMrAXwnah3PdnRX9YZq9285l67X18w7XGbE+Vx9n3mU209lG7hxVfatdqp1RVh93sYblOYs4g1KNx8Mt2IBoOyygzyW49wGvGoat04f3ns+1aKIrQ+3tADg4Lg41c5dvJ9qHRGNRitq+Ji1dfFjom8zH5fm/XyuxVicn8B23s7tyrzf8mMpfx5v2NucxccsN8aPa3uFvw9d48MrKAf4ofkXjOYrw3gAD5vZG9v5pbv/YRTbE0KkmRNOCO6+EwCf1lcIcdoh21EIEaCEIIQIUEIQQgQoIQghAlJa7YgBQ0Z7+C4n1xyiq7UV8aqwnj7+EgbW8io0fOIIlX64+zKqRc2ZmNHF8+tVk7kN+PN1fL7BQ/187sp/Oe8xqv3r5vdTLb6Hx9lWxu28vIgSw4mz+Pv3xCpuKWf08o32tnCtq4I3KC0+yNdrm8LXm7/oNarVPzGDagMV3K68rHI31bbmj6PaS0+Hz9EIAP3TeWPaWBZ5fRENXYeiMwQhRIASghAiQAlBCBGghCCECFBCEEIEKCEIIQJSajtm9AG5h8Nz0PZtvNnm+XO3U23N65OpZgt4ZWJHA2/Omr+Sd6TMvDjCduRTO2LNcR5n7DgvRcs7g7+Gl9vOoFrvq8VUu+FvnqbaM1/nzWAn/89NVFv7m7OpdvEn+Hp1D/H1OmZzew0RlaXN88IragHgzBpePTqvaB/VLv9UA9W++7urqfbH53iz2/g+/nncN4NXO2Y08QrRRCl77VFtaYdse0TPEkL8p0AJQQgRoIQghAhQQhBCBCghCCEClBCEEAHmnrrO6PnTK33G9/8mVOt+gc/j1zOHW2/Xza6j2saWiVSr38RtwPguXmGYdTFv/Nm1lluZFRGNRm+fdj/Vblj7Oap5xCSNn56xmmr1bROotub5mVRL5EQcKxlci+/m41m4j1fhFS3bS7XXX+BzXvaWc9s45zCPpSdiPeRxbVo1n9eyOt5EtVWvT6Xae2p2UG3lNj6/KFrC7djGW3+Anj17h/UedYYghAhQQhBCBCghCCEClBCEEAFKCEKIACUEIUTAsLajmd0J4MMADrv7nOSyUgC/BjAFwC4AS92d+ytJcmomecW3vxKqZWRzW2fCg7y668DF3En50hVPUu2eHy+hWqybj0nHBL4/m9tKtTPH8qaum9bX8G1GVFBGEmEwWT8XMzu41l3NqwgRYYE+cPm/Ue2zP7yJav35fHddk/jAWCLixUc4i57J3/fzz+EVt2tX8QashbP4nJBRTCpuoVr/AP8cX1oZbsN/56OvYFd9+0mxHe8C8Nb/nm8CWOHu0wGsSP4thDjNGTYhuPuzAN6a5q4GcHfy8d0ArjnJcQkh0sCJXkMY7+6NAJD8zRvMCyFOG97xi4pmtszM6sysLtHW8U7vTggxCk40IRwys0oASP6mN3O7+3J3r3X32lhh/AR3J4RIBSeaEB4FcGPy8Y0AHjk54Qgh0slIbMf7AFwCoBzAIQDfBvBbAPcDqAawB8An3H1Yf2X8rFK/9t7wOQcfff68txN3wNTZB6iWE+PWVHM3n/dxf+MYvs04t97KfsN9sgPv535XVpw31FwyfTPV1hzhFX+Ht4ylmkVYb5Pn8fEsy+Vf+da8NoVqeYU9VPNNRVTrnsTH5b8t/j3V/vczH6Za/h7eJLdrIh8YK+Lve9FL/Fiaet02qq2t501yz561h2pT4rzidkZ+eBPZ//PxOuypbx3Wdhy267K7X0+k9w23rhDi9EJ3KgohApQQhBABSghCiAAlBCFEgBKCECIgpU1WcyZP8opvfTVUWzCHN5Vct6eKbzSiyi7nVW4HDfACShQu4JWJLet5M9ioKrueSm6hWRdv/OmF3DotKuU24Ixy3vhzzTZeXRk7xudMTJTx11C8gQ9o33t55d7k0mGLZENp2DqJaoUVbVRrO1RAtewSbo+OL+HbPPocn5f0pht+S7Xvrr+San4ol2plZ3Lb8ejO0tDlarIqhHjbKCEIIQKUEIQQAUoIQogAJQQhRIASghAiYNjippNKBmB54TbaoVv5PHeFf8ubl3avC7dZACC2kFta3s+tvqZ6bi1u+SxvGDrtsS9QLWruw+xKbh/2dnEbsK2F26q3nssr0r/Ut5RqB9fwOS/9zHaqNZ/D7bycBP/caYqoOs0wPmbfuPgJqv3o7quolsvdPPS38H+Hkgpu4+6t5nbs7fW8BjBrS0QX2QiD8Oh2PodoSU34MX84Z2TdenWGIIQIUEIQQgQoIQghApQQhBABSghCiAAlBCFEQEptR4sNIJc0Kd23lFtMRU9xa/Fjf7uKaq393GPa08G3Wb+LW2jz13ySasgaoFKsiQ91wUvcWmyZxneX3cK9qSuOfoNq26//MdVmXvppqi0cxxuw1q2eQ7XuCm7xHouwJKvu4GO24paZVOuc3U21qRN5Jev+lbyqds8DvCFqdgU/dkuruKU8cEEn1ZpfHE81FHObs6Ul3MpMRIzzUHSGIIQIUEIQQgQoIQghApQQhBABSghCiAAlBCFEwLC2o5ndCeDDAA67+5zkslsAfB7AGx7Oze7++HDb8t4YuhvDZ4D2OJ9X75rPP021e/50Md/feN4086KpvKnr+Dm8su3g0WKqRVWoxafxRqMFc7uo1rS5gmqJHr7DRJxboOf/4xepNvmeF6n2wm2L+P4iKv6impfGYjzOtq9zW67xMLflxozhVZmNT3JrsWcOfx+qJ/JjYmbxIaqt/MVCqrXN4/aoT+DVibEjvKFtBrE5bdj2qsn1R/CcuwAsCVl+u7vPS/4MmwyEEKc+wyYEd38WwLAzOwshTn9Gcw3hy2a20czuNDM+f7oQ4rThRBPCjwBMBTAPQCOA29gTzWyZmdWZWV2inX+3E0KknxNKCO5+yN0T7j4A4A4A9MqJuy9391p3r40V8BoBIUT6OaGEYGZD5676CID6kxOOECKdjMR2vA/AJQDKzWwfgG8DuMTM5gFwALsA/N2I9pbh8Lxwe7FkHbdSXpk2kcfXz/0Ui2hsuu4RXp3XM4avVz2fV/w1NhVRbX7FPqo9++Jsqp09/3Wq1a/mFXjWy8elfymfGzD++bFUG/9DPi49JfxQOn42/9zpzebb7O4Nt6gBoPD1iCa5U7iVWXABb7y7YCy3D+t28eazW7fw4zO2gFun3h3x75fJX8NADn9vszeRs/CukX32D5sQ3P36kMU/G9HWhRCnFbpTUQgRoIQghAhQQhBCBCghCCEClBCEEAEpbbKa2WYYvzJ8l4ev4BVxG/dxW8ezuG1VkM+32TaT21Y191AJ+2u4tRhVUbZqB++WmlPF7+Dc8gy3Ft975Saq1d03l2ols3iVXdRYJ5bwitTMY/yzpWA3H+vYxbxMprObW9H9E3ksF1bup9qLq3lz1k0RjUg/OWc11X756gKqTa/kVZI7nudWZkZfhG0cj7Bqzwx/bz2Hr/MX+x3Rs4QQ/ylQQhBCBCghCCEClBCEEAFKCEKIACUEIURASm3HgSygs4LkoBY+v2Hevhyqtc8MnysSAGaUc8unv5Tnwm0LplOt5zi30JDDrbDS8jaq+eNlVBv78b1Ue+Z5XrE5/gCPZe9qbi0iovowu4pX7o0hdjIA9F3LqytbG/hrP+eC16jW1BM+hyEAvLijhmqxbm7nDbzCG+j+Yvd7qBZlER4v4XFGxdI/h1vRN87iFuhdT15CNjiyLqs6QxBCBCghCCEClBCEEAFKCEKIACUEIUSAEoIQIiCltqNnAt3l4bbW+Jf5eq28KCxyPsWj3+H2054buS2XXdtKtcIXeLVjew0PpnNXOdUKPnSUats3TqKa53KLsK2K26N9lbwKtGgjt3i7u3jT00MX8fH8TPWrVHvceIPZ3S2lVJtbzpvd7j4YYatGFP31zeS26kAHt8UvmM3t0ZwMPkfj83PzqLZwErebn2w8i2oXXrQ5dPkTd/B5K4eiMwQhRIASghAiQAlBCBGghCCECFBCEEIEKCEIIQJGMrdjFYCfA6gAMABgubv/wMxKAfwawBQMzu+41N35xHkAkDOA2LTwKq6Oo4V0tb65HVTLdG71vf5R3qQz97WIBp7ZuVTrreXWVHw9r2yr/RhviPrCCl61GD/GX1/1X/F5Hxcs3k219c1VVNtRwqsPew9z2zGziR9KT+ybRbW2Tm5zzpvIm6W+9AhvIpuo4lbfmDpuxy69ahXVfvmj91Pt9Spujx5p4sf1VWfyY+L3O7gdu2RqA9UYmcbnihzKSM4Q+gF83d3PArAIwJfMbBaAbwJY4e7TAaxI/i2EOI0ZNiG4e6O7r0s+bgPQAGAigKsB3J182t0ArnmnghRCpIa3dQ3BzKYAOBfAywDGu3sjMJg0AIw72cEJIVLLiBOCmRUAeBDATe7O7+39j+stM7M6M6tLtPJrAUKI9DOihGBmWRhMBve6+0PJxYfMrDKpVwII7Vfm7svdvdbda2NF/KKUECL9DJsQzMwA/AxAg7t/b4j0KIAbk49vBPDIyQ9PCJFKzD16zjczWwxgFYBNGLQdAeBmDF5HuB9ANYA9AD7h7nyiPgA5UyZ5xT/9l/D99ETkpgFuvRVt5+vFP3SQamV53D7c+TifT7FjJq8UvOysrVSLssk6J3ObDDH+/mTk8fWyc7jmm7kVloiYA3Di/Eaq7XulkmqYyCvtfnr+z6l2y46/otqRlROoVvge3lz3eCu3hvt7Ilz4iCbAU2fzystrKjdQbcVRPs/kmGw+ZmcX7qPaHb/4YOjyXXd+D12Ne4fttDrsfQju/hx4kfH7hltfCHH6oDsVhRABSghCiAAlBCFEgBKCECJACUEIEZDSJqvWb8g6Fr7LrFbuiPz9px+j2iP3c6Nj+zR+N/WBHF79ZRO4VlHRTLVIa7Ga24BnzeA20tYN1VTLiPdRrXcvvwlsoIKvNzsils31PJbpv+FzEfb+L35j6/KD76XagbXcyvzr61dQ7c76C6i2cDKvAq3by6tAsydxu7m5izdLXf6Tq6jml/Li4PY9vJlvx3m8UjfzfLLNX/MmuEPRGYIQIkAJQQgRoIQghAhQQhBCBCghCCEClBCEEAEptR3hgBH3Lf8iPr/hbSvCK7gAoPxmXmBZ8Gde2eYxngv7Ito2XDiONzZdcwm3K+P9fKhLcyLmFMzj2yz9E7e7vvAPD1Ptl/sXUm1LHZ9IM6uHW8ONiyMqKFdybV8xr1os38grL++beR7VYjE+Zqt3TaFa9mY+nh01vVyL8aa85Vfw4/p/zOQdA1ZO5vM3rvh3bqt2kUJd7+bNZYeiMwQhRIASghAiQAlBCBGghCCECFBCEEIEKCEIIQJSaztGsHTKWqr9pOFKqjXVl1Nt0hI+N+AV47dQ7Wd/vpRqf9o7g2qtR7lfGcvn1Y77/l8J1Wr6eJXawQv42/e9ez5KtbGX8KaghTsjPiMiWnS2V3OLsPRVvl5nH99o1l/zJrkdB8fwjbbyhqjTZ/Fjou2xSVTrHh9h2xXz6tHup/nx+ZXW66nmEXOWVi3l719ZRvjxcjjObdOh6AxBCBGghCCECFBCEEIEKCEIIQKUEIQQAUoIQoiAYW1HM6sC8HMAFRic23G5u//AzG4B8HkAR5JPvdndH4/cVl4COWeHNyn9/T9eRtdLXM0tu6UL1lCtoz+Hanf9ju9voJRbfZmPc4vwH296lGqvdY2n2kPX8Mo9y+V2nh3jVX1eyq2wA3W8eWke79+JtnO7qVZYzOciPFzMqx0vmruNaiVZfJt7d3M7D3H+/m3fxK3FgffzMcvI5GM9pfIY1ZpfmMi3mc8bt/av5rbqrlZ+LLG5QHt6uBU7lJHch9AP4Ovuvs7MCgGsNbOnktrt7v5/R7QnIcQpz0gme20E0Jh83GZmDQB42hNCnLa8rWsIZjYFwLkYnAoeAL5sZhvN7E4zi7h1TAhxOjDihGBmBQAeBHCTu7cC+BGAqQDmYfAM4jay3jIzqzOzukQr7wwkhEg/I0oIZpaFwWRwr7s/BADufsjdE+4+AOAOAKF9udx9ubvXunttrIi3NBNCpJ9hE4KZGYCfAWhw9+8NWT70UvVHANSf/PCEEKnE3LmtBQBmthjAKgCbMGg7AsDNAK7H4NcFB7ALwN8lL0BS8iqrvOazXwvVOs7gls+YCj43YHMzrzCsruANWKsLuXa4i9tk2/ZUUM27eEWc9fLcaxFvQcY4bvXZLt4UNL6fV8v1FfD9JXi/UPQVcustYxL/Ojj2QR5n43v4/mLl3JZL9EZUH3bwa+UlVXxuzu7VZVSbs2Qr1eq2T6Fa8ZgOqjUf5MeZ5XHrtHQVt9OLrw2v5qz74r1o23owol51kJG4DM8hvPA18p4DIcTph+5UFEIEKCEIIQKUEIQQAUoIQogAJQQhREBKm6wOZAGdE8PtlKyjPJTYBO7L5cW5NbV7xziq7Svid1pnN3CbbOEHeHPWafEjVHvk9bOp1rGniGpjirltdTyHe4QZS3gFXscRvr/Ycf4+fPUDT1Dtx/d+iGoFX9hDNYuoPoy9xm9kGyjiFmhWG3fXppzN7eb6eCnVsknzUgCYVMm3eXAdt6nPW/wa1dZtmEq1lkt5FWjnyvDx7GsbWbWjzhCEEAFKCEKIACUEIUSAEoIQIkAJQQgRoIQghAhIqe2YmduPcVPD7bCsn/JKs0VLuD3zcMM8qk2sOUq1li5u2bVX82HZ+IeZVNuz7UyqdbyHW6exHm6THY2wCPOO8nzePzWi8jKiKrNwOq8GvP+fllCt9wL++ibF+Tb3NFdTrS/Ot5l/gL/2zMXcBizL4VWZfRV8/sPnt0yjGhL8/cvI469h/Vq+zfLp3Dbu6ePH55UfeyV0+b0Pcvt6KDpDEEIEKCEIIQKUEIQQAUoIQogAJQQhRIASghAiIKW2Y39/Bo41h3f4TFzC13v6wHSqZezm9uFFs9ZT7cE/L6Ja6ZnctvL13B6N749oiFrCran+HP42ZDTzKrWumXx/eQme6/P3ctsxfyq33i7855epdv9LoV34AQArt3I7NntWG9XmVfKeva88z4+J7Jd41eKfanhjU2RGdLuN6ISbGedzj46ZwC3Xozt4nO78eKkZw4/PB18Ifx+aOl6k6wxFZwhCiAAlBCFEgBKCECJACUEIEaCEIIQIUEIQQgSMZG7HXADPAsjBoE35gLt/28xqAPwKQCmAdQA+7e7cswIwc26O3/noxFDt3w9dStebXcDtpx+//F6qxZq5nZffyHOhL+ZWUc+WYqoNZEdYUx3cRiqczyvbep8qp9rspQ1Ue7GeV9IVbOdW5vSreGXp9uM8luzfl1Ctp5i/9vZp3LLLPhYxf2MEvZV8ntDqh/j73rashWrNTXwO0YJi3vQ0yj7saeDHUuFuKqE/n2/zW1+8N3T5zR9pwM5NEQdhkpGcIfQAuMzdz8Hg5K5LzGwRgFsB3O7u0wE0AfjcCLYlhDiFGTYh+CDtyT+zkj8O4DIADySX3w3gmnckQiFEyhjRNQQzi5nZBgCHATwFYAeAZnd/43xvH4Dw7wJCiNOGESUEd0+4+zwAkwAsBHBW2NPC1jWzZWZWZ2Z1zcf4ZBdCiPTztlwGd2+wgfbNAAABqklEQVQG8DSARQBKzOyNq3aTABwg6yx391p3ry0pO7GLREKI1DBsQjCzsWZWknycB+ByAA0AVgL4ePJpNwJ45J0KUgiRGkZiO87F4EXDGAYTyP3u/h0zOwNv2o7rAXzK3flEiwDyxlf5tBu+Fqq11/C5+qadvY9qzXdX8R1GvLQLblpDtT//klfuVV/1OtW2P1NDtf44f33ZU9qpltjKq/P6J/Nqx+Ii3ky06Ce8cWvTNG5J9pRFzLF5ThPV2tr5XJmJnohmsJ1c81z+9fMzC3hl3z3reZWr9/HPx4x2Hkv2JN7ANLEjvLoXALya25U5udw6HVjP7cqe0vDj7MBt30fPnr3D2o7Dlj+7+0YA54Ys34nB6wlCiHcJulNRCBGghCCECFBCEEIEKCEIIQKUEIQQAcPajid1Z2ZHALxRx1UOgE++mFoUSziKJZzTMZbJ7j52uCelNCH8xY7N6ty9Ni07fwuKJRzFEs67ORZ9ZRBCBCghCCEC0pkQlqdx329FsYSjWMJ518aStmsIQohTD31lEEIEKCEIIQKUEIQQAUoIQogAJQQhRMD/Bz0kzx9GDq16AAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 288x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = torch.normal(mean=torch.zeros(256,1,32,32), std=0.1)\n",
"fig = plt.matshow(x[0,0,:,:])"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"model = MoReNet9(ch=1)\n",
"model.eval();\n",
"y = torch.squeeze(model(x).data)\n",
"n, bins, patches = plt.hist(y)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.8"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment