{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Least squares\n", "\n", "A mathematical procedure for finding the best-fitting curve to a given set of points by minimizing the sum of the squares of the offsets (\"the residuals\") of the points from the curve. The sum of the squares of the offsets is used instead of the offset absolute values because this allows the residuals to be treated as a continuous differentiable quantity. However, because squares of the offsets are used, outlying points can have a disproportionate effect on the fit, a property which may or may not be desirable depending on the problem at hand. \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Show the data\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import sklearn\n", "from sklearn import datasets\n", "\n", "# load data\n", "d = datasets.load_diabetes()\n", "\n", "X = d.data[:, 2]\n", "Y = d.target\n", "\n", "# draw original data\n", "plt.scatter(X, Y)\n", "plt.xlabel(\"X\")\n", "plt.ylabel(\"Y\")\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Theory\n", "For $N$ observation data:\n", "$$\n", "\\mathbf{X} = \\{x_1, x_2, ..., x_N \\} \\\\\n", "\\mathbf{Y} = \\{y_1, y_2, ..., y_N \\}\n", "$$\n", "\n", "We want to find the model which can predict the data. The simplest model is linear model, which has the form of \n", "$$\n", "y = ax + b\n", "$$\n", "\n", "The purpose is to find parameters $a, b$ which best fit the model to the observation data. \n", "\n", "We use the sum of squares to measure the differences (loss function) between the model's prediction and observation data:\n", "$$\n", "L = \\sum_{i=1}^{N} (y_i - a x_i - b)^2\n", "$$\n", "\n", "To make the loss function minimize, we can find the parameters:\n", "$$\n", "\\frac{\\partial L}{\\partial a} = -2 \\sum_{i=1}^{N} (y_i - a x_i - b) x_i \\\\\n", "\\frac{\\partial L}{\\partial b} = -2 \\sum_{i=1}^{N} (y_i - a x_i - b)\n", "$$\n", "When the loss is minimized, therefore the partial difference is zero, then we can get:\n", "$$\n", "-2 \\sum_{i=1}^{N} (y_i - a x_i - b) x_i = 0 \\\\\n", "-2 \\sum_{i=1}^{N} (y_i - a x_i - b) = 0 \\\\\n", "$$\n", "\n", "We reoder the items as:\n", "$$\n", "a \\sum x_i^2 + b \\sum x_i = \\sum y_i x_i \\\\\n", "a \\sum x_i + b N = \\sum y_i\n", "$$\n", "By solving the linear equation we can obtain the model parameters." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Program" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "a = 949.435260, b = 152.133484\n" ] }, { "data": { "image/png": "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h+gw1WgeffRRysrKPLVDEUm6LVhKBumaeExhjbLo40BKiZSSd955x3bf8ePHJ6FF9jz66KNcc801ZGdnp7opNZq6atmmY1inwp5aY9Enwrp6+OGH6dKlC126dOHRUL6djRs30rFjR4YMGUKXLl3YvHlzRMGQe++9l44dO3LmmWdy9dVX8+CDDwIwbNgwZs6cCWgFRsaMGcPJJ59M165dWbNmDQCLFy/m9NNPJy8vjzPOOIO1a62tpPLycq666ipOOOEELr30UsrLD3/Z/vSnP5Gfn0/nzp0ZM2YMAI899hhbt26lT58+9OnTx3Q/hT111bI1C99MdVinwppaYdEnwrpaunQpzz//PF9++SVSSk477TTOPvtsmjRpwrp165g6dSo9e/aMOOarr75i1qxZLF++nGAwyMknn0yPHj0Mz9+sWTO+/vprnnrqKR588EH+85//0KlTJz799FPq1avHBx98wB133FGdGdOIp59+muzsbFavXs2KFSs4+eSTq9+77777aNq0KZWVlZx77rmsWLGCW265hYcffpgFCxbQrFkz0/26devm6Z7VJeqqZasSj7mgshIyM+33SwK1QujjzZpnxGeffcall15Ko0aNALjsssv49NNPGThwIO3atYsReYCFCxcyaNAgGjZsSMOGDbnkkktMz3/ZZZcB0KNHj+p0xnv37mXo0KGsW7cOIQTBYNCyjZ988gm33HILAN26dYsQ6Ndee40pU6ZQUVHBtm3b+Pbbbw0F3Ol+iSTdojictMfpgqWa2DcrVFinA9auhTvvhCOPhOefT3VrgFoi9Mm2rnTxjwc93XFmZiYVFRUA3H333fTp04fZs2ezceNGzjnnHE/n/v7773nwwQf56quvaNKkCcOGDePAgQOe90sk6ebrdtoeJ5ZtTe2bHWr1qwklJTBuHDz3HGRlwahRICUIkeqW1Q4ffSL8hmeddRZFRUWUlZWxf/9+Zs+ezVlnnWV5TK9evXjrrbc4cOAA+/bt4+2333Z1zb1795Kbq32BXnjhBdv9w1Mhf/PNN9VlDH/++WcaNWpE48aN2b59O++++271MUceeSS//PKL7X7JIt183U7b4ySlbk3tWzpQoyKa9uyBwkI47jh44QW4+WbYsAHuuistRB5qiUWfCL/hySefzLBhwzj11FMB+MMf/kBeXh4bN240PeaUU05h4MCBdOvW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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "N = X.shape[0]\n", "\n", "S_X2 = np.sum(X*X)\n", "S_X = np.sum(X)\n", "S_XY = np.sum(X*Y)\n", "S_Y = np.sum(Y)\n", "\n", "A1 = np.array([[S_X2, S_X], \n", " [S_X, N]])\n", "B1 = np.array([S_XY, S_Y])\n", "\n", "coeff = np.linalg.inv(A1).dot(B1)\n", "\n", "print('a = %f, b = %f' % (coeff[0], coeff[1]))\n", "\n", "x_min = np.min(X)\n", "x_max = np.max(X)\n", "y_min = coeff[0] * x_min + coeff[1]\n", "y_max = coeff[0] * x_max + coeff[1]\n", "\n", "plt.scatter(X, Y, label='original data')\n", "plt.plot([x_min, x_max], [y_min, y_max], 'r', label='model')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 如何使用迭代的方法求出模型参数\n", "\n", "当数据比较多的时候,或者模型比较复杂,无法直接使用解析的方式求出模型参数。因此更为常用的方式是,通过迭代的方式逐步逼近模型的参数。\n", "\n", "### 梯度下降法\n", "在机器学习算法中,对于很多监督学习模型,需要对原始的模型构建损失函数,接下来便是通过优化算法对损失函数进行优化,以便寻找到最优的参数。在求解机器学习参数的优化算法中,使用较多的是基于梯度下降的优化算法(Gradient Descent, GD)。\n", "\n", "梯度下降法有很多优点,其中,在梯度下降法的求解过程中,只需求解损失函数的一阶导数,计算的代价比较小,这使得梯度下降法能在很多大规模数据集上得到应用。梯度下降法的含义是通过当前点的梯度方向寻找到新的迭代点。\n", "\n", "梯度下降法的基本思想可以类比为一个下山的过程。假设这样一个场景:一个人被困在山上,需要从山上下来(i.e. 找到山的最低点,也就是山谷)。但此时山上的浓雾很大,导致可视度很低。因此,下山的路径就无法确定,他必须利用自己周围的信息去找到下山的路径。这个时候,他就可以利用梯度下降算法来帮助自己下山。具体来说就是,以他当前的所处的位置为基准,寻找这个位置最陡峭的地方,然后朝着山的高度下降的地方走,同理,如果我们的目标是上山,也就是爬到山顶,那么此时应该是朝着最陡峭的方向往上走。然后每走一段距离,都反复采用同一个方法,最后就能成功的抵达山谷。\n", "\n", "\n", "我们同时可以假设这座山最陡峭的地方是无法通过肉眼立马观察出来的,而是需要一个复杂的工具来测量,同时,这个人此时正好拥有测量出最陡峭方向的能力。所以,此人每走一段距离,都需要一段时间来测量所在位置最陡峭的方向,这是比较耗时的。那么为了在太阳下山之前到达山底,就要尽可能的减少测量方向的次数。这是一个两难的选择,如果测量的频繁,可以保证下山的方向是绝对正确的,但又非常耗时,如果测量的过少,又有偏离轨道的风险。所以需要找到一个合适的测量方向的频率,来确保下山的方向不错误,同时又不至于耗时太多!\n", "\n", "\n", "![gradient_descent](images/gradient_descent.png)\n", "\n", "如上图所示,得到了局部最优解。x,y表示的是$\\theta_0$和$\\theta_1$,z方向表示的是花费函数,很明显出发点不同,最后到达的收敛点可能不一样。当然如果是碗状的,那么收敛点就应该是一样的。\n", "\n", "对于某一个损失函数\n", "$$\n", "L = \\sum_{i=1}^{N} (y_i - a x_i + b)^2\n", "$$\n", "\n", "我们更新的策略是:\n", "$$\n", "\\theta^1 = \\theta^0 - \\alpha \\triangledown L(\\theta)\n", "$$\n", "其中$\\theta$代表了模型中的参数,例如$a$, $b$\n", "\n", "此公式的意义是:L是关于$\\theta$的一个函数,我们当前所处的位置为$\\theta_0$点,要从这个点走到L的最小值点,也就是山底。首先我们先确定前进的方向,也就是梯度的反向,然后走一段距离的步长,也就是$\\alpha$,走完这个段步长,就到达了$\\theta_1$这个点!\n", "\n", "下面就这个公式的几个常见的疑问:\n", "\n", "* **$\\alpha$是什么含义?**\n", "$\\alpha$在梯度下降算法中被称作为学习率或者步长,意味着我们可以通过$\\alpha$来控制每一步走的距离,以保证不要步子跨的太大扯着蛋,哈哈,其实就是不要走太快,错过了最低点。同时也要保证不要走的太慢,导致太阳下山了,还没有走到山下。所以$\\alpha$的选择在梯度下降法中往往是很重要的!$\\alpha$不能太大也不能太小,太小的话,可能导致迟迟走不到最低点,太大的话,会导致错过最低点!\n", "![gd_stepsize](images/gd_stepsize.png)\n", "\n", "* **为什么要梯度要乘以一个负号?**\n", "梯度前加一个负号,就意味着朝着梯度相反的方向前进!我们在前文提到,梯度的方向实际就是函数在此点上升最快的方向!而我们需要朝着下降最快的方向走,自然就是负的梯度的方向,所以此处需要加上负号\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Program" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "epoch 0: loss = 4303817.496892, a = 2.826518, b = 90.332322\n", "epoch 1: loss = 2886806.756007, a = 4.689320, b = 127.204624\n", "epoch 2: loss = 2650260.562182, a = 6.564882, b = 142.423411\n", "epoch 3: loss = 2610244.478756, a = 8.443497, b = 148.704446\n", "epoch 4: loss = 2601826.873313, a = 10.321163, b = 151.296317\n", "epoch 5: loss = 2598022.583256, a = 12.196235, b = 152.365440\n", "epoch 6: loss = 2594693.583475, a = 14.068035, b = 152.806033\n", "epoch 7: loss = 2591324.277053, a = 15.936290, b = 152.987193\n", "epoch 8: loss = 2587904.879022, a = 17.800890, b = 153.061271\n", "epoch 9: loss = 2584465.875668, a = 19.661796, b = 153.091151\n", "epoch 10: loss = 2581025.689621, a = 21.518994, b = 153.102788\n", "epoch 11: loss = 2577592.886376, a = 23.372484, b = 153.106897\n", "epoch 12: loss = 2574171.135769, a = 25.222270, b = 153.107901\n", "epoch 13: loss = 2570761.947715, a = 27.068358, b = 153.107623\n", "epoch 14: loss = 2567365.917653, a = 28.910755, b = 153.106819\n", "epoch 15: loss = 2563983.260031, a = 30.749468, b = 153.105798\n", "epoch 16: loss = 2560614.031657, a = 32.584504, b = 153.104690\n", "epoch 17: loss = 2557258.224357, a = 34.415871, b = 153.103546\n", "epoch 18: loss = 2553915.803272, a = 36.243576, b = 153.102390\n", "epoch 19: loss = 2550586.722666, a = 38.067626, b = 153.101229\n", "epoch 20: loss = 2547270.932442, a = 39.888028, b = 153.100068\n", "epoch 21: loss = 2543968.380830, a = 41.704790, b = 153.098909\n", "epoch 22: loss = 2540679.015496, a = 43.517919, b = 153.097751\n", "epoch 23: loss = 2537402.783996, a = 45.327423, b = 153.096595\n", "epoch 24: loss = 2534139.633964, a = 47.133308, b = 153.095442\n", "epoch 25: loss = 2530889.513189, a = 48.935582, b = 153.094291\n", "epoch 26: loss = 2527652.369647, a = 50.734252, b = 153.093142\n", "epoch 27: loss = 2524428.151512, a = 52.529326, b = 153.091995\n", "epoch 28: loss = 2521216.807162, a = 54.320809, b = 153.090851\n", "epoch 29: loss = 2518018.285178, a = 56.108711, b = 153.089709\n", "epoch 30: loss = 2514832.534347, a = 57.893037, b = 153.088570\n", "epoch 31: loss = 2511659.503661, a = 59.673795, b = 153.087432\n", "epoch 32: loss = 2508499.142314, a = 61.450992, b = 153.086297\n", "epoch 33: loss = 2505351.399704, a = 63.224636, b = 153.085164\n", "epoch 34: loss = 2502216.225431, a = 64.994732, b = 153.084034\n", "epoch 35: loss = 2499093.569295, a = 66.761289, b = 153.082906\n", "epoch 36: loss = 2495983.381300, a = 68.524314, b = 153.081780\n", "epoch 37: loss = 2492885.611645, a = 70.283813, b = 153.080656\n", "epoch 38: loss = 2489800.210732, a = 72.039794, b = 153.079534\n", "epoch 39: loss = 2486727.129159, a = 73.792263, b = 153.078415\n", "epoch 40: loss = 2483666.317722, a = 75.541228, b = 153.077298\n", "epoch 41: loss = 2480617.727412, a = 77.286695, b = 153.076183\n", "epoch 42: loss = 2477581.309419, a = 79.028673, b = 153.075070\n", "epoch 43: loss = 2474557.015125, a = 80.767166, b = 153.073960\n", "epoch 44: loss = 2471544.796108, a = 82.502184, b = 153.072852\n", "epoch 45: loss = 2468544.604139, a = 84.233732, b = 153.071746\n", "epoch 46: loss = 2465556.391180, a = 85.961817, b = 153.070642\n", "epoch 47: loss = 2462580.109388, a = 87.686447, b = 153.069541\n", "epoch 48: loss = 2459615.711109, a = 89.407628, b = 153.068441\n", "epoch 49: loss = 2456663.148878, a = 91.125368, b = 153.067344\n", "epoch 50: loss = 2453722.375424, a = 92.839672, b = 153.066249\n", "epoch 51: loss = 2450793.343662, a = 94.550548, b = 153.065157\n", "epoch 52: loss = 2447876.006693, a = 96.258004, b = 153.064066\n", "epoch 53: loss = 2444970.317810, a = 97.962044, b = 153.062978\n", "epoch 54: loss = 2442076.230490, a = 99.662678, b = 153.061892\n", "epoch 55: loss = 2439193.698395, a = 101.359910, b = 153.060808\n", "epoch 56: loss = 2436322.675374, a = 103.053749, b = 153.059726\n", "epoch 57: loss = 2433463.115460, a = 104.744201, b = 153.058646\n", "epoch 58: loss = 2430614.972868, a = 106.431272, b = 153.057569\n", "epoch 59: loss = 2427778.201998, a = 108.114970, b = 153.056493\n", "epoch 60: loss = 2424952.757431, a = 109.795301, b = 153.055420\n", "epoch 61: loss = 2422138.593930, a = 111.472271, b = 153.054349\n", "epoch 62: loss = 2419335.666438, a = 113.145889, b = 153.053280\n", "epoch 63: loss = 2416543.930078, a = 114.816160, b = 153.052213\n", "epoch 64: loss = 2413763.340154, a = 116.483090, b = 153.051148\n", "epoch 65: loss = 2410993.852146, a = 118.146688, b = 153.050086\n", "epoch 66: loss = 2408235.421713, a = 119.806958, b = 153.049026\n", "epoch 67: loss = 2405488.004692, a = 121.463909, b = 153.047967\n", "epoch 68: loss = 2402751.557095, a = 123.117547, b = 153.046911\n", "epoch 69: loss = 2400026.035111, a = 124.767877, b = 153.045857\n", "epoch 70: loss = 2397311.395102, a = 126.414908, b = 153.044805\n", "epoch 71: loss = 2394607.593607, a = 128.058645, b = 153.043755\n", "epoch 72: loss = 2391914.587336, a = 129.699095, b = 153.042707\n", "epoch 73: loss = 2389232.333175, a = 131.336265, b = 153.041662\n", "epoch 74: loss = 2386560.788178, a = 132.970161, b = 153.040618\n", "epoch 75: loss = 2383899.909575, a = 134.600789, b = 153.039577\n", "epoch 76: loss = 2381249.654764, a = 136.228157, b = 153.038537\n", "epoch 77: loss = 2378609.981313, a = 137.852271, b = 153.037500\n", "epoch 78: loss = 2375980.846962, a = 139.473137, b = 153.036465\n", "epoch 79: loss = 2373362.209618, a = 141.090762, b = 153.035432\n", "epoch 80: loss = 2370754.027356, a = 142.705152, b = 153.034401\n", "epoch 81: loss = 2368156.258420, a = 144.316314, b = 153.033371\n", "epoch 82: loss = 2365568.861218, a = 145.924254, b = 153.032344\n", "epoch 83: loss = 2362991.794327, a = 147.528979, b = 153.031320\n", "epoch 84: loss = 2360425.016488, a = 149.130495, b = 153.030297\n", "epoch 85: loss = 2357868.486607, a = 150.728809, b = 153.029276\n", "epoch 86: loss = 2355322.163754, a = 152.323926, b = 153.028257\n", "epoch 87: loss = 2352786.007164, a = 153.915853, b = 153.027240\n", "epoch 88: loss = 2350259.976233, a = 155.504598, b = 153.026226\n", "epoch 89: loss = 2347744.030520, a = 157.090165, b = 153.025213\n", "epoch 90: loss = 2345238.129745, a = 158.672562, b = 153.024202\n", "epoch 91: loss = 2342742.233790, a = 160.251794, b = 153.023194\n", "epoch 92: loss = 2340256.302696, a = 161.827869, b = 153.022187\n", "epoch 93: loss = 2337780.296663, a = 163.400791, b = 153.021182\n", "epoch 94: loss = 2335314.176054, a = 164.970569, b = 153.020180\n", "epoch 95: loss = 2332857.901385, a = 166.537207, b = 153.019179\n", "epoch 96: loss = 2330411.433334, a = 168.100713, b = 153.018180\n", "epoch 97: loss = 2327974.732732, a = 169.661092, b = 153.017184\n", "epoch 98: loss = 2325547.760572, a = 171.218351, b = 153.016189\n", "epoch 99: loss = 2323130.477996, a = 172.772496, b = 153.015197\n", "epoch 100: loss = 2320722.846308, a = 174.323534, b = 153.014206\n", "epoch 101: loss = 2318324.826961, a = 175.871469, b = 153.013217\n", "epoch 102: loss = 2315936.381566, a = 177.416310, b = 153.012231\n", "epoch 103: loss = 2313557.471885, a = 178.958061, b = 153.011246\n", "epoch 104: loss = 2311188.059833, a = 180.496729, b = 153.010263\n", "epoch 105: loss = 2308828.107479, a = 182.032320, b = 153.009282\n", "epoch 106: loss = 2306477.577040, a = 183.564841, b = 153.008304\n", "epoch 107: loss = 2304136.430888, a = 185.094297, b = 153.007327\n", "epoch 108: loss = 2301804.631543, a = 186.620695, b = 153.006352\n", "epoch 109: loss = 2299482.141674, a = 188.144040, b = 153.005379\n", "epoch 110: loss = 2297168.924101, a = 189.664339, b = 153.004408\n", "epoch 111: loss = 2294864.941791, a = 191.181598, b = 153.003439\n", "epoch 112: loss = 2292570.157861, a = 192.695823, b = 153.002472\n", "epoch 113: loss = 2290284.535573, a = 194.207021, b = 153.001506\n", "epoch 114: loss = 2288008.038337, a = 195.715196, b = 153.000543\n", "epoch 115: loss = 2285740.629708, a = 197.220355, b = 152.999582\n", "epoch 116: loss = 2283482.273389, a = 198.722505, b = 152.998622\n", "epoch 117: loss = 2281232.933225, a = 200.221651, b = 152.997665\n", "epoch 118: loss = 2278992.573208, a = 201.717799, b = 152.996709\n", "epoch 119: loss = 2276761.157473, a = 203.210955, b = 152.995756\n", "epoch 120: loss = 2274538.650297, a = 204.701125, b = 152.994804\n", "epoch 121: loss = 2272325.016100, a = 206.188316, b = 152.993854\n", "epoch 122: loss = 2270120.219447, a = 207.672532, b = 152.992906\n", "epoch 123: loss = 2267924.225041, a = 209.153781, b = 152.991960\n", "epoch 124: loss = 2265736.997727, a = 210.632068, b = 152.991016\n", "epoch 125: loss = 2263558.502491, a = 212.107398, b = 152.990074\n", "epoch 126: loss = 2261388.704460, a = 213.579779, b = 152.989133\n", "epoch 127: loss = 2259227.568898, a = 215.049215, b = 152.988195\n", "epoch 128: loss = 2257075.061208, a = 216.515713, b = 152.987258\n", "epoch 129: loss = 2254931.146933, a = 217.979278, b = 152.986323\n", "epoch 130: loss = 2252795.791751, a = 219.439916, b = 152.985390\n", "epoch 131: loss = 2250668.961481, a = 220.897634, b = 152.984459\n", "epoch 132: loss = 2248550.622075, a = 222.352437, b = 152.983530\n", "epoch 133: loss = 2246440.739622, a = 223.804331, b = 152.982603\n", "epoch 134: loss = 2244339.280347, a = 225.253321, b = 152.981677\n", "epoch 135: loss = 2242246.210609, a = 226.699414, b = 152.980754\n", "epoch 136: loss = 2240161.496903, a = 228.142616, b = 152.979832\n", "epoch 137: loss = 2238085.105855, a = 229.582931, b = 152.978912\n", "epoch 138: loss = 2236017.004229, a = 231.020366, b = 152.977994\n", "epoch 139: loss = 2233957.158916, a = 232.454927, b = 152.977078\n", "epoch 140: loss = 2231905.536944, a = 233.886619, b = 152.976163\n", "epoch 141: loss = 2229862.105469, a = 235.315448, b = 152.975251\n", "epoch 142: loss = 2227826.831783, a = 236.741420, b = 152.974340\n", "epoch 143: loss = 2225799.683303, a = 238.164541, b = 152.973431\n", "epoch 144: loss = 2223780.627579, a = 239.584815, b = 152.972524\n", "epoch 145: loss = 2221769.632292, a = 241.002250, b = 152.971619\n", "epoch 146: loss = 2219766.665250, a = 242.416850, b = 152.970715\n", "epoch 147: loss = 2217771.694390, a = 243.828622, b = 152.969813\n", "epoch 148: loss = 2215784.687776, a = 245.237570, b = 152.968913\n", "epoch 149: loss = 2213805.613603, a = 246.643701, b = 152.968015\n", "epoch 150: loss = 2211834.440190, a = 248.047021, b = 152.967119\n", "epoch 151: loss = 2209871.135983, a = 249.447534, b = 152.966225\n", "epoch 152: loss = 2207915.669555, a = 250.845246, b = 152.965332\n", "epoch 153: loss = 2205968.009603, a = 252.240164, b = 152.964441\n", "epoch 154: loss = 2204028.124951, a = 253.632292, b = 152.963552\n", "epoch 155: loss = 2202095.984547, a = 255.021636, b = 152.962664\n", "epoch 156: loss = 2200171.557461, a = 256.408203, b = 152.961779\n", "epoch 157: loss = 2198254.812889, a = 257.791996, b = 152.960895\n", "epoch 158: loss = 2196345.720150, a = 259.173022, b = 152.960013\n", "epoch 159: loss = 2194444.248684, a = 260.551287, b = 152.959133\n", "epoch 160: loss = 2192550.368053, a = 261.926796, b = 152.958254\n", "epoch 161: loss = 2190664.047943, a = 263.299554, b = 152.957377\n", "epoch 162: loss = 2188785.258158, a = 264.669567, b = 152.956502\n", "epoch 163: loss = 2186913.968625, a = 266.036841, b = 152.955629\n", "epoch 164: loss = 2185050.149391, a = 267.401380, b = 152.954757\n", "epoch 165: loss = 2183193.770620, a = 268.763191, b = 152.953888\n", "epoch 166: loss = 2181344.802598, a = 270.122278, b = 152.953020\n", "epoch 167: loss = 2179503.215730, a = 271.478648, b = 152.952153\n", "epoch 168: loss = 2177668.980536, a = 272.832306, b = 152.951289\n", "epoch 169: loss = 2175842.067656, a = 274.183256, b = 152.950426\n", "epoch 170: loss = 2174022.447849, a = 275.531506, b = 152.949565\n", "epoch 171: loss = 2172210.091986, a = 276.877059, b = 152.948705\n", "epoch 172: loss = 2170404.971060, a = 278.219921, b = 152.947848\n", "epoch 173: loss = 2168607.056175, a = 279.560099, b = 152.946992\n", "epoch 174: loss = 2166816.318553, a = 280.897596, b = 152.946138\n", "epoch 175: loss = 2165032.729530, a = 282.232419, b = 152.945285\n", "epoch 176: loss = 2163256.260558, a = 283.564572, b = 152.944434\n", "epoch 177: loss = 2161486.883202, a = 284.894062, b = 152.943585\n", "epoch 178: loss = 2159724.569140, a = 286.220893, b = 152.942738\n", "epoch 179: loss = 2157969.290163, a = 287.545071, b = 152.941892\n", "epoch 180: loss = 2156221.018176, a = 288.866601, b = 152.941048\n", "epoch 181: loss = 2154479.725196, a = 290.185489, b = 152.940205\n", "epoch 182: loss = 2152745.383351, a = 291.501739, b = 152.939365\n", "epoch 183: loss = 2151017.964881, a = 292.815357, b = 152.938526\n", "epoch 184: loss = 2149297.442136, a = 294.126348, b = 152.937688\n", "epoch 185: loss = 2147583.787577, a = 295.434718, b = 152.936853\n", "epoch 186: loss = 2145876.973776, a = 296.740471, b = 152.936019\n", "epoch 187: loss = 2144176.973412, a = 298.043614, b = 152.935186\n", "epoch 188: loss = 2142483.759277, a = 299.344150, b = 152.934356\n", "epoch 189: loss = 2140797.304267, a = 300.642086, b = 152.933527\n", "epoch 190: loss = 2139117.581390, a = 301.937426, b = 152.932699\n", "epoch 191: loss = 2137444.563760, a = 303.230176, b = 152.931874\n", "epoch 192: loss = 2135778.224600, a = 304.520341, b = 152.931050\n", "epoch 193: loss = 2134118.537237, a = 305.807926, b = 152.930227\n", "epoch 194: loss = 2132465.475108, a = 307.092937, b = 152.929407\n", "epoch 195: loss = 2130819.011754, a = 308.375378, b = 152.928588\n", "epoch 196: loss = 2129179.120822, a = 309.655254, b = 152.927770\n", "epoch 197: loss = 2127545.776064, a = 310.932571, b = 152.926954\n", "epoch 198: loss = 2125918.951339, a = 312.207334, b = 152.926140\n", "epoch 199: loss = 2124298.620607, a = 313.479547, b = 152.925328\n", "epoch 200: loss = 2122684.757934, a = 314.749217, b = 152.924517\n", "epoch 201: loss = 2121077.337490, a = 316.016348, b = 152.923707\n", "epoch 202: loss = 2119476.333547, a = 317.280945, b = 152.922900\n", "epoch 203: loss = 2117881.720480, a = 318.543013, b = 152.922094\n", "epoch 204: loss = 2116293.472768, a = 319.802557, b = 152.921289\n", "epoch 205: loss = 2114711.564989, a = 321.059583, b = 152.920486\n", "epoch 206: loss = 2113135.971825, a = 322.314095, b = 152.919685\n", "epoch 207: loss = 2111566.668058, a = 323.566099, b = 152.918885\n", "epoch 208: loss = 2110003.628571, a = 324.815599, b = 152.918087\n", "epoch 209: loss = 2108446.828347, a = 326.062600, b = 152.917291\n", "epoch 210: loss = 2106896.242470, a = 327.307108, b = 152.916496\n", "epoch 211: loss = 2105351.846122, a = 328.549127, b = 152.915703\n", "epoch 212: loss = 2103813.614585, a = 329.788662, b = 152.914911\n", "epoch 213: loss = 2102281.523241, a = 331.025719, b = 152.914121\n", "epoch 214: loss = 2100755.547567, a = 332.260302, b = 152.913332\n", "epoch 215: loss = 2099235.663141, a = 333.492417, b = 152.912545\n", "epoch 216: loss = 2097721.845637, a = 334.722067, b = 152.911760\n", "epoch 217: loss = 2096214.070828, a = 335.949259, b = 152.910976\n", "epoch 218: loss = 2094712.314580, a = 337.173997, b = 152.910194\n", "epoch 219: loss = 2093216.552860, a = 338.396285, b = 152.909413\n", "epoch 220: loss = 2091726.761728, a = 339.616130, b = 152.908634\n", "epoch 221: loss = 2090242.917340, a = 340.833535, b = 152.907857\n", "epoch 222: loss = 2088764.995948, a = 342.048506, b = 152.907081\n", "epoch 223: loss = 2087292.973899, a = 343.261047, b = 152.906306\n", "epoch 224: loss = 2085826.827634, a = 344.471164, b = 152.905533\n", "epoch 225: loss = 2084366.533687, a = 345.678860, b = 152.904762\n", "epoch 226: loss = 2082912.068689, a = 346.884142, b = 152.903992\n", "epoch 227: loss = 2081463.409360, a = 348.087014, b = 152.903224\n", "epoch 228: loss = 2080020.532516, a = 349.287480, b = 152.902457\n", "epoch 229: loss = 2078583.415065, a = 350.485545, b = 152.901692\n", "epoch 230: loss = 2077152.034007, a = 351.681215, b = 152.900928\n", "epoch 231: loss = 2075726.366435, a = 352.874494, b = 152.900166\n", "epoch 232: loss = 2074306.389530, a = 354.065387, b = 152.899405\n", "epoch 233: loss = 2072892.080568, a = 355.253899, b = 152.898646\n", "epoch 234: loss = 2071483.416915, a = 356.440033, b = 152.897889\n", "epoch 235: loss = 2070080.376026, a = 357.623796, b = 152.897133\n", "epoch 236: loss = 2068682.935446, a = 358.805192, b = 152.896378\n", "epoch 237: loss = 2067291.072812, a = 359.984226, b = 152.895625\n", "epoch 238: loss = 2065904.765847, a = 361.160901, b = 152.894874\n", "epoch 239: loss = 2064523.992367, a = 362.335224, b = 152.894124\n", "epoch 240: loss = 2063148.730273, a = 363.507199, b = 152.893375\n", "epoch 241: loss = 2061778.957556, a = 364.676830, b = 152.892628\n", "epoch 242: loss = 2060414.652294, a = 365.844122, b = 152.891882\n", "epoch 243: loss = 2059055.792654, a = 367.009079, b = 152.891138\n", "epoch 244: loss = 2057702.356890, a = 368.171708, b = 152.890396\n", "epoch 245: loss = 2056354.323340, a = 369.332011, b = 152.889655\n", "epoch 246: loss = 2055011.670433, a = 370.489995, b = 152.888915\n", "epoch 247: loss = 2053674.376681, a = 371.645662, b = 152.888177\n", "epoch 248: loss = 2052342.420683, a = 372.799019, b = 152.887440\n", "epoch 249: loss = 2051015.781122, a = 373.950069, b = 152.886705\n", "epoch 250: loss = 2049694.436769, a = 375.098818, b = 152.885972\n", "epoch 251: loss = 2048378.366478, a = 376.245269, b = 152.885239\n", "epoch 252: loss = 2047067.549187, a = 377.389428, b = 152.884509\n", "epoch 253: loss = 2045761.963919, a = 378.531300, b = 152.883779\n", "epoch 254: loss = 2044461.589780, a = 379.670887, b = 152.883051\n", "epoch 255: loss = 2043166.405962, a = 380.808196, b = 152.882325\n", "epoch 256: loss = 2041876.391735, a = 381.943231, b = 152.881600\n", "epoch 257: loss = 2040591.526458, a = 383.075996, b = 152.880877\n", "epoch 258: loss = 2039311.789567, a = 384.206496, b = 152.880154\n", "epoch 259: loss = 2038037.160585, a = 385.334735, b = 152.879434\n", "epoch 260: loss = 2036767.619112, a = 386.460718, b = 152.878715\n", "epoch 261: loss = 2035503.144833, a = 387.584449, b = 152.877997\n", "epoch 262: loss = 2034243.717512, a = 388.705934, b = 152.877281\n", "epoch 263: loss = 2032989.316996, a = 389.825176, b = 152.876566\n", "epoch 264: loss = 2031739.923211, a = 390.942179, b = 152.875852\n", "epoch 265: loss = 2030495.516162, a = 392.056949, b = 152.875140\n", "epoch 266: loss = 2029256.075938, a = 393.169490, b = 152.874430\n", "epoch 267: loss = 2028021.582702, a = 394.279807, b = 152.873721\n", "epoch 268: loss = 2026792.016702, a = 395.387902, b = 152.873013\n", "epoch 269: loss = 2025567.358259, a = 396.493783, b = 152.872307\n", "epoch 270: loss = 2024347.587778, a = 397.597451, b = 152.871602\n", "epoch 271: loss = 2023132.685738, a = 398.698913, b = 152.870898\n", "epoch 272: loss = 2021922.632700, a = 399.798172, b = 152.870196\n", "epoch 273: loss = 2020717.409298, a = 400.895233, b = 152.869495\n", "epoch 274: loss = 2019516.996248, a = 401.990100, b = 152.868796\n", "epoch 275: loss = 2018321.374339, a = 403.082778, b = 152.868098\n", "epoch 276: loss = 2017130.524440, a = 404.173271, b = 152.867402\n", "epoch 277: loss = 2015944.427495, a = 405.261583, b = 152.866707\n", "epoch 278: loss = 2014763.064523, a = 406.347719, b = 152.866013\n", "epoch 279: loss = 2013586.416620, a = 407.431683, b = 152.865321\n", "epoch 280: loss = 2012414.464959, a = 408.513480, b = 152.864630\n", "epoch 281: loss = 2011247.190786, a = 409.593113, b = 152.863940\n", "epoch 282: loss = 2010084.575421, a = 410.670588, b = 152.863252\n", "epoch 283: loss = 2008926.600262, a = 411.745907, b = 152.862565\n", "epoch 284: loss = 2007773.246779, a = 412.819077, b = 152.861880\n", "epoch 285: loss = 2006624.496517, a = 413.890100, b = 152.861196\n", "epoch 286: loss = 2005480.331093, a = 414.958982, b = 152.860513\n", "epoch 287: loss = 2004340.732199, a = 416.025727, b = 152.859832\n", "epoch 288: loss = 2003205.681600, a = 417.090338, b = 152.859152\n", "epoch 289: loss = 2002075.161134, a = 418.152820, b = 152.858473\n", "epoch 290: loss = 2000949.152710, a = 419.213178, b = 152.857796\n", "epoch 291: loss = 1999827.638312, a = 420.271415, b = 152.857120\n", "epoch 292: loss = 1998710.599993, a = 421.327537, b = 152.856445\n", "epoch 293: loss = 1997598.019879, a = 422.381546, b = 152.855772\n", "epoch 294: loss = 1996489.880169, a = 423.433448, b = 152.855100\n", "epoch 295: loss = 1995386.163130, a = 424.483246, b = 152.854430\n", "epoch 296: loss = 1994286.851102, a = 425.530945, b = 152.853761\n", "epoch 297: loss = 1993191.926495, a = 426.576549, b = 152.853093\n", "epoch 298: loss = 1992101.371788, a = 427.620062, b = 152.852426\n", "epoch 299: loss = 1991015.169533, a = 428.661489, b = 152.851761\n", "epoch 300: loss = 1989933.302349, a = 429.700833, b = 152.851097\n", "epoch 301: loss = 1988855.752925, a = 430.738098, b = 152.850435\n", "epoch 302: loss = 1987782.504019, a = 431.773290, b = 152.849774\n", "epoch 303: loss = 1986713.538460, a = 432.806411, b = 152.849114\n", "epoch 304: loss = 1985648.839142, a = 433.837466, b = 152.848455\n", "epoch 305: loss = 1984588.389031, a = 434.866460, b = 152.847798\n", "epoch 306: loss = 1983532.171157, a = 435.893396, b = 152.847142\n", "epoch 307: loss = 1982480.168622, a = 436.918279, b = 152.846488\n", "epoch 308: loss = 1981432.364593, a = 437.941112, b = 152.845834\n", "epoch 309: loss = 1980388.742304, a = 438.961900, b = 152.845182\n", "epoch 310: loss = 1979349.285057, a = 439.980646, b = 152.844532\n", "epoch 311: loss = 1978313.976221, a = 440.997355, b = 152.843882\n", "epoch 312: loss = 1977282.799230, a = 442.012032, b = 152.843234\n", "epoch 313: loss = 1976255.737586, a = 443.024679, b = 152.842588\n", "epoch 314: loss = 1975232.774855, a = 444.035301, b = 152.841942\n", "epoch 315: loss = 1974213.894670, a = 445.043903, b = 152.841298\n", "epoch 316: loss = 1973199.080729, a = 446.050487, b = 152.840655\n", "epoch 317: loss = 1972188.316794, a = 447.055059, b = 152.840013\n", "epoch 318: loss = 1971181.586695, a = 448.057622, b = 152.839373\n", "epoch 319: loss = 1970178.874323, a = 449.058180, b = 152.838734\n", "epoch 320: loss = 1969180.163634, a = 450.056737, b = 152.838096\n", "epoch 321: loss = 1968185.438651, a = 451.053298, b = 152.837460\n", "epoch 322: loss = 1967194.683457, a = 452.047865, b = 152.836824\n", "epoch 323: loss = 1966207.882201, a = 453.040444, b = 152.836190\n", "epoch 324: loss = 1965225.019095, a = 454.031038, b = 152.835558\n", "epoch 325: loss = 1964246.078413, a = 455.019652, b = 152.834926\n", "epoch 326: loss = 1963271.044493, a = 456.006288, b = 152.834296\n", "epoch 327: loss = 1962299.901734, a = 456.990951, b = 152.833667\n", "epoch 328: loss = 1961332.634599, a = 457.973646, b = 152.833040\n", "epoch 329: loss = 1960369.227613, a = 458.954375, b = 152.832413\n", "epoch 330: loss = 1959409.665362, a = 459.933143, b = 152.831788\n", "epoch 331: loss = 1958453.932493, a = 460.909954, b = 152.831164\n", "epoch 332: loss = 1957502.013716, a = 461.884812, b = 152.830542\n", "epoch 333: loss = 1956553.893800, a = 462.857720, b = 152.829920\n", "epoch 334: loss = 1955609.557577, a = 463.828683, b = 152.829300\n", "epoch 335: loss = 1954668.989939, a = 464.797704, b = 152.828681\n", "epoch 336: loss = 1953732.175837, a = 465.764787, b = 152.828063\n", "epoch 337: loss = 1952799.100283, a = 466.729937, b = 152.827447\n", "epoch 338: loss = 1951869.748350, a = 467.693157, b = 152.826832\n", "epoch 339: loss = 1950944.105168, a = 468.654450, b = 152.826218\n", "epoch 340: loss = 1950022.155929, a = 469.613821, b = 152.825605\n", "epoch 341: loss = 1949103.885883, a = 470.571274, b = 152.824994\n", "epoch 342: loss = 1948189.280339, a = 471.526812, b = 152.824383\n", "epoch 343: loss = 1947278.324664, a = 472.480440, b = 152.823774\n", "epoch 344: loss = 1946371.004285, a = 473.432160, b = 152.823166\n", "epoch 345: loss = 1945467.304686, a = 474.381978, b = 152.822560\n", "epoch 346: loss = 1944567.211409, a = 475.329896, b = 152.821954\n", "epoch 347: loss = 1943670.710054, a = 476.275919, b = 152.821350\n", "epoch 348: loss = 1942777.786279, a = 477.220049, b = 152.820747\n", "epoch 349: loss = 1941888.425799, a = 478.162292, b = 152.820145\n", "epoch 350: loss = 1941002.614385, a = 479.102651, b = 152.819545\n", "epoch 351: loss = 1940120.337867, a = 480.041129, b = 152.818945\n", "epoch 352: loss = 1939241.582129, a = 480.977731, b = 152.818347\n", "epoch 353: loss = 1938366.333114, a = 481.912460, b = 152.817750\n", "epoch 354: loss = 1937494.576819, a = 482.845319, b = 152.817154\n", "epoch 355: loss = 1936626.299297, a = 483.776313, b = 152.816560\n", "epoch 356: loss = 1935761.486660, a = 484.705446, b = 152.815966\n", "epoch 357: loss = 1934900.125071, a = 485.632721, b = 152.815374\n", "epoch 358: loss = 1934042.200750, a = 486.558141, b = 152.814783\n", "epoch 359: loss = 1933187.699974, a = 487.481711, b = 152.814193\n", "epoch 360: loss = 1932336.609071, a = 488.403434, b = 152.813604\n", "epoch 361: loss = 1931488.914427, a = 489.323313, b = 152.813017\n", "epoch 362: loss = 1930644.602481, a = 490.241354, b = 152.812430\n", "epoch 363: loss = 1929803.659727, a = 491.157558, b = 152.811845\n", "epoch 364: loss = 1928966.072710, a = 492.071931, b = 152.811261\n", "epoch 365: loss = 1928131.828033, a = 492.984475, b = 152.810678\n", "epoch 366: loss = 1927300.912349, a = 493.895194, b = 152.810097\n", "epoch 367: loss = 1926473.312366, a = 494.804092, b = 152.809516\n", "epoch 368: loss = 1925649.014846, a = 495.711173, b = 152.808937\n", "epoch 369: loss = 1924828.006601, a = 496.616440, b = 152.808359\n", "epoch 370: loss = 1924010.274499, a = 497.519896, b = 152.807782\n", "epoch 371: loss = 1923195.805457, a = 498.421546, b = 152.807206\n", "epoch 372: loss = 1922384.586448, a = 499.321393, b = 152.806631\n", "epoch 373: loss = 1921576.604494, a = 500.219440, b = 152.806057\n", "epoch 374: loss = 1920771.846670, a = 501.115692, b = 152.805485\n", "epoch 375: loss = 1919970.300103, a = 502.010152, b = 152.804914\n", "epoch 376: loss = 1919171.951971, a = 502.902823, b = 152.804344\n", "epoch 377: loss = 1918376.789502, a = 503.793708, b = 152.803775\n", "epoch 378: loss = 1917584.799978, a = 504.682813, b = 152.803207\n", "epoch 379: loss = 1916795.970729, a = 505.570139, b = 152.802640\n", "epoch 380: loss = 1916010.289136, a = 506.455691, b = 152.802074\n", "epoch 381: loss = 1915227.742632, a = 507.339473, b = 152.801510\n", "epoch 382: loss = 1914448.318700, a = 508.221487, b = 152.800947\n", "epoch 383: loss = 1913672.004870, a = 509.101737, b = 152.800384\n", "epoch 384: loss = 1912898.788726, a = 509.980227, b = 152.799823\n", "epoch 385: loss = 1912128.657898, a = 510.856960, b = 152.799263\n", "epoch 386: loss = 1911361.600068, a = 511.731940, b = 152.798704\n", "epoch 387: loss = 1910597.602966, a = 512.605171, b = 152.798147\n", "epoch 388: loss = 1909836.654372, a = 513.476655, b = 152.797590\n", "epoch 389: loss = 1909078.742112, a = 514.346397, b = 152.797035\n", "epoch 390: loss = 1908323.854064, a = 515.214399, b = 152.796480\n", "epoch 391: loss = 1907571.978154, a = 516.080666, b = 152.795927\n", "epoch 392: loss = 1906823.102353, a = 516.945201, b = 152.795375\n", "epoch 393: loss = 1906077.214684, a = 517.808006, b = 152.794824\n", "epoch 394: loss = 1905334.303215, a = 518.669087, b = 152.794274\n", "epoch 395: loss = 1904594.356064, a = 519.528445, b = 152.793725\n", "epoch 396: loss = 1903857.361395, a = 520.386085, b = 152.793177\n", "epoch 397: loss = 1903123.307419, a = 521.242011, b = 152.792630\n", "epoch 398: loss = 1902392.182395, a = 522.096224, b = 152.792085\n", "epoch 399: loss = 1901663.974628, a = 522.948729, b = 152.791540\n", "epoch 400: loss = 1900938.672471, a = 523.799530, b = 152.790997\n", "epoch 401: loss = 1900216.264323, a = 524.648629, b = 152.790455\n", "epoch 402: loss = 1899496.738628, a = 525.496031, b = 152.789913\n", "epoch 403: loss = 1898780.083878, a = 526.341738, b = 152.789373\n", "epoch 404: loss = 1898066.288609, a = 527.185753, b = 152.788834\n", "epoch 405: loss = 1897355.341406, a = 528.028081, b = 152.788296\n", "epoch 406: loss = 1896647.230897, a = 528.868725, b = 152.787759\n", "epoch 407: loss = 1895941.945754, a = 529.707688, b = 152.787223\n", "epoch 408: loss = 1895239.474699, a = 530.544973, b = 152.786689\n", "epoch 409: loss = 1894539.806495, a = 531.380583, b = 152.786155\n", "epoch 410: loss = 1893842.929951, a = 532.214523, b = 152.785622\n", "epoch 411: loss = 1893148.833922, a = 533.046795, b = 152.785091\n", "epoch 412: loss = 1892457.507305, a = 533.877403, b = 152.784560\n", "epoch 413: loss = 1891768.939043, a = 534.706350, b = 152.784031\n", "epoch 414: loss = 1891083.118123, a = 535.533639, b = 152.783502\n", "epoch 415: loss = 1890400.033577, a = 536.359274, b = 152.782975\n", "epoch 416: loss = 1889719.674478, a = 537.183258, b = 152.782449\n", "epoch 417: loss = 1889042.029945, a = 538.005595, b = 152.781924\n", "epoch 418: loss = 1888367.089140, a = 538.826287, b = 152.781399\n", "epoch 419: loss = 1887694.841269, a = 539.645337, b = 152.780876\n", "epoch 420: loss = 1887025.275578, a = 540.462750, b = 152.780354\n", "epoch 421: loss = 1886358.381359, a = 541.278529, b = 152.779833\n", "epoch 422: loss = 1885694.147947, a = 542.092676, b = 152.779313\n", "epoch 423: loss = 1885032.564717, a = 542.905195, b = 152.778794\n", "epoch 424: loss = 1884373.621089, a = 543.716089, b = 152.778276\n", "epoch 425: loss = 1883717.306523, a = 544.525362, b = 152.777759\n", "epoch 426: loss = 1883063.610524, a = 545.333017, b = 152.777244\n", "epoch 427: loss = 1882412.522636, a = 546.139056, b = 152.776729\n", "epoch 428: loss = 1881764.032446, a = 546.943484, b = 152.776215\n", "epoch 429: loss = 1881118.129583, a = 547.746303, b = 152.775702\n", "epoch 430: loss = 1880474.803717, a = 548.547517, b = 152.775190\n", "epoch 431: loss = 1879834.044558, a = 549.347128, b = 152.774680\n", "epoch 432: loss = 1879195.841860, a = 550.145141, b = 152.774170\n", "epoch 433: loss = 1878560.185416, a = 550.941558, b = 152.773661\n", "epoch 434: loss = 1877927.065059, a = 551.736382, b = 152.773154\n", "epoch 435: loss = 1877296.470664, a = 552.529617, b = 152.772647\n", "epoch 436: loss = 1876668.392146, a = 553.321265, b = 152.772141\n", "epoch 437: loss = 1876042.819461, a = 554.111331, b = 152.771637\n", "epoch 438: loss = 1875419.742604, a = 554.899817, b = 152.771133\n", "epoch 439: loss = 1874799.151611, a = 555.686726, b = 152.770631\n", "epoch 440: loss = 1874181.036556, a = 556.472061, b = 152.770129\n", "epoch 441: loss = 1873565.387555, a = 557.255826, b = 152.769629\n", "epoch 442: loss = 1872952.194761, a = 558.038024, b = 152.769129\n", "epoch 443: loss = 1872341.448369, a = 558.818658, b = 152.768630\n", "epoch 444: loss = 1871733.138612, a = 559.597731, b = 152.768133\n", "epoch 445: loss = 1871127.255760, a = 560.375245, b = 152.767636\n", "epoch 446: loss = 1870523.790126, a = 561.151205, b = 152.767141\n", "epoch 447: loss = 1869922.732057, a = 561.925614, b = 152.766646\n", "epoch 448: loss = 1869324.071943, a = 562.698474, b = 152.766152\n", "epoch 449: loss = 1868727.800209, a = 563.469788, b = 152.765660\n", "epoch 450: loss = 1868133.907320, a = 564.239560, b = 152.765168\n", "epoch 451: loss = 1867542.383779, a = 565.007792, b = 152.764677\n", "epoch 452: loss = 1866953.220126, a = 565.774489, b = 152.764188\n", "epoch 453: loss = 1866366.406939, a = 566.539652, b = 152.763699\n", "epoch 454: loss = 1865781.934835, a = 567.303285, b = 152.763211\n", "epoch 455: loss = 1865199.794467, a = 568.065392, b = 152.762724\n", "epoch 456: loss = 1864619.976525, a = 568.825974, b = 152.762239\n", "epoch 457: loss = 1864042.471739, a = 569.585035, b = 152.761754\n", "epoch 458: loss = 1863467.270872, a = 570.342579, b = 152.761270\n", "epoch 459: loss = 1862894.364726, a = 571.098607, b = 152.760787\n", "epoch 460: loss = 1862323.744141, a = 571.853124, b = 152.760305\n", "epoch 461: loss = 1861755.399991, a = 572.606132, b = 152.759824\n", "epoch 462: loss = 1861189.323188, a = 573.357635, b = 152.759344\n", "epoch 463: loss = 1860625.504680, a = 574.107634, b = 152.758865\n", "epoch 464: loss = 1860063.935451, a = 574.856134, b = 152.758387\n", "epoch 465: loss = 1859504.606521, a = 575.603137, b = 152.757910\n", "epoch 466: loss = 1858947.508946, a = 576.348646, b = 152.757434\n", "epoch 467: loss = 1858392.633818, a = 577.092665, b = 152.756959\n", "epoch 468: loss = 1857839.972264, a = 577.835195, b = 152.756485\n", "epoch 469: loss = 1857289.515447, a = 578.576241, b = 152.756011\n", "epoch 470: loss = 1856741.254564, a = 579.315805, b = 152.755539\n", "epoch 471: loss = 1856195.180850, a = 580.053891, b = 152.755067\n", "epoch 472: loss = 1855651.285571, a = 580.790500, b = 152.754597\n", "epoch 473: loss = 1855109.560032, a = 581.525636, b = 152.754127\n", "epoch 474: loss = 1854569.995569, a = 582.259302, b = 152.753659\n", "epoch 475: loss = 1854032.583556, a = 582.991501, b = 152.753191\n", "epoch 476: loss = 1853497.315398, a = 583.722236, b = 152.752725\n", "epoch 477: loss = 1852964.182538, a = 584.451510, b = 152.752259\n", "epoch 478: loss = 1852433.176450, a = 585.179326, b = 152.751794\n", "epoch 479: loss = 1851904.288645, a = 585.905686, b = 152.751330\n", "epoch 480: loss = 1851377.510664, a = 586.630593, b = 152.750867\n", "epoch 481: loss = 1850852.834086, a = 587.354051, b = 152.750405\n", "epoch 482: loss = 1850330.250520, a = 588.076063, b = 152.749944\n", "epoch 483: loss = 1849809.751612, a = 588.796630, b = 152.749484\n", "epoch 484: loss = 1849291.329038, a = 589.515757, b = 152.749024\n", "epoch 485: loss = 1848774.974510, a = 590.233445, b = 152.748566\n", "epoch 486: loss = 1848260.679771, a = 590.949699, b = 152.748108\n", "epoch 487: loss = 1847748.436598, a = 591.664520, b = 152.747652\n", "epoch 488: loss = 1847238.236802, a = 592.377912, b = 152.747196\n", "epoch 489: loss = 1846730.072224, a = 593.089877, b = 152.746741\n", "epoch 490: loss = 1846223.934739, a = 593.800419, b = 152.746288\n", "epoch 491: loss = 1845719.816255, a = 594.509540, b = 152.745835\n", "epoch 492: loss = 1845217.708712, a = 595.217242, b = 152.745383\n", "epoch 493: loss = 1844717.604082, a = 595.923530, b = 152.744932\n", "epoch 494: loss = 1844219.494368, a = 596.628405, b = 152.744481\n", "epoch 495: loss = 1843723.371607, a = 597.331871, b = 152.744032\n", "epoch 496: loss = 1843229.227867, a = 598.033930, b = 152.743584\n", "epoch 497: loss = 1842737.055246, a = 598.734585, b = 152.743136\n", "epoch 498: loss = 1842246.845876, a = 599.433839, b = 152.742690\n", "epoch 499: loss = 1841758.591920, a = 600.131695, b = 152.742244\n", "epoch 500: loss = 1841272.285571, a = 600.828155, b = 152.741799\n", "epoch 501: loss = 1840787.919054, a = 601.523222, b = 152.741355\n", "epoch 502: loss = 1840305.484625, a = 602.216900, b = 152.740912\n", "epoch 503: loss = 1839824.974571, a = 602.909191, b = 152.740470\n", "epoch 504: loss = 1839346.381209, a = 603.600097, b = 152.740029\n", "epoch 505: loss = 1838869.696888, a = 604.289621, b = 152.739588\n", "epoch 506: loss = 1838394.913987, a = 604.977767, b = 152.739149\n", "epoch 507: loss = 1837922.024916, a = 605.664537, b = 152.738710\n", "epoch 508: loss = 1837451.022113, a = 606.349933, b = 152.738272\n", "epoch 509: loss = 1836981.898050, a = 607.033959, b = 152.737835\n", "epoch 510: loss = 1836514.645225, a = 607.716617, b = 152.737399\n", "epoch 511: loss = 1836049.256168, a = 608.397910, b = 152.736964\n", "epoch 512: loss = 1835585.723441, a = 609.077841, b = 152.736530\n", "epoch 513: loss = 1835124.039631, a = 609.756412, b = 152.736097\n", "epoch 514: loss = 1834664.197358, a = 610.433626, b = 152.735664\n", "epoch 515: loss = 1834206.189270, a = 611.109486, b = 152.735232\n", "epoch 516: loss = 1833750.008046, a = 611.783994, b = 152.734802\n", "epoch 517: loss = 1833295.646392, a = 612.457153, b = 152.734372\n", "epoch 518: loss = 1832843.097045, a = 613.128967, b = 152.733943\n", "epoch 519: loss = 1832392.352771, a = 613.799437, b = 152.733514\n", "epoch 520: loss = 1831943.406362, a = 614.468566, b = 152.733087\n", "epoch 521: loss = 1831496.250642, a = 615.136357, b = 152.732660\n", "epoch 522: loss = 1831050.878463, a = 615.802813, b = 152.732235\n", "epoch 523: loss = 1830607.282705, a = 616.467937, b = 152.731810\n", "epoch 524: loss = 1830165.456276, a = 617.131730, b = 152.731386\n", "epoch 525: loss = 1829725.392114, a = 617.794196, b = 152.730963\n", "epoch 526: loss = 1829287.083183, a = 618.455337, b = 152.730541\n", "epoch 527: loss = 1828850.522477, a = 619.115156, b = 152.730119\n", "epoch 528: loss = 1828415.703016, a = 619.773655, b = 152.729699\n", "epoch 529: loss = 1827982.617850, a = 620.430838, b = 152.729279\n", "epoch 530: loss = 1827551.260056, a = 621.086707, b = 152.728860\n", "epoch 531: loss = 1827121.622739, a = 621.741264, b = 152.728442\n", "epoch 532: loss = 1826693.699029, a = 622.394512, b = 152.728025\n", "epoch 533: loss = 1826267.482087, a = 623.046454, b = 152.727608\n", "epoch 534: loss = 1825842.965099, a = 623.697093, b = 152.727193\n", "epoch 535: loss = 1825420.141279, a = 624.346430, b = 152.726778\n", "epoch 536: loss = 1824999.003869, a = 624.994469, b = 152.726364\n", "epoch 537: loss = 1824579.546136, a = 625.641212, b = 152.725951\n", "epoch 538: loss = 1824161.761376, a = 626.286662, b = 152.725539\n", "epoch 539: loss = 1823745.642910, a = 626.930821, b = 152.725127\n", "epoch 540: loss = 1823331.184086, a = 627.573691, b = 152.724717\n", "epoch 541: loss = 1822918.378279, a = 628.215277, b = 152.724307\n", "epoch 542: loss = 1822507.218891, a = 628.855579, b = 152.723898\n", "epoch 543: loss = 1822097.699350, a = 629.494601, b = 152.723490\n", "epoch 544: loss = 1821689.813109, a = 630.132345, b = 152.723083\n", "epoch 545: loss = 1821283.553649, a = 630.768814, b = 152.722676\n", "epoch 546: loss = 1820878.914476, a = 631.404010, b = 152.722270\n", "epoch 547: loss = 1820475.889122, a = 632.037936, b = 152.721865\n", "epoch 548: loss = 1820074.471145, a = 632.670595, b = 152.721461\n", "epoch 549: loss = 1819674.654128, a = 633.301988, b = 152.721058\n", "epoch 550: loss = 1819276.431682, a = 633.932119, b = 152.720656\n", "epoch 551: loss = 1818879.797440, a = 634.560989, b = 152.720254\n", "epoch 552: loss = 1818484.745063, a = 635.188602, b = 152.719853\n", "epoch 553: loss = 1818091.268237, a = 635.814960, b = 152.719453\n", "epoch 554: loss = 1817699.360671, a = 636.440066, b = 152.719054\n", "epoch 555: loss = 1817309.016104, a = 637.063922, b = 152.718655\n", "epoch 556: loss = 1816920.228294, a = 637.686530, b = 152.718258\n", "epoch 557: loss = 1816532.991028, a = 638.307893, b = 152.717861\n", "epoch 558: loss = 1816147.298117, a = 638.928013, b = 152.717465\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "epoch 559: loss = 1815763.143396, a = 639.546894, b = 152.717070\n", "epoch 560: loss = 1815380.520724, a = 640.164537, b = 152.716675\n", "epoch 561: loss = 1814999.423987, a = 640.780944, b = 152.716281\n", "epoch 562: loss = 1814619.847094, a = 641.396120, b = 152.715888\n", "epoch 563: loss = 1814241.783977, a = 642.010065, b = 152.715496\n", "epoch 564: loss = 1813865.228594, a = 642.622782, b = 152.715105\n", "epoch 565: loss = 1813490.174926, a = 643.234274, b = 152.714714\n", "epoch 566: loss = 1813116.616980, a = 643.844544, b = 152.714325\n", "epoch 567: loss = 1812744.548785, a = 644.453593, b = 152.713936\n", "epoch 568: loss = 1812373.964394, a = 645.061424, b = 152.713547\n", "epoch 569: loss = 1812004.857885, a = 645.668039, b = 152.713160\n", "epoch 570: loss = 1811637.223358, a = 646.273442, b = 152.712773\n", "epoch 571: loss = 1811271.054937, a = 646.877634, b = 152.712387\n", "epoch 572: loss = 1810906.346771, a = 647.480618, b = 152.712002\n", "epoch 573: loss = 1810543.093031, a = 648.082396, b = 152.711618\n", "epoch 574: loss = 1810181.287911, a = 648.682971, b = 152.711234\n", "epoch 575: loss = 1809820.925628, a = 649.282345, b = 152.710852\n", "epoch 576: loss = 1809462.000425, a = 649.880520, b = 152.710469\n", "epoch 577: loss = 1809104.506563, a = 650.477499, b = 152.710088\n", "epoch 578: loss = 1808748.438331, a = 651.073284, b = 152.709708\n", "epoch 579: loss = 1808393.790037, a = 651.667878, b = 152.709328\n", "epoch 580: loss = 1808040.556015, a = 652.261283, b = 152.708949\n", "epoch 581: loss = 1807688.730617, a = 652.853502, b = 152.708571\n", "epoch 582: loss = 1807338.308223, a = 653.444536, b = 152.708193\n", "epoch 583: loss = 1806989.283232, a = 654.034388, b = 152.707816\n", "epoch 584: loss = 1806641.650065, a = 654.623061, b = 152.707440\n", "epoch 585: loss = 1806295.403168, a = 655.210556, b = 152.707065\n", "epoch 586: loss = 1805950.537008, a = 655.796877, b = 152.706691\n", "epoch 587: loss = 1805607.046072, a = 656.382025, b = 152.706317\n", "epoch 588: loss = 1805264.924872, a = 656.966004, b = 152.705944\n", "epoch 589: loss = 1804924.167940, a = 657.548814, b = 152.705572\n", "epoch 590: loss = 1804584.769832, a = 658.130459, b = 152.705200\n", "epoch 591: loss = 1804246.725122, a = 658.710941, b = 152.704829\n", "epoch 592: loss = 1803910.028410, a = 659.290262, b = 152.704459\n", "epoch 593: loss = 1803574.674315, a = 659.868425, b = 152.704090\n", "epoch 594: loss = 1803240.657477, a = 660.445432, b = 152.703722\n", "epoch 595: loss = 1802907.972559, a = 661.021284, b = 152.703354\n", "epoch 596: loss = 1802576.614245, a = 661.595986, b = 152.702987\n", "epoch 597: loss = 1802246.577240, a = 662.169538, b = 152.702620\n", "epoch 598: loss = 1801917.856269, a = 662.741943, b = 152.702255\n", "epoch 599: loss = 1801590.446081, a = 663.313203, b = 152.701890\n", "epoch 600: loss = 1801264.341442, a = 663.883321, b = 152.701526\n", "epoch 601: loss = 1800939.537143, a = 664.452299, b = 152.701163\n", "epoch 602: loss = 1800616.027992, a = 665.020140, b = 152.700800\n", "epoch 603: loss = 1800293.808821, a = 665.586845, b = 152.700438\n", "epoch 604: loss = 1799972.874480, a = 666.152416, b = 152.700077\n", "epoch 605: loss = 1799653.219842, a = 666.716857, b = 152.699716\n", "epoch 606: loss = 1799334.839799, a = 667.280169, b = 152.699356\n", "epoch 607: loss = 1799017.729262, a = 667.842355, b = 152.698997\n", "epoch 608: loss = 1798701.883166, a = 668.403416, b = 152.698639\n", "epoch 609: loss = 1798387.296463, a = 668.963355, b = 152.698281\n", "epoch 610: loss = 1798073.964127, a = 669.522175, b = 152.697924\n", "epoch 611: loss = 1797761.881151, a = 670.079877, b = 152.697568\n", "epoch 612: loss = 1797451.042549, a = 670.636464, b = 152.697213\n", "epoch 613: loss = 1797141.443353, a = 671.191938, b = 152.696858\n", "epoch 614: loss = 1796833.078618, a = 671.746302, b = 152.696504\n", "epoch 615: loss = 1796525.943415, a = 672.299557, b = 152.696150\n", "epoch 616: loss = 1796220.032837, a = 672.851705, b = 152.695798\n", "epoch 617: loss = 1795915.341998, a = 673.402749, b = 152.695446\n", "epoch 618: loss = 1795611.866027, a = 673.952692, b = 152.695095\n", "epoch 619: loss = 1795309.600077, a = 674.501534, b = 152.694744\n", "epoch 620: loss = 1795008.539318, a = 675.049280, b = 152.694394\n", "epoch 621: loss = 1794708.678940, a = 675.595930, b = 152.694045\n", "epoch 622: loss = 1794410.014151, a = 676.141486, b = 152.693697\n", "epoch 623: loss = 1794112.540180, a = 676.685952, b = 152.693349\n", "epoch 624: loss = 1793816.252274, a = 677.229329, b = 152.693002\n", "epoch 625: loss = 1793521.145700, a = 677.771620, b = 152.692656\n", "epoch 626: loss = 1793227.215741, a = 678.312826, b = 152.692310\n", "epoch 627: loss = 1792934.457703, a = 678.852950, b = 152.691965\n", "epoch 628: loss = 1792642.866907, a = 679.391994, b = 152.691621\n", "epoch 629: loss = 1792352.438696, a = 679.929959, b = 152.691277\n", "epoch 630: loss = 1792063.168428, a = 680.466850, b = 152.690934\n", "epoch 631: loss = 1791775.051483, a = 681.002666, b = 152.690592\n", "epoch 632: loss = 1791488.083257, a = 681.537411, b = 152.690250\n", "epoch 633: loss = 1791202.259166, a = 682.071087, b = 152.689909\n", "epoch 634: loss = 1790917.574643, a = 682.603696, b = 152.689569\n", "epoch 635: loss = 1790634.025140, a = 683.135239, b = 152.689230\n", "epoch 636: loss = 1790351.606127, a = 683.665720, b = 152.688891\n", "epoch 637: loss = 1790070.313092, a = 684.195140, b = 152.688553\n", "epoch 638: loss = 1789790.141542, a = 684.723501, b = 152.688215\n", "epoch 639: loss = 1789511.087000, a = 685.250806, b = 152.687879\n", "epoch 640: loss = 1789233.145008, a = 685.777056, b = 152.687542\n", "epoch 641: loss = 1788956.311125, a = 686.302254, b = 152.687207\n", "epoch 642: loss = 1788680.580931, a = 686.826401, b = 152.686872\n", "epoch 643: loss = 1788405.950018, a = 687.349501, b = 152.686538\n", "epoch 644: loss = 1788132.414001, a = 687.871555, b = 152.686205\n", "epoch 645: loss = 1787859.968509, a = 688.392564, b = 152.685872\n", "epoch 646: loss = 1787588.609190, a = 688.912532, b = 152.685540\n", "epoch 647: loss = 1787318.331709, a = 689.431460, b = 152.685208\n", "epoch 648: loss = 1787049.131749, a = 689.949350, b = 152.684878\n", "epoch 649: loss = 1786781.005009, a = 690.466205, b = 152.684548\n", "epoch 650: loss = 1786513.947206, a = 690.982026, b = 152.684218\n", "epoch 651: loss = 1786247.954073, a = 691.496816, b = 152.683889\n", "epoch 652: loss = 1785983.021362, a = 692.010576, b = 152.683561\n", "epoch 653: loss = 1785719.144840, a = 692.523309, b = 152.683234\n", "epoch 654: loss = 1785456.320293, a = 693.035016, b = 152.682907\n", "epoch 655: loss = 1785194.543521, a = 693.545701, b = 152.682581\n", "epoch 656: loss = 1784933.810344, a = 694.055364, b = 152.682255\n", "epoch 657: loss = 1784674.116596, a = 694.564008, b = 152.681930\n", "epoch 658: loss = 1784415.458129, a = 695.071635, b = 152.681606\n", "epoch 659: loss = 1784157.830811, a = 695.578247, b = 152.681282\n", "epoch 660: loss = 1783901.230528, a = 696.083846, b = 152.680960\n", "epoch 661: loss = 1783645.653179, a = 696.588433, b = 152.680637\n", "epoch 662: loss = 1783391.094684, a = 697.092012, b = 152.680316\n", "epoch 663: loss = 1783137.550975, a = 697.594584, b = 152.679995\n", "epoch 664: loss = 1782885.018003, a = 698.096150, b = 152.679674\n", "epoch 665: loss = 1782633.491734, a = 698.596714, b = 152.679355\n", "epoch 666: loss = 1782382.968150, a = 699.096277, b = 152.679036\n", "epoch 667: loss = 1782133.443251, a = 699.594841, b = 152.678717\n", "epoch 668: loss = 1781884.913049, a = 700.092408, b = 152.678399\n", "epoch 669: loss = 1781637.373576, a = 700.588980, b = 152.678082\n", "epoch 670: loss = 1781390.820878, a = 701.084559, b = 152.677766\n", "epoch 671: loss = 1781145.251017, a = 701.579147, b = 152.677450\n", "epoch 672: loss = 1780900.660070, a = 702.072746, b = 152.677134\n", "epoch 673: loss = 1780657.044131, a = 702.565358, b = 152.676820\n", "epoch 674: loss = 1780414.399308, a = 703.056984, b = 152.676506\n", "epoch 675: loss = 1780172.721727, a = 703.547628, b = 152.676192\n", "epoch 676: loss = 1779932.007527, a = 704.037291, b = 152.675880\n", "epoch 677: loss = 1779692.252863, a = 704.525974, b = 152.675568\n", "epoch 678: loss = 1779453.453906, a = 705.013681, b = 152.675256\n", "epoch 679: loss = 1779215.606843, a = 705.500412, b = 152.674945\n", "epoch 680: loss = 1778978.707874, a = 705.986169, b = 152.674635\n", "epoch 681: loss = 1778742.753217, a = 706.470956, b = 152.674325\n", "epoch 682: loss = 1778507.739101, a = 706.954773, b = 152.674016\n", "epoch 683: loss = 1778273.661775, a = 707.437622, b = 152.673708\n", "epoch 684: loss = 1778040.517499, a = 707.919506, b = 152.673400\n", "epoch 685: loss = 1777808.302550, a = 708.400426, b = 152.673093\n", "epoch 686: loss = 1777577.013219, a = 708.880385, b = 152.672786\n", "epoch 687: loss = 1777346.645813, a = 709.359384, b = 152.672481\n", "epoch 688: loss = 1777117.196652, a = 709.837425, b = 152.672175\n", "epoch 689: loss = 1776888.662073, a = 710.314510, b = 152.671870\n", "epoch 690: loss = 1776661.038424, a = 710.790641, b = 152.671566\n", "epoch 691: loss = 1776434.322072, a = 711.265820, b = 152.671263\n", "epoch 692: loss = 1776208.509395, a = 711.740049, b = 152.670960\n", "epoch 693: loss = 1775983.596787, a = 712.213329, b = 152.670658\n", "epoch 694: loss = 1775759.580657, a = 712.685664, b = 152.670356\n", "epoch 695: loss = 1775536.457426, a = 713.157053, b = 152.670055\n", "epoch 696: loss = 1775314.223532, a = 713.627500, b = 152.669754\n", "epoch 697: loss = 1775092.875426, a = 714.097006, b = 152.669455\n", "epoch 698: loss = 1774872.409572, a = 714.565574, b = 152.669155\n", "epoch 699: loss = 1774652.822451, a = 715.033204, b = 152.668857\n", "epoch 700: loss = 1774434.110556, a = 715.499899, b = 152.668559\n", "epoch 701: loss = 1774216.270393, a = 715.965661, b = 152.668261\n", "epoch 702: loss = 1773999.298484, a = 716.430492, b = 152.667964\n", "epoch 703: loss = 1773783.191366, a = 716.894393, b = 152.667668\n", "epoch 704: loss = 1773567.945585, a = 717.357367, b = 152.667372\n", "epoch 705: loss = 1773353.557706, a = 717.819415, b = 152.667077\n", "epoch 706: loss = 1773140.024305, a = 718.280538, b = 152.666783\n", "epoch 707: loss = 1772927.341972, a = 718.740740, b = 152.666489\n", "epoch 708: loss = 1772715.507311, a = 719.200021, b = 152.666195\n", "epoch 709: loss = 1772504.516939, a = 719.658384, b = 152.665903\n", "epoch 710: loss = 1772294.367487, a = 720.115831, b = 152.665610\n", "epoch 711: loss = 1772085.055600, a = 720.572363, b = 152.665319\n", "epoch 712: loss = 1771876.577936, a = 721.027981, b = 152.665028\n", "epoch 713: loss = 1771668.931165, a = 721.482689, b = 152.664737\n", "epoch 714: loss = 1771462.111971, a = 721.936488, b = 152.664448\n", "epoch 715: loss = 1771256.117053, a = 722.389379, b = 152.664158\n", "epoch 716: loss = 1771050.943122, a = 722.841364, b = 152.663870\n", "epoch 717: loss = 1770846.586900, a = 723.292446, b = 152.663582\n", "epoch 718: loss = 1770643.045126, a = 723.742625, b = 152.663294\n", "epoch 719: loss = 1770440.314550, a = 724.191904, b = 152.663007\n", "epoch 720: loss = 1770238.391933, a = 724.640285, b = 152.662721\n", "epoch 721: loss = 1770037.274053, a = 725.087770, b = 152.662435\n", "epoch 722: loss = 1769836.957698, a = 725.534359, b = 152.662150\n", "epoch 723: loss = 1769637.439670, a = 725.980056, b = 152.661865\n", "epoch 724: loss = 1769438.716783, a = 726.424861, b = 152.661581\n", "epoch 725: loss = 1769240.785864, a = 726.868776, b = 152.661297\n", "epoch 726: loss = 1769043.643754, a = 727.311805, b = 152.661014\n", "epoch 727: loss = 1768847.287304, a = 727.753947, b = 152.660732\n", "epoch 728: loss = 1768651.713380, a = 728.195205, b = 152.660450\n", "epoch 729: loss = 1768456.918858, a = 728.635580, b = 152.660169\n", "epoch 730: loss = 1768262.900630, a = 729.075075, b = 152.659888\n", "epoch 731: loss = 1768069.655598, a = 729.513692, b = 152.659608\n", "epoch 732: loss = 1767877.180675, a = 729.951431, b = 152.659328\n", "epoch 733: loss = 1767685.472790, a = 730.388294, b = 152.659049\n", "epoch 734: loss = 1767494.528882, a = 730.824285, b = 152.658771\n", "epoch 735: loss = 1767304.345902, a = 731.259403, b = 152.658493\n", "epoch 736: loss = 1767114.920814, a = 731.693651, b = 152.658216\n", "epoch 737: loss = 1766926.250593, a = 732.127031, b = 152.657939\n", "epoch 738: loss = 1766738.332229, a = 732.559544, b = 152.657663\n", "epoch 739: loss = 1766551.162720, a = 732.991193, b = 152.657387\n", "epoch 740: loss = 1766364.739080, a = 733.421978, b = 152.657112\n", "epoch 741: loss = 1766179.058330, a = 733.851902, b = 152.656837\n", "epoch 742: loss = 1765994.117509, a = 734.280966, b = 152.656563\n", "epoch 743: loss = 1765809.913662, a = 734.709172, b = 152.656290\n", "epoch 744: loss = 1765626.443849, a = 735.136522, b = 152.656017\n", "epoch 745: loss = 1765443.705143, a = 735.563017, b = 152.655744\n", "epoch 746: loss = 1765261.694624, a = 735.988660, b = 152.655472\n", "epoch 747: loss = 1765080.409388, a = 736.413451, b = 152.655201\n", "epoch 748: loss = 1764899.846541, a = 736.837393, b = 152.654930\n", "epoch 749: loss = 1764720.003201, a = 737.260487, b = 152.654660\n", "epoch 750: loss = 1764540.876496, a = 737.682735, b = 152.654390\n", "epoch 751: loss = 1764362.463568, a = 738.104139, b = 152.654121\n", "epoch 752: loss = 1764184.761567, a = 738.524700, b = 152.653853\n", "epoch 753: loss = 1764007.767659, a = 738.944420, b = 152.653585\n", "epoch 754: loss = 1763831.479016, a = 739.363301, b = 152.653317\n", "epoch 755: loss = 1763655.892826, a = 739.781344, b = 152.653050\n", "epoch 756: loss = 1763481.006286, a = 740.198551, b = 152.652784\n", "epoch 757: loss = 1763306.816603, a = 740.614924, b = 152.652518\n", "epoch 758: loss = 1763133.320998, a = 741.030464, b = 152.652252\n", "epoch 759: loss = 1762960.516702, a = 741.445174, b = 152.651987\n", "epoch 760: loss = 1762788.400955, a = 741.859054, b = 152.651723\n", "epoch 761: loss = 1762616.971010, a = 742.272106, b = 152.651459\n", "epoch 762: loss = 1762446.224132, a = 742.684333, b = 152.651196\n", "epoch 763: loss = 1762276.157595, a = 743.095735, b = 152.650933\n", "epoch 764: loss = 1762106.768685, a = 743.506314, b = 152.650671\n", "epoch 765: loss = 1761938.054697, a = 743.916073, b = 152.650409\n", "epoch 766: loss = 1761770.012940, a = 744.325012, b = 152.650148\n", "epoch 767: loss = 1761602.640730, a = 744.733133, b = 152.649887\n", "epoch 768: loss = 1761435.935396, a = 745.140439, b = 152.649627\n", "epoch 769: loss = 1761269.894279, a = 745.546929, b = 152.649368\n", "epoch 770: loss = 1761104.514727, a = 745.952607, b = 152.649109\n", "epoch 771: loss = 1760939.794101, a = 746.357474, b = 152.648850\n", "epoch 772: loss = 1760775.729772, a = 746.761531, b = 152.648592\n", "epoch 773: loss = 1760612.319122, a = 747.164780, b = 152.648334\n", "epoch 774: loss = 1760449.559542, a = 747.567223, b = 152.648077\n", "epoch 775: loss = 1760287.448435, a = 747.968861, b = 152.647821\n", "epoch 776: loss = 1760125.983214, a = 748.369696, b = 152.647565\n", "epoch 777: loss = 1759965.161302, a = 748.769729, b = 152.647309\n", "epoch 778: loss = 1759804.980131, a = 749.168963, b = 152.647054\n", "epoch 779: loss = 1759645.437147, a = 749.567398, b = 152.646800\n", "epoch 780: loss = 1759486.529802, a = 749.965036, b = 152.646546\n", "epoch 781: loss = 1759328.255560, a = 750.361879, b = 152.646292\n", "epoch 782: loss = 1759170.611896, a = 750.757929, b = 152.646039\n", "epoch 783: loss = 1759013.596294, a = 751.153187, b = 152.645787\n", "epoch 784: loss = 1758857.206248, a = 751.547654, b = 152.645535\n", "epoch 785: loss = 1758701.439262, a = 751.941332, b = 152.645284\n", "epoch 786: loss = 1758546.292851, a = 752.334224, b = 152.645033\n", "epoch 787: loss = 1758391.764538, a = 752.726329, b = 152.644782\n", "epoch 788: loss = 1758237.851858, a = 753.117651, b = 152.644532\n", "epoch 789: loss = 1758084.552355, a = 753.508190, b = 152.644283\n", "epoch 790: loss = 1757931.863581, a = 753.897948, b = 152.644034\n", "epoch 791: loss = 1757779.783102, a = 754.286926, b = 152.643785\n", "epoch 792: loss = 1757628.308489, a = 754.675127, b = 152.643538\n", "epoch 793: loss = 1757477.437325, a = 755.062552, b = 152.643290\n", "epoch 794: loss = 1757327.167204, a = 755.449202, b = 152.643043\n", "epoch 795: loss = 1757177.495727, a = 755.835078, b = 152.642797\n", "epoch 796: loss = 1757028.420505, a = 756.220183, b = 152.642551\n", "epoch 797: loss = 1756879.939161, a = 756.604518, b = 152.642305\n", "epoch 798: loss = 1756732.049325, a = 756.988085, b = 152.642060\n", "epoch 799: loss = 1756584.748637, a = 757.370884, b = 152.641816\n", "epoch 800: loss = 1756438.034746, a = 757.752918, b = 152.641572\n", "epoch 801: loss = 1756291.905312, a = 758.134188, b = 152.641328\n", "epoch 802: loss = 1756146.358003, a = 758.514696, b = 152.641085\n", "epoch 803: loss = 1756001.390496, a = 758.894442, b = 152.640843\n", "epoch 804: loss = 1755857.000479, a = 759.273430, b = 152.640601\n", "epoch 805: loss = 1755713.185647, a = 759.651659, b = 152.640359\n", "epoch 806: loss = 1755569.943706, a = 760.029132, b = 152.640118\n", "epoch 807: loss = 1755427.272371, a = 760.405851, b = 152.639877\n", "epoch 808: loss = 1755285.169365, a = 760.781816, b = 152.639637\n", "epoch 809: loss = 1755143.632421, a = 761.157029, b = 152.639398\n", "epoch 810: loss = 1755002.659280, a = 761.531492, b = 152.639158\n", "epoch 811: loss = 1754862.247693, a = 761.905206, b = 152.638920\n", "epoch 812: loss = 1754722.395421, a = 762.278173, b = 152.638681\n", "epoch 813: loss = 1754583.100231, a = 762.650394, b = 152.638444\n", "epoch 814: loss = 1754444.359902, a = 763.021870, b = 152.638206\n", "epoch 815: loss = 1754306.172220, a = 763.392604, b = 152.637970\n", "epoch 816: loss = 1754168.534980, a = 763.762597, b = 152.637733\n", "epoch 817: loss = 1754031.445986, a = 764.131849, b = 152.637498\n", "epoch 818: loss = 1753894.903051, a = 764.500363, b = 152.637262\n", "epoch 819: loss = 1753758.903998, a = 764.868141, b = 152.637027\n", "epoch 820: loss = 1753623.446655, a = 765.235183, b = 152.636793\n", "epoch 821: loss = 1753488.528863, a = 765.601491, b = 152.636559\n", "epoch 822: loss = 1753354.148468, a = 765.967066, b = 152.636325\n", "epoch 823: loss = 1753220.303328, a = 766.331911, b = 152.636092\n", "epoch 824: loss = 1753086.991306, a = 766.696025, b = 152.635860\n", "epoch 825: loss = 1752954.210276, a = 767.059412, b = 152.635628\n", "epoch 826: loss = 1752821.958120, a = 767.422072, b = 152.635396\n", "epoch 827: loss = 1752690.232728, a = 767.784007, b = 152.635165\n", "epoch 828: loss = 1752559.031999, a = 768.145218, b = 152.634934\n", "epoch 829: loss = 1752428.353839, a = 768.505707, b = 152.634704\n", "epoch 830: loss = 1752298.196165, a = 768.865475, b = 152.634474\n", "epoch 831: loss = 1752168.556899, a = 769.224524, b = 152.634245\n", "epoch 832: loss = 1752039.433974, a = 769.582854, b = 152.634016\n", "epoch 833: loss = 1751910.825331, a = 769.940468, b = 152.633788\n", "epoch 834: loss = 1751782.728917, a = 770.297367, b = 152.633560\n", "epoch 835: loss = 1751655.142689, a = 770.653552, b = 152.633332\n", "epoch 836: loss = 1751528.064612, a = 771.009025, b = 152.633105\n", "epoch 837: loss = 1751401.492660, a = 771.363788, b = 152.632879\n", "epoch 838: loss = 1751275.424813, a = 771.717840, b = 152.632652\n", "epoch 839: loss = 1751149.859059, a = 772.071185, b = 152.632427\n", "epoch 840: loss = 1751024.793398, a = 772.423823, b = 152.632201\n", "epoch 841: loss = 1750900.225833, a = 772.775756, b = 152.631977\n", "epoch 842: loss = 1750776.154377, a = 773.126986, b = 152.631752\n", "epoch 843: loss = 1750652.577052, a = 773.477513, b = 152.631529\n", "epoch 844: loss = 1750529.491887, a = 773.827339, b = 152.631305\n", "epoch 845: loss = 1750406.896918, a = 774.176465, b = 152.631082\n", "epoch 846: loss = 1750284.790190, a = 774.524893, b = 152.630860\n", "epoch 847: loss = 1750163.169756, a = 774.872625, b = 152.630637\n", "epoch 848: loss = 1750042.033675, a = 775.219661, b = 152.630416\n", "epoch 849: loss = 1749921.380017, a = 775.566004, b = 152.630195\n", "epoch 850: loss = 1749801.206855, a = 775.911653, b = 152.629974\n", "epoch 851: loss = 1749681.512274, a = 776.256612, b = 152.629754\n", "epoch 852: loss = 1749562.294365, a = 776.600881, b = 152.629534\n", "epoch 853: loss = 1749443.551226, a = 776.944461, b = 152.629314\n", "epoch 854: loss = 1749325.280964, a = 777.287354, b = 152.629095\n", "epoch 855: loss = 1749207.481692, a = 777.629562, b = 152.628877\n", "epoch 856: loss = 1749090.151532, a = 777.971085, b = 152.628658\n", "epoch 857: loss = 1748973.288613, a = 778.311925, b = 152.628441\n", "epoch 858: loss = 1748856.891070, a = 778.652084, b = 152.628224\n", "epoch 859: loss = 1748740.957047, a = 778.991563, b = 152.628007\n", "epoch 860: loss = 1748625.484697, a = 779.330363, b = 152.627790\n", "epoch 861: loss = 1748510.472176, a = 779.668485, b = 152.627574\n", "epoch 862: loss = 1748395.917651, a = 780.005931, b = 152.627359\n", "epoch 863: loss = 1748281.819296, a = 780.342702, b = 152.627144\n", "epoch 864: loss = 1748168.175290, a = 780.678800, b = 152.626929\n", "epoch 865: loss = 1748054.983822, a = 781.014226, b = 152.626715\n", "epoch 866: loss = 1747942.243086, a = 781.348981, b = 152.626501\n", "epoch 867: loss = 1747829.951284, a = 781.683067, b = 152.626288\n", "epoch 868: loss = 1747718.106627, a = 782.016484, b = 152.626075\n", "epoch 869: loss = 1747606.707330, a = 782.349235, b = 152.625862\n", "epoch 870: loss = 1747495.751617, a = 782.681321, b = 152.625650\n", "epoch 871: loss = 1747385.237718, a = 783.012742, b = 152.625438\n", "epoch 872: loss = 1747275.163873, a = 783.343501, b = 152.625227\n", "epoch 873: loss = 1747165.528325, a = 783.673598, b = 152.625016\n", "epoch 874: loss = 1747056.329325, a = 784.003035, b = 152.624806\n", "epoch 875: loss = 1746947.565134, a = 784.331814, b = 152.624596\n", "epoch 876: loss = 1746839.234017, a = 784.659935, b = 152.624386\n", "epoch 877: loss = 1746731.334246, a = 784.987400, b = 152.624177\n", "epoch 878: loss = 1746623.864101, a = 785.314210, b = 152.623968\n", "epoch 879: loss = 1746516.821869, a = 785.640366, b = 152.623760\n", "epoch 880: loss = 1746410.205842, a = 785.965871, b = 152.623552\n", "epoch 881: loss = 1746304.014321, a = 786.290724, b = 152.623345\n", "epoch 882: loss = 1746198.245613, a = 786.614928, b = 152.623138\n", "epoch 883: loss = 1746092.898031, a = 786.938483, b = 152.622931\n", "epoch 884: loss = 1745987.969896, a = 787.261392, b = 152.622725\n", "epoch 885: loss = 1745883.459534, a = 787.583655, b = 152.622519\n", "epoch 886: loss = 1745779.365280, a = 787.905273, b = 152.622314\n", "epoch 887: loss = 1745675.685474, a = 788.226248, b = 152.622109\n", "epoch 888: loss = 1745572.418463, a = 788.546582, b = 152.621904\n", "epoch 889: loss = 1745469.562600, a = 788.866275, b = 152.621700\n", "epoch 890: loss = 1745367.116247, a = 789.185328, b = 152.621496\n", "epoch 891: loss = 1745265.077768, a = 789.503744, b = 152.621293\n", "epoch 892: loss = 1745163.445539, a = 789.821523, b = 152.621090\n", "epoch 893: loss = 1745062.217938, a = 790.138666, b = 152.620887\n", "epoch 894: loss = 1744961.393352, a = 790.455175, b = 152.620685\n", "epoch 895: loss = 1744860.970173, a = 790.771052, b = 152.620483\n", "epoch 896: loss = 1744760.946801, a = 791.086296, b = 152.620282\n", "epoch 897: loss = 1744661.321640, a = 791.400911, b = 152.620081\n", "epoch 898: loss = 1744562.093104, a = 791.714896, b = 152.619880\n", "epoch 899: loss = 1744463.259609, a = 792.028253, b = 152.619680\n", "epoch 900: loss = 1744364.819581, a = 792.340984, b = 152.619480\n", "epoch 901: loss = 1744266.771451, a = 792.653089, b = 152.619281\n", "epoch 902: loss = 1744169.113654, a = 792.964570, b = 152.619082\n", "epoch 903: loss = 1744071.844635, a = 793.275429, b = 152.618884\n", "epoch 904: loss = 1743974.962844, a = 793.585665, b = 152.618685\n", "epoch 905: loss = 1743878.466735, a = 793.895282, b = 152.618488\n", "epoch 906: loss = 1743782.354770, a = 794.204279, b = 152.618290\n", "epoch 907: loss = 1743686.625419, a = 794.512658, b = 152.618093\n", "epoch 908: loss = 1743591.277154, a = 794.820421, b = 152.617897\n", "epoch 909: loss = 1743496.308456, a = 795.127568, b = 152.617701\n", "epoch 910: loss = 1743401.717811, a = 795.434101, b = 152.617505\n", "epoch 911: loss = 1743307.503711, a = 795.740021, b = 152.617310\n", "epoch 912: loss = 1743213.664656, a = 796.045330, b = 152.617115\n", "epoch 913: loss = 1743120.199149, a = 796.350028, b = 152.616920\n", "epoch 914: loss = 1743027.105700, a = 796.654116, b = 152.616726\n", "epoch 915: loss = 1742934.382825, a = 796.957597, b = 152.616532\n", "epoch 916: loss = 1742842.029048, a = 797.260470, b = 152.616338\n", "epoch 917: loss = 1742750.042895, a = 797.562738, b = 152.616145\n", "epoch 918: loss = 1742658.422902, a = 797.864402, b = 152.615953\n", "epoch 919: loss = 1742567.167606, a = 798.165462, b = 152.615760\n", "epoch 920: loss = 1742476.275556, a = 798.465920, b = 152.615568\n", "epoch 921: loss = 1742385.745300, a = 798.765778, b = 152.615377\n", "epoch 922: loss = 1742295.575398, a = 799.065036, b = 152.615186\n", "epoch 923: loss = 1742205.764411, a = 799.363695, b = 152.614995\n", "epoch 924: loss = 1742116.310909, a = 799.661757, b = 152.614805\n", "epoch 925: loss = 1742027.213466, a = 799.959223, b = 152.614615\n", "epoch 926: loss = 1741938.470661, a = 800.256095, b = 152.614425\n", "epoch 927: loss = 1741850.081082, a = 800.552373, b = 152.614236\n", "epoch 928: loss = 1741762.043319, a = 800.848058, b = 152.614047\n", "epoch 929: loss = 1741674.355969, a = 801.143152, b = 152.613859\n", "epoch 930: loss = 1741587.017634, a = 801.437656, b = 152.613670\n", "epoch 931: loss = 1741500.026924, a = 801.731571, b = 152.613483\n", "epoch 932: loss = 1741413.382452, a = 802.024898, b = 152.613295\n", "epoch 933: loss = 1741327.082837, a = 802.317639, b = 152.613108\n", "epoch 934: loss = 1741241.126703, a = 802.609794, b = 152.612922\n", "epoch 935: loss = 1741155.512682, a = 802.901365, b = 152.612736\n", "epoch 936: loss = 1741070.239409, a = 803.192353, b = 152.612550\n", "epoch 937: loss = 1740985.305526, a = 803.482759, b = 152.612364\n", "epoch 938: loss = 1740900.709678, a = 803.772585, b = 152.612179\n", "epoch 939: loss = 1740816.450518, a = 804.061831, b = 152.611994\n", "epoch 940: loss = 1740732.526703, a = 804.350498, b = 152.611810\n", "epoch 941: loss = 1740648.936897, a = 804.638588, b = 152.611626\n", "epoch 942: loss = 1740565.679766, a = 804.926103, b = 152.611442\n", "epoch 943: loss = 1740482.753986, a = 805.213042, b = 152.611259\n", "epoch 944: loss = 1740400.158233, a = 805.499407, b = 152.611076\n", "epoch 945: loss = 1740317.891193, a = 805.785200, b = 152.610894\n", "epoch 946: loss = 1740235.951555, a = 806.070421, b = 152.610712\n", "epoch 947: loss = 1740154.338013, a = 806.355072, b = 152.610530\n", "epoch 948: loss = 1740073.049267, a = 806.639154, b = 152.610348\n", "epoch 949: loss = 1739992.084021, a = 806.922668, b = 152.610167\n", "epoch 950: loss = 1739911.440986, a = 807.205615, b = 152.609986\n", "epoch 951: loss = 1739831.118877, a = 807.487996, b = 152.609806\n", "epoch 952: loss = 1739751.116414, a = 807.769812, b = 152.609626\n", "epoch 953: loss = 1739671.432323, a = 808.051065, b = 152.609446\n", "epoch 954: loss = 1739592.065335, a = 808.331755, b = 152.609267\n", "epoch 955: loss = 1739513.014184, a = 808.611884, b = 152.609088\n", "epoch 956: loss = 1739434.277612, a = 808.891453, b = 152.608910\n", "epoch 957: loss = 1739355.854363, a = 809.170463, b = 152.608732\n", "epoch 958: loss = 1739277.743190, a = 809.448915, b = 152.608554\n", "epoch 959: loss = 1739199.942847, a = 809.726810, b = 152.608376\n", "epoch 960: loss = 1739122.452096, a = 810.004149, b = 152.608199\n", "epoch 961: loss = 1739045.269701, a = 810.280934, b = 152.608022\n", "epoch 962: loss = 1738968.394433, a = 810.557165, b = 152.607846\n", "epoch 963: loss = 1738891.825068, a = 810.832844, b = 152.607670\n", "epoch 964: loss = 1738815.560385, a = 811.107972, b = 152.607494\n", "epoch 965: loss = 1738739.599171, a = 811.382550, b = 152.607319\n", "epoch 966: loss = 1738663.940215, a = 811.656578, b = 152.607144\n", "epoch 967: loss = 1738588.582311, a = 811.930059, b = 152.606969\n", "epoch 968: loss = 1738513.524261, a = 812.202992, b = 152.606795\n", "epoch 969: loss = 1738438.764867, a = 812.475380, b = 152.606621\n", "epoch 970: loss = 1738364.302940, a = 812.747223, b = 152.606447\n", "epoch 971: loss = 1738290.137292, a = 813.018523, b = 152.606274\n", "epoch 972: loss = 1738216.266744, a = 813.289280, b = 152.606101\n", "epoch 973: loss = 1738142.690118, a = 813.559496, b = 152.605928\n", "epoch 974: loss = 1738069.406242, a = 813.829171, b = 152.605756\n", "epoch 975: loss = 1737996.413950, a = 814.098307, b = 152.605584\n", "epoch 976: loss = 1737923.712078, a = 814.366905, b = 152.605413\n", "epoch 977: loss = 1737851.299469, a = 814.634966, b = 152.605241\n", "epoch 978: loss = 1737779.174969, a = 814.902490, b = 152.605071\n", "epoch 979: loss = 1737707.337430, a = 815.169480, b = 152.604900\n", "epoch 980: loss = 1737635.785708, a = 815.435936, b = 152.604730\n", "epoch 981: loss = 1737564.518663, a = 815.701859, b = 152.604560\n", "epoch 982: loss = 1737493.535160, a = 815.967250, b = 152.604390\n", "epoch 983: loss = 1737422.834069, a = 816.232111, b = 152.604221\n", "epoch 984: loss = 1737352.414263, a = 816.496442, b = 152.604052\n", "epoch 985: loss = 1737282.274622, a = 816.760244, b = 152.603884\n", "epoch 986: loss = 1737212.414028, a = 817.023519, b = 152.603716\n", "epoch 987: loss = 1737142.831368, a = 817.286268, b = 152.603548\n", "epoch 988: loss = 1737073.525536, a = 817.548491, b = 152.603381\n", "epoch 989: loss = 1737004.495426, a = 817.810189, b = 152.603213\n", "epoch 990: loss = 1736935.739941, a = 818.071365, b = 152.603047\n", "epoch 991: loss = 1736867.257984, a = 818.332018, b = 152.602880\n", "epoch 992: loss = 1736799.048465, a = 818.592150, b = 152.602714\n", "epoch 993: loss = 1736731.110299, a = 818.851761, b = 152.602548\n", "epoch 994: loss = 1736663.442403, a = 819.110854, b = 152.602383\n", "epoch 995: loss = 1736596.043701, a = 819.369428, b = 152.602218\n", "epoch 996: loss = 1736528.913118, a = 819.627486, b = 152.602053\n", "epoch 997: loss = 1736462.049586, a = 819.885027, b = 152.601888\n", "epoch 998: loss = 1736395.452040, a = 820.142053, b = 152.601724\n", "epoch 999: loss = 1736329.119420, a = 820.398566, b = 152.601560\n", "epoch 1000: loss = 1736263.050670, a = 820.654565, b = 152.601397\n", "epoch 1001: loss = 1736197.244737, a = 820.910053, b = 152.601234\n", "epoch 1002: loss = 1736131.700574, a = 821.165029, b = 152.601071\n", "epoch 1003: loss = 1736066.417138, a = 821.419496, b = 152.600908\n", "epoch 1004: loss = 1736001.393389, a = 821.673454, b = 152.600746\n", "epoch 1005: loss = 1735936.628292, a = 821.926904, b = 152.600584\n", "epoch 1006: loss = 1735872.120815, a = 822.179847, b = 152.600422\n", "epoch 1007: loss = 1735807.869932, a = 822.432285, b = 152.600261\n", "epoch 1008: loss = 1735743.874619, a = 822.684217, b = 152.600100\n", "epoch 1009: loss = 1735680.133859, a = 822.935646, b = 152.599940\n", "epoch 1010: loss = 1735616.646635, a = 823.186572, b = 152.599780\n", "epoch 1011: loss = 1735553.411939, a = 823.436997, b = 152.599620\n", "epoch 1012: loss = 1735490.428761, a = 823.686920, b = 152.599460\n", "epoch 1013: loss = 1735427.696101, a = 823.936344, b = 152.599301\n", "epoch 1014: loss = 1735365.212960, a = 824.185269, b = 152.599142\n", "epoch 1015: loss = 1735302.978342, a = 824.433697, b = 152.598983\n", "epoch 1016: loss = 1735240.991257, a = 824.681627, b = 152.598825\n", "epoch 1017: loss = 1735179.250719, a = 824.929062, b = 152.598667\n", "epoch 1018: loss = 1735117.755744, a = 825.176002, b = 152.598509\n", "epoch 1019: loss = 1735056.505353, a = 825.422448, b = 152.598351\n", "epoch 1020: loss = 1734995.498573, a = 825.668401, b = 152.598194\n", "epoch 1021: loss = 1734934.734430, a = 825.913863, b = 152.598038\n", "epoch 1022: loss = 1734874.211960, a = 826.158833, b = 152.597881\n", "epoch 1023: loss = 1734813.930197, a = 826.403314, b = 152.597725\n", "epoch 1024: loss = 1734753.888182, a = 826.647306, b = 152.597569\n", "epoch 1025: loss = 1734694.084961, a = 826.890810, b = 152.597414\n", "epoch 1026: loss = 1734634.519580, a = 827.133827, b = 152.597258\n", "epoch 1027: loss = 1734575.191092, a = 827.376358, b = 152.597104\n", "epoch 1028: loss = 1734516.098553, a = 827.618405, b = 152.596949\n", "epoch 1029: loss = 1734457.241022, a = 827.859967, b = 152.596795\n", "epoch 1030: loss = 1734398.617562, a = 828.101046, b = 152.596641\n", "epoch 1031: loss = 1734340.227240, a = 828.341643, b = 152.596487\n", "epoch 1032: loss = 1734282.069127, a = 828.581759, b = 152.596334\n", "epoch 1033: loss = 1734224.142298, a = 828.821394, b = 152.596181\n", "epoch 1034: loss = 1734166.445830, a = 829.060551, b = 152.596028\n", "epoch 1035: loss = 1734108.978805, a = 829.299229, b = 152.595875\n", "epoch 1036: loss = 1734051.740309, a = 829.537430, b = 152.595723\n", "epoch 1037: loss = 1733994.729431, a = 829.775155, b = 152.595571\n", "epoch 1038: loss = 1733937.945263, a = 830.012405, b = 152.595420\n", "epoch 1039: loss = 1733881.386903, a = 830.249179, b = 152.595269\n", "epoch 1040: loss = 1733825.053449, a = 830.485481, b = 152.595118\n", "epoch 1041: loss = 1733768.944005, a = 830.721310, b = 152.594967\n", "epoch 1042: loss = 1733713.057679, a = 830.956667, b = 152.594817\n", "epoch 1043: loss = 1733657.393581, a = 831.191554, b = 152.594667\n", "epoch 1044: loss = 1733601.950825, a = 831.425971, b = 152.594517\n", "epoch 1045: loss = 1733546.728530, a = 831.659919, b = 152.594368\n", "epoch 1046: loss = 1733491.725816, a = 831.893400, b = 152.594218\n", "epoch 1047: loss = 1733436.941808, a = 832.126413, b = 152.594070\n", "epoch 1048: loss = 1733382.375635, a = 832.358961, b = 152.593921\n", "epoch 1049: loss = 1733328.026428, a = 832.591044, b = 152.593773\n", "epoch 1050: loss = 1733273.893322, a = 832.822662, b = 152.593625\n", "epoch 1051: loss = 1733219.975457, a = 833.053817, b = 152.593477\n", "epoch 1052: loss = 1733166.271975, a = 833.284511, b = 152.593330\n", "epoch 1053: loss = 1733112.782020, a = 833.514742, b = 152.593183\n", "epoch 1054: loss = 1733059.504742, a = 833.744514, b = 152.593036\n", "epoch 1055: loss = 1733006.439293, a = 833.973826, b = 152.592890\n", "epoch 1056: loss = 1732953.584830, a = 834.202679, b = 152.592744\n", "epoch 1057: loss = 1732900.940510, a = 834.431075, b = 152.592598\n", "epoch 1058: loss = 1732848.505497, a = 834.659014, b = 152.592452\n", "epoch 1059: loss = 1732796.278956, a = 834.886497, b = 152.592307\n", "epoch 1060: loss = 1732744.260056, a = 835.113526, b = 152.592162\n", "epoch 1061: loss = 1732692.447971, a = 835.340100, b = 152.592017\n", "epoch 1062: loss = 1732640.841875, a = 835.566221, b = 152.591873\n", "epoch 1063: loss = 1732589.440947, a = 835.791890, b = 152.591729\n", "epoch 1064: loss = 1732538.244371, a = 836.017108, b = 152.591585\n", "epoch 1065: loss = 1732487.251331, a = 836.241876, b = 152.591441\n", "epoch 1066: loss = 1732436.461017, a = 836.466194, b = 152.591298\n", "epoch 1067: loss = 1732385.872620, a = 836.690063, b = 152.591155\n", "epoch 1068: loss = 1732335.485336, a = 836.913485, b = 152.591012\n", "epoch 1069: loss = 1732285.298362, a = 837.136460, b = 152.590870\n", "epoch 1070: loss = 1732235.310902, a = 837.358990, b = 152.590728\n", "epoch 1071: loss = 1732185.522160, a = 837.581074, b = 152.590586\n", "epoch 1072: loss = 1732135.931343, a = 837.802714, b = 152.590444\n", "epoch 1073: loss = 1732086.537664, a = 838.023911, b = 152.590303\n", "epoch 1074: loss = 1732037.340336, a = 838.244665, b = 152.590162\n", "epoch 1075: loss = 1731988.338577, a = 838.464978, b = 152.590021\n", "epoch 1076: loss = 1731939.531607, a = 838.684851, b = 152.589881\n", "epoch 1077: loss = 1731890.918651, a = 838.904284, b = 152.589741\n", "epoch 1078: loss = 1731842.498935, a = 839.123278, b = 152.589601\n", "epoch 1079: loss = 1731794.271688, a = 839.341834, b = 152.589461\n", "epoch 1080: loss = 1731746.236145, a = 839.559954, b = 152.589322\n", "epoch 1081: loss = 1731698.391541, a = 839.777637, b = 152.589183\n", "epoch 1082: loss = 1731650.737115, a = 839.994884, b = 152.589044\n", "epoch 1083: loss = 1731603.272109, a = 840.211698, b = 152.588906\n", "epoch 1084: loss = 1731555.995768, a = 840.428077, b = 152.588767\n", "epoch 1085: loss = 1731508.907341, a = 840.644024, b = 152.588629\n", "epoch 1086: loss = 1731462.006079, a = 840.859540, b = 152.588492\n", "epoch 1087: loss = 1731415.291236, a = 841.074624, b = 152.588354\n", "epoch 1088: loss = 1731368.762068, a = 841.289278, b = 152.588217\n", "epoch 1089: loss = 1731322.417837, a = 841.503503, b = 152.588081\n", "epoch 1090: loss = 1731276.257805, a = 841.717299, b = 152.587944\n", "epoch 1091: loss = 1731230.281238, a = 841.930668, b = 152.587808\n", "epoch 1092: loss = 1731184.487405, a = 842.143611, b = 152.587672\n", "epoch 1093: loss = 1731138.875577, a = 842.356127, b = 152.587536\n", "epoch 1094: loss = 1731093.445031, a = 842.568219, b = 152.587401\n", "epoch 1095: loss = 1731048.195043, a = 842.779886, b = 152.587265\n", "epoch 1096: loss = 1731003.124893, a = 842.991131, b = 152.587130\n", "epoch 1097: loss = 1730958.233866, a = 843.201952, b = 152.586996\n", "epoch 1098: loss = 1730913.521247, a = 843.412353, b = 152.586861\n", "epoch 1099: loss = 1730868.986325, a = 843.622332, b = 152.586727\n", "epoch 1100: loss = 1730824.628393, a = 843.831892, b = 152.586593\n", "epoch 1101: loss = 1730780.446745, a = 844.041032, b = 152.586460\n", "epoch 1102: loss = 1730736.440678, a = 844.249755, b = 152.586327\n", "epoch 1103: loss = 1730692.609494, a = 844.458059, b = 152.586193\n", "epoch 1104: loss = 1730648.952495, a = 844.665948, b = 152.586061\n", "epoch 1105: loss = 1730605.468987, a = 844.873421, b = 152.585928\n", "epoch 1106: loss = 1730562.158279, a = 845.080478, b = 152.585796\n", "epoch 1107: loss = 1730519.019683, a = 845.287122, b = 152.585664\n", "epoch 1108: loss = 1730476.052512, a = 845.493353, b = 152.585532\n", "epoch 1109: loss = 1730433.256083, a = 845.699171, b = 152.585401\n", "epoch 1110: loss = 1730390.629717, a = 845.904578, b = 152.585270\n", "epoch 1111: loss = 1730348.172735, a = 846.109573, b = 152.585139\n", "epoch 1112: loss = 1730305.884463, a = 846.314159, b = 152.585008\n", "epoch 1113: loss = 1730263.764229, a = 846.518336, b = 152.584878\n", "epoch 1114: loss = 1730221.811362, a = 846.722105, b = 152.584747\n", "epoch 1115: loss = 1730180.025197, a = 846.925466, b = 152.584618\n", "epoch 1116: loss = 1730138.405068, a = 847.128420, b = 152.584488\n", "epoch 1117: loss = 1730096.950315, a = 847.330969, b = 152.584359\n", "epoch 1118: loss = 1730055.660278, a = 847.533112, b = 152.584229\n", "epoch 1119: loss = 1730014.534302, a = 847.734852, b = 152.584101\n", "epoch 1120: loss = 1729973.571731, a = 847.936188, b = 152.583972\n", "epoch 1121: loss = 1729932.771917, a = 848.137121, b = 152.583844\n", "epoch 1122: loss = 1729892.134209, a = 848.337652, b = 152.583716\n", "epoch 1123: loss = 1729851.657962, a = 848.537783, b = 152.583588\n", "epoch 1124: loss = 1729811.342534, a = 848.737513, b = 152.583460\n", "epoch 1125: loss = 1729771.187282, a = 848.936844, b = 152.583333\n", "epoch 1126: loss = 1729731.191569, a = 849.135776, b = 152.583206\n", "epoch 1127: loss = 1729691.354760, a = 849.334311, b = 152.583079\n", "epoch 1128: loss = 1729651.676220, a = 849.532449, b = 152.582952\n", "epoch 1129: loss = 1729612.155321, a = 849.730190, b = 152.582826\n", "epoch 1130: loss = 1729572.791433, a = 849.927536, b = 152.582700\n", "epoch 1131: loss = 1729533.583931, a = 850.124487, b = 152.582574\n", "epoch 1132: loss = 1729494.532192, a = 850.321044, b = 152.582449\n", "epoch 1133: loss = 1729455.635596, a = 850.517209, b = 152.582324\n", "epoch 1134: loss = 1729416.893524, a = 850.712981, b = 152.582198\n", "epoch 1135: loss = 1729378.305361, a = 850.908362, b = 152.582074\n", "epoch 1136: loss = 1729339.870493, a = 851.103352, b = 152.581949\n", "epoch 1137: loss = 1729301.588311, a = 851.297952, b = 152.581825\n", "epoch 1138: loss = 1729263.458205, a = 851.492162, b = 152.581701\n", "epoch 1139: loss = 1729225.479569, a = 851.685985, b = 152.581577\n", "epoch 1140: loss = 1729187.651801, a = 851.879420, b = 152.581453\n", "epoch 1141: loss = 1729149.974300, a = 852.072468, b = 152.581330\n", "epoch 1142: loss = 1729112.446466, a = 852.265130, b = 152.581207\n", "epoch 1143: loss = 1729075.067703, a = 852.457407, b = 152.581084\n", "epoch 1144: loss = 1729037.837419, a = 852.649299, b = 152.580962\n", "epoch 1145: loss = 1729000.755020, a = 852.840808, b = 152.580839\n", "epoch 1146: loss = 1728963.819918, a = 853.031934, b = 152.580717\n", "epoch 1147: loss = 1728927.031526, a = 853.222677, b = 152.580596\n", "epoch 1148: loss = 1728890.389260, a = 853.413039, b = 152.580474\n", "epoch 1149: loss = 1728853.892538, a = 853.603021, b = 152.580353\n", "epoch 1150: loss = 1728817.540780, a = 853.792622, b = 152.580232\n", "epoch 1151: loss = 1728781.333408, a = 853.981845, b = 152.580111\n", "epoch 1152: loss = 1728745.269847, a = 854.170689, b = 152.579990\n", "epoch 1153: loss = 1728709.349524, a = 854.359155, b = 152.579870\n", "epoch 1154: loss = 1728673.571869, a = 854.547245, b = 152.579750\n", "epoch 1155: loss = 1728637.936314, a = 854.734958, b = 152.579630\n", "epoch 1156: loss = 1728602.442292, a = 854.922296, b = 152.579510\n", "epoch 1157: loss = 1728567.089239, a = 855.109259, b = 152.579391\n", "epoch 1158: loss = 1728531.876595, a = 855.295849, b = 152.579271\n", "epoch 1159: loss = 1728496.803799, a = 855.482065, b = 152.579152\n", "epoch 1160: loss = 1728461.870295, a = 855.667909, b = 152.579034\n", "epoch 1161: loss = 1728427.075528, a = 855.853382, b = 152.578915\n", "epoch 1162: loss = 1728392.418945, a = 856.038483, b = 152.578797\n", "epoch 1163: loss = 1728357.899996, a = 856.223215, b = 152.578679\n", "epoch 1164: loss = 1728323.518132, a = 856.407577, b = 152.578561\n", "epoch 1165: loss = 1728289.272808, a = 856.591570, b = 152.578444\n", "epoch 1166: loss = 1728255.163480, a = 856.775195, b = 152.578327\n", "epoch 1167: loss = 1728221.189605, a = 856.958454, b = 152.578210\n", "epoch 1168: loss = 1728187.350645, a = 857.141345, b = 152.578093\n", "epoch 1169: loss = 1728153.646062, a = 857.323871, b = 152.577976\n", "epoch 1170: loss = 1728120.075320, a = 857.506033, b = 152.577860\n", "epoch 1171: loss = 1728086.637887, a = 857.687829, b = 152.577744\n", "epoch 1172: loss = 1728053.333232, a = 857.869263, b = 152.577628\n", "epoch 1173: loss = 1728020.160826, a = 858.050333, b = 152.577512\n", "epoch 1174: loss = 1727987.120142, a = 858.231041, b = 152.577397\n", "epoch 1175: loss = 1727954.210655, a = 858.411388, b = 152.577282\n", "epoch 1176: loss = 1727921.431843, a = 858.591375, b = 152.577167\n", "epoch 1177: loss = 1727888.783186, a = 858.771001, b = 152.577052\n", "epoch 1178: loss = 1727856.264164, a = 858.950268, b = 152.576937\n", "epoch 1179: loss = 1727823.874263, a = 859.129177, b = 152.576823\n", "epoch 1180: loss = 1727791.612966, a = 859.307728, b = 152.576709\n", "epoch 1181: loss = 1727759.479763, a = 859.485922, b = 152.576595\n", "epoch 1182: loss = 1727727.474143, a = 859.663760, b = 152.576482\n", "epoch 1183: loss = 1727695.595598, a = 859.841242, b = 152.576368\n", "epoch 1184: loss = 1727663.843621, a = 860.018369, b = 152.576255\n", "epoch 1185: loss = 1727632.217709, a = 860.195142, b = 152.576142\n", "epoch 1186: loss = 1727600.717360, a = 860.371562, b = 152.576030\n", "epoch 1187: loss = 1727569.342073, a = 860.547628, b = 152.575917\n", "epoch 1188: loss = 1727538.091351, a = 860.723343, b = 152.575805\n", "epoch 1189: loss = 1727506.964697, a = 860.898706, b = 152.575693\n", "epoch 1190: loss = 1727475.961618, a = 861.073719, b = 152.575581\n", "epoch 1191: loss = 1727445.081620, a = 861.248381, b = 152.575470\n", "epoch 1192: loss = 1727414.324214, a = 861.422695, b = 152.575358\n", "epoch 1193: loss = 1727383.688912, a = 861.596659, b = 152.575247\n", "epoch 1194: loss = 1727353.175228, a = 861.770276, b = 152.575136\n", "epoch 1195: loss = 1727322.782676, a = 861.943546, b = 152.575026\n", "epoch 1196: loss = 1727292.510775, a = 862.116469, b = 152.574915\n", "epoch 1197: loss = 1727262.359044, a = 862.289047, b = 152.574805\n", "epoch 1198: loss = 1727232.327005, a = 862.461279, b = 152.574695\n", "epoch 1199: loss = 1727202.414181, a = 862.633167, b = 152.574585\n", "epoch 1200: loss = 1727172.620097, a = 862.804711, b = 152.574476\n", "epoch 1201: loss = 1727142.944280, a = 862.975912, b = 152.574366\n", "epoch 1202: loss = 1727113.386259, a = 863.146771, b = 152.574257\n", "epoch 1203: loss = 1727083.945566, a = 863.317288, b = 152.574148\n", "epoch 1204: loss = 1727054.621733, a = 863.487464, b = 152.574039\n", "epoch 1205: loss = 1727025.414294, a = 863.657300, b = 152.573931\n", "epoch 1206: loss = 1726996.322787, a = 863.826797, b = 152.573823\n", "epoch 1207: loss = 1726967.346749, a = 863.995954, b = 152.573715\n", "epoch 1208: loss = 1726938.485720, a = 864.164773, b = 152.573607\n", "epoch 1209: loss = 1726909.739243, a = 864.333255, b = 152.573499\n", "epoch 1210: loss = 1726881.106862, a = 864.501399, b = 152.573392\n", "epoch 1211: loss = 1726852.588122, a = 864.669208, b = 152.573285\n", "epoch 1212: loss = 1726824.182571, a = 864.836680, b = 152.573178\n", "epoch 1213: loss = 1726795.889757, a = 865.003818, b = 152.573071\n", "epoch 1214: loss = 1726767.709233, a = 865.170622, b = 152.572964\n", "epoch 1215: loss = 1726739.640550, a = 865.337092, b = 152.572858\n", "epoch 1216: loss = 1726711.683264, a = 865.503229, b = 152.572752\n", "epoch 1217: loss = 1726683.836931, a = 865.669034, b = 152.572646\n", "epoch 1218: loss = 1726656.101109, a = 865.834508, b = 152.572540\n", "epoch 1219: loss = 1726628.475358, a = 865.999650, b = 152.572435\n", "epoch 1220: loss = 1726600.959240, a = 866.164463, b = 152.572330\n", "epoch 1221: loss = 1726573.552318, a = 866.328946, b = 152.572225\n", "epoch 1222: loss = 1726546.254158, a = 866.493100, b = 152.572120\n", "epoch 1223: loss = 1726519.064326, a = 866.656925, b = 152.572015\n", "epoch 1224: loss = 1726491.982391, a = 866.820423, b = 152.571911\n", "epoch 1225: loss = 1726465.007924, a = 866.983594, b = 152.571807\n", "epoch 1226: loss = 1726438.140496, a = 867.146439, b = 152.571702\n", "epoch 1227: loss = 1726411.379682, a = 867.308958, b = 152.571599\n", "epoch 1228: loss = 1726384.725056, a = 867.471152, b = 152.571495\n", "epoch 1229: loss = 1726358.176197, a = 867.633022, b = 152.571392\n", "epoch 1230: loss = 1726331.732682, a = 867.794568, b = 152.571289\n", "epoch 1231: loss = 1726305.394093, a = 867.955792, b = 152.571186\n", "epoch 1232: loss = 1726279.160012, a = 868.116692, b = 152.571083\n", "epoch 1233: loss = 1726253.030023, a = 868.277271, b = 152.570980\n", "epoch 1234: loss = 1726227.003711, a = 868.437529, b = 152.570878\n", "epoch 1235: loss = 1726201.080663, a = 868.597467, b = 152.570776\n", "epoch 1236: loss = 1726175.260468, a = 868.757084, b = 152.570674\n", "epoch 1237: loss = 1726149.542718, a = 868.916383, b = 152.570572\n", "epoch 1238: loss = 1726123.927003, a = 869.075362, b = 152.570471\n", "epoch 1239: loss = 1726098.412918, a = 869.234024, b = 152.570369\n", "epoch 1240: loss = 1726073.000058, a = 869.392369, b = 152.570268\n", "epoch 1241: loss = 1726047.688020, a = 869.550397, b = 152.570167\n", "epoch 1242: loss = 1726022.476403, a = 869.708109, b = 152.570066\n", "epoch 1243: loss = 1725997.364807, a = 869.865506, b = 152.569966\n", "epoch 1244: loss = 1725972.352833, a = 870.022588, b = 152.569866\n", "epoch 1245: loss = 1725947.440086, a = 870.179356, b = 152.569765\n", "epoch 1246: loss = 1725922.626169, a = 870.335810, b = 152.569665\n", "epoch 1247: loss = 1725897.910690, a = 870.491951, b = 152.569566\n", "epoch 1248: loss = 1725873.293257, a = 870.647781, b = 152.569466\n", "epoch 1249: loss = 1725848.773479, a = 870.803298, b = 152.569367\n", "epoch 1250: loss = 1725824.350968, a = 870.958505, b = 152.569268\n", "epoch 1251: loss = 1725800.025336, a = 871.113401, b = 152.569169\n", "epoch 1252: loss = 1725775.796198, a = 871.267988, b = 152.569070\n", "epoch 1253: loss = 1725751.663170, a = 871.422265, b = 152.568972\n", "epoch 1254: loss = 1725727.625869, a = 871.576234, b = 152.568873\n", "epoch 1255: loss = 1725703.683913, a = 871.729895, b = 152.568775\n", "epoch 1256: loss = 1725679.836924, a = 871.883249, b = 152.568677\n", "epoch 1257: loss = 1725656.084523, a = 872.036296, b = 152.568579\n", "epoch 1258: loss = 1725632.426334, a = 872.189037, b = 152.568482\n", "epoch 1259: loss = 1725608.861981, a = 872.341473, b = 152.568384\n", "epoch 1260: loss = 1725585.391092, a = 872.493604, b = 152.568287\n", "epoch 1261: loss = 1725562.013294, a = 872.645430, b = 152.568190\n", "epoch 1262: loss = 1725538.728217, a = 872.796953, b = 152.568094\n", "epoch 1263: loss = 1725515.535491, a = 872.948173, b = 152.567997\n", "epoch 1264: loss = 1725492.434749, a = 873.099091, b = 152.567901\n", "epoch 1265: loss = 1725469.425625, a = 873.249707, b = 152.567804\n", "epoch 1266: loss = 1725446.507753, a = 873.400021, b = 152.567708\n", "epoch 1267: loss = 1725423.680772, a = 873.550035, b = 152.567613\n", "epoch 1268: loss = 1725400.944319, a = 873.699749, b = 152.567517\n", "epoch 1269: loss = 1725378.298033, a = 873.849164, b = 152.567421\n", "epoch 1270: loss = 1725355.741556, a = 873.998280, b = 152.567326\n", "epoch 1271: loss = 1725333.274530, a = 874.147098, b = 152.567231\n", "epoch 1272: loss = 1725310.896600, a = 874.295618, b = 152.567136\n", "epoch 1273: loss = 1725288.607410, a = 874.443841, b = 152.567042\n", "epoch 1274: loss = 1725266.406608, a = 874.591768, b = 152.566947\n", "epoch 1275: loss = 1725244.293841, a = 874.739399, b = 152.566853\n", "epoch 1276: loss = 1725222.268760, a = 874.886735, b = 152.566759\n", "epoch 1277: loss = 1725200.331014, a = 875.033776, b = 152.566665\n", "epoch 1278: loss = 1725178.480257, a = 875.180523, b = 152.566571\n", "epoch 1279: loss = 1725156.716143, a = 875.326977, b = 152.566478\n", "epoch 1280: loss = 1725135.038326, a = 875.473137, b = 152.566384\n", "epoch 1281: loss = 1725113.446463, a = 875.619006, b = 152.566291\n", "epoch 1282: loss = 1725091.940212, a = 875.764583, b = 152.566198\n", "epoch 1283: loss = 1725070.519232, a = 875.909868, b = 152.566105\n", "epoch 1284: loss = 1725049.183184, a = 876.054864, b = 152.566013\n", "epoch 1285: loss = 1725027.931730, a = 876.199569, b = 152.565920\n", "epoch 1286: loss = 1725006.764533, a = 876.343985, b = 152.565828\n", "epoch 1287: loss = 1724985.681258, a = 876.488112, b = 152.565736\n", "epoch 1288: loss = 1724964.681570, a = 876.631951, b = 152.565644\n", "epoch 1289: loss = 1724943.765137, a = 876.775502, b = 152.565552\n", "epoch 1290: loss = 1724922.931629, a = 876.918766, b = 152.565461\n", "epoch 1291: loss = 1724902.180714, a = 877.061744, b = 152.565370\n", "epoch 1292: loss = 1724881.512064, a = 877.204436, b = 152.565278\n", "epoch 1293: loss = 1724860.925351, a = 877.346842, b = 152.565188\n", "epoch 1294: loss = 1724840.420250, a = 877.488964, b = 152.565097\n", "epoch 1295: loss = 1724819.996436, a = 877.630802, b = 152.565006\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "epoch 1296: loss = 1724799.653585, a = 877.772356, b = 152.564916\n", "epoch 1297: loss = 1724779.391376, a = 877.913626, b = 152.564826\n", "epoch 1298: loss = 1724759.209486, a = 878.054615, b = 152.564735\n", "epoch 1299: loss = 1724739.107597, a = 878.195321, b = 152.564646\n", "epoch 1300: loss = 1724719.085390, a = 878.335746, b = 152.564556\n", "epoch 1301: loss = 1724699.142548, a = 878.475891, b = 152.564466\n", "epoch 1302: loss = 1724679.278756, a = 878.615755, b = 152.564377\n", "epoch 1303: loss = 1724659.493698, a = 878.755339, b = 152.564288\n", "epoch 1304: loss = 1724639.787061, a = 878.894644, b = 152.564199\n", "epoch 1305: loss = 1724620.158533, a = 879.033671, b = 152.564110\n", "epoch 1306: loss = 1724600.607805, a = 879.172419, b = 152.564022\n", "epoch 1307: loss = 1724581.134564, a = 879.310891, b = 152.563933\n", "epoch 1308: loss = 1724561.738505, a = 879.449085, b = 152.563845\n", "epoch 1309: loss = 1724542.419319, a = 879.587003, b = 152.563757\n", "epoch 1310: loss = 1724523.176700, a = 879.724645, b = 152.563669\n", "epoch 1311: loss = 1724504.010344, a = 879.862012, b = 152.563581\n", "epoch 1312: loss = 1724484.919948, a = 879.999104, b = 152.563494\n", "epoch 1313: loss = 1724465.905208, a = 880.135922, b = 152.563406\n", "epoch 1314: loss = 1724446.965825, a = 880.272467, b = 152.563319\n", "epoch 1315: loss = 1724428.101498, a = 880.408738, b = 152.563232\n", "epoch 1316: loss = 1724409.311929, a = 880.544737, b = 152.563145\n", "epoch 1317: loss = 1724390.596819, a = 880.680464, b = 152.563058\n", "epoch 1318: loss = 1724371.955874, a = 880.815920, b = 152.562972\n", "epoch 1319: loss = 1724353.388797, a = 880.951104, b = 152.562886\n", "epoch 1320: loss = 1724334.895295, a = 881.086019, b = 152.562799\n", "epoch 1321: loss = 1724316.475075, a = 881.220663, b = 152.562713\n", "epoch 1322: loss = 1724298.127846, a = 881.355039, b = 152.562628\n", "epoch 1323: loss = 1724279.853317, a = 881.489145, b = 152.562542\n", "epoch 1324: loss = 1724261.651198, a = 881.622984, b = 152.562456\n", "epoch 1325: loss = 1724243.521203, a = 881.756555, b = 152.562371\n", "epoch 1326: loss = 1724225.463043, a = 881.889859, b = 152.562286\n", "epoch 1327: loss = 1724207.476433, a = 882.022896, b = 152.562201\n", "epoch 1328: loss = 1724189.561089, a = 882.155667, b = 152.562116\n", "epoch 1329: loss = 1724171.716726, a = 882.288173, b = 152.562032\n", "epoch 1330: loss = 1724153.943063, a = 882.420413, b = 152.561947\n", "epoch 1331: loss = 1724136.239817, a = 882.552390, b = 152.561863\n", "epoch 1332: loss = 1724118.606710, a = 882.684102, b = 152.561779\n", "epoch 1333: loss = 1724101.043462, a = 882.815551, b = 152.561695\n", "epoch 1334: loss = 1724083.549795, a = 882.946737, b = 152.561611\n", "epoch 1335: loss = 1724066.125431, a = 883.077661, b = 152.561527\n", "epoch 1336: loss = 1724048.770097, a = 883.208323, b = 152.561444\n", "epoch 1337: loss = 1724031.483516, a = 883.338724, b = 152.561361\n", "epoch 1338: loss = 1724014.265415, a = 883.468864, b = 152.561277\n", "epoch 1339: loss = 1723997.115522, a = 883.598743, b = 152.561194\n", "epoch 1340: loss = 1723980.033566, a = 883.728363, b = 152.561112\n", "epoch 1341: loss = 1723963.019276, a = 883.857724, b = 152.561029\n", "epoch 1342: loss = 1723946.072383, a = 883.986826, b = 152.560947\n", "epoch 1343: loss = 1723929.192619, a = 884.115670, b = 152.560864\n", "epoch 1344: loss = 1723912.379717, a = 884.244256, b = 152.560782\n", "epoch 1345: loss = 1723895.633411, a = 884.372586, b = 152.560700\n", "epoch 1346: loss = 1723878.953436, a = 884.500658, b = 152.560618\n", "epoch 1347: loss = 1723862.339528, a = 884.628475, b = 152.560537\n", "epoch 1348: loss = 1723845.791425, a = 884.756036, b = 152.560455\n", "epoch 1349: loss = 1723829.308864, a = 884.883341, b = 152.560374\n", "epoch 1350: loss = 1723812.891585, a = 885.010393, b = 152.560293\n", "epoch 1351: loss = 1723796.539328, a = 885.137190, b = 152.560212\n", "epoch 1352: loss = 1723780.251834, a = 885.263733, b = 152.560131\n", "epoch 1353: loss = 1723764.028847, a = 885.390024, b = 152.560050\n", "epoch 1354: loss = 1723747.870109, a = 885.516062, b = 152.559970\n", "epoch 1355: loss = 1723731.775364, a = 885.641848, b = 152.559890\n", "epoch 1356: loss = 1723715.744359, a = 885.767382, b = 152.559809\n", "epoch 1357: loss = 1723699.776840, a = 885.892666, b = 152.559729\n", "epoch 1358: loss = 1723683.872554, a = 886.017699, b = 152.559649\n", "epoch 1359: loss = 1723668.031249, a = 886.142482, b = 152.559570\n", "epoch 1360: loss = 1723652.252676, a = 886.267015, b = 152.559490\n", "epoch 1361: loss = 1723636.536584, a = 886.391299, b = 152.559411\n", "epoch 1362: loss = 1723620.882726, a = 886.515335, b = 152.559332\n", "epoch 1363: loss = 1723605.290853, a = 886.639123, b = 152.559253\n", "epoch 1364: loss = 1723589.760719, a = 886.762663, b = 152.559174\n", "epoch 1365: loss = 1723574.292078, a = 886.885956, b = 152.559095\n", "epoch 1366: loss = 1723558.884687, a = 887.009003, b = 152.559016\n", "epoch 1367: loss = 1723543.538300, a = 887.131804, b = 152.558938\n", "epoch 1368: loss = 1723528.252677, a = 887.254359, b = 152.558860\n", "epoch 1369: loss = 1723513.027574, a = 887.376669, b = 152.558782\n", "epoch 1370: loss = 1723497.862752, a = 887.498734, b = 152.558704\n", "epoch 1371: loss = 1723482.757971, a = 887.620555, b = 152.558626\n", "epoch 1372: loss = 1723467.712991, a = 887.742133, b = 152.558548\n", "epoch 1373: loss = 1723452.727575, a = 887.863468, b = 152.558471\n", "epoch 1374: loss = 1723437.801486, a = 887.984560, b = 152.558393\n", "epoch 1375: loss = 1723422.934489, a = 888.105410, b = 152.558316\n", "epoch 1376: loss = 1723408.126347, a = 888.226018, b = 152.558239\n", "epoch 1377: loss = 1723393.376828, a = 888.346385, b = 152.558162\n", "epoch 1378: loss = 1723378.685697, a = 888.466511, b = 152.558085\n", "epoch 1379: loss = 1723364.052724, a = 888.586397, b = 152.558009\n", "epoch 1380: loss = 1723349.477675, a = 888.706043, b = 152.557932\n", "epoch 1381: loss = 1723334.960322, a = 888.825451, b = 152.557856\n", "epoch 1382: loss = 1723320.500434, a = 888.944619, b = 152.557780\n", "epoch 1383: loss = 1723306.097784, a = 889.063549, b = 152.557704\n", "epoch 1384: loss = 1723291.752143, a = 889.182241, b = 152.557628\n", "epoch 1385: loss = 1723277.463285, a = 889.300696, b = 152.557553\n", "epoch 1386: loss = 1723263.230984, a = 889.418914, b = 152.557477\n", "epoch 1387: loss = 1723249.055015, a = 889.536895, b = 152.557402\n", "epoch 1388: loss = 1723234.935154, a = 889.654641, b = 152.557327\n", "epoch 1389: loss = 1723220.871178, a = 889.772151, b = 152.557252\n", "epoch 1390: loss = 1723206.862865, a = 889.889427, b = 152.557177\n", "epoch 1391: loss = 1723192.909994, a = 890.006467, b = 152.557102\n", "epoch 1392: loss = 1723179.012343, a = 890.123274, b = 152.557027\n", "epoch 1393: loss = 1723165.169694, a = 890.239847, b = 152.556953\n", "epoch 1394: loss = 1723151.381827, a = 890.356187, b = 152.556879\n", "epoch 1395: loss = 1723137.648526, a = 890.472294, b = 152.556804\n", "epoch 1396: loss = 1723123.969572, a = 890.588170, b = 152.556730\n", "epoch 1397: loss = 1723110.344750, a = 890.703813, b = 152.556656\n", "epoch 1398: loss = 1723096.773845, a = 890.819225, b = 152.556583\n", "epoch 1399: loss = 1723083.256642, a = 890.934407, b = 152.556509\n", "epoch 1400: loss = 1723069.792927, a = 891.049358, b = 152.556436\n", "epoch 1401: loss = 1723056.382489, a = 891.164079, b = 152.556363\n", "epoch 1402: loss = 1723043.025115, a = 891.278571, b = 152.556289\n", "epoch 1403: loss = 1723029.720594, a = 891.392834, b = 152.556216\n", "epoch 1404: loss = 1723016.468716, a = 891.506868, b = 152.556144\n", "epoch 1405: loss = 1723003.269272, a = 891.620675, b = 152.556071\n", "epoch 1406: loss = 1722990.122053, a = 891.734253, b = 152.555998\n", "epoch 1407: loss = 1722977.026852, a = 891.847605, b = 152.555926\n", "epoch 1408: loss = 1722963.983461, a = 891.960730, b = 152.555854\n", "epoch 1409: loss = 1722950.991676, a = 892.073629, b = 152.555782\n", "epoch 1410: loss = 1722938.051290, a = 892.186302, b = 152.555710\n", "epoch 1411: loss = 1722925.162100, a = 892.298750, b = 152.555638\n", "epoch 1412: loss = 1722912.323901, a = 892.410972, b = 152.555566\n", "epoch 1413: loss = 1722899.536492, a = 892.522971, b = 152.555495\n", "epoch 1414: loss = 1722886.799670, a = 892.634745, b = 152.555423\n", "epoch 1415: loss = 1722874.113234, a = 892.746296, b = 152.555352\n", "epoch 1416: loss = 1722861.476984, a = 892.857624, b = 152.555281\n", "epoch 1417: loss = 1722848.890720, a = 892.968730, b = 152.555210\n", "epoch 1418: loss = 1722836.354243, a = 893.079613, b = 152.555139\n", "epoch 1419: loss = 1722823.867356, a = 893.190274, b = 152.555068\n", "epoch 1420: loss = 1722811.429862, a = 893.300714, b = 152.554998\n", "epoch 1421: loss = 1722799.041564, a = 893.410934, b = 152.554927\n", "epoch 1422: loss = 1722786.702267, a = 893.520932, b = 152.554857\n", "epoch 1423: loss = 1722774.411775, a = 893.630711, b = 152.554787\n", "epoch 1424: loss = 1722762.169895, a = 893.740271, b = 152.554717\n", "epoch 1425: loss = 1722749.976434, a = 893.849611, b = 152.554647\n", "epoch 1426: loss = 1722737.831199, a = 893.958733, b = 152.554578\n", "epoch 1427: loss = 1722725.733998, a = 894.067636, b = 152.554508\n", "epoch 1428: loss = 1722713.684641, a = 894.176322, b = 152.554439\n", "epoch 1429: loss = 1722701.682937, a = 894.284790, b = 152.554369\n", "epoch 1430: loss = 1722689.728697, a = 894.393042, b = 152.554300\n", "epoch 1431: loss = 1722677.821732, a = 894.501077, b = 152.554231\n", "epoch 1432: loss = 1722665.961855, a = 894.608895, b = 152.554162\n", "epoch 1433: loss = 1722654.148878, a = 894.716499, b = 152.554094\n", "epoch 1434: loss = 1722642.382614, a = 894.823887, b = 152.554025\n", "epoch 1435: loss = 1722630.662879, a = 894.931060, b = 152.553957\n", "epoch 1436: loss = 1722618.989486, a = 895.038020, b = 152.553888\n", "epoch 1437: loss = 1722607.362253, a = 895.144765, b = 152.553820\n", "epoch 1438: loss = 1722595.780995, a = 895.251297, b = 152.553752\n", "epoch 1439: loss = 1722584.245530, a = 895.357615, b = 152.553684\n", "epoch 1440: loss = 1722572.755676, a = 895.463721, b = 152.553616\n", "epoch 1441: loss = 1722561.311251, a = 895.569615, b = 152.553549\n", "epoch 1442: loss = 1722549.912075, a = 895.675298, b = 152.553481\n", "epoch 1443: loss = 1722538.557968, a = 895.780769, b = 152.553414\n", "epoch 1444: loss = 1722527.248752, a = 895.886029, b = 152.553347\n", "epoch 1445: loss = 1722515.984246, a = 895.991078, b = 152.553280\n", "epoch 1446: loss = 1722504.764275, a = 896.095917, b = 152.553213\n", "epoch 1447: loss = 1722493.588661, a = 896.200547, b = 152.553146\n", "epoch 1448: loss = 1722482.457227, a = 896.304968, b = 152.553079\n", "epoch 1449: loss = 1722471.369798, a = 896.409180, b = 152.553012\n", "epoch 1450: loss = 1722460.326199, a = 896.513183, b = 152.552946\n", "epoch 1451: loss = 1722449.326257, a = 896.616978, b = 152.552880\n", "epoch 1452: loss = 1722438.369797, a = 896.720566, b = 152.552814\n", "epoch 1453: loss = 1722427.456646, a = 896.823947, b = 152.552748\n", "epoch 1454: loss = 1722416.586633, a = 896.927121, b = 152.552682\n", "epoch 1455: loss = 1722405.759587, a = 897.030088, b = 152.552616\n", "epoch 1456: loss = 1722394.975336, a = 897.132850, b = 152.552550\n", "epoch 1457: loss = 1722384.233710, a = 897.235407, b = 152.552485\n", "epoch 1458: loss = 1722373.534540, a = 897.337758, b = 152.552419\n", "epoch 1459: loss = 1722362.877657, a = 897.439904, b = 152.552354\n", "epoch 1460: loss = 1722352.262894, a = 897.541846, b = 152.552289\n", "epoch 1461: loss = 1722341.690083, a = 897.643585, b = 152.552224\n", "epoch 1462: loss = 1722331.159057, a = 897.745120, b = 152.552159\n", "epoch 1463: loss = 1722320.669650, a = 897.846452, b = 152.552095\n", "epoch 1464: loss = 1722310.221696, a = 897.947581, b = 152.552030\n", "epoch 1465: loss = 1722299.815032, a = 898.048508, b = 152.551965\n", "epoch 1466: loss = 1722289.449493, a = 898.149233, b = 152.551901\n", "epoch 1467: loss = 1722279.124916, a = 898.249757, b = 152.551837\n", "epoch 1468: loss = 1722268.841137, a = 898.350080, b = 152.551773\n", "epoch 1469: loss = 1722258.597995, a = 898.450202, b = 152.551709\n", "epoch 1470: loss = 1722248.395329, a = 898.550124, b = 152.551645\n", "epoch 1471: loss = 1722238.232977, a = 898.649846, b = 152.551581\n", "epoch 1472: loss = 1722228.110779, a = 898.749369, b = 152.551518\n", "epoch 1473: loss = 1722218.028576, a = 898.848693, b = 152.551454\n", "epoch 1474: loss = 1722207.986209, a = 898.947818, b = 152.551391\n", "epoch 1475: loss = 1722197.983520, a = 899.046745, b = 152.551328\n", "epoch 1476: loss = 1722188.020350, a = 899.145474, b = 152.551265\n", "epoch 1477: loss = 1722178.096544, a = 899.244006, b = 152.551202\n", "epoch 1478: loss = 1722168.211944, a = 899.342341, b = 152.551139\n", "epoch 1479: loss = 1722158.366395, a = 899.440479, b = 152.551076\n", "epoch 1480: loss = 1722148.559742, a = 899.538420, b = 152.551014\n", "epoch 1481: loss = 1722138.791830, a = 899.636166, b = 152.550951\n", "epoch 1482: loss = 1722129.062505, a = 899.733717, b = 152.550889\n", "epoch 1483: loss = 1722119.371614, a = 899.831072, b = 152.550827\n", "epoch 1484: loss = 1722109.719005, a = 899.928233, b = 152.550765\n", "epoch 1485: loss = 1722100.104525, a = 900.025199, b = 152.550703\n", "epoch 1486: loss = 1722090.528022, a = 900.121972, b = 152.550641\n", "epoch 1487: loss = 1722080.989347, a = 900.218551, b = 152.550579\n", "epoch 1488: loss = 1722071.488348, a = 900.314937, b = 152.550518\n", "epoch 1489: loss = 1722062.024876, a = 900.411130, b = 152.550456\n", "epoch 1490: loss = 1722052.598782, a = 900.507131, b = 152.550395\n", "epoch 1491: loss = 1722043.209917, a = 900.602939, b = 152.550334\n", "epoch 1492: loss = 1722033.858134, a = 900.698557, b = 152.550273\n", "epoch 1493: loss = 1722024.543285, a = 900.793983, b = 152.550212\n", "epoch 1494: loss = 1722015.265224, a = 900.889218, b = 152.550151\n", "epoch 1495: loss = 1722006.023804, a = 900.984263, b = 152.550090\n", "epoch 1496: loss = 1721996.818880, a = 901.079117, b = 152.550030\n", "epoch 1497: loss = 1721987.650307, a = 901.173782, b = 152.549969\n", "epoch 1498: loss = 1721978.517941, a = 901.268258, b = 152.549909\n", "epoch 1499: loss = 1721969.421637, a = 901.362545, b = 152.549849\n", "epoch 1500: loss = 1721960.361253, a = 901.456643, b = 152.549789\n", "epoch 1501: loss = 1721951.336645, a = 901.550553, b = 152.549729\n", "epoch 1502: loss = 1721942.347673, a = 901.644276, b = 152.549669\n", "epoch 1503: loss = 1721933.394193, a = 901.737811, b = 152.549609\n", "epoch 1504: loss = 1721924.476066, a = 901.831159, b = 152.549549\n", "epoch 1505: loss = 1721915.593151, a = 901.924320, b = 152.549490\n", "epoch 1506: loss = 1721906.745308, a = 902.017295, b = 152.549431\n", "epoch 1507: loss = 1721897.932397, a = 902.110084, b = 152.549371\n", "epoch 1508: loss = 1721889.154280, a = 902.202687, b = 152.549312\n", "epoch 1509: loss = 1721880.410820, a = 902.295105, b = 152.549253\n", "epoch 1510: loss = 1721871.701877, a = 902.387339, b = 152.549194\n", "epoch 1511: loss = 1721863.027315, a = 902.479388, b = 152.549135\n", "epoch 1512: loss = 1721854.386998, a = 902.571253, b = 152.549077\n", "epoch 1513: loss = 1721845.780790, a = 902.662934, b = 152.549018\n", "epoch 1514: loss = 1721837.208555, a = 902.754432, b = 152.548960\n", "epoch 1515: loss = 1721828.670157, a = 902.845747, b = 152.548901\n", "epoch 1516: loss = 1721820.165464, a = 902.936879, b = 152.548843\n", "epoch 1517: loss = 1721811.694341, a = 903.027829, b = 152.548785\n", "epoch 1518: loss = 1721803.256654, a = 903.118598, b = 152.548727\n", "epoch 1519: loss = 1721794.852271, a = 903.209184, b = 152.548669\n", "epoch 1520: loss = 1721786.481060, a = 903.299590, b = 152.548612\n", "epoch 1521: loss = 1721778.142889, a = 903.389815, b = 152.548554\n", "epoch 1522: loss = 1721769.837627, a = 903.479859, b = 152.548496\n", "epoch 1523: loss = 1721761.565142, a = 903.569724, b = 152.548439\n", "epoch 1524: loss = 1721753.325306, a = 903.659408, b = 152.548382\n", "epoch 1525: loss = 1721745.117988, a = 903.748914, b = 152.548325\n", "epoch 1526: loss = 1721736.943059, a = 903.838240, b = 152.548268\n", "epoch 1527: loss = 1721728.800390, a = 903.927388, b = 152.548211\n", "epoch 1528: loss = 1721720.689854, a = 904.016357, b = 152.548154\n", "epoch 1529: loss = 1721712.611323, a = 904.105149, b = 152.548097\n", "epoch 1530: loss = 1721704.564670, a = 904.193763, b = 152.548041\n", "epoch 1531: loss = 1721696.549768, a = 904.282199, b = 152.547984\n", "epoch 1532: loss = 1721688.566492, a = 904.370459, b = 152.547928\n", "epoch 1533: loss = 1721680.614715, a = 904.458543, b = 152.547871\n", "epoch 1534: loss = 1721672.694312, a = 904.546450, b = 152.547815\n", "epoch 1535: loss = 1721664.805160, a = 904.634182, b = 152.547759\n", "epoch 1536: loss = 1721656.947133, a = 904.721738, b = 152.547703\n", "epoch 1537: loss = 1721649.120109, a = 904.809119, b = 152.547647\n", "epoch 1538: loss = 1721641.323964, a = 904.896325, b = 152.547592\n", "epoch 1539: loss = 1721633.558576, a = 904.983357, b = 152.547536\n", "epoch 1540: loss = 1721625.823823, a = 905.070215, b = 152.547481\n", "epoch 1541: loss = 1721618.119582, a = 905.156899, b = 152.547425\n", "epoch 1542: loss = 1721610.445734, a = 905.243410, b = 152.547370\n", "epoch 1543: loss = 1721602.802156, a = 905.329748, b = 152.547315\n", "epoch 1544: loss = 1721595.188730, a = 905.415913, b = 152.547260\n", "epoch 1545: loss = 1721587.605335, a = 905.501906, b = 152.547205\n", "epoch 1546: loss = 1721580.051852, a = 905.587727, b = 152.547150\n", "epoch 1547: loss = 1721572.528163, a = 905.673376, b = 152.547095\n", "epoch 1548: loss = 1721565.034149, a = 905.758854, b = 152.547041\n", "epoch 1549: loss = 1721557.569692, a = 905.844161, b = 152.546986\n", "epoch 1550: loss = 1721550.134675, a = 905.929298, b = 152.546932\n", "epoch 1551: loss = 1721542.728982, a = 906.014264, b = 152.546878\n", "epoch 1552: loss = 1721535.352495, a = 906.099060, b = 152.546824\n", "epoch 1553: loss = 1721528.005099, a = 906.183687, b = 152.546770\n", "epoch 1554: loss = 1721520.686678, a = 906.268145, b = 152.546716\n", "epoch 1555: loss = 1721513.397118, a = 906.352433, b = 152.546662\n", "epoch 1556: loss = 1721506.136304, a = 906.436553, b = 152.546608\n", "epoch 1557: loss = 1721498.904121, a = 906.520505, b = 152.546554\n", "epoch 1558: loss = 1721491.700457, a = 906.604289, b = 152.546501\n", "epoch 1559: loss = 1721484.525197, a = 906.687906, b = 152.546448\n", "epoch 1560: loss = 1721477.378230, a = 906.771355, b = 152.546394\n", "epoch 1561: loss = 1721470.259443, a = 906.854638, b = 152.546341\n", "epoch 1562: loss = 1721463.168723, a = 906.937754, b = 152.546288\n", "epoch 1563: loss = 1721456.105960, a = 907.020703, b = 152.546235\n", "epoch 1564: loss = 1721449.071043, a = 907.103487, b = 152.546182\n", "epoch 1565: loss = 1721442.063862, a = 907.186106, b = 152.546129\n", "epoch 1566: loss = 1721435.084305, a = 907.268559, b = 152.546077\n", "epoch 1567: loss = 1721428.132264, a = 907.350847, b = 152.546024\n", "epoch 1568: loss = 1721421.207629, a = 907.432970, b = 152.545972\n", "epoch 1569: loss = 1721414.310292, a = 907.514930, b = 152.545919\n", "epoch 1570: loss = 1721407.440144, a = 907.596725, b = 152.545867\n", "epoch 1571: loss = 1721400.597077, a = 907.678357, b = 152.545815\n", "epoch 1572: loss = 1721393.780984, a = 907.759826, b = 152.545763\n", "epoch 1573: loss = 1721386.991758, a = 907.841132, b = 152.545711\n", "epoch 1574: loss = 1721380.229293, a = 907.922275, b = 152.545659\n", "epoch 1575: loss = 1721373.493481, a = 908.003256, b = 152.545607\n", "epoch 1576: loss = 1721366.784218, a = 908.084075, b = 152.545556\n", "epoch 1577: loss = 1721360.101397, a = 908.164733, b = 152.545504\n", "epoch 1578: loss = 1721353.444915, a = 908.245229, b = 152.545453\n", "epoch 1579: loss = 1721346.814666, a = 908.325564, b = 152.545402\n", "epoch 1580: loss = 1721340.210546, a = 908.405739, b = 152.545350\n", "epoch 1581: loss = 1721333.632452, a = 908.485753, b = 152.545299\n", "epoch 1582: loss = 1721327.080281, a = 908.565607, b = 152.545248\n", "epoch 1583: loss = 1721320.553929, a = 908.645302, b = 152.545197\n", "epoch 1584: loss = 1721314.053295, a = 908.724837, b = 152.545147\n", "epoch 1585: loss = 1721307.578275, a = 908.804213, b = 152.545096\n", "epoch 1586: loss = 1721301.128770, a = 908.883430, b = 152.545045\n", "epoch 1587: loss = 1721294.704676, a = 908.962489, b = 152.544995\n", "epoch 1588: loss = 1721288.305894, a = 909.041390, b = 152.544944\n", "epoch 1589: loss = 1721281.932323, a = 909.120133, b = 152.544894\n", "epoch 1590: loss = 1721275.583863, a = 909.198719, b = 152.544844\n", "epoch 1591: loss = 1721269.260415, a = 909.277148, b = 152.544794\n", "epoch 1592: loss = 1721262.961879, a = 909.355419, b = 152.544744\n", "epoch 1593: loss = 1721256.688156, a = 909.433534, b = 152.544694\n", "epoch 1594: loss = 1721250.439148, a = 909.511493, b = 152.544644\n", "epoch 1595: loss = 1721244.214757, a = 909.589296, b = 152.544594\n", "epoch 1596: loss = 1721238.014885, a = 909.666944, b = 152.544545\n", "epoch 1597: loss = 1721231.839435, a = 909.744436, b = 152.544495\n", "epoch 1598: loss = 1721225.688310, a = 909.821773, b = 152.544446\n", "epoch 1599: loss = 1721219.561414, a = 909.898956, b = 152.544397\n", "epoch 1600: loss = 1721213.458651, a = 909.975984, b = 152.544347\n", "epoch 1601: loss = 1721207.379924, a = 910.052859, b = 152.544298\n", "epoch 1602: loss = 1721201.325138, a = 910.129579, b = 152.544249\n", "epoch 1603: loss = 1721195.294200, a = 910.206146, b = 152.544200\n", "epoch 1604: loss = 1721189.287013, a = 910.282560, b = 152.544152\n", "epoch 1605: loss = 1721183.303483, a = 910.358821, b = 152.544103\n", "epoch 1606: loss = 1721177.343518, a = 910.434930, b = 152.544054\n", "epoch 1607: loss = 1721171.407023, a = 910.510887, b = 152.544006\n", "epoch 1608: loss = 1721165.493905, a = 910.586691, b = 152.543957\n", "epoch 1609: loss = 1721159.604072, a = 910.662344, b = 152.543909\n", "epoch 1610: loss = 1721153.737431, a = 910.737846, b = 152.543861\n", "epoch 1611: loss = 1721147.893890, a = 910.813197, b = 152.543813\n", "epoch 1612: loss = 1721142.073358, a = 910.888397, b = 152.543765\n", "epoch 1613: loss = 1721136.275743, a = 910.963447, b = 152.543717\n", "epoch 1614: loss = 1721130.500955, a = 911.038346, b = 152.543669\n", "epoch 1615: loss = 1721124.748902, a = 911.113096, b = 152.543621\n", "epoch 1616: loss = 1721119.019496, a = 911.187697, b = 152.543574\n", "epoch 1617: loss = 1721113.312646, a = 911.262148, b = 152.543526\n", "epoch 1618: loss = 1721107.628262, a = 911.336450, b = 152.543478\n", "epoch 1619: loss = 1721101.966255, a = 911.410604, b = 152.543431\n", "epoch 1620: loss = 1721096.326537, a = 911.484609, b = 152.543384\n", "epoch 1621: loss = 1721090.709020, a = 911.558467, b = 152.543337\n", "epoch 1622: loss = 1721085.113615, a = 911.632177, b = 152.543290\n", "epoch 1623: loss = 1721079.540234, a = 911.705739, b = 152.543243\n", "epoch 1624: loss = 1721073.988791, a = 911.779154, b = 152.543196\n", "epoch 1625: loss = 1721068.459198, a = 911.852423, b = 152.543149\n", "epoch 1626: loss = 1721062.951369, a = 911.925545, b = 152.543102\n", "epoch 1627: loss = 1721057.465217, a = 911.998521, b = 152.543056\n", "epoch 1628: loss = 1721052.000656, a = 912.071351, b = 152.543009\n", "epoch 1629: loss = 1721046.557601, a = 912.144035, b = 152.542963\n", "epoch 1630: loss = 1721041.135967, a = 912.216574, b = 152.542916\n", "epoch 1631: loss = 1721035.735668, a = 912.288967, b = 152.542870\n", "epoch 1632: loss = 1721030.356621, a = 912.361217, b = 152.542824\n", "epoch 1633: loss = 1721024.998740, a = 912.433321, b = 152.542778\n", "epoch 1634: loss = 1721019.661942, a = 912.505281, b = 152.542732\n", "epoch 1635: loss = 1721014.346143, a = 912.577098, b = 152.542686\n", "epoch 1636: loss = 1721009.051260, a = 912.648771, b = 152.542640\n", "epoch 1637: loss = 1721003.777210, a = 912.720300, b = 152.542595\n", "epoch 1638: loss = 1720998.523911, a = 912.791687, b = 152.542549\n", "epoch 1639: loss = 1720993.291280, a = 912.862931, b = 152.542504\n", "epoch 1640: loss = 1720988.079235, a = 912.934032, b = 152.542458\n", "epoch 1641: loss = 1720982.887695, a = 913.004991, b = 152.542413\n", "epoch 1642: loss = 1720977.716578, a = 913.075808, b = 152.542368\n", "epoch 1643: loss = 1720972.565804, a = 913.146484, b = 152.542322\n", "epoch 1644: loss = 1720967.435291, a = 913.217018, b = 152.542277\n", "epoch 1645: loss = 1720962.324960, a = 913.287412, b = 152.542232\n", "epoch 1646: loss = 1720957.234731, a = 913.357664, b = 152.542188\n", "epoch 1647: loss = 1720952.164523, a = 913.427776, b = 152.542143\n", "epoch 1648: loss = 1720947.114257, a = 913.497748, b = 152.542098\n", "epoch 1649: loss = 1720942.083855, a = 913.567580, b = 152.542053\n", "epoch 1650: loss = 1720937.073238, a = 913.637272, b = 152.542009\n", "epoch 1651: loss = 1720932.082327, a = 913.706825, b = 152.541965\n", "epoch 1652: loss = 1720927.111044, a = 913.776239, b = 152.541920\n", "epoch 1653: loss = 1720922.159311, a = 913.845514, b = 152.541876\n", "epoch 1654: loss = 1720917.227051, a = 913.914650, b = 152.541832\n", "epoch 1655: loss = 1720912.314187, a = 913.983648, b = 152.541788\n", "epoch 1656: loss = 1720907.420641, a = 914.052509, b = 152.541744\n", "epoch 1657: loss = 1720902.546338, a = 914.121231, b = 152.541700\n", "epoch 1658: loss = 1720897.691201, a = 914.189816, b = 152.541656\n", "epoch 1659: loss = 1720892.855154, a = 914.258264, b = 152.541612\n", "epoch 1660: loss = 1720888.038121, a = 914.326575, b = 152.541569\n", "epoch 1661: loss = 1720883.240027, a = 914.394750, b = 152.541525\n", "epoch 1662: loss = 1720878.460797, a = 914.462788, b = 152.541482\n", "epoch 1663: loss = 1720873.700356, a = 914.530690, b = 152.541438\n", "epoch 1664: loss = 1720868.958630, a = 914.598457, b = 152.541395\n", "epoch 1665: loss = 1720864.235544, a = 914.666087, b = 152.541352\n", "epoch 1666: loss = 1720859.531025, a = 914.733583, b = 152.541309\n", "epoch 1667: loss = 1720854.845000, a = 914.800944, b = 152.541266\n", "epoch 1668: loss = 1720850.177394, a = 914.868170, b = 152.541223\n", "epoch 1669: loss = 1720845.528135, a = 914.935261, b = 152.541180\n", "epoch 1670: loss = 1720840.897150, a = 915.002218, b = 152.541137\n", "epoch 1671: loss = 1720836.284366, a = 915.069042, b = 152.541095\n", "epoch 1672: loss = 1720831.689713, a = 915.135732, b = 152.541052\n", "epoch 1673: loss = 1720827.113117, a = 915.202288, b = 152.541009\n", "epoch 1674: loss = 1720822.554508, a = 915.268712, b = 152.540967\n", "epoch 1675: loss = 1720818.013813, a = 915.335002, b = 152.540925\n", "epoch 1676: loss = 1720813.490962, a = 915.401160, b = 152.540882\n", "epoch 1677: loss = 1720808.985885, a = 915.467186, b = 152.540840\n", "epoch 1678: loss = 1720804.498511, a = 915.533079, b = 152.540798\n", "epoch 1679: loss = 1720800.028769, a = 915.598841, b = 152.540756\n", "epoch 1680: loss = 1720795.576590, a = 915.664472, b = 152.540714\n", "epoch 1681: loss = 1720791.141905, a = 915.729971, b = 152.540672\n", "epoch 1682: loss = 1720786.724644, a = 915.795339, b = 152.540631\n", "epoch 1683: loss = 1720782.324737, a = 915.860577, b = 152.540589\n", "epoch 1684: loss = 1720777.942117, a = 915.925684, b = 152.540547\n", "epoch 1685: loss = 1720773.576714, a = 915.990660, b = 152.540506\n", "epoch 1686: loss = 1720769.228461, a = 916.055507, b = 152.540464\n", "epoch 1687: loss = 1720764.897290, a = 916.120224, b = 152.540423\n", "epoch 1688: loss = 1720760.583133, a = 916.184812, b = 152.540382\n", "epoch 1689: loss = 1720756.285922, a = 916.249271, b = 152.540341\n", "epoch 1690: loss = 1720752.005590, a = 916.313601, b = 152.540300\n", "epoch 1691: loss = 1720747.742072, a = 916.377802, b = 152.540259\n", "epoch 1692: loss = 1720743.495299, a = 916.441875, b = 152.540218\n", "epoch 1693: loss = 1720739.265205, a = 916.505819, b = 152.540177\n", "epoch 1694: loss = 1720735.051726, a = 916.569636, b = 152.540136\n", "epoch 1695: loss = 1720730.854794, a = 916.633325, b = 152.540095\n", "epoch 1696: loss = 1720726.674344, a = 916.696887, b = 152.540055\n", "epoch 1697: loss = 1720722.510311, a = 916.760321, b = 152.540014\n", "epoch 1698: loss = 1720718.362630, a = 916.823629, b = 152.539974\n", "epoch 1699: loss = 1720714.231237, a = 916.886810, b = 152.539934\n", "epoch 1700: loss = 1720710.116066, a = 916.949865, b = 152.539893\n", "epoch 1701: loss = 1720706.017053, a = 917.012794, b = 152.539853\n", "epoch 1702: loss = 1720701.934135, a = 917.075597, b = 152.539813\n", "epoch 1703: loss = 1720697.867247, a = 917.138274, b = 152.539773\n", "epoch 1704: loss = 1720693.816327, a = 917.200827, b = 152.539733\n", "epoch 1705: loss = 1720689.781311, a = 917.263253, b = 152.539693\n", "epoch 1706: loss = 1720685.762135, a = 917.325556, b = 152.539653\n", "epoch 1707: loss = 1720681.758738, a = 917.387733, b = 152.539614\n", "epoch 1708: loss = 1720677.771057, a = 917.449786, b = 152.539574\n", "epoch 1709: loss = 1720673.799029, a = 917.511715, b = 152.539534\n", "epoch 1710: loss = 1720669.842593, a = 917.573521, b = 152.539495\n", "epoch 1711: loss = 1720665.901687, a = 917.635202, b = 152.539456\n", "epoch 1712: loss = 1720661.976249, a = 917.696761, b = 152.539416\n", "epoch 1713: loss = 1720658.066218, a = 917.758196, b = 152.539377\n", "epoch 1714: loss = 1720654.171533, a = 917.819508, b = 152.539338\n", "epoch 1715: loss = 1720650.292133, a = 917.880698, b = 152.539299\n", "epoch 1716: loss = 1720646.427958, a = 917.941766, b = 152.539260\n", "epoch 1717: loss = 1720642.578948, a = 918.002711, b = 152.539221\n", "epoch 1718: loss = 1720638.745042, a = 918.063534, b = 152.539182\n", "epoch 1719: loss = 1720634.926181, a = 918.124236, b = 152.539143\n", "epoch 1720: loss = 1720631.122305, a = 918.184817, b = 152.539104\n", "epoch 1721: loss = 1720627.333355, a = 918.245276, b = 152.539066\n", "epoch 1722: loss = 1720623.559271, a = 918.305614, b = 152.539027\n", "epoch 1723: loss = 1720619.799996, a = 918.365832, b = 152.538989\n", "epoch 1724: loss = 1720616.055469, a = 918.425930, b = 152.538950\n", "epoch 1725: loss = 1720612.325634, a = 918.485907, b = 152.538912\n", "epoch 1726: loss = 1720608.610431, a = 918.545764, b = 152.538874\n", "epoch 1727: loss = 1720604.909803, a = 918.605501, b = 152.538836\n", "epoch 1728: loss = 1720601.223691, a = 918.665120, b = 152.538798\n", "epoch 1729: loss = 1720597.552040, a = 918.724618, b = 152.538760\n", "epoch 1730: loss = 1720593.894791, a = 918.783998, b = 152.538722\n", "epoch 1731: loss = 1720590.251887, a = 918.843259, b = 152.538684\n", "epoch 1732: loss = 1720586.623272, a = 918.902402, b = 152.538646\n", "epoch 1733: loss = 1720583.008889, a = 918.961426, b = 152.538608\n", "epoch 1734: loss = 1720579.408681, a = 919.020333, b = 152.538571\n", "epoch 1735: loss = 1720575.822593, a = 919.079121, b = 152.538533\n", "epoch 1736: loss = 1720572.250569, a = 919.137792, b = 152.538496\n", "epoch 1737: loss = 1720568.692553, a = 919.196346, b = 152.538458\n", "epoch 1738: loss = 1720565.148489, a = 919.254783, b = 152.538421\n", "epoch 1739: loss = 1720561.618323, a = 919.313102, b = 152.538384\n", "epoch 1740: loss = 1720558.101999, a = 919.371305, b = 152.538347\n", "epoch 1741: loss = 1720554.599463, a = 919.429392, b = 152.538310\n", "epoch 1742: loss = 1720551.110660, a = 919.487363, b = 152.538273\n", "epoch 1743: loss = 1720547.635535, a = 919.545217, b = 152.538236\n", "epoch 1744: loss = 1720544.174035, a = 919.602956, b = 152.538199\n", "epoch 1745: loss = 1720540.726106, a = 919.660580, b = 152.538162\n", "epoch 1746: loss = 1720537.291694, a = 919.718088, b = 152.538125\n", "epoch 1747: loss = 1720533.870745, a = 919.775481, b = 152.538089\n", "epoch 1748: loss = 1720530.463206, a = 919.832760, b = 152.538052\n", "epoch 1749: loss = 1720527.069024, a = 919.889924, b = 152.538015\n", "epoch 1750: loss = 1720523.688147, a = 919.946973, b = 152.537979\n", "epoch 1751: loss = 1720520.320521, a = 920.003909, b = 152.537943\n", "epoch 1752: loss = 1720516.966095, a = 920.060731, b = 152.537906\n", "epoch 1753: loss = 1720513.624815, a = 920.117439, b = 152.537870\n", "epoch 1754: loss = 1720510.296631, a = 920.174033, b = 152.537834\n", "epoch 1755: loss = 1720506.981489, a = 920.230515, b = 152.537798\n", "epoch 1756: loss = 1720503.679339, a = 920.286884, b = 152.537762\n", "epoch 1757: loss = 1720500.390129, a = 920.343139, b = 152.537726\n", "epoch 1758: loss = 1720497.113808, a = 920.399283, b = 152.537690\n", "epoch 1759: loss = 1720493.850325, a = 920.455314, b = 152.537654\n", "epoch 1760: loss = 1720490.599630, a = 920.511233, b = 152.537619\n", "epoch 1761: loss = 1720487.361670, a = 920.567040, b = 152.537583\n", "epoch 1762: loss = 1720484.136397, a = 920.622736, b = 152.537547\n", "epoch 1763: loss = 1720480.923760, a = 920.678320, b = 152.537512\n", "epoch 1764: loss = 1720477.723709, a = 920.733793, b = 152.537476\n", "epoch 1765: loss = 1720474.536195, a = 920.789155, b = 152.537441\n", "epoch 1766: loss = 1720471.361166, a = 920.844407, b = 152.537406\n", "epoch 1767: loss = 1720468.198576, a = 920.899548, b = 152.537371\n", "epoch 1768: loss = 1720465.048373, a = 920.954579, b = 152.537335\n", "epoch 1769: loss = 1720461.910509, a = 921.009499, b = 152.537300\n", "epoch 1770: loss = 1720458.784936, a = 921.064310, b = 152.537265\n", "epoch 1771: loss = 1720455.671604, a = 921.119011, b = 152.537230\n", "epoch 1772: loss = 1720452.570465, a = 921.173603, b = 152.537196\n", "epoch 1773: loss = 1720449.481472, a = 921.228086, b = 152.537161\n", "epoch 1774: loss = 1720446.404575, a = 921.282460, b = 152.537126\n", "epoch 1775: loss = 1720443.339727, a = 921.336725, b = 152.537091\n", "epoch 1776: loss = 1720440.286881, a = 921.390881, b = 152.537057\n", "epoch 1777: loss = 1720437.245989, a = 921.444930, b = 152.537022\n", "epoch 1778: loss = 1720434.217004, a = 921.498870, b = 152.536988\n", "epoch 1779: loss = 1720431.199878, a = 921.552702, b = 152.536953\n", "epoch 1780: loss = 1720428.194566, a = 921.606427, b = 152.536919\n", "epoch 1781: loss = 1720425.201019, a = 921.660044, b = 152.536885\n", "epoch 1782: loss = 1720422.219191, a = 921.713554, b = 152.536851\n", "epoch 1783: loss = 1720419.249037, a = 921.766957, b = 152.536817\n", "epoch 1784: loss = 1720416.290510, a = 921.820253, b = 152.536783\n", "epoch 1785: loss = 1720413.343564, a = 921.873443, b = 152.536749\n", "epoch 1786: loss = 1720410.408153, a = 921.926526, b = 152.536715\n", "epoch 1787: loss = 1720407.484232, a = 921.979503, b = 152.536681\n", "epoch 1788: loss = 1720404.571755, a = 922.032374, b = 152.536647\n", "epoch 1789: loss = 1720401.670677, a = 922.085140, b = 152.536613\n", "epoch 1790: loss = 1720398.780953, a = 922.137800, b = 152.536580\n", "epoch 1791: loss = 1720395.902538, a = 922.190354, b = 152.536546\n", "epoch 1792: loss = 1720393.035387, a = 922.242804, b = 152.536513\n", "epoch 1793: loss = 1720390.179456, a = 922.295149, b = 152.536479\n", "epoch 1794: loss = 1720387.334700, a = 922.347389, b = 152.536446\n", "epoch 1795: loss = 1720384.501075, a = 922.399524, b = 152.536413\n", "epoch 1796: loss = 1720381.678538, a = 922.451555, b = 152.536379\n", "epoch 1797: loss = 1720378.867044, a = 922.503483, b = 152.536346\n", "epoch 1798: loss = 1720376.066550, a = 922.555306, b = 152.536313\n", "epoch 1799: loss = 1720373.277012, a = 922.607026, b = 152.536280\n", "epoch 1800: loss = 1720370.498388, a = 922.658642, b = 152.536247\n", "epoch 1801: loss = 1720367.730632, a = 922.710155, b = 152.536214\n", "epoch 1802: loss = 1720364.973704, a = 922.761565, b = 152.536181\n", "epoch 1803: loss = 1720362.227560, a = 922.812873, b = 152.536149\n", "epoch 1804: loss = 1720359.492157, a = 922.864078, b = 152.536116\n", "epoch 1805: loss = 1720356.767453, a = 922.915180, b = 152.536083\n", "epoch 1806: loss = 1720354.053406, a = 922.966180, b = 152.536051\n", "epoch 1807: loss = 1720351.349974, a = 923.017078, b = 152.536018\n", "epoch 1808: loss = 1720348.657114, a = 923.067875, b = 152.535986\n", "epoch 1809: loss = 1720345.974785, a = 923.118569, b = 152.535953\n", "epoch 1810: loss = 1720343.302945, a = 923.169163, b = 152.535921\n", "epoch 1811: loss = 1720340.641553, a = 923.219655, b = 152.535889\n", "epoch 1812: loss = 1720337.990567, a = 923.270046, b = 152.535857\n", "epoch 1813: loss = 1720335.349947, a = 923.320337, b = 152.535824\n", "epoch 1814: loss = 1720332.719651, a = 923.370527, b = 152.535792\n", "epoch 1815: loss = 1720330.099638, a = 923.420616, b = 152.535760\n", "epoch 1816: loss = 1720327.489869, a = 923.470606, b = 152.535728\n", "epoch 1817: loss = 1720324.890302, a = 923.520495, b = 152.535697\n", "epoch 1818: loss = 1720322.300897, a = 923.570285, b = 152.535665\n", "epoch 1819: loss = 1720319.721615, a = 923.619975, b = 152.535633\n", "epoch 1820: loss = 1720317.152414, a = 923.669566, b = 152.535601\n", "epoch 1821: loss = 1720314.593256, a = 923.719058, b = 152.535570\n", "epoch 1822: loss = 1720312.044100, a = 923.768450, b = 152.535538\n", "epoch 1823: loss = 1720309.504906, a = 923.817744, b = 152.535507\n", "epoch 1824: loss = 1720306.975637, a = 923.866939, b = 152.535475\n", "epoch 1825: loss = 1720304.456252, a = 923.916036, b = 152.535444\n", "epoch 1826: loss = 1720301.946713, a = 923.965035, b = 152.535413\n", "epoch 1827: loss = 1720299.446979, a = 924.013936, b = 152.535381\n", "epoch 1828: loss = 1720296.957014, a = 924.062739, b = 152.535350\n", "epoch 1829: loss = 1720294.476778, a = 924.111444, b = 152.535319\n", "epoch 1830: loss = 1720292.006232, a = 924.160052, b = 152.535288\n", "epoch 1831: loss = 1720289.545339, a = 924.208563, b = 152.535257\n", "epoch 1832: loss = 1720287.094060, a = 924.256977, b = 152.535226\n", "epoch 1833: loss = 1720284.652358, a = 924.305294, b = 152.535195\n", "epoch 1834: loss = 1720282.220194, a = 924.353514, b = 152.535165\n", "epoch 1835: loss = 1720279.797531, a = 924.401638, b = 152.535134\n", "epoch 1836: loss = 1720277.384331, a = 924.449666, b = 152.535103\n", "epoch 1837: loss = 1720274.980557, a = 924.497598, b = 152.535073\n", "epoch 1838: loss = 1720272.586172, a = 924.545433, b = 152.535042\n", "epoch 1839: loss = 1720270.201138, a = 924.593174, b = 152.535011\n", "epoch 1840: loss = 1720267.825419, a = 924.640818, b = 152.534981\n", "epoch 1841: loss = 1720265.458978, a = 924.688368, b = 152.534951\n", "epoch 1842: loss = 1720263.101779, a = 924.735822, b = 152.534920\n", "epoch 1843: loss = 1720260.753784, a = 924.783182, b = 152.534890\n", "epoch 1844: loss = 1720258.414957, a = 924.830446, b = 152.534860\n", "epoch 1845: loss = 1720256.085263, a = 924.877617, b = 152.534830\n", "epoch 1846: loss = 1720253.764664, a = 924.924692, b = 152.534800\n", "epoch 1847: loss = 1720251.453126, a = 924.971674, b = 152.534770\n", "epoch 1848: loss = 1720249.150613, a = 925.018562, b = 152.534740\n", "epoch 1849: loss = 1720246.857088, a = 925.065356, b = 152.534710\n", "epoch 1850: loss = 1720244.572517, a = 925.112057, b = 152.534680\n", "epoch 1851: loss = 1720242.296863, a = 925.158664, b = 152.534650\n", "epoch 1852: loss = 1720240.030093, a = 925.205178, b = 152.534621\n", "epoch 1853: loss = 1720237.772169, a = 925.251599, b = 152.534591\n", "epoch 1854: loss = 1720235.523059, a = 925.297927, b = 152.534561\n", "epoch 1855: loss = 1720233.282727, a = 925.344162, b = 152.534532\n", "epoch 1856: loss = 1720231.051138, a = 925.390305, b = 152.534502\n", "epoch 1857: loss = 1720228.828258, a = 925.436356, b = 152.534473\n", "epoch 1858: loss = 1720226.614052, a = 925.482314, b = 152.534444\n", "epoch 1859: loss = 1720224.408486, a = 925.528181, b = 152.534414\n", "epoch 1860: loss = 1720222.211527, a = 925.573956, b = 152.534385\n", "epoch 1861: loss = 1720220.023139, a = 925.619640, b = 152.534356\n", "epoch 1862: loss = 1720217.843290, a = 925.665232, b = 152.534327\n", "epoch 1863: loss = 1720215.671945, a = 925.710733, b = 152.534298\n", "epoch 1864: loss = 1720213.509072, a = 925.756143, b = 152.534269\n", "epoch 1865: loss = 1720211.354635, a = 925.801462, b = 152.534240\n", "epoch 1866: loss = 1720209.208604, a = 925.846690, b = 152.534211\n", "epoch 1867: loss = 1720207.070943, a = 925.891828, b = 152.534182\n", "epoch 1868: loss = 1720204.941620, a = 925.936876, b = 152.534153\n", "epoch 1869: loss = 1720202.820602, a = 925.981834, b = 152.534125\n", "epoch 1870: loss = 1720200.707857, a = 926.026702, b = 152.534096\n", "epoch 1871: loss = 1720198.603351, a = 926.071480, b = 152.534067\n", "epoch 1872: loss = 1720196.507053, a = 926.116169, b = 152.534039\n", "epoch 1873: loss = 1720194.418929, a = 926.160768, b = 152.534010\n", "epoch 1874: loss = 1720192.338948, a = 926.205278, b = 152.533982\n", "epoch 1875: loss = 1720190.267077, a = 926.249699, b = 152.533953\n", "epoch 1876: loss = 1720188.203284, a = 926.294031, b = 152.533925\n", "epoch 1877: loss = 1720186.147538, a = 926.338275, b = 152.533897\n", "epoch 1878: loss = 1720184.099807, a = 926.382430, b = 152.533869\n", "epoch 1879: loss = 1720182.060059, a = 926.426497, b = 152.533841\n", "epoch 1880: loss = 1720180.028263, a = 926.470475, b = 152.533812\n", "epoch 1881: loss = 1720178.004387, a = 926.514366, b = 152.533784\n", "epoch 1882: loss = 1720175.988400, a = 926.558169, b = 152.533756\n", "epoch 1883: loss = 1720173.980271, a = 926.601884, b = 152.533729\n", "epoch 1884: loss = 1720171.979968, a = 926.645512, b = 152.533701\n", "epoch 1885: loss = 1720169.987462, a = 926.689053, b = 152.533673\n", "epoch 1886: loss = 1720168.002721, a = 926.732507, b = 152.533645\n", "epoch 1887: loss = 1720166.025715, a = 926.775873, b = 152.533617\n", "epoch 1888: loss = 1720164.056412, a = 926.819153, b = 152.533590\n", "epoch 1889: loss = 1720162.094784, a = 926.862347, b = 152.533562\n", "epoch 1890: loss = 1720160.140799, a = 926.905454, b = 152.533535\n", "epoch 1891: loss = 1720158.194427, a = 926.948475, b = 152.533507\n", "epoch 1892: loss = 1720156.255638, a = 926.991410, b = 152.533480\n", "epoch 1893: loss = 1720154.324403, a = 927.034259, b = 152.533452\n", "epoch 1894: loss = 1720152.400692, a = 927.077022, b = 152.533425\n", "epoch 1895: loss = 1720150.484474, a = 927.119700, b = 152.533398\n", "epoch 1896: loss = 1720148.575721, a = 927.162292, b = 152.533371\n", "epoch 1897: loss = 1720146.674402, a = 927.204800, b = 152.533343\n", "epoch 1898: loss = 1720144.780489, a = 927.247222, b = 152.533316\n", "epoch 1899: loss = 1720142.893953, a = 927.289560, b = 152.533289\n", "epoch 1900: loss = 1720141.014763, a = 927.331812, b = 152.533262\n", "epoch 1901: loss = 1720139.142892, a = 927.373981, b = 152.533235\n", "epoch 1902: loss = 1720137.278311, a = 927.416065, b = 152.533209\n", "epoch 1903: loss = 1720135.420990, a = 927.458065, b = 152.533182\n", "epoch 1904: loss = 1720133.570901, a = 927.499981, b = 152.533155\n", "epoch 1905: loss = 1720131.728016, a = 927.541813, b = 152.533128\n", "epoch 1906: loss = 1720129.892306, a = 927.583561, b = 152.533102\n", "epoch 1907: loss = 1720128.063742, a = 927.625226, b = 152.533075\n", "epoch 1908: loss = 1720126.242298, a = 927.666808, b = 152.533048\n", "epoch 1909: loss = 1720124.427944, a = 927.708306, b = 152.533022\n", "epoch 1910: loss = 1720122.620652, a = 927.749721, b = 152.532995\n", "epoch 1911: loss = 1720120.820396, a = 927.791054, b = 152.532969\n", "epoch 1912: loss = 1720119.027146, a = 927.832304, b = 152.532943\n", "epoch 1913: loss = 1720117.240876, a = 927.873472, b = 152.532916\n", "epoch 1914: loss = 1720115.461558, a = 927.914557, b = 152.532890\n", "epoch 1915: loss = 1720113.689165, a = 927.955560, b = 152.532864\n", "epoch 1916: loss = 1720111.923668, a = 927.996481, b = 152.532838\n", "epoch 1917: loss = 1720110.165042, a = 928.037320, b = 152.532812\n", "epoch 1918: loss = 1720108.413258, a = 928.078078, b = 152.532786\n", "epoch 1919: loss = 1720106.668291, a = 928.118754, b = 152.532760\n", "epoch 1920: loss = 1720104.930113, a = 928.159348, b = 152.532734\n", "epoch 1921: loss = 1720103.198697, a = 928.199862, b = 152.532708\n", "epoch 1922: loss = 1720101.474017, a = 928.240295, b = 152.532682\n", "epoch 1923: loss = 1720099.756046, a = 928.280646, b = 152.532656\n", "epoch 1924: loss = 1720098.044757, a = 928.320917, b = 152.532631\n", "epoch 1925: loss = 1720096.340125, a = 928.361108, b = 152.532605\n", "epoch 1926: loss = 1720094.642123, a = 928.401218, b = 152.532579\n", "epoch 1927: loss = 1720092.950726, a = 928.441248, b = 152.532554\n", "epoch 1928: loss = 1720091.265906, a = 928.481197, b = 152.532528\n", "epoch 1929: loss = 1720089.587638, a = 928.521067, b = 152.532503\n", "epoch 1930: loss = 1720087.915897, a = 928.560858, b = 152.532477\n", "epoch 1931: loss = 1720086.250656, a = 928.600568, b = 152.532452\n", "epoch 1932: loss = 1720084.591889, a = 928.640200, b = 152.532427\n", "epoch 1933: loss = 1720082.939573, a = 928.679752, b = 152.532401\n", "epoch 1934: loss = 1720081.293680, a = 928.719224, b = 152.532376\n", "epoch 1935: loss = 1720079.654186, a = 928.758618, b = 152.532351\n", "epoch 1936: loss = 1720078.021066, a = 928.797934, b = 152.532326\n", "epoch 1937: loss = 1720076.394293, a = 928.837170, b = 152.532301\n", "epoch 1938: loss = 1720074.773845, a = 928.876328, b = 152.532276\n", "epoch 1939: loss = 1720073.159694, a = 928.915408, b = 152.532251\n", "epoch 1940: loss = 1720071.551818, a = 928.954410, b = 152.532226\n", "epoch 1941: loss = 1720069.950190, a = 928.993333, b = 152.532201\n", "epoch 1942: loss = 1720068.354786, a = 929.032179, b = 152.532176\n", "epoch 1943: loss = 1720066.765582, a = 929.070948, b = 152.532152\n", "epoch 1944: loss = 1720065.182554, a = 929.109638, b = 152.532127\n", "epoch 1945: loss = 1720063.605677, a = 929.148251, b = 152.532102\n", "epoch 1946: loss = 1720062.034926, a = 929.186787, b = 152.532078\n", "epoch 1947: loss = 1720060.470278, a = 929.225246, b = 152.532053\n", "epoch 1948: loss = 1720058.911709, a = 929.263629, b = 152.532028\n", "epoch 1949: loss = 1720057.359194, a = 929.301934, b = 152.532004\n", "epoch 1950: loss = 1720055.812710, a = 929.340163, b = 152.531980\n", "epoch 1951: loss = 1720054.272234, a = 929.378315, b = 152.531955\n", "epoch 1952: loss = 1720052.737740, a = 929.416391, b = 152.531931\n", "epoch 1953: loss = 1720051.209207, a = 929.454391, b = 152.531907\n", "epoch 1954: loss = 1720049.686610, a = 929.492315, b = 152.531882\n", "epoch 1955: loss = 1720048.169926, a = 929.530163, b = 152.531858\n", "epoch 1956: loss = 1720046.659132, a = 929.567935, b = 152.531834\n", "epoch 1957: loss = 1720045.154204, a = 929.605632, b = 152.531810\n", "epoch 1958: loss = 1720043.655120, a = 929.643253, b = 152.531786\n", "epoch 1959: loss = 1720042.161857, a = 929.680800, b = 152.531762\n", "epoch 1960: loss = 1720040.674390, a = 929.718271, b = 152.531738\n", "epoch 1961: loss = 1720039.192699, a = 929.755667, b = 152.531714\n", "epoch 1962: loss = 1720037.716759, a = 929.792988, b = 152.531690\n", "epoch 1963: loss = 1720036.246549, a = 929.830235, b = 152.531667\n", "epoch 1964: loss = 1720034.782046, a = 929.867408, b = 152.531643\n", "epoch 1965: loss = 1720033.323226, a = 929.904506, b = 152.531619\n", "epoch 1966: loss = 1720031.870069, a = 929.941529, b = 152.531596\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "epoch 1967: loss = 1720030.422552, a = 929.978479, b = 152.531572\n", "epoch 1968: loss = 1720028.980651, a = 930.015355, b = 152.531548\n", "epoch 1969: loss = 1720027.544347, a = 930.052157, b = 152.531525\n", "epoch 1970: loss = 1720026.113615, a = 930.088886, b = 152.531501\n", "epoch 1971: loss = 1720024.688435, a = 930.125541, b = 152.531478\n", "epoch 1972: loss = 1720023.268784, a = 930.162123, b = 152.531455\n", "epoch 1973: loss = 1720021.854641, a = 930.198631, b = 152.531431\n", "epoch 1974: loss = 1720020.445984, a = 930.235067, b = 152.531408\n", "epoch 1975: loss = 1720019.042792, a = 930.271430, b = 152.531385\n", "epoch 1976: loss = 1720017.645042, a = 930.307720, b = 152.531362\n", "epoch 1977: loss = 1720016.252715, a = 930.343937, b = 152.531338\n", "epoch 1978: loss = 1720014.865787, a = 930.380082, b = 152.531315\n", "epoch 1979: loss = 1720013.484238, a = 930.416155, b = 152.531292\n", "epoch 1980: loss = 1720012.108047, a = 930.452156, b = 152.531269\n", "epoch 1981: loss = 1720010.737193, a = 930.488085, b = 152.531246\n", "epoch 1982: loss = 1720009.371655, a = 930.523941, b = 152.531224\n", "epoch 1983: loss = 1720008.011411, a = 930.559727, b = 152.531201\n", "epoch 1984: loss = 1720006.656442, a = 930.595440, b = 152.531178\n", "epoch 1985: loss = 1720005.306725, a = 930.631082, b = 152.531155\n", "epoch 1986: loss = 1720003.962241, a = 930.666653, b = 152.531132\n", "epoch 1987: loss = 1720002.622969, a = 930.702153, b = 152.531110\n", "epoch 1988: loss = 1720001.288889, a = 930.737582, b = 152.531087\n", "epoch 1989: loss = 1719999.959979, a = 930.772940, b = 152.531064\n", "epoch 1990: loss = 1719998.636221, a = 930.808227, b = 152.531042\n", "epoch 1991: loss = 1719997.317593, a = 930.843444, b = 152.531019\n", "epoch 1992: loss = 1719996.004075, a = 930.878590, b = 152.530997\n", "epoch 1993: loss = 1719994.695647, a = 930.913666, b = 152.530975\n", "epoch 1994: loss = 1719993.392289, a = 930.948672, b = 152.530952\n", "epoch 1995: loss = 1719992.093981, a = 930.983607, b = 152.530930\n", "epoch 1996: loss = 1719990.800704, a = 931.018473, b = 152.530908\n", "epoch 1997: loss = 1719989.512438, a = 931.053270, b = 152.530885\n", "epoch 1998: loss = 1719988.229162, a = 931.087996, b = 152.530863\n", "epoch 1999: loss = 1719986.950857, a = 931.122653, b = 152.530841\n", "epoch 2000: loss = 1719985.677504, a = 931.157241, b = 152.530819\n", "epoch 2001: loss = 1719984.409083, a = 931.191760, b = 152.530797\n", "epoch 2002: loss = 1719983.145576, a = 931.226210, b = 152.530775\n", "epoch 2003: loss = 1719981.886961, a = 931.260591, b = 152.530753\n", "epoch 2004: loss = 1719980.633221, a = 931.294903, b = 152.530731\n", "epoch 2005: loss = 1719979.384336, a = 931.329146, b = 152.530709\n", "epoch 2006: loss = 1719978.140286, a = 931.363321, b = 152.530687\n", "epoch 2007: loss = 1719976.901054, a = 931.397428, b = 152.530666\n", "epoch 2008: loss = 1719975.666620, a = 931.431466, b = 152.530644\n", "epoch 2009: loss = 1719974.436965, a = 931.465437, b = 152.530622\n", "epoch 2010: loss = 1719973.212070, a = 931.499339, b = 152.530601\n", "epoch 2011: loss = 1719971.991917, a = 931.533174, b = 152.530579\n", "epoch 2012: loss = 1719970.776487, a = 931.566941, b = 152.530557\n", "epoch 2013: loss = 1719969.565762, a = 931.600640, b = 152.530536\n", "epoch 2014: loss = 1719968.359722, a = 931.634272, b = 152.530514\n", "epoch 2015: loss = 1719967.158350, a = 931.667837, b = 152.530493\n", "epoch 2016: loss = 1719965.961627, a = 931.701335, b = 152.530472\n", "epoch 2017: loss = 1719964.769535, a = 931.734766, b = 152.530450\n", "epoch 2018: loss = 1719963.582056, a = 931.768130, b = 152.530429\n", "epoch 2019: loss = 1719962.399172, a = 931.801427, b = 152.530408\n", "epoch 2020: loss = 1719961.220864, a = 931.834657, b = 152.530386\n", "epoch 2021: loss = 1719960.047114, a = 931.867821, b = 152.530365\n", "epoch 2022: loss = 1719958.877905, a = 931.900919, b = 152.530344\n", "epoch 2023: loss = 1719957.713219, a = 931.933951, b = 152.530323\n", "epoch 2024: loss = 1719956.553038, a = 931.966917, b = 152.530302\n", "epoch 2025: loss = 1719955.397344, a = 931.999816, b = 152.530281\n", "epoch 2026: loss = 1719954.246120, a = 932.032650, b = 152.530260\n", "epoch 2027: loss = 1719953.099348, a = 932.065418, b = 152.530239\n", "epoch 2028: loss = 1719951.957011, a = 932.098121, b = 152.530218\n", "epoch 2029: loss = 1719950.819091, a = 932.130758, b = 152.530197\n", "epoch 2030: loss = 1719949.685570, a = 932.163330, b = 152.530176\n", "epoch 2031: loss = 1719948.556433, a = 932.195837, b = 152.530156\n", "epoch 2032: loss = 1719947.431660, a = 932.228279, b = 152.530135\n", "epoch 2033: loss = 1719946.311236, a = 932.260656, b = 152.530114\n", "epoch 2034: loss = 1719945.195143, a = 932.292968, b = 152.530094\n", "epoch 2035: loss = 1719944.083364, a = 932.325216, b = 152.530073\n", "epoch 2036: loss = 1719942.975882, a = 932.357399, b = 152.530052\n", "epoch 2037: loss = 1719941.872681, a = 932.389518, b = 152.530032\n", "epoch 2038: loss = 1719940.773742, a = 932.421573, b = 152.530012\n", "epoch 2039: loss = 1719939.679051, a = 932.453563, b = 152.529991\n", "epoch 2040: loss = 1719938.588590, a = 932.485490, b = 152.529971\n", "epoch 2041: loss = 1719937.502342, a = 932.517352, b = 152.529950\n", "epoch 2042: loss = 1719936.420291, a = 932.549151, b = 152.529930\n", "epoch 2043: loss = 1719935.342420, a = 932.580887, b = 152.529910\n", "epoch 2044: loss = 1719934.268714, a = 932.612559, b = 152.529890\n", "epoch 2045: loss = 1719933.199154, a = 932.644167, b = 152.529869\n", "epoch 2046: loss = 1719932.133727, a = 932.675713, b = 152.529849\n", "epoch 2047: loss = 1719931.072414, a = 932.707195, b = 152.529829\n", "epoch 2048: loss = 1719930.015201, a = 932.738614, b = 152.529809\n", "epoch 2049: loss = 1719928.962070, a = 932.769971, b = 152.529789\n", "epoch 2050: loss = 1719927.913006, a = 932.801265, b = 152.529769\n", "epoch 2051: loss = 1719926.867993, a = 932.832496, b = 152.529749\n", "epoch 2052: loss = 1719925.827015, a = 932.863665, b = 152.529729\n", "epoch 2053: loss = 1719924.790056, a = 932.894771, b = 152.529709\n", "epoch 2054: loss = 1719923.757100, a = 932.925815, b = 152.529689\n", "epoch 2055: loss = 1719922.728132, a = 932.956798, b = 152.529670\n", "epoch 2056: loss = 1719921.703136, a = 932.987718, b = 152.529650\n", "epoch 2057: loss = 1719920.682097, a = 933.018576, b = 152.529630\n", "epoch 2058: loss = 1719919.664998, a = 933.049373, b = 152.529611\n", "epoch 2059: loss = 1719918.651824, a = 933.080108, b = 152.529591\n", "epoch 2060: loss = 1719917.642561, a = 933.110782, b = 152.529571\n", "epoch 2061: loss = 1719916.637192, a = 933.141394, b = 152.529552\n", "epoch 2062: loss = 1719915.635703, a = 933.171945, b = 152.529532\n", "epoch 2063: loss = 1719914.638078, a = 933.202435, b = 152.529513\n", "epoch 2064: loss = 1719913.644301, a = 933.232864, b = 152.529493\n", "epoch 2065: loss = 1719912.654359, a = 933.263232, b = 152.529474\n", "epoch 2066: loss = 1719911.668235, a = 933.293540, b = 152.529455\n", "epoch 2067: loss = 1719910.685915, a = 933.323787, b = 152.529435\n", "epoch 2068: loss = 1719909.707384, a = 933.353973, b = 152.529416\n", "epoch 2069: loss = 1719908.732628, a = 933.384099, b = 152.529397\n", "epoch 2070: loss = 1719907.761630, a = 933.414165, b = 152.529378\n", "epoch 2071: loss = 1719906.794377, a = 933.444170, b = 152.529358\n", "epoch 2072: loss = 1719905.830853, a = 933.474116, b = 152.529339\n", "epoch 2073: loss = 1719904.871045, a = 933.504002, b = 152.529320\n", "epoch 2074: loss = 1719903.914938, a = 933.533828, b = 152.529301\n", "epoch 2075: loss = 1719902.962516, a = 933.563594, b = 152.529282\n", "epoch 2076: loss = 1719902.013766, a = 933.593301, b = 152.529263\n", "epoch 2077: loss = 1719901.068673, a = 933.622949, b = 152.529244\n", "epoch 2078: loss = 1719900.127223, a = 933.652537, b = 152.529225\n", "epoch 2079: loss = 1719899.189402, a = 933.682066, b = 152.529206\n", "epoch 2080: loss = 1719898.255195, a = 933.711536, b = 152.529188\n", "epoch 2081: loss = 1719897.324588, a = 933.740947, b = 152.529169\n", "epoch 2082: loss = 1719896.397567, a = 933.770299, b = 152.529150\n", "epoch 2083: loss = 1719895.474119, a = 933.799592, b = 152.529131\n", "epoch 2084: loss = 1719894.554228, a = 933.828827, b = 152.529113\n", "epoch 2085: loss = 1719893.637881, a = 933.858004, b = 152.529094\n", "epoch 2086: loss = 1719892.725064, a = 933.887122, b = 152.529075\n", "epoch 2087: loss = 1719891.815764, a = 933.916182, b = 152.529057\n", "epoch 2088: loss = 1719890.909966, a = 933.945183, b = 152.529038\n", "epoch 2089: loss = 1719890.007657, a = 933.974127, b = 152.529020\n", "epoch 2090: loss = 1719889.108823, a = 934.003013, b = 152.529001\n", "epoch 2091: loss = 1719888.213450, a = 934.031841, b = 152.528983\n", "epoch 2092: loss = 1719887.321526, a = 934.060612, b = 152.528965\n", "epoch 2093: loss = 1719886.433035, a = 934.089325, b = 152.528946\n", "epoch 2094: loss = 1719885.547966, a = 934.117980, b = 152.528928\n", "epoch 2095: loss = 1719884.666304, a = 934.146579, b = 152.528910\n", "epoch 2096: loss = 1719883.788036, a = 934.175120, b = 152.528892\n", "epoch 2097: loss = 1719882.913149, a = 934.203604, b = 152.528873\n", "epoch 2098: loss = 1719882.041630, a = 934.232031, b = 152.528855\n", "epoch 2099: loss = 1719881.173465, a = 934.260401, b = 152.528837\n", "epoch 2100: loss = 1719880.308641, a = 934.288714, b = 152.528819\n", "epoch 2101: loss = 1719879.447146, a = 934.316971, b = 152.528801\n", "epoch 2102: loss = 1719878.588965, a = 934.345171, b = 152.528783\n", "epoch 2103: loss = 1719877.734087, a = 934.373315, b = 152.528765\n", "epoch 2104: loss = 1719876.882498, a = 934.401403, b = 152.528747\n", "epoch 2105: loss = 1719876.034185, a = 934.429435, b = 152.528729\n", "epoch 2106: loss = 1719875.189135, a = 934.457410, b = 152.528711\n", "epoch 2107: loss = 1719874.347336, a = 934.485329, b = 152.528693\n", "epoch 2108: loss = 1719873.508776, a = 934.513193, b = 152.528676\n", "epoch 2109: loss = 1719872.673440, a = 934.541001, b = 152.528658\n", "epoch 2110: loss = 1719871.841317, a = 934.568753, b = 152.528640\n", "epoch 2111: loss = 1719871.012394, a = 934.596450, b = 152.528622\n", "epoch 2112: loss = 1719870.186658, a = 934.624092, b = 152.528605\n", "epoch 2113: loss = 1719869.364098, a = 934.651678, b = 152.528587\n", "epoch 2114: loss = 1719868.544700, a = 934.679209, b = 152.528570\n", "epoch 2115: loss = 1719867.728452, a = 934.706685, b = 152.528552\n", "epoch 2116: loss = 1719866.915342, a = 934.734106, b = 152.528535\n", "epoch 2117: loss = 1719866.105358, a = 934.761472, b = 152.528517\n", "epoch 2118: loss = 1719865.298486, a = 934.788784, b = 152.528500\n", "epoch 2119: loss = 1719864.494716, a = 934.816041, b = 152.528482\n", "epoch 2120: loss = 1719863.694035, a = 934.843243, b = 152.528465\n", "epoch 2121: loss = 1719862.896431, a = 934.870391, b = 152.528447\n", "epoch 2122: loss = 1719862.101892, a = 934.897485, b = 152.528430\n", "epoch 2123: loss = 1719861.310405, a = 934.924524, b = 152.528413\n", "epoch 2124: loss = 1719860.521959, a = 934.951509, b = 152.528396\n", "epoch 2125: loss = 1719859.736543, a = 934.978441, b = 152.528378\n", "epoch 2126: loss = 1719858.954143, a = 935.005319, b = 152.528361\n", "epoch 2127: loss = 1719858.174749, a = 935.032142, b = 152.528344\n", "epoch 2128: loss = 1719857.398348, a = 935.058913, b = 152.528327\n", "epoch 2129: loss = 1719856.624929, a = 935.085629, b = 152.528310\n", "epoch 2130: loss = 1719855.854480, a = 935.112293, b = 152.528293\n", "epoch 2131: loss = 1719855.086989, a = 935.138903, b = 152.528276\n", "epoch 2132: loss = 1719854.322446, a = 935.165459, b = 152.528259\n", "epoch 2133: loss = 1719853.560837, a = 935.191963, b = 152.528242\n", "epoch 2134: loss = 1719852.802153, a = 935.218414, b = 152.528225\n", "epoch 2135: loss = 1719852.046381, a = 935.244811, b = 152.528208\n", "epoch 2136: loss = 1719851.293510, a = 935.271156, b = 152.528191\n", "epoch 2137: loss = 1719850.543529, a = 935.297449, b = 152.528175\n", "epoch 2138: loss = 1719849.796427, a = 935.323688, b = 152.528158\n", "epoch 2139: loss = 1719849.052191, a = 935.349876, b = 152.528141\n", "epoch 2140: loss = 1719848.310811, a = 935.376010, b = 152.528125\n", "epoch 2141: loss = 1719847.572276, a = 935.402093, b = 152.528108\n", "epoch 2142: loss = 1719846.836575, a = 935.428123, b = 152.528091\n", "epoch 2143: loss = 1719846.103696, a = 935.454102, b = 152.528075\n", "epoch 2144: loss = 1719845.373629, a = 935.480028, b = 152.528058\n", "epoch 2145: loss = 1719844.646362, a = 935.505903, b = 152.528042\n", "epoch 2146: loss = 1719843.921885, a = 935.531726, b = 152.528025\n", "epoch 2147: loss = 1719843.200186, a = 935.557497, b = 152.528009\n", "epoch 2148: loss = 1719842.481255, a = 935.583217, b = 152.527992\n", "epoch 2149: loss = 1719841.765080, a = 935.608885, b = 152.527976\n", "epoch 2150: loss = 1719841.051652, a = 935.634502, b = 152.527959\n", "epoch 2151: loss = 1719840.340960, a = 935.660068, b = 152.527943\n", "epoch 2152: loss = 1719839.632992, a = 935.685582, b = 152.527927\n", "epoch 2153: loss = 1719838.927738, a = 935.711046, b = 152.527911\n", "epoch 2154: loss = 1719838.225187, a = 935.736458, b = 152.527894\n", "epoch 2155: loss = 1719837.525329, a = 935.761820, b = 152.527878\n", "epoch 2156: loss = 1719836.828154, a = 935.787131, b = 152.527862\n", "epoch 2157: loss = 1719836.133650, a = 935.812392, b = 152.527846\n", "epoch 2158: loss = 1719835.441808, a = 935.837602, b = 152.527830\n", "epoch 2159: loss = 1719834.752617, a = 935.862761, b = 152.527814\n", "epoch 2160: loss = 1719834.066066, a = 935.887871, b = 152.527798\n", "epoch 2161: loss = 1719833.382146, a = 935.912930, b = 152.527782\n", "epoch 2162: loss = 1719832.700845, a = 935.937939, b = 152.527766\n", "epoch 2163: loss = 1719832.022154, a = 935.962898, b = 152.527750\n", "epoch 2164: loss = 1719831.346063, a = 935.987807, b = 152.527734\n", "epoch 2165: loss = 1719830.672562, a = 936.012666, b = 152.527718\n", "epoch 2166: loss = 1719830.001639, a = 936.037475, b = 152.527702\n", "epoch 2167: loss = 1719829.333286, a = 936.062235, b = 152.527686\n", "epoch 2168: loss = 1719828.667491, a = 936.086946, b = 152.527670\n", "epoch 2169: loss = 1719828.004246, a = 936.111607, b = 152.527655\n", "epoch 2170: loss = 1719827.343541, a = 936.136218, b = 152.527639\n", "epoch 2171: loss = 1719826.685364, a = 936.160781, b = 152.527623\n", "epoch 2172: loss = 1719826.029707, a = 936.185294, b = 152.527608\n", "epoch 2173: loss = 1719825.376559, a = 936.209758, b = 152.527592\n", "epoch 2174: loss = 1719824.725911, a = 936.234174, b = 152.527576\n", "epoch 2175: loss = 1719824.077753, a = 936.258540, b = 152.527561\n", "epoch 2176: loss = 1719823.432075, a = 936.282858, b = 152.527545\n", "epoch 2177: loss = 1719822.788867, a = 936.307127, b = 152.527530\n", "epoch 2178: loss = 1719822.148121, a = 936.331348, b = 152.527514\n", "epoch 2179: loss = 1719821.509826, a = 936.355520, b = 152.527499\n", "epoch 2180: loss = 1719820.873972, a = 936.379644, b = 152.527484\n", "epoch 2181: loss = 1719820.240551, a = 936.403720, b = 152.527468\n", "epoch 2182: loss = 1719819.609552, a = 936.427747, b = 152.527453\n", "epoch 2183: loss = 1719818.980966, a = 936.451727, b = 152.527437\n", "epoch 2184: loss = 1719818.354784, a = 936.475658, b = 152.527422\n", "epoch 2185: loss = 1719817.730997, a = 936.499542, b = 152.527407\n", "epoch 2186: loss = 1719817.109594, a = 936.523378, b = 152.527392\n", "epoch 2187: loss = 1719816.490568, a = 936.547166, b = 152.527377\n", "epoch 2188: loss = 1719815.873907, a = 936.570907, b = 152.527361\n", "epoch 2189: loss = 1719815.259604, a = 936.594600, b = 152.527346\n", "epoch 2190: loss = 1719814.647649, a = 936.618246, b = 152.527331\n", "epoch 2191: loss = 1719814.038033, a = 936.641844, b = 152.527316\n", "epoch 2192: loss = 1719813.430746, a = 936.665396, b = 152.527301\n", "epoch 2193: loss = 1719812.825780, a = 936.688900, b = 152.527286\n", "epoch 2194: loss = 1719812.223125, a = 936.712357, b = 152.527271\n", "epoch 2195: loss = 1719811.622773, a = 936.735768, b = 152.527256\n", "epoch 2196: loss = 1719811.024714, a = 936.759131, b = 152.527241\n", "epoch 2197: loss = 1719810.428940, a = 936.782448, b = 152.527226\n", "epoch 2198: loss = 1719809.835442, a = 936.805718, b = 152.527211\n", "epoch 2199: loss = 1719809.244210, a = 936.828942, b = 152.527197\n", "epoch 2200: loss = 1719808.655236, a = 936.852119, b = 152.527182\n", "epoch 2201: loss = 1719808.068512, a = 936.875250, b = 152.527167\n", "epoch 2202: loss = 1719807.484027, a = 936.898335, b = 152.527152\n", "epoch 2203: loss = 1719806.901775, a = 936.921373, b = 152.527138\n", "epoch 2204: loss = 1719806.321745, a = 936.944365, b = 152.527123\n", "epoch 2205: loss = 1719805.743929, a = 936.967312, b = 152.527108\n", "epoch 2206: loss = 1719805.168319, a = 936.990212, b = 152.527094\n", "epoch 2207: loss = 1719804.594905, a = 937.013067, b = 152.527079\n", "epoch 2208: loss = 1719804.023681, a = 937.035876, b = 152.527064\n", "epoch 2209: loss = 1719803.454636, a = 937.058640, b = 152.527050\n", "epoch 2210: loss = 1719802.887762, a = 937.081357, b = 152.527035\n", "epoch 2211: loss = 1719802.323051, a = 937.104030, b = 152.527021\n", "epoch 2212: loss = 1719801.760495, a = 937.126657, b = 152.527006\n", "epoch 2213: loss = 1719801.200084, a = 937.149239, b = 152.526992\n", "epoch 2214: loss = 1719800.641811, a = 937.171776, b = 152.526978\n", "epoch 2215: loss = 1719800.085668, a = 937.194267, b = 152.526963\n", "epoch 2216: loss = 1719799.531645, a = 937.216714, b = 152.526949\n", "epoch 2217: loss = 1719798.979736, a = 937.239116, b = 152.526935\n", "epoch 2218: loss = 1719798.429930, a = 937.261473, b = 152.526920\n", "epoch 2219: loss = 1719797.882221, a = 937.283785, b = 152.526906\n", "epoch 2220: loss = 1719797.336601, a = 937.306053, b = 152.526892\n", "epoch 2221: loss = 1719796.793060, a = 937.328276, b = 152.526878\n", "epoch 2222: loss = 1719796.251591, a = 937.350455, b = 152.526863\n", "epoch 2223: loss = 1719795.712185, a = 937.372589, b = 152.526849\n", "epoch 2224: loss = 1719795.174836, a = 937.394679, b = 152.526835\n", "epoch 2225: loss = 1719794.639534, a = 937.416725, b = 152.526821\n", "epoch 2226: loss = 1719794.106272, a = 937.438727, b = 152.526807\n", "epoch 2227: loss = 1719793.575042, a = 937.460685, b = 152.526793\n", "epoch 2228: loss = 1719793.045835, a = 937.482599, b = 152.526779\n", "epoch 2229: loss = 1719792.518645, a = 937.504469, b = 152.526765\n", "epoch 2230: loss = 1719791.993463, a = 937.526295, b = 152.526751\n", "epoch 2231: loss = 1719791.470281, a = 937.548078, b = 152.526737\n", "epoch 2232: loss = 1719790.949091, a = 937.569817, b = 152.526723\n", "epoch 2233: loss = 1719790.429886, a = 937.591513, b = 152.526709\n", "epoch 2234: loss = 1719789.912658, a = 937.613165, b = 152.526696\n", "epoch 2235: loss = 1719789.397400, a = 937.634774, b = 152.526682\n", "epoch 2236: loss = 1719788.884103, a = 937.656340, b = 152.526668\n", "epoch 2237: loss = 1719788.372760, a = 937.677863, b = 152.526654\n", "epoch 2238: loss = 1719787.863363, a = 937.699343, b = 152.526641\n", "epoch 2239: loss = 1719787.355906, a = 937.720779, b = 152.526627\n", "epoch 2240: loss = 1719786.850379, a = 937.742173, b = 152.526613\n", "epoch 2241: loss = 1719786.346776, a = 937.763524, b = 152.526600\n", "epoch 2242: loss = 1719785.845089, a = 937.784833, b = 152.526586\n", "epoch 2243: loss = 1719785.345311, a = 937.806098, b = 152.526572\n", "epoch 2244: loss = 1719784.847435, a = 937.827322, b = 152.526559\n", "epoch 2245: loss = 1719784.351452, a = 937.848502, b = 152.526545\n", "epoch 2246: loss = 1719783.857356, a = 937.869641, b = 152.526532\n", "epoch 2247: loss = 1719783.365139, a = 937.890737, b = 152.526518\n", "epoch 2248: loss = 1719782.874794, a = 937.911791, b = 152.526505\n", "epoch 2249: loss = 1719782.386313, a = 937.932803, b = 152.526492\n", "epoch 2250: loss = 1719781.899690, a = 937.953773, b = 152.526478\n", "epoch 2251: loss = 1719781.414916, a = 937.974701, b = 152.526465\n", "epoch 2252: loss = 1719780.931986, a = 937.995587, b = 152.526451\n", "epoch 2253: loss = 1719780.450892, a = 938.016431, b = 152.526438\n", "epoch 2254: loss = 1719779.971625, a = 938.037234, b = 152.526425\n", "epoch 2255: loss = 1719779.494181, a = 938.057995, b = 152.526412\n", "epoch 2256: loss = 1719779.018550, a = 938.078714, b = 152.526398\n", "epoch 2257: loss = 1719778.544727, a = 938.099392, b = 152.526385\n", "epoch 2258: loss = 1719778.072705, a = 938.120029, b = 152.526372\n", "epoch 2259: loss = 1719777.602475, a = 938.140625, b = 152.526359\n", "epoch 2260: loss = 1719777.134032, a = 938.161179, b = 152.526346\n", "epoch 2261: loss = 1719776.667368, a = 938.181692, b = 152.526333\n", "epoch 2262: loss = 1719776.202476, a = 938.202164, b = 152.526319\n", "epoch 2263: loss = 1719775.739350, a = 938.222595, b = 152.526306\n", "epoch 2264: loss = 1719775.277983, a = 938.242986, b = 152.526293\n", "epoch 2265: loss = 1719774.818367, a = 938.263335, b = 152.526280\n", "epoch 2266: loss = 1719774.360496, a = 938.283644, b = 152.526267\n", "epoch 2267: loss = 1719773.904364, a = 938.303913, b = 152.526254\n", "epoch 2268: loss = 1719773.449962, a = 938.324140, b = 152.526242\n", "epoch 2269: loss = 1719772.997286, a = 938.344328, b = 152.526229\n", "epoch 2270: loss = 1719772.546327, a = 938.364475, b = 152.526216\n", "epoch 2271: loss = 1719772.097080, a = 938.384581, b = 152.526203\n", "epoch 2272: loss = 1719771.649537, a = 938.404648, b = 152.526190\n", "epoch 2273: loss = 1719771.203693, a = 938.424674, b = 152.526177\n", "epoch 2274: loss = 1719770.759540, a = 938.444660, b = 152.526165\n", "epoch 2275: loss = 1719770.317071, a = 938.464607, b = 152.526152\n", "epoch 2276: loss = 1719769.876281, a = 938.484513, b = 152.526139\n", "epoch 2277: loss = 1719769.437162, a = 938.504380, b = 152.526126\n", "epoch 2278: loss = 1719768.999709, a = 938.524207, b = 152.526114\n", "epoch 2279: loss = 1719768.563915, a = 938.543994, b = 152.526101\n", "epoch 2280: loss = 1719768.129773, a = 938.563742, b = 152.526089\n", "epoch 2281: loss = 1719767.697276, a = 938.583450, b = 152.526076\n", "epoch 2282: loss = 1719767.266420, a = 938.603119, b = 152.526063\n", "epoch 2283: loss = 1719766.837196, a = 938.622748, b = 152.526051\n", "epoch 2284: loss = 1719766.409599, a = 938.642338, b = 152.526038\n", "epoch 2285: loss = 1719765.983623, a = 938.661889, b = 152.526026\n", "epoch 2286: loss = 1719765.559260, a = 938.681401, b = 152.526013\n", "epoch 2287: loss = 1719765.136506, a = 938.700874, b = 152.526001\n", "epoch 2288: loss = 1719764.715353, a = 938.720308, b = 152.525989\n", "epoch 2289: loss = 1719764.295796, a = 938.739703, b = 152.525976\n", "epoch 2290: loss = 1719763.877827, a = 938.759060, b = 152.525964\n", "epoch 2291: loss = 1719763.461442, a = 938.778377, b = 152.525951\n", "epoch 2292: loss = 1719763.046634, a = 938.797656, b = 152.525939\n", "epoch 2293: loss = 1719762.633396, a = 938.816897, b = 152.525927\n", "epoch 2294: loss = 1719762.221723, a = 938.836099, b = 152.525915\n", "epoch 2295: loss = 1719761.811609, a = 938.855262, b = 152.525902\n", "epoch 2296: loss = 1719761.403047, a = 938.874387, b = 152.525890\n", "epoch 2297: loss = 1719760.996032, a = 938.893474, b = 152.525878\n", "epoch 2298: loss = 1719760.590557, a = 938.912523, b = 152.525866\n", "epoch 2299: loss = 1719760.186616, a = 938.931534, b = 152.525854\n", "epoch 2300: loss = 1719759.784204, a = 938.950507, b = 152.525842\n", "epoch 2301: loss = 1719759.383315, a = 938.969442, b = 152.525829\n", "epoch 2302: loss = 1719758.983942, a = 938.988339, b = 152.525817\n", "epoch 2303: loss = 1719758.586080, a = 939.007198, b = 152.525805\n", "epoch 2304: loss = 1719758.189723, a = 939.026019, b = 152.525793\n", "epoch 2305: loss = 1719757.794866, a = 939.044803, b = 152.525781\n", "epoch 2306: loss = 1719757.401501, a = 939.063549, b = 152.525769\n", "epoch 2307: loss = 1719757.009624, a = 939.082258, b = 152.525757\n", "epoch 2308: loss = 1719756.619228, a = 939.100929, b = 152.525745\n", "epoch 2309: loss = 1719756.230309, a = 939.119563, b = 152.525734\n", "epoch 2310: loss = 1719755.842860, a = 939.138160, b = 152.525722\n", "epoch 2311: loss = 1719755.456875, a = 939.156719, b = 152.525710\n", "epoch 2312: loss = 1719755.072349, a = 939.175242, b = 152.525698\n", "epoch 2313: loss = 1719754.689276, a = 939.193727, b = 152.525686\n", "epoch 2314: loss = 1719754.307651, a = 939.212176, b = 152.525674\n", "epoch 2315: loss = 1719753.927467, a = 939.230587, b = 152.525663\n", "epoch 2316: loss = 1719753.548720, a = 939.248962, b = 152.525651\n", "epoch 2317: loss = 1719753.171404, a = 939.267300, b = 152.525639\n", "epoch 2318: loss = 1719752.795512, a = 939.285601, b = 152.525627\n", "epoch 2319: loss = 1719752.421041, a = 939.303866, b = 152.525616\n", "epoch 2320: loss = 1719752.047983, a = 939.322094, b = 152.525604\n", "epoch 2321: loss = 1719751.676335, a = 939.340286, b = 152.525593\n", "epoch 2322: loss = 1719751.306089, a = 939.358441, b = 152.525581\n", "epoch 2323: loss = 1719750.937241, a = 939.376560, b = 152.525569\n", "epoch 2324: loss = 1719750.569786, a = 939.394643, b = 152.525558\n", "epoch 2325: loss = 1719750.203717, a = 939.412690, b = 152.525546\n", "epoch 2326: loss = 1719749.839030, a = 939.430701, b = 152.525535\n", "epoch 2327: loss = 1719749.475719, a = 939.448675, b = 152.525523\n", "epoch 2328: loss = 1719749.113779, a = 939.466614, b = 152.525512\n", "epoch 2329: loss = 1719748.753205, a = 939.484516, b = 152.525500\n", "epoch 2330: loss = 1719748.393990, a = 939.502383, b = 152.525489\n", "epoch 2331: loss = 1719748.036131, a = 939.520215, b = 152.525478\n", "epoch 2332: loss = 1719747.679621, a = 939.538010, b = 152.525466\n", "epoch 2333: loss = 1719747.324456, a = 939.555770, b = 152.525455\n", "epoch 2334: loss = 1719746.970631, a = 939.573495, b = 152.525444\n", "epoch 2335: loss = 1719746.618139, a = 939.591184, b = 152.525432\n", "epoch 2336: loss = 1719746.266976, a = 939.608837, b = 152.525421\n", "epoch 2337: loss = 1719745.917137, a = 939.626456, b = 152.525410\n", "epoch 2338: loss = 1719745.568616, a = 939.644039, b = 152.525399\n", "epoch 2339: loss = 1719745.221409, a = 939.661587, b = 152.525387\n", "epoch 2340: loss = 1719744.875511, a = 939.679100, b = 152.525376\n", "epoch 2341: loss = 1719744.530916, a = 939.696577, b = 152.525365\n", "epoch 2342: loss = 1719744.187619, a = 939.714020, b = 152.525354\n", "epoch 2343: loss = 1719743.845615, a = 939.731428, b = 152.525343\n", "epoch 2344: loss = 1719743.504900, a = 939.748802, b = 152.525332\n", "epoch 2345: loss = 1719743.165468, a = 939.766140, b = 152.525321\n", "epoch 2346: loss = 1719742.827314, a = 939.783444, b = 152.525310\n", "epoch 2347: loss = 1719742.490434, a = 939.800713, b = 152.525298\n", "epoch 2348: loss = 1719742.154822, a = 939.817948, b = 152.525287\n", "epoch 2349: loss = 1719741.820473, a = 939.835148, b = 152.525276\n", "epoch 2350: loss = 1719741.487384, a = 939.852314, b = 152.525266\n", "epoch 2351: loss = 1719741.155548, a = 939.869445, b = 152.525255\n", "epoch 2352: loss = 1719740.824960, a = 939.886542, b = 152.525244\n", "epoch 2353: loss = 1719740.495617, a = 939.903605, b = 152.525233\n", "epoch 2354: loss = 1719740.167513, a = 939.920634, b = 152.525222\n", "epoch 2355: loss = 1719739.840644, a = 939.937629, b = 152.525211\n", "epoch 2356: loss = 1719739.515004, a = 939.954590, b = 152.525200\n", "epoch 2357: loss = 1719739.190589, a = 939.971517, b = 152.525189\n", "epoch 2358: loss = 1719738.867394, a = 939.988410, b = 152.525179\n", "epoch 2359: loss = 1719738.545415, a = 940.005270, b = 152.525168\n", "epoch 2360: loss = 1719738.224646, a = 940.022095, b = 152.525157\n", "epoch 2361: loss = 1719737.905083, a = 940.038887, b = 152.525146\n", "epoch 2362: loss = 1719737.586722, a = 940.055646, b = 152.525136\n", "epoch 2363: loss = 1719737.269558, a = 940.072370, b = 152.525125\n", "epoch 2364: loss = 1719736.953585, a = 940.089062, b = 152.525114\n", "epoch 2365: loss = 1719736.638800, a = 940.105720, b = 152.525104\n", "epoch 2366: loss = 1719736.325198, a = 940.122345, b = 152.525093\n", "epoch 2367: loss = 1719736.012774, a = 940.138936, b = 152.525082\n", "epoch 2368: loss = 1719735.701524, a = 940.155495, b = 152.525072\n", "epoch 2369: loss = 1719735.391444, a = 940.172020, b = 152.525061\n", "epoch 2370: loss = 1719735.082527, a = 940.188512, b = 152.525051\n", "epoch 2371: loss = 1719734.774771, a = 940.204971, b = 152.525040\n", "epoch 2372: loss = 1719734.468171, a = 940.221397, b = 152.525030\n", "epoch 2373: loss = 1719734.162722, a = 940.237791, b = 152.525019\n", "epoch 2374: loss = 1719733.858420, a = 940.254151, b = 152.525009\n", "epoch 2375: loss = 1719733.555260, a = 940.270479, b = 152.524998\n", "epoch 2376: loss = 1719733.253238, a = 940.286775, b = 152.524988\n", "epoch 2377: loss = 1719732.952350, a = 940.303037, b = 152.524978\n", "epoch 2378: loss = 1719732.652590, a = 940.319268, b = 152.524967\n", "epoch 2379: loss = 1719732.353956, a = 940.335465, b = 152.524957\n", "epoch 2380: loss = 1719732.056441, a = 940.351631, b = 152.524947\n", "epoch 2381: loss = 1719731.760043, a = 940.367764, b = 152.524936\n", "epoch 2382: loss = 1719731.464757, a = 940.383864, b = 152.524926\n", "epoch 2383: loss = 1719731.170578, a = 940.399933, b = 152.524916\n", "epoch 2384: loss = 1719730.877503, a = 940.415969, b = 152.524906\n", "epoch 2385: loss = 1719730.585526, a = 940.431974, b = 152.524895\n", "epoch 2386: loss = 1719730.294644, a = 940.447946, b = 152.524885\n", "epoch 2387: loss = 1719730.004853, a = 940.463887, b = 152.524875\n", "epoch 2388: loss = 1719729.716147, a = 940.479795, b = 152.524865\n", "epoch 2389: loss = 1719729.428524, a = 940.495672, b = 152.524855\n", "epoch 2390: loss = 1719729.141979, a = 940.511517, b = 152.524844\n", "epoch 2391: loss = 1719728.856507, a = 940.527330, b = 152.524834\n", "epoch 2392: loss = 1719728.572105, a = 940.543112, b = 152.524824\n", "epoch 2393: loss = 1719728.288769, a = 940.558862, b = 152.524814\n", "epoch 2394: loss = 1719728.006493, a = 940.574580, b = 152.524804\n", "epoch 2395: loss = 1719727.725275, a = 940.590268, b = 152.524794\n", "epoch 2396: loss = 1719727.445110, a = 940.605923, b = 152.524784\n", "epoch 2397: loss = 1719727.165994, a = 940.621548, b = 152.524774\n", "epoch 2398: loss = 1719726.887924, a = 940.637141, b = 152.524764\n", "epoch 2399: loss = 1719726.610894, a = 940.652703, b = 152.524754\n", "epoch 2400: loss = 1719726.334901, a = 940.668234, b = 152.524744\n", "epoch 2401: loss = 1719726.059941, a = 940.683734, b = 152.524734\n", "epoch 2402: loss = 1719725.786010, a = 940.699203, b = 152.524725\n", "epoch 2403: loss = 1719725.513104, a = 940.714641, b = 152.524715\n", "epoch 2404: loss = 1719725.241219, a = 940.730048, b = 152.524705\n", "epoch 2405: loss = 1719724.970351, a = 940.745424, b = 152.524695\n", "epoch 2406: loss = 1719724.700496, a = 940.760770, b = 152.524685\n", "epoch 2407: loss = 1719724.431651, a = 940.776085, b = 152.524676\n", "epoch 2408: loss = 1719724.163811, a = 940.791369, b = 152.524666\n", "epoch 2409: loss = 1719723.896972, a = 940.806623, b = 152.524656\n", "epoch 2410: loss = 1719723.631131, a = 940.821846, b = 152.524646\n", "epoch 2411: loss = 1719723.366284, a = 940.837039, b = 152.524637\n", "epoch 2412: loss = 1719723.102427, a = 940.852201, b = 152.524627\n", "epoch 2413: loss = 1719722.839556, a = 940.867333, b = 152.524617\n", "epoch 2414: loss = 1719722.577667, a = 940.882435, b = 152.524608\n", "epoch 2415: loss = 1719722.316757, a = 940.897506, b = 152.524598\n", "epoch 2416: loss = 1719722.056821, a = 940.912548, b = 152.524588\n", "epoch 2417: loss = 1719721.797857, a = 940.927559, b = 152.524579\n", "epoch 2418: loss = 1719721.539859, a = 940.942541, b = 152.524569\n", "epoch 2419: loss = 1719721.282826, a = 940.957492, b = 152.524560\n", "epoch 2420: loss = 1719721.026752, a = 940.972414, b = 152.524550\n", "epoch 2421: loss = 1719720.771634, a = 940.987305, b = 152.524541\n", "epoch 2422: loss = 1719720.517469, a = 941.002167, b = 152.524531\n", "epoch 2423: loss = 1719720.264252, a = 941.016999, b = 152.524522\n", "epoch 2424: loss = 1719720.011980, a = 941.031802, b = 152.524512\n", "epoch 2425: loss = 1719719.760650, a = 941.046575, b = 152.524503\n", "epoch 2426: loss = 1719719.510258, a = 941.061318, b = 152.524493\n", "epoch 2427: loss = 1719719.260800, a = 941.076032, b = 152.524484\n", "epoch 2428: loss = 1719719.012273, a = 941.090716, b = 152.524475\n", "epoch 2429: loss = 1719718.764672, a = 941.105371, b = 152.524465\n", "epoch 2430: loss = 1719718.517995, a = 941.119997, b = 152.524456\n", "epoch 2431: loss = 1719718.272238, a = 941.134594, b = 152.524447\n", "epoch 2432: loss = 1719718.027398, a = 941.149161, b = 152.524437\n", "epoch 2433: loss = 1719717.783470, a = 941.163699, b = 152.524428\n", "epoch 2434: loss = 1719717.540451, a = 941.178208, b = 152.524419\n", "epoch 2435: loss = 1719717.298338, a = 941.192688, b = 152.524409\n", "epoch 2436: loss = 1719717.057128, a = 941.207140, b = 152.524400\n", "epoch 2437: loss = 1719716.816816, a = 941.221562, b = 152.524391\n", "epoch 2438: loss = 1719716.577400, a = 941.235955, b = 152.524382\n", "epoch 2439: loss = 1719716.338876, a = 941.250320, b = 152.524373\n", "epoch 2440: loss = 1719716.101240, a = 941.264656, b = 152.524363\n", "epoch 2441: loss = 1719715.864489, a = 941.278963, b = 152.524354\n", "epoch 2442: loss = 1719715.628620, a = 941.293242, b = 152.524345\n", "epoch 2443: loss = 1719715.393629, a = 941.307492, b = 152.524336\n", "epoch 2444: loss = 1719715.159513, a = 941.321714, b = 152.524327\n", "epoch 2445: loss = 1719714.926269, a = 941.335907, b = 152.524318\n", "epoch 2446: loss = 1719714.693893, a = 941.350072, b = 152.524309\n", "epoch 2447: loss = 1719714.462381, a = 941.364208, b = 152.524300\n", "epoch 2448: loss = 1719714.231731, a = 941.378316, b = 152.524291\n", "epoch 2449: loss = 1719714.001940, a = 941.392396, b = 152.524282\n", "epoch 2450: loss = 1719713.773003, a = 941.406448, b = 152.524273\n", "epoch 2451: loss = 1719713.544917, a = 941.420472, b = 152.524264\n", "epoch 2452: loss = 1719713.317680, a = 941.434467, b = 152.524255\n", "epoch 2453: loss = 1719713.091289, a = 941.448435, b = 152.524246\n", "epoch 2454: loss = 1719712.865738, a = 941.462375, b = 152.524237\n", "epoch 2455: loss = 1719712.641027, a = 941.476287, b = 152.524228\n", "epoch 2456: loss = 1719712.417151, a = 941.490171, b = 152.524219\n", "epoch 2457: loss = 1719712.194107, a = 941.504027, b = 152.524211\n", "epoch 2458: loss = 1719711.971892, a = 941.517856, b = 152.524202\n", "epoch 2459: loss = 1719711.750502, a = 941.531657, b = 152.524193\n", "epoch 2460: loss = 1719711.529935, a = 941.545430, b = 152.524184\n", "epoch 2461: loss = 1719711.310188, a = 941.559176, b = 152.524175\n", "epoch 2462: loss = 1719711.091257, a = 941.572894, b = 152.524167\n", "epoch 2463: loss = 1719710.873139, a = 941.586585, b = 152.524158\n", "epoch 2464: loss = 1719710.655831, a = 941.600249, b = 152.524149\n", "epoch 2465: loss = 1719710.439329, a = 941.613885, b = 152.524140\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "epoch 2466: loss = 1719710.223632, a = 941.627494, b = 152.524132\n", "epoch 2467: loss = 1719710.008735, a = 941.641075, b = 152.524123\n", "epoch 2468: loss = 1719709.794636, a = 941.654630, b = 152.524114\n", "epoch 2469: loss = 1719709.581332, a = 941.668157, b = 152.524106\n", "epoch 2470: loss = 1719709.368819, a = 941.681658, b = 152.524097\n", "epoch 2471: loss = 1719709.157094, a = 941.695131, b = 152.524089\n", "epoch 2472: loss = 1719708.946155, a = 941.708578, b = 152.524080\n", "epoch 2473: loss = 1719708.735998, a = 941.721997, b = 152.524071\n", "epoch 2474: loss = 1719708.526620, a = 941.735390, b = 152.524063\n", "epoch 2475: loss = 1719708.318019, a = 941.748756, b = 152.524054\n", "epoch 2476: loss = 1719708.110192, a = 941.762095, b = 152.524046\n", "epoch 2477: loss = 1719707.903135, a = 941.775408, b = 152.524037\n", "epoch 2478: loss = 1719707.696845, a = 941.788694, b = 152.524029\n", "epoch 2479: loss = 1719707.491320, a = 941.801953, b = 152.524020\n", "epoch 2480: loss = 1719707.286557, a = 941.815186, b = 152.524012\n", "epoch 2481: loss = 1719707.082552, a = 941.828392, b = 152.524003\n", "epoch 2482: loss = 1719706.879303, a = 941.841572, b = 152.523995\n", "epoch 2483: loss = 1719706.676807, a = 941.854726, b = 152.523987\n", "epoch 2484: loss = 1719706.475060, a = 941.867853, b = 152.523978\n", "epoch 2485: loss = 1719706.274061, a = 941.880954, b = 152.523970\n", "epoch 2486: loss = 1719706.073807, a = 941.894029, b = 152.523961\n", "epoch 2487: loss = 1719705.874293, a = 941.907078, b = 152.523953\n", "epoch 2488: loss = 1719705.675518, a = 941.920100, b = 152.523945\n", "epoch 2489: loss = 1719705.477479, a = 941.933097, b = 152.523937\n", "epoch 2490: loss = 1719705.280173, a = 941.946068, b = 152.523928\n", "epoch 2491: loss = 1719705.083597, a = 941.959012, b = 152.523920\n", "epoch 2492: loss = 1719704.887748, a = 941.971931, b = 152.523912\n", "epoch 2493: loss = 1719704.692623, a = 941.984824, b = 152.523903\n", "epoch 2494: loss = 1719704.498220, a = 941.997691, b = 152.523895\n", "epoch 2495: loss = 1719704.304537, a = 942.010533, b = 152.523887\n", "epoch 2496: loss = 1719704.111569, a = 942.023348, b = 152.523879\n", "epoch 2497: loss = 1719703.919315, a = 942.036138, b = 152.523871\n", "epoch 2498: loss = 1719703.727771, a = 942.048903, b = 152.523863\n", "epoch 2499: loss = 1719703.536936, a = 942.061642, b = 152.523854\n", "epoch 2500: loss = 1719703.346805, a = 942.074356, b = 152.523846\n", "epoch 2501: loss = 1719703.157378, a = 942.087044, b = 152.523838\n", "epoch 2502: loss = 1719702.968650, a = 942.099706, b = 152.523830\n", "epoch 2503: loss = 1719702.780619, a = 942.112344, b = 152.523822\n", "epoch 2504: loss = 1719702.593283, a = 942.124956, b = 152.523814\n", "epoch 2505: loss = 1719702.406639, a = 942.137543, b = 152.523806\n", "epoch 2506: loss = 1719702.220684, a = 942.150105, b = 152.523798\n", "epoch 2507: loss = 1719702.035415, a = 942.162641, b = 152.523790\n", "epoch 2508: loss = 1719701.850830, a = 942.175153, b = 152.523782\n", "epoch 2509: loss = 1719701.666927, a = 942.187640, b = 152.523774\n", "epoch 2510: loss = 1719701.483702, a = 942.200101, b = 152.523766\n", "epoch 2511: loss = 1719701.301154, a = 942.212538, b = 152.523758\n", "epoch 2512: loss = 1719701.119279, a = 942.224950, b = 152.523750\n", "epoch 2513: loss = 1719700.938075, a = 942.237337, b = 152.523742\n", "epoch 2514: loss = 1719700.757539, a = 942.249699, b = 152.523734\n", "epoch 2515: loss = 1719700.577669, a = 942.262036, b = 152.523726\n", "epoch 2516: loss = 1719700.398462, a = 942.274349, b = 152.523719\n", "epoch 2517: loss = 1719700.219916, a = 942.286637, b = 152.523711\n", "epoch 2518: loss = 1719700.042028, a = 942.298901, b = 152.523703\n", "epoch 2519: loss = 1719699.864796, a = 942.311140, b = 152.523695\n", "epoch 2520: loss = 1719699.688217, a = 942.323355, b = 152.523687\n", "epoch 2521: loss = 1719699.512289, a = 942.335545, b = 152.523679\n", "epoch 2522: loss = 1719699.337009, a = 942.347711, b = 152.523672\n", "epoch 2523: loss = 1719699.162374, a = 942.359852, b = 152.523664\n", "epoch 2524: loss = 1719698.988383, a = 942.371970, b = 152.523656\n", "epoch 2525: loss = 1719698.815032, a = 942.384063, b = 152.523649\n", "epoch 2526: loss = 1719698.642320, a = 942.396132, b = 152.523641\n", "epoch 2527: loss = 1719698.470244, a = 942.408176, b = 152.523633\n", "epoch 2528: loss = 1719698.298801, a = 942.420197, b = 152.523625\n", "epoch 2529: loss = 1719698.127989, a = 942.432193, b = 152.523618\n", "epoch 2530: loss = 1719697.957806, a = 942.444166, b = 152.523610\n", "epoch 2531: loss = 1719697.788248, a = 942.456115, b = 152.523602\n", "epoch 2532: loss = 1719697.619315, a = 942.468039, b = 152.523595\n", "epoch 2533: loss = 1719697.451003, a = 942.479940, b = 152.523587\n", "epoch 2534: loss = 1719697.283310, a = 942.491817, b = 152.523580\n", "epoch 2535: loss = 1719697.116234, a = 942.503671, b = 152.523572\n", "epoch 2536: loss = 1719696.949772, a = 942.515500, b = 152.523565\n", "epoch 2537: loss = 1719696.783922, a = 942.527306, b = 152.523557\n", "epoch 2538: loss = 1719696.618682, a = 942.539089, b = 152.523549\n", "epoch 2539: loss = 1719696.454049, a = 942.550847, b = 152.523542\n", "epoch 2540: loss = 1719696.290020, a = 942.562583, b = 152.523534\n", "epoch 2541: loss = 1719696.126595, a = 942.574295, b = 152.523527\n", "epoch 2542: loss = 1719695.963770, a = 942.585983, b = 152.523520\n", "epoch 2543: loss = 1719695.801543, a = 942.597648, b = 152.523512\n", "epoch 2544: loss = 1719695.639912, a = 942.609290, b = 152.523505\n", "epoch 2545: loss = 1719695.478874, a = 942.620908, b = 152.523497\n", "epoch 2546: loss = 1719695.318427, a = 942.632503, b = 152.523490\n", "epoch 2547: loss = 1719695.158570, a = 942.644075, b = 152.523482\n", "epoch 2548: loss = 1719694.999299, a = 942.655624, b = 152.523475\n", "epoch 2549: loss = 1719694.840613, a = 942.667150, b = 152.523468\n", "epoch 2550: loss = 1719694.682509, a = 942.678653, b = 152.523460\n", "epoch 2551: loss = 1719694.524985, a = 942.690133, b = 152.523453\n", "epoch 2552: loss = 1719694.368039, a = 942.701589, b = 152.523446\n", "epoch 2553: loss = 1719694.211668, a = 942.713023, b = 152.523438\n", "epoch 2554: loss = 1719694.055871, a = 942.724434, b = 152.523431\n", "epoch 2555: loss = 1719693.900645, a = 942.735822, b = 152.523424\n", "epoch 2556: loss = 1719693.745988, a = 942.747188, b = 152.523417\n", "epoch 2557: loss = 1719693.591898, a = 942.758531, b = 152.523409\n", "epoch 2558: loss = 1719693.438373, a = 942.769851, b = 152.523402\n", "epoch 2559: loss = 1719693.285410, a = 942.781148, b = 152.523395\n", "epoch 2560: loss = 1719693.133008, a = 942.792423, b = 152.523388\n", "epoch 2561: loss = 1719692.981164, a = 942.803675, b = 152.523380\n", "epoch 2562: loss = 1719692.829876, a = 942.814905, b = 152.523373\n", "epoch 2563: loss = 1719692.679142, a = 942.826112, b = 152.523366\n", "epoch 2564: loss = 1719692.528960, a = 942.837297, b = 152.523359\n", "epoch 2565: loss = 1719692.379328, a = 942.848459, b = 152.523352\n", "epoch 2566: loss = 1719692.230244, a = 942.859600, b = 152.523345\n", "epoch 2567: loss = 1719692.081705, a = 942.870717, b = 152.523338\n", "epoch 2568: loss = 1719691.933710, a = 942.881813, b = 152.523331\n", "epoch 2569: loss = 1719691.786256, a = 942.892887, b = 152.523324\n", "epoch 2570: loss = 1719691.639342, a = 942.903938, b = 152.523316\n", "epoch 2571: loss = 1719691.492965, a = 942.914967, b = 152.523309\n", "epoch 2572: loss = 1719691.347123, a = 942.925974, b = 152.523302\n", "epoch 2573: loss = 1719691.201815, a = 942.936960, b = 152.523295\n", "epoch 2574: loss = 1719691.057038, a = 942.947923, b = 152.523288\n", "epoch 2575: loss = 1719690.912790, a = 942.958864, b = 152.523281\n", "epoch 2576: loss = 1719690.769069, a = 942.969783, b = 152.523274\n", "epoch 2577: loss = 1719690.625873, a = 942.980681, b = 152.523267\n", "epoch 2578: loss = 1719690.483201, a = 942.991557, b = 152.523260\n", "epoch 2579: loss = 1719690.341050, a = 943.002411, b = 152.523254\n", "epoch 2580: loss = 1719690.199418, a = 943.013243, b = 152.523247\n", "epoch 2581: loss = 1719690.058303, a = 943.024054, b = 152.523240\n", "epoch 2582: loss = 1719689.917704, a = 943.034843, b = 152.523233\n", "epoch 2583: loss = 1719689.777618, a = 943.045610, b = 152.523226\n", "epoch 2584: loss = 1719689.638043, a = 943.056356, b = 152.523219\n", "epoch 2585: loss = 1719689.498977, a = 943.067081, b = 152.523212\n", "epoch 2586: loss = 1719689.360419, a = 943.077784, b = 152.523205\n", "epoch 2587: loss = 1719689.222367, a = 943.088465, b = 152.523199\n", "epoch 2588: loss = 1719689.084818, a = 943.099126, b = 152.523192\n", "epoch 2589: loss = 1719688.947771, a = 943.109765, b = 152.523185\n", "epoch 2590: loss = 1719688.811224, a = 943.120382, b = 152.523178\n", "epoch 2591: loss = 1719688.675174, a = 943.130979, b = 152.523171\n", "epoch 2592: loss = 1719688.539621, a = 943.141554, b = 152.523165\n", "epoch 2593: loss = 1719688.404562, a = 943.152108, b = 152.523158\n", "epoch 2594: loss = 1719688.269995, a = 943.162641, b = 152.523151\n", "epoch 2595: loss = 1719688.135918, a = 943.173153, b = 152.523145\n", "epoch 2596: loss = 1719688.002330, a = 943.183644, b = 152.523138\n", "epoch 2597: loss = 1719687.869228, a = 943.194114, b = 152.523131\n", "epoch 2598: loss = 1719687.736611, a = 943.204563, b = 152.523124\n", "epoch 2599: loss = 1719687.604477, a = 943.214991, b = 152.523118\n", "epoch 2600: loss = 1719687.472824, a = 943.225398, b = 152.523111\n", "epoch 2601: loss = 1719687.341651, a = 943.235784, b = 152.523105\n", "epoch 2602: loss = 1719687.210955, a = 943.246150, b = 152.523098\n", "epoch 2603: loss = 1719687.080734, a = 943.256495, b = 152.523091\n", "epoch 2604: loss = 1719686.950988, a = 943.266819, b = 152.523085\n", "epoch 2605: loss = 1719686.821713, a = 943.277123, b = 152.523078\n", "epoch 2606: loss = 1719686.692909, a = 943.287406, b = 152.523072\n", "epoch 2607: loss = 1719686.564573, a = 943.297668, b = 152.523065\n", "epoch 2608: loss = 1719686.436703, a = 943.307910, b = 152.523058\n", "epoch 2609: loss = 1719686.309299, a = 943.318132, b = 152.523052\n", "epoch 2610: loss = 1719686.182358, a = 943.328333, b = 152.523045\n", "epoch 2611: loss = 1719686.055878, a = 943.338513, b = 152.523039\n", "epoch 2612: loss = 1719685.929858, a = 943.348673, b = 152.523032\n", "epoch 2613: loss = 1719685.804295, a = 943.358813, b = 152.523026\n", "epoch 2614: loss = 1719685.679189, a = 943.368933, b = 152.523019\n", "epoch 2615: loss = 1719685.554537, a = 943.379032, b = 152.523013\n", "epoch 2616: loss = 1719685.430338, a = 943.389112, b = 152.523007\n", "epoch 2617: loss = 1719685.306590, a = 943.399171, b = 152.523000\n", "epoch 2618: loss = 1719685.183291, a = 943.409210, b = 152.522994\n", "epoch 2619: loss = 1719685.060440, a = 943.419228, b = 152.522987\n", "epoch 2620: loss = 1719684.938034, a = 943.429227, b = 152.522981\n", "epoch 2621: loss = 1719684.816073, a = 943.439206, b = 152.522975\n", "epoch 2622: loss = 1719684.694554, a = 943.449165, b = 152.522968\n", "epoch 2623: loss = 1719684.573476, a = 943.459104, b = 152.522962\n", "epoch 2624: loss = 1719684.452837, a = 943.469023, b = 152.522956\n", "epoch 2625: loss = 1719684.332636, a = 943.478922, b = 152.522949\n", "epoch 2626: loss = 1719684.212870, a = 943.488802, b = 152.522943\n", "epoch 2627: loss = 1719684.093539, a = 943.498662, b = 152.522937\n", "epoch 2628: loss = 1719683.974640, a = 943.508502, b = 152.522930\n", "epoch 2629: loss = 1719683.856171, a = 943.518322, b = 152.522924\n", "epoch 2630: loss = 1719683.738133, a = 943.528123, b = 152.522918\n", "epoch 2631: loss = 1719683.620521, a = 943.537904, b = 152.522912\n", "epoch 2632: loss = 1719683.503336, a = 943.547665, b = 152.522905\n", "epoch 2633: loss = 1719683.386575, a = 943.557407, b = 152.522899\n", "epoch 2634: loss = 1719683.270237, a = 943.567130, b = 152.522893\n", "epoch 2635: loss = 1719683.154320, a = 943.576833, b = 152.522887\n", "epoch 2636: loss = 1719683.038822, a = 943.586516, b = 152.522880\n", "epoch 2637: loss = 1719682.923743, a = 943.596181, b = 152.522874\n", "epoch 2638: loss = 1719682.809080, a = 943.605826, b = 152.522868\n", "epoch 2639: loss = 1719682.694831, a = 943.615451, b = 152.522862\n", "epoch 2640: loss = 1719682.580996, a = 943.625058, b = 152.522856\n", "epoch 2641: loss = 1719682.467573, a = 943.634645, b = 152.522850\n", "epoch 2642: loss = 1719682.354560, a = 943.644213, b = 152.522844\n", "epoch 2643: loss = 1719682.241955, a = 943.653762, b = 152.522838\n", "epoch 2644: loss = 1719682.129757, a = 943.663292, b = 152.522831\n", "epoch 2645: loss = 1719682.017965, a = 943.672803, b = 152.522825\n", "epoch 2646: loss = 1719681.906577, a = 943.682294, b = 152.522819\n", "epoch 2647: loss = 1719681.795591, a = 943.691767, b = 152.522813\n", "epoch 2648: loss = 1719681.685006, a = 943.701221, b = 152.522807\n", "epoch 2649: loss = 1719681.574821, a = 943.710656, b = 152.522801\n", "epoch 2650: loss = 1719681.465033, a = 943.720072, b = 152.522795\n", "epoch 2651: loss = 1719681.355642, a = 943.729469, b = 152.522789\n", "epoch 2652: loss = 1719681.246645, a = 943.738848, b = 152.522783\n", "epoch 2653: loss = 1719681.138042, a = 943.748208, b = 152.522777\n", "epoch 2654: loss = 1719681.029831, a = 943.757548, b = 152.522771\n", "epoch 2655: loss = 1719680.922010, a = 943.766871, b = 152.522765\n", "epoch 2656: loss = 1719680.814578, a = 943.776174, b = 152.522759\n", "epoch 2657: loss = 1719680.707534, a = 943.785460, b = 152.522753\n", "epoch 2658: loss = 1719680.600876, a = 943.794726, b = 152.522748\n", "epoch 2659: loss = 1719680.494602, a = 943.803974, b = 152.522742\n", "epoch 2660: loss = 1719680.388711, a = 943.813203, b = 152.522736\n", "epoch 2661: loss = 1719680.283202, a = 943.822414, b = 152.522730\n", "epoch 2662: loss = 1719680.178073, a = 943.831607, b = 152.522724\n", "epoch 2663: loss = 1719680.073323, a = 943.840781, b = 152.522718\n", "epoch 2664: loss = 1719679.968950, a = 943.849937, b = 152.522712\n", "epoch 2665: loss = 1719679.864953, a = 943.859075, b = 152.522706\n", "epoch 2666: loss = 1719679.761330, a = 943.868194, b = 152.522701\n", "epoch 2667: loss = 1719679.658081, a = 943.877295, b = 152.522695\n", "epoch 2668: loss = 1719679.555203, a = 943.886378, b = 152.522689\n", "epoch 2669: loss = 1719679.452696, a = 943.895443, b = 152.522683\n", "epoch 2670: loss = 1719679.350557, a = 943.904489, b = 152.522677\n", "epoch 2671: loss = 1719679.248786, a = 943.913518, b = 152.522672\n", "epoch 2672: loss = 1719679.147381, a = 943.922528, b = 152.522666\n", "epoch 2673: loss = 1719679.046340, a = 943.931520, b = 152.522660\n", "epoch 2674: loss = 1719678.945663, a = 943.940495, b = 152.522654\n", "epoch 2675: loss = 1719678.845348, a = 943.949451, b = 152.522649\n", "epoch 2676: loss = 1719678.745393, a = 943.958390, b = 152.522643\n", "epoch 2677: loss = 1719678.645798, a = 943.967311, b = 152.522637\n", "epoch 2678: loss = 1719678.546560, a = 943.976213, b = 152.522632\n", "epoch 2679: loss = 1719678.447679, a = 943.985098, b = 152.522626\n", "epoch 2680: loss = 1719678.349153, a = 943.993966, b = 152.522620\n", "epoch 2681: loss = 1719678.250981, a = 944.002815, b = 152.522615\n", "epoch 2682: loss = 1719678.153162, a = 944.011647, b = 152.522609\n", "epoch 2683: loss = 1719678.055694, a = 944.020461, b = 152.522603\n", "epoch 2684: loss = 1719677.958575, a = 944.029258, b = 152.522598\n", "epoch 2685: loss = 1719677.861805, a = 944.038037, b = 152.522592\n", "epoch 2686: loss = 1719677.765383, a = 944.046798, b = 152.522587\n", "epoch 2687: loss = 1719677.669306, a = 944.055542, b = 152.522581\n", "epoch 2688: loss = 1719677.573574, a = 944.064269, b = 152.522575\n", "epoch 2689: loss = 1719677.478185, a = 944.072978, b = 152.522570\n", "epoch 2690: loss = 1719677.383138, a = 944.081669, b = 152.522564\n", "epoch 2691: loss = 1719677.288432, a = 944.090343, b = 152.522559\n", "epoch 2692: loss = 1719677.194065, a = 944.099000, b = 152.522553\n", "epoch 2693: loss = 1719677.100036, a = 944.107640, b = 152.522548\n", "epoch 2694: loss = 1719677.006344, a = 944.116262, b = 152.522542\n", "epoch 2695: loss = 1719676.912988, a = 944.124867, b = 152.522537\n", "epoch 2696: loss = 1719676.819967, a = 944.133455, b = 152.522531\n", "epoch 2697: loss = 1719676.727278, a = 944.142025, b = 152.522526\n", "epoch 2698: loss = 1719676.634921, a = 944.150579, b = 152.522520\n", "epoch 2699: loss = 1719676.542895, a = 944.159115, b = 152.522515\n", "epoch 2700: loss = 1719676.451198, a = 944.167634, b = 152.522509\n", "epoch 2701: loss = 1719676.359830, a = 944.176137, b = 152.522504\n", "epoch 2702: loss = 1719676.268788, a = 944.184622, b = 152.522498\n", "epoch 2703: loss = 1719676.178072, a = 944.193090, b = 152.522493\n", "epoch 2704: loss = 1719676.087680, a = 944.201542, b = 152.522488\n", "epoch 2705: loss = 1719675.997611, a = 944.209976, b = 152.522482\n", "epoch 2706: loss = 1719675.907865, a = 944.218394, b = 152.522477\n", "epoch 2707: loss = 1719675.818439, a = 944.226794, b = 152.522472\n", "epoch 2708: loss = 1719675.729333, a = 944.235178, b = 152.522466\n", "epoch 2709: loss = 1719675.640545, a = 944.243546, b = 152.522461\n", "epoch 2710: loss = 1719675.552074, a = 944.251896, b = 152.522456\n", "epoch 2711: loss = 1719675.463919, a = 944.260230, b = 152.522450\n", "epoch 2712: loss = 1719675.376079, a = 944.268547, b = 152.522445\n", "epoch 2713: loss = 1719675.288553, a = 944.276847, b = 152.522440\n", "epoch 2714: loss = 1719675.201339, a = 944.285131, b = 152.522434\n", "epoch 2715: loss = 1719675.114437, a = 944.293399, b = 152.522429\n", "epoch 2716: loss = 1719675.027844, a = 944.301649, b = 152.522424\n", "epoch 2717: loss = 1719674.941560, a = 944.309884, b = 152.522418\n", "epoch 2718: loss = 1719674.855585, a = 944.318101, b = 152.522413\n", "epoch 2719: loss = 1719674.769915, a = 944.326303, b = 152.522408\n", "epoch 2720: loss = 1719674.684551, a = 944.334488, b = 152.522403\n", "epoch 2721: loss = 1719674.599492, a = 944.342656, b = 152.522398\n", "epoch 2722: loss = 1719674.514736, a = 944.350809, b = 152.522392\n", "epoch 2723: loss = 1719674.430281, a = 944.358945, b = 152.522387\n", "epoch 2724: loss = 1719674.346128, a = 944.367064, b = 152.522382\n", "epoch 2725: loss = 1719674.262274, a = 944.375168, b = 152.522377\n", "epoch 2726: loss = 1719674.178719, a = 944.383255, b = 152.522372\n", "epoch 2727: loss = 1719674.095462, a = 944.391326, b = 152.522366\n", "epoch 2728: loss = 1719674.012501, a = 944.399381, b = 152.522361\n", "epoch 2729: loss = 1719673.929835, a = 944.407420, b = 152.522356\n", "epoch 2730: loss = 1719673.847464, a = 944.415443, b = 152.522351\n", "epoch 2731: loss = 1719673.765385, a = 944.423450, b = 152.522346\n", "epoch 2732: loss = 1719673.683599, a = 944.431440, b = 152.522341\n", "epoch 2733: loss = 1719673.602103, a = 944.439415, b = 152.522336\n", "epoch 2734: loss = 1719673.520897, a = 944.447374, b = 152.522331\n", "epoch 2735: loss = 1719673.439980, a = 944.455317, b = 152.522326\n", "epoch 2736: loss = 1719673.359351, a = 944.463244, b = 152.522321\n", "epoch 2737: loss = 1719673.279008, a = 944.471155, b = 152.522315\n", "epoch 2738: loss = 1719673.198950, a = 944.479050, b = 152.522310\n", "epoch 2739: loss = 1719673.119177, a = 944.486930, b = 152.522305\n", "epoch 2740: loss = 1719673.039688, a = 944.494793, b = 152.522300\n", "epoch 2741: loss = 1719672.960480, a = 944.502642, b = 152.522295\n", "epoch 2742: loss = 1719672.881554, a = 944.510474, b = 152.522290\n", "epoch 2743: loss = 1719672.802908, a = 944.518291, b = 152.522285\n", "epoch 2744: loss = 1719672.724541, a = 944.526092, b = 152.522280\n", "epoch 2745: loss = 1719672.646452, a = 944.533877, b = 152.522275\n", "epoch 2746: loss = 1719672.568640, a = 944.541647, b = 152.522270\n", "epoch 2747: loss = 1719672.491105, a = 944.549401, b = 152.522266\n", "epoch 2748: loss = 1719672.413844, a = 944.557140, b = 152.522261\n", "epoch 2749: loss = 1719672.336857, a = 944.564864, b = 152.522256\n", "epoch 2750: loss = 1719672.260143, a = 944.572572, b = 152.522251\n", "epoch 2751: loss = 1719672.183701, a = 944.580264, b = 152.522246\n", "epoch 2752: loss = 1719672.107530, a = 944.587941, b = 152.522241\n", "epoch 2753: loss = 1719672.031629, a = 944.595603, b = 152.522236\n", "epoch 2754: loss = 1719671.955996, a = 944.603250, b = 152.522231\n", "epoch 2755: loss = 1719671.880631, a = 944.610881, b = 152.522226\n", "epoch 2756: loss = 1719671.805534, a = 944.618497, b = 152.522221\n", "epoch 2757: loss = 1719671.730702, a = 944.626097, b = 152.522217\n", "epoch 2758: loss = 1719671.656135, a = 944.633683, b = 152.522212\n", "epoch 2759: loss = 1719671.581832, a = 944.641253, b = 152.522207\n", "epoch 2760: loss = 1719671.507791, a = 944.648808, b = 152.522202\n", "epoch 2761: loss = 1719671.434013, a = 944.656348, b = 152.522197\n", "epoch 2762: loss = 1719671.360495, a = 944.663873, b = 152.522192\n", "epoch 2763: loss = 1719671.287238, a = 944.671383, b = 152.522188\n", "epoch 2764: loss = 1719671.214239, a = 944.678878, b = 152.522183\n", "epoch 2765: loss = 1719671.141498, a = 944.686358, b = 152.522178\n", "epoch 2766: loss = 1719671.069015, a = 944.693823, b = 152.522173\n", "epoch 2767: loss = 1719670.996787, a = 944.701273, b = 152.522169\n", "epoch 2768: loss = 1719670.924815, a = 944.708708, b = 152.522164\n", "epoch 2769: loss = 1719670.853097, a = 944.716129, b = 152.522159\n", "epoch 2770: loss = 1719670.781632, a = 944.723534, b = 152.522154\n", "epoch 2771: loss = 1719670.710419, a = 944.730925, b = 152.522150\n", "epoch 2772: loss = 1719670.639458, a = 944.738301, b = 152.522145\n", "epoch 2773: loss = 1719670.568747, a = 944.745662, b = 152.522140\n", "epoch 2774: loss = 1719670.498286, a = 944.753008, b = 152.522135\n", "epoch 2775: loss = 1719670.428073, a = 944.760340, b = 152.522131\n", "epoch 2776: loss = 1719670.358107, a = 944.767657, b = 152.522126\n", "epoch 2777: loss = 1719670.288389, a = 944.774959, b = 152.522121\n", "epoch 2778: loss = 1719670.218916, a = 944.782247, b = 152.522117\n", "epoch 2779: loss = 1719670.149688, a = 944.789521, b = 152.522112\n", "epoch 2780: loss = 1719670.080704, a = 944.796779, b = 152.522108\n", "epoch 2781: loss = 1719670.011963, a = 944.804023, b = 152.522103\n", "epoch 2782: loss = 1719669.943464, a = 944.811253, b = 152.522098\n", "epoch 2783: loss = 1719669.875206, a = 944.818468, b = 152.522094\n", "epoch 2784: loss = 1719669.807189, a = 944.825669, b = 152.522089\n", "epoch 2785: loss = 1719669.739411, a = 944.832856, b = 152.522084\n", "epoch 2786: loss = 1719669.671871, a = 944.840028, b = 152.522080\n", "epoch 2787: loss = 1719669.604569, a = 944.847185, b = 152.522075\n", "epoch 2788: loss = 1719669.537504, a = 944.854329, b = 152.522071\n", "epoch 2789: loss = 1719669.470675, a = 944.861458, b = 152.522066\n", "epoch 2790: loss = 1719669.404081, a = 944.868573, b = 152.522062\n", "epoch 2791: loss = 1719669.337721, a = 944.875673, b = 152.522057\n", "epoch 2792: loss = 1719669.271594, a = 944.882760, b = 152.522053\n", "epoch 2793: loss = 1719669.205700, a = 944.889832, b = 152.522048\n", "epoch 2794: loss = 1719669.140037, a = 944.896890, b = 152.522044\n", "epoch 2795: loss = 1719669.074604, a = 944.903934, b = 152.522039\n", "epoch 2796: loss = 1719669.009402, a = 944.910964, b = 152.522035\n", "epoch 2797: loss = 1719668.944428, a = 944.917980, b = 152.522030\n", "epoch 2798: loss = 1719668.879683, a = 944.924982, b = 152.522026\n", "epoch 2799: loss = 1719668.815165, a = 944.931970, b = 152.522021\n", "epoch 2800: loss = 1719668.750873, a = 944.938943, b = 152.522017\n", "epoch 2801: loss = 1719668.686807, a = 944.945903, b = 152.522012\n", "epoch 2802: loss = 1719668.622965, a = 944.952849, b = 152.522008\n", "epoch 2803: loss = 1719668.559348, a = 944.959781, b = 152.522003\n", "epoch 2804: loss = 1719668.495953, a = 944.966700, b = 152.521999\n", "epoch 2805: loss = 1719668.432781, a = 944.973604, b = 152.521995\n", "epoch 2806: loss = 1719668.369830, a = 944.980495, b = 152.521990\n", "epoch 2807: loss = 1719668.307100, a = 944.987371, b = 152.521986\n", "epoch 2808: loss = 1719668.244589, a = 944.994234, b = 152.521981\n", "epoch 2809: loss = 1719668.182297, a = 945.001084, b = 152.521977\n", "epoch 2810: loss = 1719668.120224, a = 945.007919, b = 152.521973\n", "epoch 2811: loss = 1719668.058368, a = 945.014741, b = 152.521968\n", "epoch 2812: loss = 1719667.996728, a = 945.021550, b = 152.521964\n", "epoch 2813: loss = 1719667.935304, a = 945.028344, b = 152.521960\n", "epoch 2814: loss = 1719667.874095, a = 945.035126, b = 152.521955\n", "epoch 2815: loss = 1719667.813100, a = 945.041893, b = 152.521951\n", "epoch 2816: loss = 1719667.752318, a = 945.048647, b = 152.521947\n", "epoch 2817: loss = 1719667.691749, a = 945.055388, b = 152.521942\n", "epoch 2818: loss = 1719667.631391, a = 945.062115, b = 152.521938\n", "epoch 2819: loss = 1719667.571245, a = 945.068828, b = 152.521934\n", "epoch 2820: loss = 1719667.511309, a = 945.075529, b = 152.521929\n", "epoch 2821: loss = 1719667.451582, a = 945.082215, b = 152.521925\n", "epoch 2822: loss = 1719667.392063, a = 945.088889, b = 152.521921\n", "epoch 2823: loss = 1719667.332753, a = 945.095549, b = 152.521917\n", "epoch 2824: loss = 1719667.273649, a = 945.102196, b = 152.521912\n", "epoch 2825: loss = 1719667.214752, a = 945.108829, b = 152.521908\n", "epoch 2826: loss = 1719667.156061, a = 945.115449, b = 152.521904\n", "epoch 2827: loss = 1719667.097574, a = 945.122056, b = 152.521900\n", "epoch 2828: loss = 1719667.039291, a = 945.128650, b = 152.521896\n", "epoch 2829: loss = 1719666.981211, a = 945.135230, b = 152.521891\n", "epoch 2830: loss = 1719666.923334, a = 945.141798, b = 152.521887\n", "epoch 2831: loss = 1719666.865659, a = 945.148352, b = 152.521883\n", "epoch 2832: loss = 1719666.808185, a = 945.154893, b = 152.521879\n", "epoch 2833: loss = 1719666.750911, a = 945.161421, b = 152.521875\n", "epoch 2834: loss = 1719666.693836, a = 945.167936, b = 152.521870\n", "epoch 2835: loss = 1719666.636960, a = 945.174438, b = 152.521866\n", "epoch 2836: loss = 1719666.580283, a = 945.180927, b = 152.521862\n", "epoch 2837: loss = 1719666.523802, a = 945.187403, b = 152.521858\n", "epoch 2838: loss = 1719666.467519, a = 945.193866, b = 152.521854\n", "epoch 2839: loss = 1719666.411431, a = 945.200317, b = 152.521850\n", "epoch 2840: loss = 1719666.355538, a = 945.206754, b = 152.521846\n", "epoch 2841: loss = 1719666.299839, a = 945.213178, b = 152.521842\n", "epoch 2842: loss = 1719666.244335, a = 945.219590, b = 152.521837\n", "epoch 2843: loss = 1719666.189023, a = 945.225988, b = 152.521833\n", "epoch 2844: loss = 1719666.133903, a = 945.232374, b = 152.521829\n", "epoch 2845: loss = 1719666.078976, a = 945.238747, b = 152.521825\n", "epoch 2846: loss = 1719666.024238, a = 945.245108, b = 152.521821\n", "epoch 2847: loss = 1719665.969691, a = 945.251456, b = 152.521817\n", "epoch 2848: loss = 1719665.915334, a = 945.257791, b = 152.521813\n", "epoch 2849: loss = 1719665.861165, a = 945.264113, b = 152.521809\n", "epoch 2850: loss = 1719665.807184, a = 945.270423, b = 152.521805\n", "epoch 2851: loss = 1719665.753391, a = 945.276720, b = 152.521801\n", "epoch 2852: loss = 1719665.699784, a = 945.283004, b = 152.521797\n", "epoch 2853: loss = 1719665.646364, a = 945.289276, b = 152.521793\n", "epoch 2854: loss = 1719665.593128, a = 945.295535, b = 152.521789\n", "epoch 2855: loss = 1719665.540077, a = 945.301782, b = 152.521785\n", "epoch 2856: loss = 1719665.487210, a = 945.308016, b = 152.521781\n", "epoch 2857: loss = 1719665.434526, a = 945.314238, b = 152.521777\n", "epoch 2858: loss = 1719665.382025, a = 945.320448, b = 152.521773\n", "epoch 2859: loss = 1719665.329706, a = 945.326645, b = 152.521769\n", "epoch 2860: loss = 1719665.277568, a = 945.332829, b = 152.521765\n", "epoch 2861: loss = 1719665.225610, a = 945.339002, b = 152.521761\n", "epoch 2862: loss = 1719665.173832, a = 945.345162, b = 152.521757\n", "epoch 2863: loss = 1719665.122234, a = 945.351309, b = 152.521753\n", "epoch 2864: loss = 1719665.070814, a = 945.357445, b = 152.521749\n", "epoch 2865: loss = 1719665.019572, a = 945.363568, b = 152.521746\n", "epoch 2866: loss = 1719664.968507, a = 945.369678, b = 152.521742\n", "epoch 2867: loss = 1719664.917619, a = 945.375777, b = 152.521738\n", "epoch 2868: loss = 1719664.866907, a = 945.381863, b = 152.521734\n", "epoch 2869: loss = 1719664.816370, a = 945.387938, b = 152.521730\n", "epoch 2870: loss = 1719664.766007, a = 945.394000, b = 152.521726\n", "epoch 2871: loss = 1719664.715819, a = 945.400050, b = 152.521722\n", "epoch 2872: loss = 1719664.665804, a = 945.406087, b = 152.521718\n", "epoch 2873: loss = 1719664.615962, a = 945.412113, b = 152.521714\n", "epoch 2874: loss = 1719664.566291, a = 945.418127, b = 152.521711\n", "epoch 2875: loss = 1719664.516793, a = 945.424129, b = 152.521707\n", "epoch 2876: loss = 1719664.467465, a = 945.430118, b = 152.521703\n", "epoch 2877: loss = 1719664.418307, a = 945.436096, b = 152.521699\n", "epoch 2878: loss = 1719664.369319, a = 945.442062, b = 152.521695\n", "epoch 2879: loss = 1719664.320500, a = 945.448016, b = 152.521692\n", "epoch 2880: loss = 1719664.271849, a = 945.453958, b = 152.521688\n", "epoch 2881: loss = 1719664.223365, a = 945.459888, b = 152.521684\n", "epoch 2882: loss = 1719664.175049, a = 945.465806, b = 152.521680\n", "epoch 2883: loss = 1719664.126900, a = 945.471712, b = 152.521676\n", "epoch 2884: loss = 1719664.078916, a = 945.477607, b = 152.521673\n", "epoch 2885: loss = 1719664.031097, a = 945.483489, b = 152.521669\n", "epoch 2886: loss = 1719663.983443, a = 945.489360, b = 152.521665\n", "epoch 2887: loss = 1719663.935953, a = 945.495220, b = 152.521661\n", "epoch 2888: loss = 1719663.888627, a = 945.501067, b = 152.521658\n", "epoch 2889: loss = 1719663.841463, a = 945.506903, b = 152.521654\n", "epoch 2890: loss = 1719663.794462, a = 945.512727, b = 152.521650\n", "epoch 2891: loss = 1719663.747622, a = 945.518540, b = 152.521647\n", "epoch 2892: loss = 1719663.700944, a = 945.524341, b = 152.521643\n", "epoch 2893: loss = 1719663.654425, a = 945.530130, b = 152.521639\n", "epoch 2894: loss = 1719663.608067, a = 945.535908, b = 152.521635\n", "epoch 2895: loss = 1719663.561868, a = 945.541674, b = 152.521632\n", "epoch 2896: loss = 1719663.515827, a = 945.547429, b = 152.521628\n", "epoch 2897: loss = 1719663.469945, a = 945.553172, b = 152.521624\n", "epoch 2898: loss = 1719663.424220, a = 945.558903, b = 152.521621\n", "epoch 2899: loss = 1719663.378653, a = 945.564623, b = 152.521617\n", "epoch 2900: loss = 1719663.333241, a = 945.570332, b = 152.521613\n", "epoch 2901: loss = 1719663.287985, a = 945.576030, b = 152.521610\n", "epoch 2902: loss = 1719663.242885, a = 945.581716, b = 152.521606\n", "epoch 2903: loss = 1719663.197939, a = 945.587390, b = 152.521603\n", "epoch 2904: loss = 1719663.153148, a = 945.593053, b = 152.521599\n", "epoch 2905: loss = 1719663.108510, a = 945.598705, b = 152.521595\n", "epoch 2906: loss = 1719663.064024, a = 945.604346, b = 152.521592\n", "epoch 2907: loss = 1719663.019692, a = 945.609975, b = 152.521588\n", "epoch 2908: loss = 1719662.975511, a = 945.615593, b = 152.521585\n", "epoch 2909: loss = 1719662.931481, a = 945.621200, b = 152.521581\n", "epoch 2910: loss = 1719662.887602, a = 945.626796, b = 152.521577\n", "epoch 2911: loss = 1719662.843874, a = 945.632380, b = 152.521574\n", "epoch 2912: loss = 1719662.800295, a = 945.637953, b = 152.521570\n", "epoch 2913: loss = 1719662.756865, a = 945.643515, b = 152.521567\n", "epoch 2914: loss = 1719662.713583, a = 945.649066, b = 152.521563\n", "epoch 2915: loss = 1719662.670450, a = 945.654606, b = 152.521560\n", "epoch 2916: loss = 1719662.627464, a = 945.660135, b = 152.521556\n", "epoch 2917: loss = 1719662.584625, a = 945.665653, b = 152.521553\n", "epoch 2918: loss = 1719662.541932, a = 945.671160, b = 152.521549\n", "epoch 2919: loss = 1719662.499386, a = 945.676655, b = 152.521546\n", "epoch 2920: loss = 1719662.456984, a = 945.682140, b = 152.521542\n", "epoch 2921: loss = 1719662.414727, a = 945.687614, b = 152.521539\n", "epoch 2922: loss = 1719662.372615, a = 945.693077, b = 152.521535\n", "epoch 2923: loss = 1719662.330646, a = 945.698529, b = 152.521532\n", "epoch 2924: loss = 1719662.288821, a = 945.703970, b = 152.521528\n", "epoch 2925: loss = 1719662.247138, a = 945.709400, b = 152.521525\n", "epoch 2926: loss = 1719662.205597, a = 945.714819, b = 152.521521\n", "epoch 2927: loss = 1719662.164198, a = 945.720227, b = 152.521518\n", "epoch 2928: loss = 1719662.122941, a = 945.725625, b = 152.521514\n", "epoch 2929: loss = 1719662.081823, a = 945.731012, b = 152.521511\n", "epoch 2930: loss = 1719662.040846, a = 945.736388, b = 152.521507\n", "epoch 2931: loss = 1719662.000008, a = 945.741753, b = 152.521504\n", "epoch 2932: loss = 1719661.959310, a = 945.747108, b = 152.521501\n", "epoch 2933: loss = 1719661.918750, a = 945.752451, b = 152.521497\n", "epoch 2934: loss = 1719661.878328, a = 945.757785, b = 152.521494\n", "epoch 2935: loss = 1719661.838044, a = 945.763107, b = 152.521490\n", "epoch 2936: loss = 1719661.797896, a = 945.768419, b = 152.521487\n", "epoch 2937: loss = 1719661.757886, a = 945.773720, b = 152.521484\n", "epoch 2938: loss = 1719661.718011, a = 945.779011, b = 152.521480\n", "epoch 2939: loss = 1719661.678272, a = 945.784291, b = 152.521477\n", "epoch 2940: loss = 1719661.638668, a = 945.789560, b = 152.521473\n", "epoch 2941: loss = 1719661.599198, a = 945.794819, b = 152.521470\n", "epoch 2942: loss = 1719661.559863, a = 945.800068, b = 152.521467\n", "epoch 2943: loss = 1719661.520661, a = 945.805306, b = 152.521463\n", "epoch 2944: loss = 1719661.481592, a = 945.810533, b = 152.521460\n", "epoch 2945: loss = 1719661.442656, a = 945.815750, b = 152.521457\n", "epoch 2946: loss = 1719661.403852, a = 945.820957, b = 152.521453\n", "epoch 2947: loss = 1719661.365180, a = 945.826153, b = 152.521450\n", "epoch 2948: loss = 1719661.326639, a = 945.831339, b = 152.521447\n", "epoch 2949: loss = 1719661.288228, a = 945.836514, b = 152.521443\n", "epoch 2950: loss = 1719661.249948, a = 945.841679, b = 152.521440\n", "epoch 2951: loss = 1719661.211798, a = 945.846834, b = 152.521437\n", "epoch 2952: loss = 1719661.173777, a = 945.851978, b = 152.521434\n", "epoch 2953: loss = 1719661.135884, a = 945.857112, b = 152.521430\n", "epoch 2954: loss = 1719661.098120, a = 945.862236, b = 152.521427\n", "epoch 2955: loss = 1719661.060484, a = 945.867350, b = 152.521424\n", "epoch 2956: loss = 1719661.022975, a = 945.872453, b = 152.521420\n", "epoch 2957: loss = 1719660.985594, a = 945.877546, b = 152.521417\n", "epoch 2958: loss = 1719660.948338, a = 945.882629, b = 152.521414\n", "epoch 2959: loss = 1719660.911209, a = 945.887702, b = 152.521411\n", "epoch 2960: loss = 1719660.874205, a = 945.892765, b = 152.521408\n", "epoch 2961: loss = 1719660.837327, a = 945.897818, b = 152.521404\n", "epoch 2962: loss = 1719660.800573, a = 945.902860, b = 152.521401\n", "epoch 2963: loss = 1719660.763943, a = 945.907892, b = 152.521398\n", "epoch 2964: loss = 1719660.727437, a = 945.912915, b = 152.521395\n", "epoch 2965: loss = 1719660.691055, a = 945.917927, b = 152.521391\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "epoch 2966: loss = 1719660.654795, a = 945.922929, b = 152.521388\n", "epoch 2967: loss = 1719660.618658, a = 945.927922, b = 152.521385\n", "epoch 2968: loss = 1719660.582642, a = 945.932904, b = 152.521382\n", "epoch 2969: loss = 1719660.546748, a = 945.937876, b = 152.521379\n", "epoch 2970: loss = 1719660.510975, a = 945.942839, b = 152.521376\n", "epoch 2971: loss = 1719660.475323, a = 945.947791, b = 152.521372\n", "epoch 2972: loss = 1719660.439791, a = 945.952734, b = 152.521369\n", "epoch 2973: loss = 1719660.404379, a = 945.957666, b = 152.521366\n", "epoch 2974: loss = 1719660.369086, a = 945.962589, b = 152.521363\n", "epoch 2975: loss = 1719660.333912, a = 945.967502, b = 152.521360\n", "epoch 2976: loss = 1719660.298857, a = 945.972405, b = 152.521357\n", "epoch 2977: loss = 1719660.263920, a = 945.977298, b = 152.521354\n", "epoch 2978: loss = 1719660.229100, a = 945.982182, b = 152.521350\n", "epoch 2979: loss = 1719660.194397, a = 945.987056, b = 152.521347\n", "epoch 2980: loss = 1719660.159811, a = 945.991920, b = 152.521344\n", "epoch 2981: loss = 1719660.125342, a = 945.996774, b = 152.521341\n", "epoch 2982: loss = 1719660.090988, a = 946.001619, b = 152.521338\n", "epoch 2983: loss = 1719660.056750, a = 946.006454, b = 152.521335\n", "epoch 2984: loss = 1719660.022627, a = 946.011279, b = 152.521332\n", "epoch 2985: loss = 1719659.988619, a = 946.016094, b = 152.521329\n", "epoch 2986: loss = 1719659.954725, a = 946.020900, b = 152.521326\n", "epoch 2987: loss = 1719659.920945, a = 946.025697, b = 152.521323\n", "epoch 2988: loss = 1719659.887278, a = 946.030483, b = 152.521320\n", "epoch 2989: loss = 1719659.853724, a = 946.035261, b = 152.521316\n", "epoch 2990: loss = 1719659.820283, a = 946.040028, b = 152.521313\n", "epoch 2991: loss = 1719659.786954, a = 946.044786, b = 152.521310\n", "epoch 2992: loss = 1719659.753737, a = 946.049535, b = 152.521307\n", "epoch 2993: loss = 1719659.720631, a = 946.054274, b = 152.521304\n", "epoch 2994: loss = 1719659.687636, a = 946.059004, b = 152.521301\n", "epoch 2995: loss = 1719659.654752, a = 946.063724, b = 152.521298\n", "epoch 2996: loss = 1719659.621978, a = 946.068434, b = 152.521295\n", "epoch 2997: loss = 1719659.589314, a = 946.073136, b = 152.521292\n", "epoch 2998: loss = 1719659.556759, a = 946.077828, b = 152.521289\n", "epoch 2999: loss = 1719659.524314, a = 946.082510, b = 152.521286\n" ] }, { "data": { "image/png": "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c845x3G/0047jViZaiwzZsygoqLCVzs00WTagqVUkKmJxzT2aI8+AaSUSCl57bXXHPe9/fbbU9AiZ2bMmMFll11Gbm5uuptSr2msnm0myjo1zjQYjz4Z3tV9993Hsccey7HHHsuMcL6d9evX06lTJ6644gqOPfZYNmzYEFUw5O9//zudOnXi5JNPZujQodxzzz0ADB8+nLlz5wJGgZEJEybQo0cPunbtypo1awD46KOPOOmkkygoKKBPnz6sXWvvJVVWVnLJJZdw9NFHc/7551NZuffLdt1119GrVy+6dOnChAkTAHjggQf47rvv6N+/P/3791fup3GmsXq2KvlmumWdGnsahEefDO+qpKSEJ554gmXLliGl5MQTT+TUU0+lRYsWfPHFF8yaNYvevXtHHfPxxx8zb948VqxYQVVVFT169KBnz56W5z/ooIP45JNPePjhh7nnnnt47LHH6Ny5M++99x5NmjRh0aJF3HLLLXWZMa145JFHyM3NZfXq1axcuZIePXrUvXbHHXfQsmVLampqOP3001m5ciU33HAD9913H4sXL+aggw5S7tetWzdf96wx0Vg9W514rH7SIAx9olnzrHj//fc5//zz2WeffQAYMmQI7733HoMHD+awww6LM/IAS5Ys4bzzzqN58+Y0b96cc889V3n+IUOGANCzZ8+6dMbbt29n2LBhfPHFFwghqKqqsm3ju+++yw033ABAt27dogz0Cy+8wMyZM6murmbTpk18/vnnlgbc7X7JJNNUHG7a43bBUn3smx1a1umCzZvhzjuhaVO46650twZoIIY+1d6VafwTwUx3nJ2dTXV1NQC33nor/fv35+WXX2b9+vWcdtppvs799ddfc8899/Dxxx/TokULhg8fzq5du3zvl0wyLdbttj1uPNv62jcn9OpXBb/8AtOnwz33wM6dcO21ICUIke6WNYwYfTLihqeccgpFRUVUVFSwc+dOXn75ZU455RTbY/r27csrr7zCrl272LFjB6+++qqna27fvp38fOML9OSTTzruH5kK+bPPPqsrY/jzzz+zzz77cMABB/DDDz/w+uuv1x2z33778csvvzjulyoyLdbttj1uUurW175lAvVK0bRnD/zjH3D44TBhAvz61/DZZ/Dwwxlh5KGBePTJiBv26NGD4cOHc8IJJwBwzTXXUFBQwPr165XHHH/88Qwe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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "n_epoch = 3000 # epoch size\n", "a, b = 1, 1 # initial parameters\n", "epsilon = 0.001 # learning rate\n", "\n", "for i in range(n_epoch):\n", " for j in range(N):\n", " a = a + epsilon*2*(Y[j] - a*X[j] - b)*X[j]\n", " b = b + epsilon*2*(Y[j] - a*X[j] - b)\n", "\n", " L = 0\n", " for j in range(N):\n", " L = L + (Y[j]-a*X[j]-b)**2\n", " print(\"epoch %4d: loss = %f, a = %f, b = %f\" % (i, L, a, b))\n", " \n", "x_min = np.min(X)\n", "x_max = np.max(X)\n", "y_min = a * x_min + b\n", "y_max = a * x_max + b\n", "\n", "plt.scatter(X, Y, label='original data')\n", "plt.plot([x_min, x_max], [y_min, y_max], 'r', label='model')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## How to show the iterative process" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "/* Put everything inside the global mpl namespace */\n", "window.mpl = {};\n", "\n", "\n", "mpl.get_websocket_type = function() {\n", " if (typeof(WebSocket) !== 'undefined') {\n", " return WebSocket;\n", " } else if (typeof(MozWebSocket) !== 'undefined') {\n", " return MozWebSocket;\n", " } else {\n", " alert('Your browser does not have WebSocket support.' +\n", " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", " 'Firefox 4 and 5 are also supported but you ' +\n", " 'have to enable WebSockets in about:config.');\n", " };\n", "}\n", "\n", "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", " this.id = figure_id;\n", "\n", " this.ws = websocket;\n", "\n", " this.supports_binary = (this.ws.binaryType != undefined);\n", "\n", " if (!this.supports_binary) {\n", " var warnings = document.getElementById(\"mpl-warnings\");\n", " if (warnings) {\n", " warnings.style.display = 'block';\n", " warnings.textContent = (\n", " \"This browser does not support binary websocket messages. \" +\n", " \"Performance may be slow.\");\n", " }\n", " }\n", "\n", " this.imageObj = new Image();\n", "\n", " this.context = undefined;\n", " this.message = undefined;\n", " this.canvas = undefined;\n", " this.rubberband_canvas = undefined;\n", " this.rubberband_context = undefined;\n", " this.format_dropdown = undefined;\n", "\n", " this.image_mode = 'full';\n", "\n", " this.root = $('
');\n", " this._root_extra_style(this.root)\n", " this.root.attr('style', 'display: inline-block');\n", "\n", " $(parent_element).append(this.root);\n", "\n", " this._init_header(this);\n", " this._init_canvas(this);\n", " this._init_toolbar(this);\n", "\n", " var fig = this;\n", "\n", " this.waiting = false;\n", "\n", " this.ws.onopen = function () {\n", " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", " fig.send_message(\"send_image_mode\", {});\n", " if (mpl.ratio != 1) {\n", " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", " }\n", " fig.send_message(\"refresh\", {});\n", " }\n", "\n", " this.imageObj.onload = function() {\n", " if (fig.image_mode == 'full') {\n", " // Full images could contain transparency (where diff images\n", " // almost always do), so we need to clear the canvas so that\n", " // there is no ghosting.\n", " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", " }\n", " fig.context.drawImage(fig.imageObj, 0, 0);\n", " };\n", "\n", " this.imageObj.onunload = function() {\n", " fig.ws.close();\n", " }\n", "\n", " this.ws.onmessage = this._make_on_message_function(this);\n", "\n", " this.ondownload = ondownload;\n", "}\n", "\n", "mpl.figure.prototype._init_header = function() {\n", " var titlebar = $(\n", " '
');\n", " var titletext = $(\n", " '
');\n", " titlebar.append(titletext)\n", " this.root.append(titlebar);\n", " this.header = titletext[0];\n", "}\n", "\n", "\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "\n", "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "mpl.figure.prototype._init_canvas = function() {\n", " var fig = this;\n", "\n", " var canvas_div = $('
');\n", "\n", " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", "\n", " function canvas_keyboard_event(event) {\n", " return fig.key_event(event, event['data']);\n", " }\n", "\n", " canvas_div.keydown('key_press', canvas_keyboard_event);\n", " canvas_div.keyup('key_release', canvas_keyboard_event);\n", " this.canvas_div = canvas_div\n", " this._canvas_extra_style(canvas_div)\n", " this.root.append(canvas_div);\n", "\n", " var canvas = $('');\n", " canvas.addClass('mpl-canvas');\n", " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", "\n", " this.canvas = canvas[0];\n", " this.context = canvas[0].getContext(\"2d\");\n", "\n", " var backingStore = this.context.backingStorePixelRatio ||\n", "\tthis.context.webkitBackingStorePixelRatio ||\n", "\tthis.context.mozBackingStorePixelRatio ||\n", "\tthis.context.msBackingStorePixelRatio ||\n", "\tthis.context.oBackingStorePixelRatio ||\n", "\tthis.context.backingStorePixelRatio || 1;\n", "\n", " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", "\n", " var rubberband = $('');\n", " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", "\n", " var pass_mouse_events = true;\n", "\n", " canvas_div.resizable({\n", " start: function(event, ui) {\n", " pass_mouse_events = false;\n", " },\n", " resize: function(event, ui) {\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " stop: function(event, ui) {\n", " pass_mouse_events = true;\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " });\n", "\n", " function mouse_event_fn(event) {\n", " if (pass_mouse_events)\n", " return fig.mouse_event(event, event['data']);\n", " }\n", "\n", " rubberband.mousedown('button_press', mouse_event_fn);\n", " rubberband.mouseup('button_release', mouse_event_fn);\n", " // Throttle sequential mouse events to 1 every 20ms.\n", " rubberband.mousemove('motion_notify', mouse_event_fn);\n", "\n", " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", "\n", " canvas_div.on(\"wheel\", function (event) {\n", " event = event.originalEvent;\n", " event['data'] = 'scroll'\n", " if (event.deltaY < 0) {\n", " event.step = 1;\n", " } else {\n", " event.step = -1;\n", " }\n", " mouse_event_fn(event);\n", " });\n", "\n", " canvas_div.append(canvas);\n", " canvas_div.append(rubberband);\n", "\n", " this.rubberband = rubberband;\n", " this.rubberband_canvas = rubberband[0];\n", " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", " this.rubberband_context.strokeStyle = \"#000000\";\n", "\n", " this._resize_canvas = function(width, height) {\n", " // Keep the size of the canvas, canvas container, and rubber band\n", " // canvas in synch.\n", " canvas_div.css('width', width)\n", " canvas_div.css('height', height)\n", "\n", " canvas.attr('width', width * mpl.ratio);\n", " canvas.attr('height', height * mpl.ratio);\n", " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", "\n", " rubberband.attr('width', width);\n", " rubberband.attr('height', height);\n", " }\n", "\n", " // Set the figure to an initial 600x600px, this will subsequently be updated\n", " // upon first draw.\n", " this._resize_canvas(600, 600);\n", "\n", " // Disable right mouse context menu.\n", " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", " return false;\n", " });\n", "\n", " function set_focus () {\n", " canvas.focus();\n", " canvas_div.focus();\n", " }\n", "\n", " window.setTimeout(set_focus, 100);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('
')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items) {\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) {\n", " // put a spacer in here.\n", " continue;\n", " }\n", " var button = $('