Created
October 20, 2022 15:06
-
-
Save theptrk/cc83bb92e91a48b8ae97902d8576940e to your computer and use it in GitHub Desktop.
The spelled-out intro to neural networks - Part2.ipynb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"nbformat": 4, | |
"nbformat_minor": 0, | |
"metadata": { | |
"colab": { | |
"provenance": [], | |
"authorship_tag": "ABX9TyM0ebgSYDW+zer6wVhAlOmS", | |
"include_colab_link": true | |
}, | |
"kernelspec": { | |
"name": "python3", | |
"display_name": "Python 3" | |
}, | |
"language_info": { | |
"name": "python" | |
} | |
}, | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "view-in-github", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"<a href=\"https://colab.research.google.com/gist/theptrk/cc83bb92e91a48b8ae97902d8576940e/the-spelled-out-intro-to-neural-networks-part2.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"import math\n", | |
"import numpy as np\n", | |
"import matplotlib.pyplot as plt\n", | |
"%matplotlib inline" | |
], | |
"metadata": { | |
"id": "Kj58OFy0zLSD" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "2D5KnuHiy-dV" | |
}, | |
"outputs": [], | |
"source": [ | |
"class Value: \n", | |
"\n", | |
" def __init__(self, data, _children=(), _op='', label=''):\n", | |
" self.data = data\n", | |
" self.grad = 0.0\n", | |
" self._backward = lambda: None\n", | |
" self._prev = set(_children)\n", | |
" self._op = _op\n", | |
" self.label = label\n", | |
"\n", | |
" def __repr__(self):\n", | |
" return f\"Value(data={self.data})\"\n", | |
"\n", | |
" def __add__(self, other):\n", | |
" other = other if isinstance(other, Value) else Value(other)\n", | |
" out = Value(self.data + other.data, (self, other), '+')\n", | |
"\n", | |
" def _backward():\n", | |
" self.grad += 1 * out.grad \n", | |
" other.grad += 1 * out.grad \n", | |
" out._backward = _backward\n", | |
"\n", | |
" return out\n", | |
"\n", | |
" def __mul__(self, other):\n", | |
" other = other if isinstance(other, Value) else Value(other)\n", | |
" out = Value(self.data * other.data, (self, other), '*')\n", | |
" \n", | |
" def _backward():\n", | |
" self.grad += other.data * out.grad\n", | |
" other.grad += self.data * out.grad\n", | |
" out._backward = _backward\n", | |
"\n", | |
" return out\n", | |
"\n", | |
" def __pow__(self, other):\n", | |
" assert isinstance(other, (int, float)), \"only supporting int/float powers for now\"\n", | |
" out = Value(self.data**other, (self,), f'**{other}')\n", | |
"\n", | |
" def _backward():\n", | |
" self.grad += other * (self.data ** (other - 1)) * out.grad\n", | |
" out._backward = _backward\n", | |
"\n", | |
" return out\n", | |
"\n", | |
" def __rmul__(self, other): # other * self\n", | |
" return self * other\n", | |
"\n", | |
" def __truediv__(self, other): # self / other\n", | |
" return self * other**-1\n", | |
"\n", | |
" def __neg__(self): # -self\n", | |
" return self * -1\n", | |
"\n", | |
" def __sub__(self, other): # self - other\n", | |
" return self + (-other)\n", | |
" \n", | |
" def __radd__(self, other): # other + self\n", | |
" return self + other\n", | |
"\n", | |
"\n", | |
" def tanh(self):\n", | |
" x = self.data\n", | |
" t = (math.exp(2*x) - 1) / (math.exp(2*x) + 1)\n", | |
" out = Value(t, (self, ), 'tanh')\n", | |
"\n", | |
" def _backward():\n", | |
" self.grad += (1 - t**2) * out.grad \n", | |
" out._backward = _backward\n", | |
"\n", | |
" return out\n", | |
"\n", | |
" def exp(self):\n", | |
" x = self.data\n", | |
" out = Value(math.exp(x), (self, ), 'exp')\n", | |
" \n", | |
" def _backward():\n", | |
" self.grad += out.data * out.grad \n", | |
" # NOTE: in the video I incorrectly used = instead of +=. Fixed here.\n", | |
" out._backward = _backward\n", | |
" \n", | |
" return out\n", | |
" \n", | |
" def backward(self):\n", | |
" topo = []\n", | |
" visited = set()\n", | |
" def build_topo(v):\n", | |
" if v not in visited:\n", | |
" visited.add(v)\n", | |
" for child in v._prev:\n", | |
" build_topo(child)\n", | |
" topo.append(v)\n", | |
" build_topo(self)\n", | |
" \n", | |
" self.grad = 1.0\n", | |
" for node in reversed(topo):\n", | |
" node._backward()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"a = Value(2.0)\n", | |
"a-1" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "c31yZ_VEz3oS", | |
"outputId": "f4f027a7-6deb-4036-9a62-5524e8a32e18" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"Value(data=1.0)" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 5 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"from graphviz import Digraph\n", | |
"\n", | |
"def trace(root):\n", | |
" # builds a set of all nodes and edges in a graph\n", | |
" nodes, edges = set(), set()\n", | |
" def build(v):\n", | |
" if v not in nodes:\n", | |
" nodes.add(v)\n", | |
" for child in v._prev:\n", | |
" edges.add((child, v))\n", | |
" build(child)\n", | |
" build(root)\n", | |
" return nodes, edges\n", | |
"\n", | |
"def draw_dot(root):\n", | |
" dot = Digraph(format='svg', graph_attr={'rankdir': 'LR'}) # LR = left to right\n", | |
" \n", | |
" nodes, edges = trace(root)\n", | |
" for n in nodes:\n", | |
" uid = str(id(n))\n", | |
" # for any value in the graph, create a rectangular ('record') node for it\n", | |
" dot.node(name = uid, label = \"{%s | data %.4f | grad %.4f }\" % (n.label, n.data, n.grad ), shape='record')\n", | |
" if n._op:\n", | |
" # if this value is a result of some operation, create an op node for it\n", | |
" dot.node(name = uid + n._op, label = n._op)\n", | |
" # and connect this node to it\n", | |
" dot.edge(uid + n._op, uid)\n", | |
"\n", | |
" for n1, n2 in edges:\n", | |
" # connect n1 to the op node of n2\n", | |
" dot.edge(str(id(n1)), str(id(n2)) + n2._op)\n", | |
"\n", | |
" return dot" | |
], | |
"metadata": { | |
"id": "LPxCRM_-zDL3" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# inputs x1,x2\n", | |
"x1 = Value(2.0, label='x1')\n", | |
"x2 = Value(0.0, label='x2')\n", | |
"# weights w1,w2\n", | |
"w1 = Value(-3.0, label='w1')\n", | |
"w2 = Value(1.0, label='w2')\n", | |
"# bias of the neuron\n", | |
"b = Value(6.8813735870195432, label='b')\n", | |
"# x1*w1 + x2*w2 + b\n", | |
"x1w1 = x1*w1; x1w1.label = 'x1*w1'\n", | |
"x2w2 = x2*w2; x2w2.label = 'x2*w2'\n", | |
"x1w1x2w2 = x1w1 + x2w2; x1w1x2w2.label = 'x1*w1 + x2*w2'\n", | |
"n = x1w1x2w2 + b; n.label = 'n'\n", | |
"o = n.tanh(); o.label = 'o'\n", | |
"o.backward()" | |
], | |
"metadata": { | |
"id": "qqN6MJ9EzHc-" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"draw_dot(o)\n" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 321 | |
}, | |
"id": "UH-OkYCB5CNi", | |
"outputId": "28918831-0a9b-484a-f20c-d3a1154847fa" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"<graphviz.dot.Digraph at 0x7f30f7e14cd0>" | |
], | |
"image/svg+xml": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n -->\n<!-- Title: %3 Pages: 1 -->\n<svg width=\"1637pt\" height=\"210pt\"\n viewBox=\"0.00 0.00 1637.00 210.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 206)\">\n<title>%3</title>\n<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-206 1633,-206 1633,4 -4,4\"/>\n<!-- 139848299413072 -->\n<g id=\"node1\" class=\"node\">\n<title>139848299413072</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"339,-55.5 339,-91.5 568,-91.5 568,-55.5 339,-55.5\"/>\n<text text-anchor=\"middle\" x=\"367.5\" y=\"-69.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">x2*w2</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"396,-55.5 396,-91.5 \"/>\n<text text-anchor=\"middle\" x=\"438.5\" y=\"-69.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"481,-55.5 481,-91.5 \"/>\n<text text-anchor=\"middle\" x=\"524.5\" y=\"-69.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.5000</text>\n</g>\n<!-- 139848375018448+ -->\n<g id=\"node15\" class=\"node\">\n<title>139848375018448+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"633\" cy=\"-100.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"633\" y=\"-96.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848299413072->139848375018448+ -->\n<g id=\"edge7\" class=\"edge\">\n<title>139848299413072->139848375018448+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M568.1964,-90.7524C578.2591,-92.266 587.8673,-93.7112 596.4577,-95.0034\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"595.984,-98.4714 606.3934,-96.4979 597.0253,-91.5493 595.984,-98.4714\"/>\n</g>\n<!-- 139848299413072* -->\n<g id=\"node2\" class=\"node\">\n<title>139848299413072*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"274\" cy=\"-73.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"274\" y=\"-69.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848299413072*->139848299413072 -->\n<g id=\"edge1\" class=\"edge\">\n<title>139848299413072*->139848299413072</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M301.2622,-73.5C309.2798,-73.5 318.6183,-73.5 328.6514,-73.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"328.8929,-77.0001 338.8928,-73.5 328.8928,-70.0001 328.8929,-77.0001\"/>\n</g>\n<!-- 139848294242896 -->\n<g id=\"node3\" class=\"node\">\n<title>139848294242896</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"0,-165.5 0,-201.5 211,-201.5 211,-165.5 0,-165.5\"/>\n<text text-anchor=\"middle\" x=\"17.5\" y=\"-179.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">w1</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"35,-165.5 35,-201.5 \"/>\n<text text-anchor=\"middle\" x=\"79.5\" y=\"-179.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -3.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"124,-165.5 124,-201.5 \"/>\n<text text-anchor=\"middle\" x=\"167.5\" y=\"-179.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 1.0000</text>\n</g>\n<!-- 139848293893328* -->\n<g id=\"node10\" class=\"node\">\n<title>139848293893328*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"274\" cy=\"-128.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"274\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848294242896->139848293893328* -->\n<g id=\"edge8\" class=\"edge\">\n<title>139848294242896->139848293893328*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M182.3017,-165.4558C192.0361,-162.698 201.8026,-159.6955 211,-156.5 221.6243,-152.8088 232.9373,-148.0548 243.0021,-143.5155\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"244.5909,-146.6371 252.2061,-139.271 241.6594,-140.2805 244.5909,-146.6371\"/>\n</g>\n<!-- 139848374807504 -->\n<g id=\"node4\" class=\"node\">\n<title>139848374807504</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2,-55.5 2,-91.5 209,-91.5 209,-55.5 2,-55.5\"/>\n<text text-anchor=\"middle\" x=\"19.5\" y=\"-69.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">w2</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"37,-55.5 37,-91.5 \"/>\n<text text-anchor=\"middle\" x=\"79.5\" y=\"-69.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 1.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"122,-55.5 122,-91.5 \"/>\n<text text-anchor=\"middle\" x=\"165.5\" y=\"-69.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848374807504->139848299413072* -->\n<g id=\"edge9\" class=\"edge\">\n<title>139848374807504->139848299413072*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M209.3354,-73.5C219.0497,-73.5 228.3963,-73.5 236.8187,-73.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"236.951,-77.0001 246.9509,-73.5 236.9509,-70.0001 236.951,-77.0001\"/>\n</g>\n<!-- 139848374805136 -->\n<g id=\"node5\" class=\"node\">\n<title>139848374805136</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"742.5,-137.5 742.5,-173.5 938.5,-173.5 938.5,-137.5 742.5,-137.5\"/>\n<text text-anchor=\"middle\" x=\"754.5\" y=\"-151.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">b</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"766.5,-137.5 766.5,-173.5 \"/>\n<text text-anchor=\"middle\" x=\"809\" y=\"-151.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 6.8814</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"851.5,-137.5 851.5,-173.5 \"/>\n<text text-anchor=\"middle\" x=\"895\" y=\"-151.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.5000</text>\n</g>\n<!-- 139848402824400+ -->\n<g id=\"node8\" class=\"node\">\n<title>139848402824400+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1048\" cy=\"-127.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1048\" y=\"-123.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848374805136->139848402824400+ -->\n<g id=\"edge6\" class=\"edge\">\n<title>139848374805136->139848402824400+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M938.7811,-142.238C964.6496,-138.7473 990.9727,-135.1952 1011.2938,-132.4531\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1011.897,-135.9035 1021.3391,-131.0976 1010.9609,-128.9664 1011.897,-135.9035\"/>\n</g>\n<!-- 139848294544016 -->\n<g id=\"node6\" class=\"node\">\n<title>139848294544016</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"3.5,-.5 3.5,-36.5 207.5,-36.5 207.5,-.5 3.5,-.5\"/>\n<text text-anchor=\"middle\" x=\"19.5\" y=\"-14.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">x2</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"35.5,-.5 35.5,-36.5 \"/>\n<text text-anchor=\"middle\" x=\"78\" y=\"-14.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"120.5,-.5 120.5,-36.5 \"/>\n<text text-anchor=\"middle\" x=\"164\" y=\"-14.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.5000</text>\n</g>\n<!-- 139848294544016->139848299413072* -->\n<g id=\"edge13\" class=\"edge\">\n<title>139848294544016->139848299413072*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M179.1277,-36.5688C189.8946,-39.636 200.7889,-42.9778 211,-46.5 221.4855,-50.1168 232.6874,-54.6793 242.694,-59.0193\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"241.2981,-62.229 251.8592,-63.0741 244.1302,-55.8274 241.2981,-62.229\"/>\n</g>\n<!-- 139848402824400 -->\n<g id=\"node7\" class=\"node\">\n<title>139848402824400</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1111,-109.5 1111,-145.5 1307,-145.5 1307,-109.5 1111,-109.5\"/>\n<text text-anchor=\"middle\" x=\"1123\" y=\"-123.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">n</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1135,-109.5 1135,-145.5 \"/>\n<text text-anchor=\"middle\" x=\"1177.5\" y=\"-123.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.8814</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1220,-109.5 1220,-145.5 \"/>\n<text text-anchor=\"middle\" x=\"1263.5\" y=\"-123.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.5000</text>\n</g>\n<!-- 139848293698384tanh -->\n<g id=\"node12\" class=\"node\">\n<title>139848293698384tanh</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1370\" cy=\"-127.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1370\" y=\"-123.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">tanh</text>\n</g>\n<!-- 139848402824400->139848293698384tanh -->\n<g id=\"edge14\" class=\"edge\">\n<title>139848402824400->139848293698384tanh</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1307.2922,-127.5C1316.2042,-127.5 1324.8099,-127.5 1332.6423,-127.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1332.7996,-131.0001 1342.7995,-127.5 1332.7995,-124.0001 1332.7996,-131.0001\"/>\n</g>\n<!-- 139848402824400+->139848402824400 -->\n<g id=\"edge2\" class=\"edge\">\n<title>139848402824400+->139848402824400</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1075.3115,-127.5C1082.8223,-127.5 1091.4512,-127.5 1100.6318,-127.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1100.7835,-131.0001 1110.7835,-127.5 1100.7835,-124.0001 1100.7835,-131.0001\"/>\n</g>\n<!-- 139848293893328 -->\n<g id=\"node9\" class=\"node\">\n<title>139848293893328</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"337,-110.5 337,-146.5 570,-146.5 570,-110.5 337,-110.5\"/>\n<text text-anchor=\"middle\" x=\"365.5\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">x1*w1</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"394,-110.5 394,-146.5 \"/>\n<text text-anchor=\"middle\" x=\"438.5\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -6.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"483,-110.5 483,-146.5 \"/>\n<text text-anchor=\"middle\" x=\"526.5\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.5000</text>\n</g>\n<!-- 139848293893328->139848375018448+ -->\n<g id=\"edge12\" class=\"edge\">\n<title>139848293893328->139848375018448+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M568.9566,-110.4901C578.7184,-108.9673 588.037,-107.5137 596.3947,-106.21\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"597.0871,-109.6444 606.4281,-104.6449 596.0082,-102.7281 597.0871,-109.6444\"/>\n</g>\n<!-- 139848293893328*->139848293893328 -->\n<g id=\"edge3\" class=\"edge\">\n<title>139848293893328*->139848293893328</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M301.2622,-128.5C308.8324,-128.5 317.5801,-128.5 326.9781,-128.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"326.9853,-132.0001 336.9853,-128.5 326.9852,-125.0001 326.9853,-132.0001\"/>\n</g>\n<!-- 139848293698384 -->\n<g id=\"node11\" class=\"node\">\n<title>139848293698384</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1433,-109.5 1433,-145.5 1629,-145.5 1629,-109.5 1433,-109.5\"/>\n<text text-anchor=\"middle\" x=\"1445\" y=\"-123.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">o</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1457,-109.5 1457,-145.5 \"/>\n<text text-anchor=\"middle\" x=\"1499.5\" y=\"-123.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.7071</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1542,-109.5 1542,-145.5 \"/>\n<text text-anchor=\"middle\" x=\"1585.5\" y=\"-123.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 1.0000</text>\n</g>\n<!-- 139848293698384tanh->139848293698384 -->\n<g id=\"edge4\" class=\"edge\">\n<title>139848293698384tanh->139848293698384</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1397.3115,-127.5C1404.8223,-127.5 1413.4512,-127.5 1422.6318,-127.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1422.7835,-131.0001 1432.7835,-127.5 1422.7835,-124.0001 1422.7835,-131.0001\"/>\n</g>\n<!-- 139848294195024 -->\n<g id=\"node13\" class=\"node\">\n<title>139848294195024</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1,-110.5 1,-146.5 210,-146.5 210,-110.5 1,-110.5\"/>\n<text text-anchor=\"middle\" x=\"17\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">x1</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"33,-110.5 33,-146.5 \"/>\n<text text-anchor=\"middle\" x=\"75.5\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 2.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"118,-110.5 118,-146.5 \"/>\n<text text-anchor=\"middle\" x=\"164\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad -1.5000</text>\n</g>\n<!-- 139848294195024->139848293893328* -->\n<g id=\"edge10\" class=\"edge\">\n<title>139848294195024->139848293893328*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M210.2974,-128.5C219.6043,-128.5 228.5549,-128.5 236.6562,-128.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"236.7755,-132.0001 246.7754,-128.5 236.7754,-125.0001 236.7755,-132.0001\"/>\n</g>\n<!-- 139848375018448 -->\n<g id=\"node14\" class=\"node\">\n<title>139848375018448</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"696,-82.5 696,-118.5 985,-118.5 985,-82.5 696,-82.5\"/>\n<text text-anchor=\"middle\" x=\"752.5\" y=\"-96.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">x1*w1 + x2*w2</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"809,-82.5 809,-118.5 \"/>\n<text text-anchor=\"middle\" x=\"853.5\" y=\"-96.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -6.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"898,-82.5 898,-118.5 \"/>\n<text text-anchor=\"middle\" x=\"941.5\" y=\"-96.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.5000</text>\n</g>\n<!-- 139848375018448->139848402824400+ -->\n<g id=\"edge11\" class=\"edge\">\n<title>139848375018448->139848402824400+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M978.9055,-118.5094C990.5887,-120.0296 1001.6094,-121.4636 1011.2737,-122.7212\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1010.8271,-126.1925 1021.1952,-124.0121 1011.7304,-119.251 1010.8271,-126.1925\"/>\n</g>\n<!-- 139848375018448+->139848375018448 -->\n<g id=\"edge5\" class=\"edge\">\n<title>139848375018448+->139848375018448</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M660.127,-100.5C667.628,-100.5 676.3363,-100.5 685.7965,-100.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"685.9081,-104.0001 695.908,-100.5 685.908,-97.0001 685.9081,-104.0001\"/>\n</g>\n</g>\n</svg>\n" | |
}, | |
"metadata": {}, | |
"execution_count": 8 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# inputs x1,x2\n", | |
"x1 = Value(2.0, label='x1')\n", | |
"x2 = Value(0.0, label='x2')\n", | |
"# weights w1,w2\n", | |
"w1 = Value(-3.0, label='w1')\n", | |
"w2 = Value(1.0, label='w2')\n", | |
"# bias of the neuron\n", | |
"b = Value(6.8813735870195432, label='b')\n", | |
"# x1*w1 + x2*w2 + b\n", | |
"x1w1 = x1*w1; x1w1.label = 'x1*w1'\n", | |
"x2w2 = x2*w2; x2w2.label = 'x2*w2'\n", | |
"x1w1x2w2 = x1w1 + x2w2; x1w1x2w2.label = 'x1*w1 + x2*w2'\n", | |
"n = x1w1x2w2 + b; n.label = 'n'\n", | |
"# ----\n", | |
"e = (2*n).exp()\n", | |
"o = (e - 1) / (e + 1)\n", | |
"# ----\n", | |
"o.label = 'o'\n", | |
"o.backward()\n", | |
"draw_dot(o)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 356 | |
}, | |
"id": "so-iS4215CZE", | |
"outputId": "db5f403e-60fe-4d98-c0a8-acbd1f582b2c" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"<graphviz.dot.Digraph at 0x7f30f7d53290>" | |
], | |
"image/svg+xml": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n -->\n<!-- Title: %3 Pages: 1 -->\n<svg width=\"3057pt\" height=\"236pt\"\n viewBox=\"0.00 0.00 3057.00 236.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 232)\">\n<title>%3</title>\n<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-232 3053,-232 3053,4 -4,4\"/>\n<!-- 139848293102160 -->\n<g id=\"node1\" class=\"node\">\n<title>139848293102160</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1753.5,-136.5 1753.5,-172.5 1945.5,-172.5 1945.5,-136.5 1753.5,-136.5\"/>\n<text text-anchor=\"middle\" x=\"1763.5\" y=\"-150.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1773.5,-136.5 1773.5,-172.5 \"/>\n<text text-anchor=\"middle\" x=\"1816\" y=\"-150.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 5.8284</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1858.5,-136.5 1858.5,-172.5 \"/>\n<text text-anchor=\"middle\" x=\"1902\" y=\"-150.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0429</text>\n</g>\n<!-- 139848293102800+ -->\n<g id=\"node15\" class=\"node\">\n<title>139848293102800+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2011\" cy=\"-126.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2011\" y=\"-122.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848293102160->139848293102800+ -->\n<g id=\"edge18\" class=\"edge\">\n<title>139848293102160->139848293102800+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1945.7773,-137.808C1956.0703,-136.0234 1966.0136,-134.2995 1974.9036,-132.7582\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1975.5587,-136.1969 1984.8137,-131.04 1974.3628,-129.2998 1975.5587,-136.1969\"/>\n</g>\n<!-- 139848293102480+ -->\n<g id=\"node24\" class=\"node\">\n<title>139848293102480+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2011\" cy=\"-181.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2011\" y=\"-177.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848293102160->139848293102480+ -->\n<g id=\"edge19\" class=\"edge\">\n<title>139848293102160->139848293102480+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1945.7773,-170.5959C1955.8624,-172.2819 1965.6117,-173.9119 1974.3636,-175.375\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1974.0594,-178.8727 1984.4997,-177.0696 1975.2137,-171.9685 1974.0594,-178.8727\"/>\n</g>\n<!-- 139848293102160exp -->\n<g id=\"node2\" class=\"node\">\n<title>139848293102160exp</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1688\" cy=\"-154.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1688\" y=\"-150.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">exp</text>\n</g>\n<!-- 139848293102160exp->139848293102160 -->\n<g id=\"edge1\" class=\"edge\">\n<title>139848293102160exp->139848293102160</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1715.0315,-154.5C1723.3333,-154.5 1733.0215,-154.5 1743.3247,-154.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1743.3664,-158.0001 1753.3663,-154.5 1743.3663,-151.0001 1743.3664,-158.0001\"/>\n</g>\n<!-- 139848293100624 -->\n<g id=\"node3\" class=\"node\">\n<title>139848293100624</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"742.5,-137.5 742.5,-173.5 938.5,-173.5 938.5,-137.5 742.5,-137.5\"/>\n<text text-anchor=\"middle\" x=\"754.5\" y=\"-151.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">b</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"766.5,-137.5 766.5,-173.5 \"/>\n<text text-anchor=\"middle\" x=\"809\" y=\"-151.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 6.8814</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"851.5,-137.5 851.5,-173.5 \"/>\n<text text-anchor=\"middle\" x=\"895\" y=\"-151.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.5000</text>\n</g>\n<!-- 139848293101520+ -->\n<g id=\"node28\" class=\"node\">\n<title>139848293101520+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1048\" cy=\"-127.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1048\" y=\"-123.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848293100624->139848293101520+ -->\n<g id=\"edge28\" class=\"edge\">\n<title>139848293100624->139848293101520+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M938.7811,-142.238C964.6496,-138.7473 990.9727,-135.1952 1011.2938,-132.4531\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1011.897,-135.9035 1021.3391,-131.0976 1010.9609,-128.9664 1011.897,-135.9035\"/>\n</g>\n<!-- 139848293100496 -->\n<g id=\"node4\" class=\"node\">\n<title>139848293100496</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2,-165.5 2,-201.5 209,-201.5 209,-165.5 2,-165.5\"/>\n<text text-anchor=\"middle\" x=\"19.5\" y=\"-179.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">w2</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"37,-165.5 37,-201.5 \"/>\n<text text-anchor=\"middle\" x=\"79.5\" y=\"-179.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 1.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"122,-165.5 122,-201.5 \"/>\n<text text-anchor=\"middle\" x=\"165.5\" y=\"-179.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848293101008* -->\n<g id=\"node6\" class=\"node\">\n<title>139848293101008*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"274\" cy=\"-128.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"274\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848293100496->139848293101008* -->\n<g id=\"edge15\" class=\"edge\">\n<title>139848293100496->139848293101008*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M182.3017,-165.4558C192.0361,-162.698 201.8026,-159.6955 211,-156.5 221.6243,-152.8088 232.9373,-148.0548 243.0021,-143.5155\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"244.5909,-146.6371 252.2061,-139.271 241.6594,-140.2805 244.5909,-146.6371\"/>\n</g>\n<!-- 139848293101008 -->\n<g id=\"node5\" class=\"node\">\n<title>139848293101008</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"339,-110.5 339,-146.5 568,-146.5 568,-110.5 339,-110.5\"/>\n<text text-anchor=\"middle\" x=\"367.5\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">x2*w2</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"396,-110.5 396,-146.5 \"/>\n<text text-anchor=\"middle\" x=\"438.5\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"481,-110.5 481,-146.5 \"/>\n<text text-anchor=\"middle\" x=\"524.5\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.5000</text>\n</g>\n<!-- 139848293101264+ -->\n<g id=\"node12\" class=\"node\">\n<title>139848293101264+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"633\" cy=\"-100.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"633\" y=\"-96.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848293101008->139848293101264+ -->\n<g id=\"edge25\" class=\"edge\">\n<title>139848293101008->139848293101264+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M568.1964,-110.6086C578.3568,-109.0237 588.0538,-107.5111 596.7076,-106.1612\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"597.3659,-109.6009 606.7069,-104.6014 596.2869,-102.6846 597.3659,-109.6009\"/>\n</g>\n<!-- 139848293101008*->139848293101008 -->\n<g id=\"edge2\" class=\"edge\">\n<title>139848293101008*->139848293101008</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M301.2622,-128.5C309.2798,-128.5 318.6183,-128.5 328.6514,-128.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"328.8929,-132.0001 338.8928,-128.5 328.8928,-125.0001 328.8929,-132.0001\"/>\n</g>\n<!-- 139848293100176 -->\n<g id=\"node7\" class=\"node\">\n<title>139848293100176</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"3.5,-110.5 3.5,-146.5 207.5,-146.5 207.5,-110.5 3.5,-110.5\"/>\n<text text-anchor=\"middle\" x=\"19.5\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">x2</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"35.5,-110.5 35.5,-146.5 \"/>\n<text text-anchor=\"middle\" x=\"78\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"120.5,-110.5 120.5,-146.5 \"/>\n<text text-anchor=\"middle\" x=\"164\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.5000</text>\n</g>\n<!-- 139848293100176->139848293101008* -->\n<g id=\"edge21\" class=\"edge\">\n<title>139848293100176->139848293101008*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M207.888,-128.5C218.0786,-128.5 227.8975,-128.5 236.7094,-128.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"236.9159,-132.0001 246.9159,-128.5 236.9158,-125.0001 236.9159,-132.0001\"/>\n</g>\n<!-- 139848293102736 -->\n<g id=\"node8\" class=\"node\">\n<title>139848293102736</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1751,-81.5 1751,-117.5 1948,-117.5 1948,-81.5 1751,-81.5\"/>\n<text text-anchor=\"middle\" x=\"1761\" y=\"-95.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1771,-81.5 1771,-117.5 \"/>\n<text text-anchor=\"middle\" x=\"1813.5\" y=\"-95.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 1.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1856,-81.5 1856,-117.5 \"/>\n<text text-anchor=\"middle\" x=\"1902\" y=\"-95.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad -0.1036</text>\n</g>\n<!-- 139848293102736->139848293102800+ -->\n<g id=\"edge13\" class=\"edge\">\n<title>139848293102736->139848293102800+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1948.0974,-115.9838C1957.4127,-117.5411 1966.3943,-119.0427 1974.5123,-120.3999\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1974.2018,-123.8965 1984.6421,-122.0934 1975.3562,-116.9923 1974.2018,-123.8965\"/>\n</g>\n<!-- 139848293103056 -->\n<g id=\"node9\" class=\"node\">\n<title>139848293103056</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2535,-112.5 2535,-148.5 2727,-148.5 2727,-112.5 2535,-112.5\"/>\n<text text-anchor=\"middle\" x=\"2545\" y=\"-126.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2555,-112.5 2555,-148.5 \"/>\n<text text-anchor=\"middle\" x=\"2597.5\" y=\"-126.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.1464</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2640,-112.5 2640,-148.5 \"/>\n<text text-anchor=\"middle\" x=\"2683.5\" y=\"-126.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 4.8284</text>\n</g>\n<!-- 139848293103376* -->\n<g id=\"node18\" class=\"node\">\n<title>139848293103376*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2790\" cy=\"-153.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2790\" y=\"-149.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848293103056->139848293103376* -->\n<g id=\"edge12\" class=\"edge\">\n<title>139848293103056->139848293103376*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2727.159,-144.4098C2736.3446,-145.7385 2745.2195,-147.0223 2753.263,-148.1858\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2752.9161,-151.672 2763.3142,-149.6398 2753.9183,-144.7441 2752.9161,-151.672\"/>\n</g>\n<!-- 139848293103056**-1 -->\n<g id=\"node10\" class=\"node\">\n<title>139848293103056**-1</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2403\" cy=\"-126.5\" rx=\"28.6953\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2403\" y=\"-122.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">**-1</text>\n</g>\n<!-- 139848293103056**-1->139848293103056 -->\n<g id=\"edge3\" class=\"edge\">\n<title>139848293103056**-1->139848293103056</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2431.8764,-127.0066C2455.5427,-127.4218 2490.5807,-128.0365 2524.6954,-128.635\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2524.6994,-132.1355 2534.7593,-128.8116 2524.8222,-125.1366 2524.6994,-132.1355\"/>\n</g>\n<!-- 139848293101264 -->\n<g id=\"node11\" class=\"node\">\n<title>139848293101264</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"696,-82.5 696,-118.5 985,-118.5 985,-82.5 696,-82.5\"/>\n<text text-anchor=\"middle\" x=\"752.5\" y=\"-96.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">x1*w1 + x2*w2</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"809,-82.5 809,-118.5 \"/>\n<text text-anchor=\"middle\" x=\"853.5\" y=\"-96.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -6.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"898,-82.5 898,-118.5 \"/>\n<text text-anchor=\"middle\" x=\"941.5\" y=\"-96.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.5000</text>\n</g>\n<!-- 139848293101264->139848293101520+ -->\n<g id=\"edge23\" class=\"edge\">\n<title>139848293101264->139848293101520+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M978.9055,-118.5094C990.5887,-120.0296 1001.6094,-121.4636 1011.2737,-122.7212\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1010.8271,-126.1925 1021.1952,-124.0121 1011.7304,-119.251 1010.8271,-126.1925\"/>\n</g>\n<!-- 139848293101264+->139848293101264 -->\n<g id=\"edge4\" class=\"edge\">\n<title>139848293101264+->139848293101264</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M660.127,-100.5C667.628,-100.5 676.3363,-100.5 685.7965,-100.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"685.9081,-104.0001 695.908,-100.5 685.908,-97.0001 685.9081,-104.0001\"/>\n</g>\n<!-- 139848293100240 -->\n<g id=\"node13\" class=\"node\">\n<title>139848293100240</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1,-55.5 1,-91.5 210,-91.5 210,-55.5 1,-55.5\"/>\n<text text-anchor=\"middle\" x=\"17\" y=\"-69.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">x1</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"33,-55.5 33,-91.5 \"/>\n<text text-anchor=\"middle\" x=\"75.5\" y=\"-69.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 2.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"118,-55.5 118,-91.5 \"/>\n<text text-anchor=\"middle\" x=\"164\" y=\"-69.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad -1.5000</text>\n</g>\n<!-- 139848293100432* -->\n<g id=\"node20\" class=\"node\">\n<title>139848293100432*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"274\" cy=\"-73.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"274\" y=\"-69.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848293100240->139848293100432* -->\n<g id=\"edge17\" class=\"edge\">\n<title>139848293100240->139848293100432*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M210.2974,-73.5C219.6043,-73.5 228.5549,-73.5 236.6562,-73.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"236.7755,-77.0001 246.7754,-73.5 236.7754,-70.0001 236.7755,-77.0001\"/>\n</g>\n<!-- 139848293102800 -->\n<g id=\"node14\" class=\"node\">\n<title>139848293102800</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2074,-108.5 2074,-144.5 2271,-144.5 2271,-108.5 2074,-108.5\"/>\n<text text-anchor=\"middle\" x=\"2084\" y=\"-122.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2094,-108.5 2094,-144.5 \"/>\n<text text-anchor=\"middle\" x=\"2136.5\" y=\"-122.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 6.8284</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2179,-108.5 2179,-144.5 \"/>\n<text text-anchor=\"middle\" x=\"2225\" y=\"-122.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad -0.1036</text>\n</g>\n<!-- 139848293102800->139848293103056**-1 -->\n<g id=\"edge27\" class=\"edge\">\n<title>139848293102800->139848293103056**-1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2271.2558,-126.5C2304.1184,-126.5 2338.8079,-126.5 2364.3374,-126.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2364.3393,-130.0001 2374.3393,-126.5 2364.3392,-123.0001 2364.3393,-130.0001\"/>\n</g>\n<!-- 139848293102800+->139848293102800 -->\n<g id=\"edge5\" class=\"edge\">\n<title>139848293102800+->139848293102800</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2038.0315,-126.5C2045.6149,-126.5 2054.3553,-126.5 2063.6644,-126.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2063.9613,-130.0001 2073.9613,-126.5 2063.9613,-123.0001 2063.9613,-130.0001\"/>\n</g>\n<!-- 139848293102352 -->\n<g id=\"node16\" class=\"node\">\n<title>139848293102352</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1751.5,-191.5 1751.5,-227.5 1947.5,-227.5 1947.5,-191.5 1751.5,-191.5\"/>\n<text text-anchor=\"middle\" x=\"1761.5\" y=\"-205.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1771.5,-191.5 1771.5,-227.5 \"/>\n<text text-anchor=\"middle\" x=\"1816\" y=\"-205.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -1.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1860.5,-191.5 1860.5,-227.5 \"/>\n<text text-anchor=\"middle\" x=\"1904\" y=\"-205.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.1464</text>\n</g>\n<!-- 139848293102352->139848293102480+ -->\n<g id=\"edge22\" class=\"edge\">\n<title>139848293102352->139848293102480+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1947.6344,-192.486C1957.2015,-190.8273 1966.4268,-189.2279 1974.738,-187.7869\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1975.4785,-191.2108 1984.7336,-186.0539 1974.2827,-184.3137 1975.4785,-191.2108\"/>\n</g>\n<!-- 139848293103376 -->\n<g id=\"node17\" class=\"node\">\n<title>139848293103376</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2853,-135.5 2853,-171.5 3049,-171.5 3049,-135.5 2853,-135.5\"/>\n<text text-anchor=\"middle\" x=\"2865\" y=\"-149.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">o</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2877,-135.5 2877,-171.5 \"/>\n<text text-anchor=\"middle\" x=\"2919.5\" y=\"-149.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.7071</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2962,-135.5 2962,-171.5 \"/>\n<text text-anchor=\"middle\" x=\"3005.5\" y=\"-149.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 1.0000</text>\n</g>\n<!-- 139848293103376*->139848293103376 -->\n<g id=\"edge6\" class=\"edge\">\n<title>139848293103376*->139848293103376</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2817.3115,-153.5C2824.8223,-153.5 2833.4512,-153.5 2842.6318,-153.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2842.7835,-157.0001 2852.7835,-153.5 2842.7835,-150.0001 2842.7835,-157.0001\"/>\n</g>\n<!-- 139848293100432 -->\n<g id=\"node19\" class=\"node\">\n<title>139848293100432</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"337,-55.5 337,-91.5 570,-91.5 570,-55.5 337,-55.5\"/>\n<text text-anchor=\"middle\" x=\"365.5\" y=\"-69.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">x1*w1</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"394,-55.5 394,-91.5 \"/>\n<text text-anchor=\"middle\" x=\"438.5\" y=\"-69.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -6.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"483,-55.5 483,-91.5 \"/>\n<text text-anchor=\"middle\" x=\"526.5\" y=\"-69.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.5000</text>\n</g>\n<!-- 139848293100432->139848293101264+ -->\n<g id=\"edge20\" class=\"edge\">\n<title>139848293100432->139848293101264+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M570.2196,-91.0567C579.5315,-92.4574 588.4163,-93.7938 596.4192,-94.9976\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"595.984,-98.4714 606.3934,-96.4979 597.0253,-91.5493 595.984,-98.4714\"/>\n</g>\n<!-- 139848293100432*->139848293100432 -->\n<g id=\"edge7\" class=\"edge\">\n<title>139848293100432*->139848293100432</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M301.2622,-73.5C308.8324,-73.5 317.5801,-73.5 326.9781,-73.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"326.9853,-77.0001 336.9853,-73.5 326.9852,-70.0001 326.9853,-77.0001\"/>\n</g>\n<!-- 139848293100304 -->\n<g id=\"node21\" class=\"node\">\n<title>139848293100304</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"0,-.5 0,-36.5 211,-36.5 211,-.5 0,-.5\"/>\n<text text-anchor=\"middle\" x=\"17.5\" y=\"-14.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">w1</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"35,-.5 35,-36.5 \"/>\n<text text-anchor=\"middle\" x=\"79.5\" y=\"-14.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -3.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"124,-.5 124,-36.5 \"/>\n<text text-anchor=\"middle\" x=\"167.5\" y=\"-14.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 1.0000</text>\n</g>\n<!-- 139848293100304->139848293100432* -->\n<g id=\"edge24\" class=\"edge\">\n<title>139848293100304->139848293100432*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M182.3017,-36.5442C192.0361,-39.302 201.8026,-42.3045 211,-45.5 221.6243,-49.1912 232.9373,-53.9452 243.0021,-58.4845\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"241.6594,-61.7195 252.2061,-62.729 244.5909,-55.3629 241.6594,-61.7195\"/>\n</g>\n<!-- 139848293101904 -->\n<g id=\"node22\" class=\"node\">\n<title>139848293101904</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1113,-164.5 1113,-200.5 1305,-200.5 1305,-164.5 1113,-164.5\"/>\n<text text-anchor=\"middle\" x=\"1123\" y=\"-178.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1133,-164.5 1133,-200.5 \"/>\n<text text-anchor=\"middle\" x=\"1175.5\" y=\"-178.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 2.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1218,-164.5 1218,-200.5 \"/>\n<text text-anchor=\"middle\" x=\"1261.5\" y=\"-178.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.2203</text>\n</g>\n<!-- 139848293101968* -->\n<g id=\"node26\" class=\"node\">\n<title>139848293101968*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1370\" cy=\"-154.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1370\" y=\"-150.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848293101904->139848293101968* -->\n<g id=\"edge11\" class=\"edge\">\n<title>139848293101904->139848293101968*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1305.4428,-165.7273C1315.4412,-163.9885 1325.0978,-162.3091 1333.7618,-160.8023\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1334.5415,-164.2193 1343.7939,-159.0576 1333.342,-157.3228 1334.5415,-164.2193\"/>\n</g>\n<!-- 139848293102480 -->\n<g id=\"node23\" class=\"node\">\n<title>139848293102480</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2307,-163.5 2307,-199.5 2499,-199.5 2499,-163.5 2307,-163.5\"/>\n<text text-anchor=\"middle\" x=\"2317\" y=\"-177.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2327,-163.5 2327,-199.5 \"/>\n<text text-anchor=\"middle\" x=\"2369.5\" y=\"-177.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 4.8284</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2412,-163.5 2412,-199.5 \"/>\n<text text-anchor=\"middle\" x=\"2455.5\" y=\"-177.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.1464</text>\n</g>\n<!-- 139848293102480->139848293103376* -->\n<g id=\"edge14\" class=\"edge\">\n<title>139848293102480->139848293103376*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2499.0652,-174.8912C2563.543,-170.4036 2650.3827,-164.2597 2727,-158.5 2735.4007,-157.8685 2744.4294,-157.166 2752.9537,-156.4919\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2753.3345,-159.9728 2763.0253,-155.6905 2752.7792,-152.9949 2753.3345,-159.9728\"/>\n</g>\n<!-- 139848293102480+->139848293102480 -->\n<g id=\"edge8\" class=\"edge\">\n<title>139848293102480+->139848293102480</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2038.2535,-181.5C2090.8629,-181.5 2208.9488,-181.5 2296.5875,-181.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2296.8483,-185.0001 2306.8482,-181.5 2296.8482,-178.0001 2296.8483,-185.0001\"/>\n</g>\n<!-- 139848293101968 -->\n<g id=\"node25\" class=\"node\">\n<title>139848293101968</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1433,-136.5 1433,-172.5 1625,-172.5 1625,-136.5 1433,-136.5\"/>\n<text text-anchor=\"middle\" x=\"1443\" y=\"-150.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1453,-136.5 1453,-172.5 \"/>\n<text text-anchor=\"middle\" x=\"1495.5\" y=\"-150.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 1.7627</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1538,-136.5 1538,-172.5 \"/>\n<text text-anchor=\"middle\" x=\"1581.5\" y=\"-150.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.2500</text>\n</g>\n<!-- 139848293101968->139848293102160exp -->\n<g id=\"edge16\" class=\"edge\">\n<title>139848293101968->139848293102160exp</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1625.159,-154.5C1634.0615,-154.5 1642.6722,-154.5 1650.517,-154.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1650.6952,-158.0001 1660.6952,-154.5 1650.6951,-151.0001 1650.6952,-158.0001\"/>\n</g>\n<!-- 139848293101968*->139848293101968 -->\n<g id=\"edge9\" class=\"edge\">\n<title>139848293101968*->139848293101968</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1397.3331,-154.5C1404.8317,-154.5 1413.4389,-154.5 1422.5849,-154.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1422.6939,-158.0001 1432.6939,-154.5 1422.6939,-151.0001 1422.6939,-158.0001\"/>\n</g>\n<!-- 139848293101520 -->\n<g id=\"node27\" class=\"node\">\n<title>139848293101520</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1111,-109.5 1111,-145.5 1307,-145.5 1307,-109.5 1111,-109.5\"/>\n<text text-anchor=\"middle\" x=\"1123\" y=\"-123.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">n</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1135,-109.5 1135,-145.5 \"/>\n<text text-anchor=\"middle\" x=\"1177.5\" y=\"-123.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.8814</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1220,-109.5 1220,-145.5 \"/>\n<text text-anchor=\"middle\" x=\"1263.5\" y=\"-123.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.5000</text>\n</g>\n<!-- 139848293101520->139848293101968* -->\n<g id=\"edge26\" class=\"edge\">\n<title>139848293101520->139848293101968*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1307.2922,-143.9838C1316.5786,-145.5411 1325.5324,-147.0427 1333.6253,-148.3999\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1333.2825,-151.8912 1343.7237,-150.0934 1334.4403,-144.9876 1333.2825,-151.8912\"/>\n</g>\n<!-- 139848293101520+->139848293101520 -->\n<g id=\"edge10\" class=\"edge\">\n<title>139848293101520+->139848293101520</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1075.3115,-127.5C1082.8223,-127.5 1091.4512,-127.5 1100.6318,-127.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1100.7835,-131.0001 1110.7835,-127.5 1100.7835,-124.0001 1100.7835,-131.0001\"/>\n</g>\n</g>\n</svg>\n" | |
}, | |
"metadata": {}, | |
"execution_count": 9 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"import random\n", | |
"\n", | |
"class Neuron:\n", | |
" \n", | |
" def __init__(self, nin):\n", | |
" self.w = [Value(random.uniform(-1,1)) for _ in range(nin)]\n", | |
" self.b = Value(random.uniform(-1,1))\n", | |
" \n", | |
" def __call__(self, x):\n", | |
" # w * x + b\n", | |
" sum_plus_bias = sum((wi*xi for wi, xi in zip(self.w, x)), self.b)\n", | |
" out = sum_plus_bias.tanh()\n", | |
" return out\n", | |
" \n", | |
" def parameters(self):\n", | |
" return self.w + [self.b]\n", | |
"\n", | |
"class Layer:\n", | |
" \n", | |
" def __init__(self, nin, nout):\n", | |
" self.neurons = [Neuron(nin) for _ in range(nout)]\n", | |
" \n", | |
" def __call__(self, x):\n", | |
" outs = [n(x) for n in self.neurons]\n", | |
" return outs[0] if len(outs) == 1 else outs\n", | |
" \n", | |
" def parameters(self):\n", | |
" return [p for neuron in self.neurons for p in neuron.parameters()]\n", | |
"\n", | |
"class MLP:\n", | |
" \n", | |
" def __init__(self, nin, nouts):\n", | |
" sz = [nin] + nouts\n", | |
" self.layers = [Layer(sz[i], sz[i+1]) for i in range(len(nouts))]\n", | |
" \n", | |
" def __call__(self, x):\n", | |
" for layer in self.layers:\n", | |
" x = layer(x)\n", | |
" return x\n", | |
" \n", | |
" def parameters(self):\n", | |
" return [p for layer in self.layers for p in layer.parameters()]" | |
], | |
"metadata": { | |
"id": "Y8a0bopQ5Izh" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"x = [2.0, 3.0, -1.0]\n", | |
"\n", | |
"# n = Neuron(3)\n", | |
"# n(x)\n", | |
"\n", | |
"# l = Layer(3,3)\n", | |
"# l(x)\n", | |
"\n", | |
"mlp = MLP(3, [4,4,1])\n", | |
"mlp(x)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "HcALFlENxvFc", | |
"outputId": "ea64d0ce-62b4-46d5-c934-0d39ac0f2590" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"Value(data=-0.5901895180839163)" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 56 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"draw_dot(mlp(x))" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 1000 | |
}, | |
"id": "Y5iZ4EUpyCHY", | |
"outputId": "8be86a4d-5b10-45c1-de61-16e7e990f8fb" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"<graphviz.dot.Digraph at 0x7f30eec8a890>" | |
], | |
"image/svg+xml": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n -->\n<!-- Title: %3 Pages: 1 -->\n<svg width=\"5954pt\" height=\"1035pt\"\n viewBox=\"0.00 0.00 5954.00 1035.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 1031)\">\n<title>%3</title>\n<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-1031 5950,-1031 5950,4 -4,4\"/>\n<!-- 139848140595280 -->\n<g id=\"node1\" class=\"node\">\n<title>139848140595280</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1288,-818.5 1288,-854.5 1484,-854.5 1484,-818.5 1288,-818.5\"/>\n<text text-anchor=\"middle\" x=\"1298\" y=\"-832.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1308,-818.5 1308,-854.5 \"/>\n<text text-anchor=\"middle\" x=\"1352.5\" y=\"-832.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -3.3707</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1397,-818.5 1397,-854.5 \"/>\n<text text-anchor=\"middle\" x=\"1440.5\" y=\"-832.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140595408tanh -->\n<g id=\"node4\" class=\"node\">\n<title>139848140595408tanh</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1547\" cy=\"-829.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1547\" y=\"-825.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">tanh</text>\n</g>\n<!-- 139848140595280->139848140595408tanh -->\n<g id=\"edge148\" class=\"edge\">\n<title>139848140595280->139848140595408tanh</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1484.2922,-832.2264C1493.2042,-831.8389 1501.8099,-831.4648 1509.6423,-831.1242\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1509.961,-834.6138 1519.7995,-830.6826 1509.6569,-827.6204 1509.961,-834.6138\"/>\n</g>\n<!-- 139848140595280+ -->\n<g id=\"node2\" class=\"node\">\n<title>139848140595280+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1225\" cy=\"-843.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1225\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140595280+->139848140595280 -->\n<g id=\"edge1\" class=\"edge\">\n<title>139848140595280+->139848140595280</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1251.9478,-842.3284C1259.5078,-841.9997 1268.221,-841.6208 1277.5014,-841.2173\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1277.9279,-844.7022 1287.7664,-840.771 1277.6238,-837.7088 1277.9279,-844.7022\"/>\n</g>\n<!-- 139848140595408 -->\n<g id=\"node3\" class=\"node\">\n<title>139848140595408</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1610,-784.5 1610,-820.5 1806,-820.5 1806,-784.5 1610,-784.5\"/>\n<text text-anchor=\"middle\" x=\"1620\" y=\"-798.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1630,-784.5 1630,-820.5 \"/>\n<text text-anchor=\"middle\" x=\"1674.5\" y=\"-798.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.9976</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1719,-784.5 1719,-820.5 \"/>\n<text text-anchor=\"middle\" x=\"1762.5\" y=\"-798.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140702480* -->\n<g id=\"node14\" class=\"node\">\n<title>139848140702480*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1869\" cy=\"-568.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1869\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140595408->139848140702480* -->\n<g id=\"edge192\" class=\"edge\">\n<title>139848140595408->139848140702480*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1730.5524,-784.3607C1752.0621,-766.1722 1784.3083,-736.4851 1806,-705.5 1830.443,-670.5849 1849.2764,-624.6705 1859.7493,-595.8679\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1863.0491,-597.0346 1863.1006,-586.4399 1856.4534,-594.6901 1863.0491,-597.0346\"/>\n</g>\n<!-- 139848140704784* -->\n<g id=\"node69\" class=\"node\">\n<title>139848140704784*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1869\" cy=\"-939.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1869\" y=\"-935.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140595408->139848140704784* -->\n<g id=\"edge122\" class=\"edge\">\n<title>139848140595408->139848140704784*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1790.0882,-820.5561C1795.7374,-823.3995 1801.117,-826.6906 1806,-830.5 1832.8091,-851.4148 1850.2998,-887.1617 1859.8974,-911.9909\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1856.6818,-913.3875 1863.4187,-921.5646 1863.2515,-910.9711 1856.6818,-913.3875\"/>\n</g>\n<!-- 139848140715344* -->\n<g id=\"node133\" class=\"node\">\n<title>139848140715344*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1869\" cy=\"-376.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1869\" y=\"-372.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140595408->139848140715344* -->\n<g id=\"edge201\" class=\"edge\">\n<title>139848140595408->139848140715344*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1734.2189,-784.1741C1757.0555,-766.704 1789.0833,-738.2553 1806,-705.5 1851.2631,-617.8585 1822.2283,-583.1378 1842,-486.5 1847.7845,-458.2271 1855.8102,-426.2198 1861.6063,-404.0514\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1865.0087,-404.8751 1864.1746,-394.3131 1858.2401,-403.0899 1865.0087,-404.8751\"/>\n</g>\n<!-- 139848140634576* -->\n<g id=\"node166\" class=\"node\">\n<title>139848140634576*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1869\" cy=\"-843.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1869\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140595408->139848140634576* -->\n<g id=\"edge162\" class=\"edge\">\n<title>139848140595408->139848140634576*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1779.0856,-820.6025C1798.0193,-825.4242 1817.6574,-830.4252 1833.7327,-834.5189\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1833.1842,-837.9908 1843.7386,-837.067 1834.9117,-831.2073 1833.1842,-837.9908\"/>\n</g>\n<!-- 139848140595408tanh->139848140595408 -->\n<g id=\"edge2\" class=\"edge\">\n<title>139848140595408tanh->139848140595408</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1573.2258,-825.1019C1581.0446,-823.7907 1590.1422,-822.265 1599.8505,-820.6369\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1600.4542,-824.0846 1609.7375,-818.9788 1599.2964,-817.181 1600.4542,-824.0846\"/>\n</g>\n<!-- 139848140701968 -->\n<g id=\"node5\" class=\"node\">\n<title>139848140701968</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"3222,-495.5 3222,-531.5 3414,-531.5 3414,-495.5 3222,-495.5\"/>\n<text text-anchor=\"middle\" x=\"3232\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3242,-495.5 3242,-531.5 \"/>\n<text text-anchor=\"middle\" x=\"3284.5\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.1478</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3327,-495.5 3327,-531.5 \"/>\n<text text-anchor=\"middle\" x=\"3370.5\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140702096tanh -->\n<g id=\"node9\" class=\"node\">\n<title>139848140702096tanh</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"3479\" cy=\"-513.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"3479\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">tanh</text>\n</g>\n<!-- 139848140701968->139848140702096tanh -->\n<g id=\"edge82\" class=\"edge\">\n<title>139848140701968->139848140702096tanh</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3414.4428,-513.5C3424.0488,-513.5 3433.3393,-513.5 3441.7371,-513.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3441.8536,-517.0001 3451.8536,-513.5 3441.8535,-510.0001 3441.8536,-517.0001\"/>\n</g>\n<!-- 139848140701968+ -->\n<g id=\"node6\" class=\"node\">\n<title>139848140701968+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"3157\" cy=\"-513.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"3157\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140701968+->139848140701968 -->\n<g id=\"edge3\" class=\"edge\">\n<title>139848140701968+->139848140701968</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3184.3115,-513.5C3192.3858,-513.5 3201.7523,-513.5 3211.7073,-513.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3211.8324,-517.0001 3221.8324,-513.5 3211.8324,-510.0001 3211.8324,-517.0001\"/>\n</g>\n<!-- 139848140603728 -->\n<g id=\"node7\" class=\"node\">\n<title>139848140603728</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2256,-495.5 2256,-531.5 2448,-531.5 2448,-495.5 2256,-495.5\"/>\n<text text-anchor=\"middle\" x=\"2266\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2276,-495.5 2276,-531.5 \"/>\n<text text-anchor=\"middle\" x=\"2318.5\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.7928</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2361,-495.5 2361,-531.5 \"/>\n<text text-anchor=\"middle\" x=\"2404.5\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140716368* -->\n<g id=\"node162\" class=\"node\">\n<title>139848140716368*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2513\" cy=\"-513.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2513\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140603728->139848140716368* -->\n<g id=\"edge145\" class=\"edge\">\n<title>139848140603728->139848140716368*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2448.4428,-513.5C2458.0488,-513.5 2467.3393,-513.5 2475.7371,-513.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2475.8536,-517.0001 2485.8536,-513.5 2475.8535,-510.0001 2475.8536,-517.0001\"/>\n</g>\n<!-- 139848140702096 -->\n<g id=\"node8\" class=\"node\">\n<title>139848140702096</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"3544,-495.5 3544,-531.5 3736,-531.5 3736,-495.5 3544,-495.5\"/>\n<text text-anchor=\"middle\" x=\"3554\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3564,-495.5 3564,-531.5 \"/>\n<text text-anchor=\"middle\" x=\"3606.5\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.1467</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3649,-495.5 3649,-531.5 \"/>\n<text text-anchor=\"middle\" x=\"3692.5\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140717648* -->\n<g id=\"node192\" class=\"node\">\n<title>139848140717648*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"3801\" cy=\"-458.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"3801\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140702096->139848140717648* -->\n<g id=\"edge157\" class=\"edge\">\n<title>139848140702096->139848140717648*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3707.3081,-495.4892C3717.6554,-492.3698 3728.1633,-488.9973 3738,-485.5 3748.4509,-481.7844 3759.6434,-477.195 3769.652,-472.8608\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3771.0824,-476.0553 3778.8222,-468.8204 3768.2599,-469.6496 3771.0824,-476.0553\"/>\n</g>\n<!-- 139848140702096tanh->139848140702096 -->\n<g id=\"edge4\" class=\"edge\">\n<title>139848140702096tanh->139848140702096</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3506.3115,-513.5C3514.3858,-513.5 3523.7523,-513.5 3533.7073,-513.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3533.8324,-517.0001 3543.8324,-513.5 3533.8324,-510.0001 3533.8324,-517.0001\"/>\n</g>\n<!-- 139848140595792 -->\n<g id=\"node10\" class=\"node\">\n<title>139848140595792</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"324,-523.5 324,-559.5 516,-559.5 516,-523.5 324,-523.5\"/>\n<text text-anchor=\"middle\" x=\"334\" y=\"-537.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"344,-523.5 344,-559.5 \"/>\n<text text-anchor=\"middle\" x=\"386.5\" y=\"-537.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 2.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"429,-523.5 429,-559.5 \"/>\n<text text-anchor=\"middle\" x=\"472.5\" y=\"-537.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140595856* -->\n<g id=\"node12\" class=\"node\">\n<title>139848140595856*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"581\" cy=\"-513.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"581\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140595792->139848140595856* -->\n<g id=\"edge96\" class=\"edge\">\n<title>139848140595792->139848140595856*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M516.4428,-524.7273C526.4412,-522.9885 536.0978,-521.3091 544.7618,-519.8023\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"545.5415,-523.2193 554.7939,-518.0576 544.342,-516.3228 545.5415,-523.2193\"/>\n</g>\n<!-- 139848140595856 -->\n<g id=\"node11\" class=\"node\">\n<title>139848140595856</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"644,-495.5 644,-531.5 840,-531.5 840,-495.5 644,-495.5\"/>\n<text text-anchor=\"middle\" x=\"654\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"664,-495.5 664,-531.5 \"/>\n<text text-anchor=\"middle\" x=\"708.5\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.1973</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"753,-495.5 753,-531.5 \"/>\n<text text-anchor=\"middle\" x=\"796.5\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140596112+ -->\n<g id=\"node16\" class=\"node\">\n<title>139848140596112+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"903\" cy=\"-458.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"903\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140595856->139848140596112+ -->\n<g id=\"edge84\" class=\"edge\">\n<title>139848140595856->139848140596112+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M809.3081,-495.4892C819.6554,-492.3698 830.1633,-488.9973 840,-485.5 850.4509,-481.7844 861.6434,-477.195 871.652,-472.8608\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"873.0824,-476.0553 880.8222,-468.8204 870.2599,-469.6496 873.0824,-476.0553\"/>\n</g>\n<!-- 139848140595856*->139848140595856 -->\n<g id=\"edge5\" class=\"edge\">\n<title>139848140595856*->139848140595856</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M608.3115,-513.5C615.8223,-513.5 624.4512,-513.5 633.6318,-513.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"633.7835,-517.0001 643.7835,-513.5 633.7835,-510.0001 633.7835,-517.0001\"/>\n</g>\n<!-- 139848140702480 -->\n<g id=\"node13\" class=\"node\">\n<title>139848140702480</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1934,-550.5 1934,-586.5 2126,-586.5 2126,-550.5 1934,-550.5\"/>\n<text text-anchor=\"middle\" x=\"1944\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1954,-550.5 1954,-586.5 \"/>\n<text text-anchor=\"middle\" x=\"1996.5\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.2899</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2039,-550.5 2039,-586.5 \"/>\n<text text-anchor=\"middle\" x=\"2082.5\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140702736+ -->\n<g id=\"node18\" class=\"node\">\n<title>139848140702736+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2191\" cy=\"-458.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2191\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140702480->139848140702736+ -->\n<g id=\"edge160\" class=\"edge\">\n<title>139848140702480->139848140702736+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2110.0655,-550.3909C2116.3697,-547.5547 2122.4391,-544.28 2128,-540.5 2148.9881,-526.2337 2166.0068,-502.7202 2177.0403,-484.5217\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2180.2472,-485.9698 2182.2539,-475.5667 2174.1977,-482.4478 2180.2472,-485.9698\"/>\n</g>\n<!-- 139848140702480*->139848140702480 -->\n<g id=\"edge6\" class=\"edge\">\n<title>139848140702480*->139848140702480</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1896.3115,-568.5C1904.3858,-568.5 1913.7523,-568.5 1923.7073,-568.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1923.8324,-572.0001 1933.8324,-568.5 1923.8324,-565.0001 1923.8324,-572.0001\"/>\n</g>\n<!-- 139848140596112 -->\n<g id=\"node15\" class=\"node\">\n<title>139848140596112</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"966,-440.5 966,-476.5 1162,-476.5 1162,-440.5 966,-440.5\"/>\n<text text-anchor=\"middle\" x=\"976\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"986,-440.5 986,-476.5 \"/>\n<text text-anchor=\"middle\" x=\"1030.5\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.6600</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1075,-440.5 1075,-476.5 \"/>\n<text text-anchor=\"middle\" x=\"1118.5\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140596688+ -->\n<g id=\"node26\" class=\"node\">\n<title>139848140596688+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1225\" cy=\"-458.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1225\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140596112->139848140596688+ -->\n<g id=\"edge190\" class=\"edge\">\n<title>139848140596112->139848140596688+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1162.2922,-458.5C1171.2042,-458.5 1179.8099,-458.5 1187.6423,-458.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1187.7996,-462.0001 1197.7995,-458.5 1187.7995,-455.0001 1187.7996,-462.0001\"/>\n</g>\n<!-- 139848140596112+->139848140596112 -->\n<g id=\"edge7\" class=\"edge\">\n<title>139848140596112+->139848140596112</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M930.3115,-458.5C937.8223,-458.5 946.4512,-458.5 955.6318,-458.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"955.7835,-462.0001 965.7835,-458.5 955.7835,-455.0001 955.7835,-462.0001\"/>\n</g>\n<!-- 139848140702736 -->\n<g id=\"node17\" class=\"node\">\n<title>139848140702736</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2256,-440.5 2256,-476.5 2448,-476.5 2448,-440.5 2256,-440.5\"/>\n<text text-anchor=\"middle\" x=\"2266\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2276,-440.5 2276,-476.5 \"/>\n<text text-anchor=\"middle\" x=\"2318.5\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.0293</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2361,-440.5 2361,-476.5 \"/>\n<text text-anchor=\"middle\" x=\"2404.5\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140703248+ -->\n<g id=\"node29\" class=\"node\">\n<title>139848140703248+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2513\" cy=\"-403.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2513\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140702736->139848140703248+ -->\n<g id=\"edge189\" class=\"edge\">\n<title>139848140702736->139848140703248+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2419.3081,-440.4892C2429.6554,-437.3698 2440.1633,-433.9973 2450,-430.5 2460.4509,-426.7844 2471.6434,-422.195 2481.652,-417.8608\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2483.0824,-421.0553 2490.8222,-413.8204 2480.2599,-414.6496 2483.0824,-421.0553\"/>\n</g>\n<!-- 139848140702736+->139848140702736 -->\n<g id=\"edge8\" class=\"edge\">\n<title>139848140702736+->139848140702736</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2218.3115,-458.5C2226.3858,-458.5 2235.7523,-458.5 2245.7073,-458.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2245.8324,-462.0001 2255.8324,-458.5 2245.8324,-455.0001 2245.8324,-462.0001\"/>\n</g>\n<!-- 139848140596368 -->\n<g id=\"node19\" class=\"node\">\n<title>139848140596368</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"646,-385.5 646,-421.5 838,-421.5 838,-385.5 646,-385.5\"/>\n<text text-anchor=\"middle\" x=\"656\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"666,-385.5 666,-421.5 \"/>\n<text text-anchor=\"middle\" x=\"708.5\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 3.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"751,-385.5 751,-421.5 \"/>\n<text text-anchor=\"middle\" x=\"794.5\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140596432* -->\n<g id=\"node21\" class=\"node\">\n<title>139848140596432*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"903\" cy=\"-403.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"903\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140596368->139848140596432* -->\n<g id=\"edge203\" class=\"edge\">\n<title>139848140596368->139848140596432*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M838.4428,-403.5C848.0488,-403.5 857.3393,-403.5 865.7371,-403.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"865.8536,-407.0001 875.8536,-403.5 865.8535,-400.0001 865.8536,-407.0001\"/>\n</g>\n<!-- 139848140596432 -->\n<g id=\"node20\" class=\"node\">\n<title>139848140596432</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"966,-385.5 966,-421.5 1162,-421.5 1162,-385.5 966,-385.5\"/>\n<text text-anchor=\"middle\" x=\"976\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"986,-385.5 986,-421.5 \"/>\n<text text-anchor=\"middle\" x=\"1030.5\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.6264</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1075,-385.5 1075,-421.5 \"/>\n<text text-anchor=\"middle\" x=\"1118.5\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140596432->139848140596688+ -->\n<g id=\"edge194\" class=\"edge\">\n<title>139848140596432->139848140596688+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1134.5247,-421.5646C1143.8324,-424.3465 1153.1932,-427.3497 1162,-430.5 1172.59,-434.2882 1183.894,-439.068 1193.961,-443.6011\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1192.6219,-446.8375 1203.1701,-447.8311 1195.5438,-440.4765 1192.6219,-446.8375\"/>\n</g>\n<!-- 139848140596432*->139848140596432 -->\n<g id=\"edge9\" class=\"edge\">\n<title>139848140596432*->139848140596432</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M930.3115,-403.5C937.8223,-403.5 946.4512,-403.5 955.6318,-403.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"955.7835,-407.0001 965.7835,-403.5 955.7835,-400.0001 955.7835,-407.0001\"/>\n</g>\n<!-- 139848140604624 -->\n<g id=\"node22\" class=\"node\">\n<title>139848140604624</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1932,-330.5 1932,-366.5 2128,-366.5 2128,-330.5 1932,-330.5\"/>\n<text text-anchor=\"middle\" x=\"1942\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1952,-330.5 1952,-366.5 \"/>\n<text text-anchor=\"middle\" x=\"1996.5\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.5389</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2041,-330.5 2041,-366.5 \"/>\n<text text-anchor=\"middle\" x=\"2084.5\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140715856* -->\n<g id=\"node151\" class=\"node\">\n<title>139848140715856*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2191\" cy=\"-348.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2191\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140604624->139848140715856* -->\n<g id=\"edge165\" class=\"edge\">\n<title>139848140604624->139848140715856*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2128.2922,-348.5C2137.2042,-348.5 2145.8099,-348.5 2153.6423,-348.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2153.7996,-352.0001 2163.7995,-348.5 2153.7995,-345.0001 2153.7996,-352.0001\"/>\n</g>\n<!-- 139848140702992 -->\n<g id=\"node23\" class=\"node\">\n<title>139848140702992</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2256,-385.5 2256,-421.5 2448,-421.5 2448,-385.5 2256,-385.5\"/>\n<text text-anchor=\"middle\" x=\"2266\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2276,-385.5 2276,-421.5 \"/>\n<text text-anchor=\"middle\" x=\"2318.5\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.1500</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2361,-385.5 2361,-421.5 \"/>\n<text text-anchor=\"middle\" x=\"2404.5\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140702992->139848140703248+ -->\n<g id=\"edge124\" class=\"edge\">\n<title>139848140702992->139848140703248+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2448.4428,-403.5C2458.0488,-403.5 2467.3393,-403.5 2475.7371,-403.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2475.8536,-407.0001 2485.8536,-403.5 2475.8535,-400.0001 2475.8536,-407.0001\"/>\n</g>\n<!-- 139848140702992* -->\n<g id=\"node24\" class=\"node\">\n<title>139848140702992*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2191\" cy=\"-403.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2191\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140702992*->139848140702992 -->\n<g id=\"edge10\" class=\"edge\">\n<title>139848140702992*->139848140702992</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2218.3115,-403.5C2226.3858,-403.5 2235.7523,-403.5 2245.7073,-403.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2245.8324,-407.0001 2255.8324,-403.5 2245.8324,-400.0001 2245.8324,-407.0001\"/>\n</g>\n<!-- 139848140596688 -->\n<g id=\"node25\" class=\"node\">\n<title>139848140596688</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1288,-440.5 1288,-476.5 1484,-476.5 1484,-440.5 1288,-440.5\"/>\n<text text-anchor=\"middle\" x=\"1298\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1308,-440.5 1308,-476.5 \"/>\n<text text-anchor=\"middle\" x=\"1352.5\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -1.2864</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1397,-440.5 1397,-476.5 \"/>\n<text text-anchor=\"middle\" x=\"1440.5\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140597264+ -->\n<g id=\"node38\" class=\"node\">\n<title>139848140597264+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1547\" cy=\"-513.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1547\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140596688->139848140597264+ -->\n<g id=\"edge92\" class=\"edge\">\n<title>139848140596688->139848140597264+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1456.5247,-476.5646C1465.8324,-479.3465 1475.1932,-482.3497 1484,-485.5 1494.59,-489.2882 1505.894,-494.068 1515.961,-498.6011\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1514.6219,-501.8375 1525.1701,-502.8311 1517.5438,-495.4765 1514.6219,-501.8375\"/>\n</g>\n<!-- 139848140596688+->139848140596688 -->\n<g id=\"edge11\" class=\"edge\">\n<title>139848140596688+->139848140596688</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1252.3115,-458.5C1259.8223,-458.5 1268.4512,-458.5 1277.6318,-458.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1277.7835,-462.0001 1287.7835,-458.5 1277.7835,-455.0001 1277.7835,-462.0001\"/>\n</g>\n<!-- 139848140604880 -->\n<g id=\"node27\" class=\"node\">\n<title>139848140604880</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1934,-220.5 1934,-256.5 2126,-256.5 2126,-220.5 1934,-220.5\"/>\n<text text-anchor=\"middle\" x=\"1944\" y=\"-234.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1954,-220.5 1954,-256.5 \"/>\n<text text-anchor=\"middle\" x=\"1996.5\" y=\"-234.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.0203</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2039,-220.5 2039,-256.5 \"/>\n<text text-anchor=\"middle\" x=\"2082.5\" y=\"-234.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140715600+ -->\n<g id=\"node144\" class=\"node\">\n<title>139848140715600+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2191\" cy=\"-293.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2191\" y=\"-289.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140604880->139848140715600+ -->\n<g id=\"edge132\" class=\"edge\">\n<title>139848140604880->139848140715600+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2100.5247,-256.5646C2109.8324,-259.3465 2119.1932,-262.3497 2128,-265.5 2138.59,-269.2882 2149.894,-274.068 2159.961,-278.6011\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2158.6219,-281.8375 2169.1701,-282.8311 2161.5438,-275.4765 2158.6219,-281.8375\"/>\n</g>\n<!-- 139848140703248 -->\n<g id=\"node28\" class=\"node\">\n<title>139848140703248</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2578,-385.5 2578,-421.5 2770,-421.5 2770,-385.5 2578,-385.5\"/>\n<text text-anchor=\"middle\" x=\"2588\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2598,-385.5 2598,-421.5 \"/>\n<text text-anchor=\"middle\" x=\"2640.5\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.1792</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2683,-385.5 2683,-421.5 \"/>\n<text text-anchor=\"middle\" x=\"2726.5\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140703760+ -->\n<g id=\"node40\" class=\"node\">\n<title>139848140703760+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2835\" cy=\"-623.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2835\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140703248->139848140703760+ -->\n<g id=\"edge153\" class=\"edge\">\n<title>139848140703248->139848140703760+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2761.531,-421.6549C2765.3187,-424.2362 2768.8443,-427.169 2772,-430.5 2823.6215,-484.9885 2772.6082,-529.3094 2808,-595.5 2809.0607,-597.4838 2810.3026,-599.4255 2811.6605,-601.3023\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2809.047,-603.6328 2818.1547,-609.0458 2814.4105,-599.1346 2809.047,-603.6328\"/>\n</g>\n<!-- 139848140703248+->139848140703248 -->\n<g id=\"edge12\" class=\"edge\">\n<title>139848140703248+->139848140703248</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2540.3115,-403.5C2548.3858,-403.5 2557.7523,-403.5 2567.7073,-403.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2567.8324,-407.0001 2577.8324,-403.5 2567.8324,-400.0001 2567.8324,-407.0001\"/>\n</g>\n<!-- 139848140605072 -->\n<g id=\"node30\" class=\"node\">\n<title>139848140605072</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"3542,-440.5 3542,-476.5 3738,-476.5 3738,-440.5 3542,-440.5\"/>\n<text text-anchor=\"middle\" x=\"3552\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3562,-440.5 3562,-476.5 \"/>\n<text text-anchor=\"middle\" x=\"3606.5\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.0984</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3651,-440.5 3651,-476.5 \"/>\n<text text-anchor=\"middle\" x=\"3694.5\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140605072->139848140717648* -->\n<g id=\"edge85\" class=\"edge\">\n<title>139848140605072->139848140717648*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3738.2922,-458.5C3747.2042,-458.5 3755.8099,-458.5 3763.6423,-458.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3763.7996,-462.0001 3773.7995,-458.5 3763.7995,-455.0001 3763.7996,-462.0001\"/>\n</g>\n<!-- 139848140596944 -->\n<g id=\"node31\" class=\"node\">\n<title>139848140596944</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"966,-550.5 966,-586.5 1162,-586.5 1162,-550.5 966,-550.5\"/>\n<text text-anchor=\"middle\" x=\"976\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"986,-550.5 986,-586.5 \"/>\n<text text-anchor=\"middle\" x=\"1030.5\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -1.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1075,-550.5 1075,-586.5 \"/>\n<text text-anchor=\"middle\" x=\"1118.5\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140597008* -->\n<g id=\"node34\" class=\"node\">\n<title>139848140597008*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1225\" cy=\"-513.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1225\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140596944->139848140597008* -->\n<g id=\"edge117\" class=\"edge\">\n<title>139848140596944->139848140597008*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1131.3081,-550.4892C1141.6554,-547.3698 1152.1633,-543.9973 1162,-540.5 1172.4509,-536.7844 1183.6434,-532.195 1193.652,-527.8608\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1195.0824,-531.0553 1202.8222,-523.8204 1192.2599,-524.6496 1195.0824,-531.0553\"/>\n</g>\n<!-- 139848140605136 -->\n<g id=\"node32\" class=\"node\">\n<title>139848140605136</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2576,-165.5 2576,-201.5 2772,-201.5 2772,-165.5 2576,-165.5\"/>\n<text text-anchor=\"middle\" x=\"2586\" y=\"-179.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2596,-165.5 2596,-201.5 \"/>\n<text text-anchor=\"middle\" x=\"2640.5\" y=\"-179.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.3059</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2685,-165.5 2685,-201.5 \"/>\n<text text-anchor=\"middle\" x=\"2728.5\" y=\"-179.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140716880* -->\n<g id=\"node176\" class=\"node\">\n<title>139848140716880*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2835\" cy=\"-238.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2835\" y=\"-234.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140605136->139848140716880* -->\n<g id=\"edge133\" class=\"edge\">\n<title>139848140605136->139848140716880*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2744.5247,-201.5646C2753.8324,-204.3465 2763.1932,-207.3497 2772,-210.5 2782.59,-214.2882 2793.894,-219.068 2803.961,-223.6011\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2802.6219,-226.8375 2813.1701,-227.8311 2805.5438,-220.4765 2802.6219,-226.8375\"/>\n</g>\n<!-- 139848140597008 -->\n<g id=\"node33\" class=\"node\">\n<title>139848140597008</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1290,-495.5 1290,-531.5 1482,-531.5 1482,-495.5 1290,-495.5\"/>\n<text text-anchor=\"middle\" x=\"1300\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1310,-495.5 1310,-531.5 \"/>\n<text text-anchor=\"middle\" x=\"1352.5\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.2501</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1395,-495.5 1395,-531.5 \"/>\n<text text-anchor=\"middle\" x=\"1438.5\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140597008->139848140597264+ -->\n<g id=\"edge123\" class=\"edge\">\n<title>139848140597008->139848140597264+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1482.4428,-513.5C1492.0488,-513.5 1501.3393,-513.5 1509.7371,-513.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1509.8536,-517.0001 1519.8536,-513.5 1509.8535,-510.0001 1509.8536,-517.0001\"/>\n</g>\n<!-- 139848140597008*->139848140597008 -->\n<g id=\"edge13\" class=\"edge\">\n<title>139848140597008*->139848140597008</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1252.3115,-513.5C1260.3858,-513.5 1269.7523,-513.5 1279.7073,-513.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1279.8324,-517.0001 1289.8324,-513.5 1279.8324,-510.0001 1279.8324,-517.0001\"/>\n</g>\n<!-- 139848140703504 -->\n<g id=\"node35\" class=\"node\">\n<title>139848140703504</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2578,-605.5 2578,-641.5 2770,-641.5 2770,-605.5 2578,-605.5\"/>\n<text text-anchor=\"middle\" x=\"2588\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2598,-605.5 2598,-641.5 \"/>\n<text text-anchor=\"middle\" x=\"2640.5\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.4898</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2683,-605.5 2683,-641.5 \"/>\n<text text-anchor=\"middle\" x=\"2726.5\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140703504->139848140703760+ -->\n<g id=\"edge125\" class=\"edge\">\n<title>139848140703504->139848140703760+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2770.4428,-623.5C2780.0488,-623.5 2789.3393,-623.5 2797.7371,-623.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2797.8536,-627.0001 2807.8536,-623.5 2797.8535,-620.0001 2797.8536,-627.0001\"/>\n</g>\n<!-- 139848140703504* -->\n<g id=\"node36\" class=\"node\">\n<title>139848140703504*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2513\" cy=\"-623.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2513\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140703504*->139848140703504 -->\n<g id=\"edge14\" class=\"edge\">\n<title>139848140703504*->139848140703504</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2540.3115,-623.5C2548.3858,-623.5 2557.7523,-623.5 2567.7073,-623.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2567.8324,-627.0001 2577.8324,-623.5 2567.8324,-620.0001 2567.8324,-627.0001\"/>\n</g>\n<!-- 139848140597264 -->\n<g id=\"node37\" class=\"node\">\n<title>139848140597264</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1610,-495.5 1610,-531.5 1806,-531.5 1806,-495.5 1610,-495.5\"/>\n<text text-anchor=\"middle\" x=\"1620\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1630,-495.5 1630,-531.5 \"/>\n<text text-anchor=\"middle\" x=\"1674.5\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -1.0363</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1719,-495.5 1719,-531.5 \"/>\n<text text-anchor=\"middle\" x=\"1762.5\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140597392tanh -->\n<g id=\"node42\" class=\"node\">\n<title>139848140597392tanh</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1869\" cy=\"-513.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1869\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">tanh</text>\n</g>\n<!-- 139848140597264->139848140597392tanh -->\n<g id=\"edge169\" class=\"edge\">\n<title>139848140597264->139848140597392tanh</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1806.2922,-513.5C1815.2042,-513.5 1823.8099,-513.5 1831.6423,-513.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1831.7996,-517.0001 1841.7995,-513.5 1831.7995,-510.0001 1831.7996,-517.0001\"/>\n</g>\n<!-- 139848140597264+->139848140597264 -->\n<g id=\"edge15\" class=\"edge\">\n<title>139848140597264+->139848140597264</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1574.3115,-513.5C1581.8223,-513.5 1590.4512,-513.5 1599.6318,-513.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1599.7835,-517.0001 1609.7835,-513.5 1599.7835,-510.0001 1599.7835,-517.0001\"/>\n</g>\n<!-- 139848140703760 -->\n<g id=\"node39\" class=\"node\">\n<title>139848140703760</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2900,-605.5 2900,-641.5 3092,-641.5 3092,-605.5 2900,-605.5\"/>\n<text text-anchor=\"middle\" x=\"2910\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2920,-605.5 2920,-641.5 \"/>\n<text text-anchor=\"middle\" x=\"2962.5\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.6691</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3005,-605.5 3005,-641.5 \"/>\n<text text-anchor=\"middle\" x=\"3048.5\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140704272+ -->\n<g id=\"node50\" class=\"node\">\n<title>139848140704272+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"3157\" cy=\"-348.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"3157\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140703760->139848140704272+ -->\n<g id=\"edge121\" class=\"edge\">\n<title>139848140703760->139848140704272+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3081.628,-605.4641C3086.122,-602.606 3090.3004,-599.3068 3094,-595.5 3109.4208,-579.6323 3139.1967,-437.8119 3151.4873,-376.5163\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3154.9832,-376.8822 3153.5052,-366.391 3148.1182,-375.5141 3154.9832,-376.8822\"/>\n</g>\n<!-- 139848140703760+->139848140703760 -->\n<g id=\"edge16\" class=\"edge\">\n<title>139848140703760+->139848140703760</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2862.3115,-623.5C2870.3858,-623.5 2879.7523,-623.5 2889.7073,-623.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2889.8324,-627.0001 2899.8324,-623.5 2889.8324,-620.0001 2889.8324,-627.0001\"/>\n</g>\n<!-- 139848140597392 -->\n<g id=\"node41\" class=\"node\">\n<title>139848140597392</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1932,-495.5 1932,-531.5 2128,-531.5 2128,-495.5 1932,-495.5\"/>\n<text text-anchor=\"middle\" x=\"1942\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1952,-495.5 1952,-531.5 \"/>\n<text text-anchor=\"middle\" x=\"1996.5\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.7764</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2041,-495.5 2041,-531.5 \"/>\n<text text-anchor=\"middle\" x=\"2084.5\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140597392->139848140702992* -->\n<g id=\"edge111\" class=\"edge\">\n<title>139848140597392->139848140702992*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2111.3316,-495.3265C2117.2188,-492.5089 2122.8548,-489.2557 2128,-485.5 2151.2978,-468.4937 2145.9165,-453.9719 2164,-431.5 2165.4447,-429.7047 2166.9841,-427.8904 2168.5671,-426.0942\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2171.4145,-428.17 2175.6293,-418.4496 2166.2727,-423.4199 2171.4145,-428.17\"/>\n</g>\n<!-- 139848140705296* -->\n<g id=\"node80\" class=\"node\">\n<title>139848140705296*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2191\" cy=\"-733.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2191\" y=\"-729.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140597392->139848140705296* -->\n<g id=\"edge107\" class=\"edge\">\n<title>139848140597392->139848140705296*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2117.531,-531.6549C2121.3187,-534.2362 2124.8443,-537.169 2128,-540.5 2179.6215,-594.9885 2128.6082,-639.3094 2164,-705.5 2165.0607,-707.4838 2166.3026,-709.4255 2167.6605,-711.3023\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2165.047,-713.6328 2174.1547,-719.0458 2170.4105,-709.1346 2165.047,-713.6328\"/>\n</g>\n<!-- 139848140597392->139848140715856* -->\n<g id=\"edge180\" class=\"edge\">\n<title>139848140597392->139848140715856*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2114.8672,-495.4363C2119.6076,-492.5885 2124.0431,-489.299 2128,-485.5 2164.8019,-450.1661 2137.6338,-420.1771 2164,-376.5 2165.1626,-374.5741 2166.4798,-372.6753 2167.8917,-370.8292\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2170.6295,-373.0135 2174.5021,-363.1518 2165.3249,-368.4461 2170.6295,-373.0135\"/>\n</g>\n<!-- 139848140635088* -->\n<g id=\"node178\" class=\"node\">\n<title>139848140635088*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2191\" cy=\"-623.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2191\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140597392->139848140635088* -->\n<g id=\"edge193\" class=\"edge\">\n<title>139848140597392->139848140635088*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2112.0642,-531.6081C2117.6542,-534.1891 2123.0315,-537.1359 2128,-540.5 2149.2724,-554.9035 2166.3303,-578.8673 2177.3037,-597.3528\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2174.3426,-599.2259 2182.3354,-606.1805 2180.4241,-595.7595 2174.3426,-599.2259\"/>\n</g>\n<!-- 139848140597392tanh->139848140597392 -->\n<g id=\"edge17\" class=\"edge\">\n<title>139848140597392tanh->139848140597392</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1896.3115,-513.5C1903.8223,-513.5 1912.4512,-513.5 1921.6318,-513.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1921.7835,-517.0001 1931.7835,-513.5 1921.7835,-510.0001 1921.7835,-517.0001\"/>\n</g>\n<!-- 139848140605712 -->\n<g id=\"node43\" class=\"node\">\n<title>139848140605712</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"3544,-385.5 3544,-421.5 3736,-421.5 3736,-385.5 3544,-385.5\"/>\n<text text-anchor=\"middle\" x=\"3554\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3564,-385.5 3564,-421.5 \"/>\n<text text-anchor=\"middle\" x=\"3606.5\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.5075</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3649,-385.5 3649,-421.5 \"/>\n<text text-anchor=\"middle\" x=\"3692.5\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140730512* -->\n<g id=\"node98\" class=\"node\">\n<title>139848140730512*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"3801\" cy=\"-403.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"3801\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140605712->139848140730512* -->\n<g id=\"edge106\" class=\"edge\">\n<title>139848140605712->139848140730512*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3736.4428,-403.5C3746.0488,-403.5 3755.3393,-403.5 3763.7371,-403.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3763.8536,-407.0001 3773.8536,-403.5 3763.8535,-400.0001 3763.8536,-407.0001\"/>\n</g>\n<!-- 139848140704016 -->\n<g id=\"node44\" class=\"node\">\n<title>139848140704016</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2900,-275.5 2900,-311.5 3092,-311.5 3092,-275.5 2900,-275.5\"/>\n<text text-anchor=\"middle\" x=\"2910\" y=\"-289.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2920,-275.5 2920,-311.5 \"/>\n<text text-anchor=\"middle\" x=\"2962.5\" y=\"-289.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.4463</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3005,-275.5 3005,-311.5 \"/>\n<text text-anchor=\"middle\" x=\"3048.5\" y=\"-289.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140704016->139848140704272+ -->\n<g id=\"edge91\" class=\"edge\">\n<title>139848140704016->139848140704272+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3066.5247,-311.5646C3075.8324,-314.3465 3085.1932,-317.3497 3094,-320.5 3104.59,-324.2882 3115.894,-329.068 3125.961,-333.6011\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3124.6219,-336.8375 3135.1701,-337.8311 3127.5438,-330.4765 3124.6219,-336.8375\"/>\n</g>\n<!-- 139848140704016* -->\n<g id=\"node45\" class=\"node\">\n<title>139848140704016*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2835\" cy=\"-293.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2835\" y=\"-289.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140704016*->139848140704016 -->\n<g id=\"edge18\" class=\"edge\">\n<title>139848140704016*->139848140704016</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2862.3115,-293.5C2870.3858,-293.5 2879.7523,-293.5 2889.7073,-293.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2889.8324,-297.0001 2899.8324,-293.5 2889.8324,-290.0001 2889.8324,-297.0001\"/>\n</g>\n<!-- 139848140851536 -->\n<g id=\"node46\" class=\"node\">\n<title>139848140851536</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"644,-825.5 644,-861.5 840,-861.5 840,-825.5 644,-825.5\"/>\n<text text-anchor=\"middle\" x=\"654\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"664,-825.5 664,-861.5 \"/>\n<text text-anchor=\"middle\" x=\"708.5\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -1.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"753,-825.5 753,-861.5 \"/>\n<text text-anchor=\"middle\" x=\"796.5\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140853008* -->\n<g id=\"node86\" class=\"node\">\n<title>139848140853008*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"903\" cy=\"-843.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"903\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140851536->139848140853008* -->\n<g id=\"edge199\" class=\"edge\">\n<title>139848140851536->139848140853008*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M840.2922,-843.5C849.2042,-843.5 857.8099,-843.5 865.6423,-843.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"865.7996,-847.0001 875.7995,-843.5 865.7995,-840.0001 865.7996,-847.0001\"/>\n</g>\n<!-- 139848140605904 -->\n<g id=\"node47\" class=\"node\">\n<title>139848140605904</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"3544,-605.5 3544,-641.5 3736,-641.5 3736,-605.5 3544,-605.5\"/>\n<text text-anchor=\"middle\" x=\"3554\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3564,-605.5 3564,-641.5 \"/>\n<text text-anchor=\"middle\" x=\"3606.5\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.7598</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3649,-605.5 3649,-641.5 \"/>\n<text text-anchor=\"middle\" x=\"3692.5\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140731024* -->\n<g id=\"node113\" class=\"node\">\n<title>139848140731024*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"3801\" cy=\"-568.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"3801\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140605904->139848140731024* -->\n<g id=\"edge108\" class=\"edge\">\n<title>139848140605904->139848140731024*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3707.3081,-605.4892C3717.6554,-602.3698 3728.1633,-598.9973 3738,-595.5 3748.4509,-591.7844 3759.6434,-587.195 3769.652,-582.8608\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3771.0824,-586.0553 3778.8222,-578.8204 3768.2599,-579.6496 3771.0824,-586.0553\"/>\n</g>\n<!-- 139848140597776 -->\n<g id=\"node48\" class=\"node\">\n<title>139848140597776</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"646,-688.5 646,-724.5 838,-724.5 838,-688.5 646,-688.5\"/>\n<text text-anchor=\"middle\" x=\"656\" y=\"-702.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"666,-688.5 666,-724.5 \"/>\n<text text-anchor=\"middle\" x=\"708.5\" y=\"-702.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 2.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"751,-688.5 751,-724.5 \"/>\n<text text-anchor=\"middle\" x=\"794.5\" y=\"-702.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140597840* -->\n<g id=\"node53\" class=\"node\">\n<title>139848140597840*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"903\" cy=\"-678.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"903\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140597776->139848140597840* -->\n<g id=\"edge110\" class=\"edge\">\n<title>139848140597776->139848140597840*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M838.4428,-689.7273C848.4412,-687.9885 858.0978,-686.3091 866.7618,-684.8023\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"867.5415,-688.2193 876.7939,-683.0576 866.342,-681.3228 867.5415,-688.2193\"/>\n</g>\n<!-- 139848140704272 -->\n<g id=\"node49\" class=\"node\">\n<title>139848140704272</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"3222.5,-330.5 3222.5,-366.5 3413.5,-366.5 3413.5,-330.5 3222.5,-330.5\"/>\n<text text-anchor=\"middle\" x=\"3232.5\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3242.5,-330.5 3242.5,-366.5 \"/>\n<text text-anchor=\"middle\" x=\"3284.5\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 1.1154</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3326.5,-330.5 3326.5,-366.5 \"/>\n<text text-anchor=\"middle\" x=\"3370\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140704400tanh -->\n<g id=\"node58\" class=\"node\">\n<title>139848140704400tanh</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"3479\" cy=\"-348.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"3479\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">tanh</text>\n</g>\n<!-- 139848140704272->139848140704400tanh -->\n<g id=\"edge151\" class=\"edge\">\n<title>139848140704272->139848140704400tanh</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3413.5151,-348.5C3423.4317,-348.5 3433.0332,-348.5 3441.6884,-348.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3441.7341,-352.0001 3451.7341,-348.5 3441.7341,-345.0001 3441.7341,-352.0001\"/>\n</g>\n<!-- 139848140704272+->139848140704272 -->\n<g id=\"edge19\" class=\"edge\">\n<title>139848140704272+->139848140704272</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3184.3115,-348.5C3192.4531,-348.5 3201.9085,-348.5 3211.9563,-348.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3212.1749,-352.0001 3222.1748,-348.5 3212.1748,-345.0001 3212.1749,-352.0001\"/>\n</g>\n<!-- 139848291920464 -->\n<g id=\"node51\" class=\"node\">\n<title>139848291920464</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"0,-963.5 0,-999.5 196,-999.5 196,-963.5 0,-963.5\"/>\n<text text-anchor=\"middle\" x=\"10\" y=\"-977.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"20,-963.5 20,-999.5 \"/>\n<text text-anchor=\"middle\" x=\"64.5\" y=\"-977.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.1304</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"109,-963.5 109,-999.5 \"/>\n<text text-anchor=\"middle\" x=\"152.5\" y=\"-977.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848283180240* -->\n<g id=\"node74\" class=\"node\">\n<title>139848283180240*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"259\" cy=\"-953.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"259\" y=\"-949.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848291920464->139848283180240* -->\n<g id=\"edge206\" class=\"edge\">\n<title>139848291920464->139848283180240*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M196.2922,-964.4057C205.5786,-962.7907 214.5324,-961.2335 222.6253,-959.826\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"223.4713,-963.2315 232.7237,-958.0698 222.2719,-956.335 223.4713,-963.2315\"/>\n</g>\n<!-- 139848140597840 -->\n<g id=\"node52\" class=\"node\">\n<title>139848140597840</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"966,-660.5 966,-696.5 1162,-696.5 1162,-660.5 966,-660.5\"/>\n<text text-anchor=\"middle\" x=\"976\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"986,-660.5 986,-696.5 \"/>\n<text text-anchor=\"middle\" x=\"1030.5\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.9838</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1075,-660.5 1075,-696.5 \"/>\n<text text-anchor=\"middle\" x=\"1118.5\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140598096+ -->\n<g id=\"node63\" class=\"node\">\n<title>139848140598096+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1225\" cy=\"-678.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1225\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140597840->139848140598096+ -->\n<g id=\"edge80\" class=\"edge\">\n<title>139848140597840->139848140598096+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1162.2922,-678.5C1171.2042,-678.5 1179.8099,-678.5 1187.6423,-678.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1187.7996,-682.0001 1197.7995,-678.5 1187.7995,-675.0001 1187.7996,-682.0001\"/>\n</g>\n<!-- 139848140597840*->139848140597840 -->\n<g id=\"edge20\" class=\"edge\">\n<title>139848140597840*->139848140597840</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M930.3115,-678.5C937.8223,-678.5 946.4512,-678.5 955.6318,-678.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"955.7835,-682.0001 965.7835,-678.5 955.7835,-675.0001 955.7835,-682.0001\"/>\n</g>\n<!-- 139848140606096 -->\n<g id=\"node54\" class=\"node\">\n<title>139848140606096</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"3544,-275.5 3544,-311.5 3736,-311.5 3736,-275.5 3544,-275.5\"/>\n<text text-anchor=\"middle\" x=\"3554\" y=\"-289.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3564,-275.5 3564,-311.5 \"/>\n<text text-anchor=\"middle\" x=\"3606.5\" y=\"-289.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.6764</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3649,-275.5 3649,-311.5 \"/>\n<text text-anchor=\"middle\" x=\"3692.5\" y=\"-289.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140731536* -->\n<g id=\"node126\" class=\"node\">\n<title>139848140731536*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"3801\" cy=\"-293.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"3801\" y=\"-289.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140606096->139848140731536* -->\n<g id=\"edge167\" class=\"edge\">\n<title>139848140606096->139848140731536*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3736.4428,-293.5C3746.0488,-293.5 3755.3393,-293.5 3763.7371,-293.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3763.8536,-297.0001 3773.8536,-293.5 3763.8535,-290.0001 3763.8536,-297.0001\"/>\n</g>\n<!-- 139848282860176 -->\n<g id=\"node55\" class=\"node\">\n<title>139848282860176</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"644,-935.5 644,-971.5 840,-971.5 840,-935.5 644,-935.5\"/>\n<text text-anchor=\"middle\" x=\"654\" y=\"-949.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"664,-935.5 664,-971.5 \"/>\n<text text-anchor=\"middle\" x=\"708.5\" y=\"-949.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.5628</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"753,-935.5 753,-971.5 \"/>\n<text text-anchor=\"middle\" x=\"796.5\" y=\"-949.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140851984+ -->\n<g id=\"node61\" class=\"node\">\n<title>139848140851984+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"903\" cy=\"-898.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"903\" y=\"-894.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848282860176->139848140851984+ -->\n<g id=\"edge93\" class=\"edge\">\n<title>139848282860176->139848140851984+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M812.5247,-935.4354C821.8324,-932.6535 831.1932,-929.6503 840,-926.5 850.59,-922.7118 861.894,-917.932 871.961,-913.3989\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"873.5438,-916.5235 881.1701,-909.1689 870.6219,-910.1625 873.5438,-916.5235\"/>\n</g>\n<!-- 139848282860176+ -->\n<g id=\"node56\" class=\"node\">\n<title>139848282860176+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"581\" cy=\"-953.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"581\" y=\"-949.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848282860176+->139848282860176 -->\n<g id=\"edge21\" class=\"edge\">\n<title>139848282860176+->139848282860176</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M608.3115,-953.5C615.8223,-953.5 624.4512,-953.5 633.6318,-953.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"633.7835,-957.0001 643.7835,-953.5 633.7835,-950.0001 633.7835,-957.0001\"/>\n</g>\n<!-- 139848140704400 -->\n<g id=\"node57\" class=\"node\">\n<title>139848140704400</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"3544,-330.5 3544,-366.5 3736,-366.5 3736,-330.5 3544,-330.5\"/>\n<text text-anchor=\"middle\" x=\"3554\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3564,-330.5 3564,-366.5 \"/>\n<text text-anchor=\"middle\" x=\"3606.5\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.8059</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3649,-330.5 3649,-366.5 \"/>\n<text text-anchor=\"middle\" x=\"3692.5\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140704400->139848140730512* -->\n<g id=\"edge79\" class=\"edge\">\n<title>139848140704400->139848140730512*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3710.5247,-366.5646C3719.8324,-369.3465 3729.1932,-372.3497 3738,-375.5 3748.59,-379.2882 3759.894,-384.068 3769.961,-388.6011\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3768.6219,-391.8375 3779.1701,-392.8311 3771.5438,-385.4765 3768.6219,-391.8375\"/>\n</g>\n<!-- 139848140704400tanh->139848140704400 -->\n<g id=\"edge22\" class=\"edge\">\n<title>139848140704400tanh->139848140704400</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3506.3115,-348.5C3514.3858,-348.5 3523.7523,-348.5 3533.7073,-348.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3533.8324,-352.0001 3543.8324,-348.5 3533.8324,-345.0001 3533.8324,-352.0001\"/>\n</g>\n<!-- 139848140606160 -->\n<g id=\"node59\" class=\"node\">\n<title>139848140606160</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"3864,-495.5 3864,-531.5 4060,-531.5 4060,-495.5 3864,-495.5\"/>\n<text text-anchor=\"middle\" x=\"3874\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3884,-495.5 3884,-531.5 \"/>\n<text text-anchor=\"middle\" x=\"3928.5\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.9949</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3973,-495.5 3973,-531.5 \"/>\n<text text-anchor=\"middle\" x=\"4016.5\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140717904+ -->\n<g id=\"node198\" class=\"node\">\n<title>139848140717904+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"4192\" cy=\"-458.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"4192\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140606160->139848140717904+ -->\n<g id=\"edge103\" class=\"edge\">\n<title>139848140606160->139848140717904+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4037.3106,-495.4909C4077.3304,-485.921 4124.6594,-474.6032 4156.3307,-467.0296\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"4157.5263,-470.3425 4166.438,-464.6126 4155.8982,-463.5344 4157.5263,-470.3425\"/>\n</g>\n<!-- 139848140851984 -->\n<g id=\"node60\" class=\"node\">\n<title>139848140851984</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"966,-880.5 966,-916.5 1162,-916.5 1162,-880.5 966,-880.5\"/>\n<text text-anchor=\"middle\" x=\"976\" y=\"-894.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"986,-880.5 986,-916.5 \"/>\n<text text-anchor=\"middle\" x=\"1030.5\" y=\"-894.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -2.8733</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1075,-880.5 1075,-916.5 \"/>\n<text text-anchor=\"middle\" x=\"1118.5\" y=\"-894.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140851984->139848140595280+ -->\n<g id=\"edge204\" class=\"edge\">\n<title>139848140851984->139848140595280+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1134.5247,-880.4354C1143.8324,-877.6535 1153.1932,-874.6503 1162,-871.5 1172.59,-867.7118 1183.894,-862.932 1193.961,-858.3989\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1195.5438,-861.5235 1203.1701,-854.1689 1192.6219,-855.1625 1195.5438,-861.5235\"/>\n</g>\n<!-- 139848140851984+->139848140851984 -->\n<g id=\"edge23\" class=\"edge\">\n<title>139848140851984+->139848140851984</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M930.3115,-898.5C937.8223,-898.5 946.4512,-898.5 955.6318,-898.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"955.7835,-902.0001 965.7835,-898.5 955.7835,-895.0001 955.7835,-902.0001\"/>\n</g>\n<!-- 139848140598096 -->\n<g id=\"node62\" class=\"node\">\n<title>139848140598096</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1288,-660.5 1288,-696.5 1484,-696.5 1484,-660.5 1288,-660.5\"/>\n<text text-anchor=\"middle\" x=\"1298\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1308,-660.5 1308,-696.5 \"/>\n<text text-anchor=\"middle\" x=\"1352.5\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -1.7948</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1397,-660.5 1397,-696.5 \"/>\n<text text-anchor=\"middle\" x=\"1440.5\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140598672+ -->\n<g id=\"node78\" class=\"node\">\n<title>139848140598672+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1547\" cy=\"-678.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1547\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140598096->139848140598672+ -->\n<g id=\"edge166\" class=\"edge\">\n<title>139848140598096->139848140598672+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1484.2922,-678.5C1493.2042,-678.5 1501.8099,-678.5 1509.6423,-678.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1509.7996,-682.0001 1519.7995,-678.5 1509.7995,-675.0001 1509.7996,-682.0001\"/>\n</g>\n<!-- 139848140598096+->139848140598096 -->\n<g id=\"edge24\" class=\"edge\">\n<title>139848140598096+->139848140598096</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1252.3115,-678.5C1259.8223,-678.5 1268.4512,-678.5 1277.6318,-678.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1277.7835,-682.0001 1287.7835,-678.5 1277.7835,-675.0001 1277.7835,-682.0001\"/>\n</g>\n<!-- 139848282860432 -->\n<g id=\"node64\" class=\"node\">\n<title>139848282860432</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"324,-880.5 324,-916.5 516,-916.5 516,-880.5 324,-880.5\"/>\n<text text-anchor=\"middle\" x=\"334\" y=\"-894.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"344,-880.5 344,-916.5 \"/>\n<text text-anchor=\"middle\" x=\"386.5\" y=\"-894.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 3.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"429,-880.5 429,-916.5 \"/>\n<text text-anchor=\"middle\" x=\"472.5\" y=\"-894.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848282860496* -->\n<g id=\"node66\" class=\"node\">\n<title>139848282860496*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"581\" cy=\"-898.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"581\" y=\"-894.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848282860432->139848282860496* -->\n<g id=\"edge141\" class=\"edge\">\n<title>139848282860432->139848282860496*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M516.4428,-898.5C526.0488,-898.5 535.3393,-898.5 543.7371,-898.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"543.8536,-902.0001 553.8536,-898.5 543.8535,-895.0001 543.8536,-902.0001\"/>\n</g>\n<!-- 139848282860496 -->\n<g id=\"node65\" class=\"node\">\n<title>139848282860496</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"644,-880.5 644,-916.5 840,-916.5 840,-880.5 644,-880.5\"/>\n<text text-anchor=\"middle\" x=\"654\" y=\"-894.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"664,-880.5 664,-916.5 \"/>\n<text text-anchor=\"middle\" x=\"708.5\" y=\"-894.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -2.3105</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"753,-880.5 753,-916.5 \"/>\n<text text-anchor=\"middle\" x=\"796.5\" y=\"-894.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848282860496->139848140851984+ -->\n<g id=\"edge75\" class=\"edge\">\n<title>139848282860496->139848140851984+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M840.2922,-898.5C849.2042,-898.5 857.8099,-898.5 865.6423,-898.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"865.7996,-902.0001 875.7995,-898.5 865.7995,-895.0001 865.7996,-902.0001\"/>\n</g>\n<!-- 139848282860496*->139848282860496 -->\n<g id=\"edge25\" class=\"edge\">\n<title>139848282860496*->139848282860496</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M608.3115,-898.5C615.8223,-898.5 624.4512,-898.5 633.6318,-898.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"633.7835,-902.0001 643.7835,-898.5 633.7835,-895.0001 633.7835,-902.0001\"/>\n</g>\n<!-- 139848291920912 -->\n<g id=\"node67\" class=\"node\">\n<title>139848291920912</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"322,-990.5 322,-1026.5 518,-1026.5 518,-990.5 322,-990.5\"/>\n<text text-anchor=\"middle\" x=\"332\" y=\"-1004.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"342,-990.5 342,-1026.5 \"/>\n<text text-anchor=\"middle\" x=\"386.5\" y=\"-1004.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.3019</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"431,-990.5 431,-1026.5 \"/>\n<text text-anchor=\"middle\" x=\"474.5\" y=\"-1004.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848291920912->139848282860176+ -->\n<g id=\"edge209\" class=\"edge\">\n<title>139848291920912->139848282860176+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M490.5247,-990.4354C499.8324,-987.6535 509.1932,-984.6503 518,-981.5 528.59,-977.7118 539.894,-972.932 549.961,-968.3989\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"551.5438,-971.5235 559.1701,-964.1689 548.6219,-965.1625 551.5438,-971.5235\"/>\n</g>\n<!-- 139848140704784 -->\n<g id=\"node68\" class=\"node\">\n<title>139848140704784</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1934,-935.5 1934,-971.5 2126,-971.5 2126,-935.5 1934,-935.5\"/>\n<text text-anchor=\"middle\" x=\"1944\" y=\"-949.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1954,-935.5 1954,-971.5 \"/>\n<text text-anchor=\"middle\" x=\"1996.5\" y=\"-949.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.1925</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2039,-935.5 2039,-971.5 \"/>\n<text text-anchor=\"middle\" x=\"2082.5\" y=\"-949.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140705040+ -->\n<g id=\"node76\" class=\"node\">\n<title>139848140705040+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2191\" cy=\"-953.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2191\" y=\"-949.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140704784->139848140705040+ -->\n<g id=\"edge149\" class=\"edge\">\n<title>139848140704784->139848140705040+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2126.4428,-953.5C2136.0488,-953.5 2145.3393,-953.5 2153.7371,-953.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2153.8536,-957.0001 2163.8536,-953.5 2153.8535,-950.0001 2153.8536,-957.0001\"/>\n</g>\n<!-- 139848140704784*->139848140704784 -->\n<g id=\"edge26\" class=\"edge\">\n<title>139848140704784*->139848140704784</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1895.9478,-941.8433C1904.0715,-942.5497 1913.5268,-943.3719 1923.5864,-944.2466\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1923.555,-947.757 1933.8206,-945.1366 1924.1614,-940.7833 1923.555,-947.757\"/>\n</g>\n<!-- 139848140598352 -->\n<g id=\"node70\" class=\"node\">\n<title>139848140598352</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"968,-770.5 968,-806.5 1160,-806.5 1160,-770.5 968,-770.5\"/>\n<text text-anchor=\"middle\" x=\"978\" y=\"-784.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"988,-770.5 988,-806.5 \"/>\n<text text-anchor=\"middle\" x=\"1030.5\" y=\"-784.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 3.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1073,-770.5 1073,-806.5 \"/>\n<text text-anchor=\"middle\" x=\"1116.5\" y=\"-784.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140598416* -->\n<g id=\"node72\" class=\"node\">\n<title>139848140598416*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1225\" cy=\"-733.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1225\" y=\"-729.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140598352->139848140598416* -->\n<g id=\"edge114\" class=\"edge\">\n<title>139848140598352->139848140598416*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1131.3081,-770.4892C1141.6554,-767.3698 1152.1633,-763.9973 1162,-760.5 1172.4509,-756.7844 1183.6434,-752.195 1193.652,-747.8608\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1195.0824,-751.0553 1202.8222,-743.8204 1192.2599,-744.6496 1195.0824,-751.0553\"/>\n</g>\n<!-- 139848140598416 -->\n<g id=\"node71\" class=\"node\">\n<title>139848140598416</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1290,-715.5 1290,-751.5 1482,-751.5 1482,-715.5 1290,-715.5\"/>\n<text text-anchor=\"middle\" x=\"1300\" y=\"-729.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1310,-715.5 1310,-751.5 \"/>\n<text text-anchor=\"middle\" x=\"1352.5\" y=\"-729.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 2.8216</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1395,-715.5 1395,-751.5 \"/>\n<text text-anchor=\"middle\" x=\"1438.5\" y=\"-729.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140598416->139848140598672+ -->\n<g id=\"edge187\" class=\"edge\">\n<title>139848140598416->139848140598672+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1453.3081,-715.4892C1463.6554,-712.3698 1474.1633,-708.9973 1484,-705.5 1494.4509,-701.7844 1505.6434,-697.195 1515.652,-692.8608\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1517.0824,-696.0553 1524.8222,-688.8204 1514.2599,-689.6496 1517.0824,-696.0553\"/>\n</g>\n<!-- 139848140598416*->139848140598416 -->\n<g id=\"edge27\" class=\"edge\">\n<title>139848140598416*->139848140598416</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1252.3115,-733.5C1260.3858,-733.5 1269.7523,-733.5 1279.7073,-733.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1279.8324,-737.0001 1289.8324,-733.5 1279.8324,-730.0001 1279.8324,-737.0001\"/>\n</g>\n<!-- 139848283180240 -->\n<g id=\"node73\" class=\"node\">\n<title>139848283180240</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"322,-935.5 322,-971.5 518,-971.5 518,-935.5 322,-935.5\"/>\n<text text-anchor=\"middle\" x=\"332\" y=\"-949.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"342,-935.5 342,-971.5 \"/>\n<text text-anchor=\"middle\" x=\"386.5\" y=\"-949.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.2608</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"431,-935.5 431,-971.5 \"/>\n<text text-anchor=\"middle\" x=\"474.5\" y=\"-949.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848283180240->139848282860176+ -->\n<g id=\"edge131\" class=\"edge\">\n<title>139848283180240->139848282860176+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M518.2922,-953.5C527.2042,-953.5 535.8099,-953.5 543.6423,-953.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"543.7996,-957.0001 553.7995,-953.5 543.7995,-950.0001 543.7996,-957.0001\"/>\n</g>\n<!-- 139848283180240*->139848283180240 -->\n<g id=\"edge28\" class=\"edge\">\n<title>139848283180240*->139848283180240</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M286.3115,-953.5C293.8223,-953.5 302.4512,-953.5 311.6318,-953.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"311.7835,-957.0001 321.7835,-953.5 311.7835,-950.0001 311.7835,-957.0001\"/>\n</g>\n<!-- 139848140705040 -->\n<g id=\"node75\" class=\"node\">\n<title>139848140705040</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2254,-935.5 2254,-971.5 2450,-971.5 2450,-935.5 2254,-935.5\"/>\n<text text-anchor=\"middle\" x=\"2264\" y=\"-949.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2274,-935.5 2274,-971.5 \"/>\n<text text-anchor=\"middle\" x=\"2318.5\" y=\"-949.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.3112</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2363,-935.5 2363,-971.5 \"/>\n<text text-anchor=\"middle\" x=\"2406.5\" y=\"-949.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140705552+ -->\n<g id=\"node88\" class=\"node\">\n<title>139848140705552+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2513\" cy=\"-843.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2513\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140705040->139848140705552+ -->\n<g id=\"edge135\" class=\"edge\">\n<title>139848140705040->139848140705552+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2434.0642,-935.3919C2439.6542,-932.8109 2445.0315,-929.8641 2450,-926.5 2471.2724,-912.0965 2488.3303,-888.1327 2499.3037,-869.6472\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2502.4241,-871.2405 2504.3354,-860.8195 2496.3426,-867.7741 2502.4241,-871.2405\"/>\n</g>\n<!-- 139848140705040+->139848140705040 -->\n<g id=\"edge29\" class=\"edge\">\n<title>139848140705040+->139848140705040</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2218.3115,-953.5C2225.8223,-953.5 2234.4512,-953.5 2243.6318,-953.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2243.7835,-957.0001 2253.7835,-953.5 2243.7835,-950.0001 2243.7835,-957.0001\"/>\n</g>\n<!-- 139848140598672 -->\n<g id=\"node77\" class=\"node\">\n<title>139848140598672</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1612,-660.5 1612,-696.5 1804,-696.5 1804,-660.5 1612,-660.5\"/>\n<text text-anchor=\"middle\" x=\"1622\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1632,-660.5 1632,-696.5 \"/>\n<text text-anchor=\"middle\" x=\"1674.5\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 1.0269</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1717,-660.5 1717,-696.5 \"/>\n<text text-anchor=\"middle\" x=\"1760.5\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140599248+ -->\n<g id=\"node90\" class=\"node\">\n<title>139848140599248+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1869\" cy=\"-678.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1869\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140598672->139848140599248+ -->\n<g id=\"edge154\" class=\"edge\">\n<title>139848140598672->139848140599248+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1804.4428,-678.5C1814.0488,-678.5 1823.3393,-678.5 1831.7371,-678.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1831.8536,-682.0001 1841.8536,-678.5 1831.8535,-675.0001 1831.8536,-682.0001\"/>\n</g>\n<!-- 139848140598672+->139848140598672 -->\n<g id=\"edge30\" class=\"edge\">\n<title>139848140598672+->139848140598672</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1574.3115,-678.5C1582.3858,-678.5 1591.7523,-678.5 1601.7073,-678.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1601.8324,-682.0001 1611.8324,-678.5 1601.8324,-675.0001 1601.8324,-682.0001\"/>\n</g>\n<!-- 139848140705296 -->\n<g id=\"node79\" class=\"node\">\n<title>139848140705296</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2256,-770.5 2256,-806.5 2448,-806.5 2448,-770.5 2256,-770.5\"/>\n<text text-anchor=\"middle\" x=\"2266\" y=\"-784.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2276,-770.5 2276,-806.5 \"/>\n<text text-anchor=\"middle\" x=\"2318.5\" y=\"-784.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.2833</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2361,-770.5 2361,-806.5 \"/>\n<text text-anchor=\"middle\" x=\"2404.5\" y=\"-784.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140705296->139848140705552+ -->\n<g id=\"edge99\" class=\"edge\">\n<title>139848140705296->139848140705552+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2419.3081,-806.5108C2429.6554,-809.6302 2440.1633,-813.0027 2450,-816.5 2460.4509,-820.2156 2471.6434,-824.805 2481.652,-829.1392\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2480.2599,-832.3504 2490.8222,-833.1796 2483.0824,-825.9447 2480.2599,-832.3504\"/>\n</g>\n<!-- 139848140705296*->139848140705296 -->\n<g id=\"edge31\" class=\"edge\">\n<title>139848140705296*->139848140705296</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2213.1778,-743.8204C2225.1268,-749.1724 2240.2091,-755.5969 2254,-760.5 2260.7627,-762.9044 2267.8427,-765.2498 2274.9696,-767.4945\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2274.1047,-770.8903 2284.6919,-770.4892 2276.1654,-764.2005 2274.1047,-770.8903\"/>\n</g>\n<!-- 139848140598928 -->\n<g id=\"node81\" class=\"node\">\n<title>139848140598928</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1288,-550.5 1288,-586.5 1484,-586.5 1484,-550.5 1288,-550.5\"/>\n<text text-anchor=\"middle\" x=\"1298\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1308,-550.5 1308,-586.5 \"/>\n<text text-anchor=\"middle\" x=\"1352.5\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -1.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1397,-550.5 1397,-586.5 \"/>\n<text text-anchor=\"middle\" x=\"1440.5\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140598992* -->\n<g id=\"node84\" class=\"node\">\n<title>139848140598992*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1547\" cy=\"-623.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1547\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140598928->139848140598992* -->\n<g id=\"edge104\" class=\"edge\">\n<title>139848140598928->139848140598992*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1456.5247,-586.5646C1465.8324,-589.3465 1475.1932,-592.3497 1484,-595.5 1494.59,-599.2882 1505.894,-604.068 1515.961,-608.6011\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1514.6219,-611.8375 1525.1701,-612.8311 1517.5438,-605.4765 1514.6219,-611.8375\"/>\n</g>\n<!-- 139848291921616 -->\n<g id=\"node82\" class=\"node\">\n<title>139848291921616</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"322,-825.5 322,-861.5 518,-861.5 518,-825.5 322,-825.5\"/>\n<text text-anchor=\"middle\" x=\"332\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"342,-825.5 342,-861.5 \"/>\n<text text-anchor=\"middle\" x=\"386.5\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.7702</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"431,-825.5 431,-861.5 \"/>\n<text text-anchor=\"middle\" x=\"474.5\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848291921616->139848282860496* -->\n<g id=\"edge176\" class=\"edge\">\n<title>139848291921616->139848282860496*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M487.3081,-861.5108C497.6554,-864.6302 508.1633,-868.0027 518,-871.5 528.4509,-875.2156 539.6434,-879.805 549.652,-884.1392\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"548.2599,-887.3504 558.8222,-888.1796 551.0824,-880.9447 548.2599,-887.3504\"/>\n</g>\n<!-- 139848140598992 -->\n<g id=\"node83\" class=\"node\">\n<title>139848140598992</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1610,-605.5 1610,-641.5 1806,-641.5 1806,-605.5 1610,-605.5\"/>\n<text text-anchor=\"middle\" x=\"1620\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1630,-605.5 1630,-641.5 \"/>\n<text text-anchor=\"middle\" x=\"1674.5\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.0197</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1719,-605.5 1719,-641.5 \"/>\n<text text-anchor=\"middle\" x=\"1762.5\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140598992->139848140599248+ -->\n<g id=\"edge95\" class=\"edge\">\n<title>139848140598992->139848140599248+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1778.5247,-641.5646C1787.8324,-644.3465 1797.1932,-647.3497 1806,-650.5 1816.59,-654.2882 1827.894,-659.068 1837.961,-663.6011\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1836.6219,-666.8375 1847.1701,-667.8311 1839.5438,-660.4765 1836.6219,-666.8375\"/>\n</g>\n<!-- 139848140598992*->139848140598992 -->\n<g id=\"edge32\" class=\"edge\">\n<title>139848140598992*->139848140598992</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1574.3115,-623.5C1581.8223,-623.5 1590.4512,-623.5 1599.6318,-623.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1599.7835,-627.0001 1609.7835,-623.5 1599.7835,-620.0001 1599.7835,-627.0001\"/>\n</g>\n<!-- 139848140853008 -->\n<g id=\"node85\" class=\"node\">\n<title>139848140853008</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"966,-825.5 966,-861.5 1162,-861.5 1162,-825.5 966,-825.5\"/>\n<text text-anchor=\"middle\" x=\"976\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"986,-825.5 986,-861.5 \"/>\n<text text-anchor=\"middle\" x=\"1030.5\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.4974</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1075,-825.5 1075,-861.5 \"/>\n<text text-anchor=\"middle\" x=\"1118.5\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140853008->139848140595280+ -->\n<g id=\"edge88\" class=\"edge\">\n<title>139848140853008->139848140595280+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1162.2922,-843.5C1171.2042,-843.5 1179.8099,-843.5 1187.6423,-843.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1187.7996,-847.0001 1197.7995,-843.5 1187.7995,-840.0001 1187.7996,-847.0001\"/>\n</g>\n<!-- 139848140853008*->139848140853008 -->\n<g id=\"edge33\" class=\"edge\">\n<title>139848140853008*->139848140853008</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M930.3115,-843.5C937.8223,-843.5 946.4512,-843.5 955.6318,-843.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"955.7835,-847.0001 965.7835,-843.5 955.7835,-840.0001 955.7835,-847.0001\"/>\n</g>\n<!-- 139848140705552 -->\n<g id=\"node87\" class=\"node\">\n<title>139848140705552</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2576,-825.5 2576,-861.5 2772,-861.5 2772,-825.5 2576,-825.5\"/>\n<text text-anchor=\"middle\" x=\"2586\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2596,-825.5 2596,-861.5 \"/>\n<text text-anchor=\"middle\" x=\"2640.5\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.0279</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2685,-825.5 2685,-861.5 \"/>\n<text text-anchor=\"middle\" x=\"2728.5\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140714320+ -->\n<g id=\"node101\" class=\"node\">\n<title>139848140714320+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2835\" cy=\"-788.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2835\" y=\"-784.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140705552->139848140714320+ -->\n<g id=\"edge168\" class=\"edge\">\n<title>139848140705552->139848140714320+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2744.5247,-825.4354C2753.8324,-822.6535 2763.1932,-819.6503 2772,-816.5 2782.59,-812.7118 2793.894,-807.932 2803.961,-803.3989\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2805.5438,-806.5235 2813.1701,-799.1689 2802.6219,-800.1625 2805.5438,-806.5235\"/>\n</g>\n<!-- 139848140705552+->139848140705552 -->\n<g id=\"edge34\" class=\"edge\">\n<title>139848140705552+->139848140705552</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2540.3115,-843.5C2547.8223,-843.5 2556.4512,-843.5 2565.6318,-843.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2565.7835,-847.0001 2575.7835,-843.5 2565.7835,-840.0001 2565.7835,-847.0001\"/>\n</g>\n<!-- 139848140599248 -->\n<g id=\"node89\" class=\"node\">\n<title>139848140599248</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1934,-660.5 1934,-696.5 2126,-696.5 2126,-660.5 1934,-660.5\"/>\n<text text-anchor=\"middle\" x=\"1944\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1954,-660.5 1954,-696.5 \"/>\n<text text-anchor=\"middle\" x=\"1996.5\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 1.0071</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2039,-660.5 2039,-696.5 \"/>\n<text text-anchor=\"middle\" x=\"2082.5\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140632208tanh -->\n<g id=\"node95\" class=\"node\">\n<title>139848140632208tanh</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2191\" cy=\"-678.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2191\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">tanh</text>\n</g>\n<!-- 139848140599248->139848140632208tanh -->\n<g id=\"edge173\" class=\"edge\">\n<title>139848140599248->139848140632208tanh</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2126.4428,-678.5C2136.0488,-678.5 2145.3393,-678.5 2153.7371,-678.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2153.8536,-682.0001 2163.8536,-678.5 2153.8535,-675.0001 2153.8536,-682.0001\"/>\n</g>\n<!-- 139848140599248+->139848140599248 -->\n<g id=\"edge35\" class=\"edge\">\n<title>139848140599248+->139848140599248</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1896.3115,-678.5C1904.3858,-678.5 1913.7523,-678.5 1923.7073,-678.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1923.8324,-682.0001 1933.8324,-678.5 1923.8324,-675.0001 1923.8324,-682.0001\"/>\n</g>\n<!-- 139848291921872 -->\n<g id=\"node91\" class=\"node\">\n<title>139848291921872</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"646,-770.5 646,-806.5 838,-806.5 838,-770.5 646,-770.5\"/>\n<text text-anchor=\"middle\" x=\"656\" y=\"-784.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"666,-770.5 666,-806.5 \"/>\n<text text-anchor=\"middle\" x=\"708.5\" y=\"-784.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.4974</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"751,-770.5 751,-806.5 \"/>\n<text text-anchor=\"middle\" x=\"794.5\" y=\"-784.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848291921872->139848140853008* -->\n<g id=\"edge142\" class=\"edge\">\n<title>139848291921872->139848140853008*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M809.3081,-806.5108C819.6554,-809.6302 830.1633,-813.0027 840,-816.5 850.4509,-820.2156 861.6434,-824.805 871.652,-829.1392\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"870.2599,-832.3504 880.8222,-833.1796 873.0824,-825.9447 870.2599,-832.3504\"/>\n</g>\n<!-- 139848140714064 -->\n<g id=\"node92\" class=\"node\">\n<title>139848140714064</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2578,-770.5 2578,-806.5 2770,-806.5 2770,-770.5 2578,-770.5\"/>\n<text text-anchor=\"middle\" x=\"2588\" y=\"-784.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2598,-770.5 2598,-806.5 \"/>\n<text text-anchor=\"middle\" x=\"2640.5\" y=\"-784.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.2035</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2683,-770.5 2683,-806.5 \"/>\n<text text-anchor=\"middle\" x=\"2726.5\" y=\"-784.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140714064->139848140714320+ -->\n<g id=\"edge102\" class=\"edge\">\n<title>139848140714064->139848140714320+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2770.4428,-788.5C2780.0488,-788.5 2789.3393,-788.5 2797.7371,-788.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2797.8536,-792.0001 2807.8536,-788.5 2797.8535,-785.0001 2797.8536,-792.0001\"/>\n</g>\n<!-- 139848140714064* -->\n<g id=\"node93\" class=\"node\">\n<title>139848140714064*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2513\" cy=\"-788.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2513\" y=\"-784.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140714064*->139848140714064 -->\n<g id=\"edge36\" class=\"edge\">\n<title>139848140714064*->139848140714064</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2540.3115,-788.5C2548.3858,-788.5 2557.7523,-788.5 2567.7073,-788.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2567.8324,-792.0001 2577.8324,-788.5 2567.8324,-785.0001 2567.8324,-792.0001\"/>\n</g>\n<!-- 139848140632208 -->\n<g id=\"node94\" class=\"node\">\n<title>139848140632208</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2256,-605.5 2256,-641.5 2448,-641.5 2448,-605.5 2256,-605.5\"/>\n<text text-anchor=\"middle\" x=\"2266\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2276,-605.5 2276,-641.5 \"/>\n<text text-anchor=\"middle\" x=\"2318.5\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.7646</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2361,-605.5 2361,-641.5 \"/>\n<text text-anchor=\"middle\" x=\"2404.5\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140632208->139848140703504* -->\n<g id=\"edge183\" class=\"edge\">\n<title>139848140632208->139848140703504*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2448.4428,-623.5C2458.0488,-623.5 2467.3393,-623.5 2475.7371,-623.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2475.8536,-627.0001 2485.8536,-623.5 2475.8535,-620.0001 2475.8536,-627.0001\"/>\n</g>\n<!-- 139848140632208->139848140714064* -->\n<g id=\"edge181\" class=\"edge\">\n<title>139848140632208->139848140714064*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2438.6818,-641.7683C2442.7407,-644.3165 2446.5517,-647.2116 2450,-650.5 2487.2265,-686.0009 2459.4753,-716.4255 2486,-760.5 2487.16,-762.4275 2488.4753,-764.3274 2489.8858,-766.1744\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2487.3178,-768.5562 2496.4932,-773.8536 2492.624,-763.9905 2487.3178,-768.5562\"/>\n</g>\n<!-- 139848140632208->139848140716368* -->\n<g id=\"edge191\" class=\"edge\">\n<title>139848140632208->139848140716368*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2432.0655,-605.3909C2438.3697,-602.5547 2444.4391,-599.28 2450,-595.5 2470.9881,-581.2337 2488.0068,-557.7202 2499.0403,-539.5217\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2502.2472,-540.9698 2504.2539,-530.5667 2496.1977,-537.4478 2502.2472,-540.9698\"/>\n</g>\n<!-- 139848140635600* -->\n<g id=\"node189\" class=\"node\">\n<title>139848140635600*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2513\" cy=\"-678.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2513\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140632208->139848140635600* -->\n<g id=\"edge198\" class=\"edge\">\n<title>139848140632208->139848140635600*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2422.5247,-641.5646C2431.8324,-644.3465 2441.1932,-647.3497 2450,-650.5 2460.59,-654.2882 2471.894,-659.068 2481.961,-663.6011\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2480.6219,-666.8375 2491.1701,-667.8311 2483.5438,-660.4765 2480.6219,-666.8375\"/>\n</g>\n<!-- 139848140632208tanh->139848140632208 -->\n<g id=\"edge37\" class=\"edge\">\n<title>139848140632208tanh->139848140632208</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2212.8299,-667.8311C2224.8078,-662.2245 2240.0255,-655.4989 2254,-650.5 2259.7795,-648.4326 2265.7975,-646.4286 2271.8826,-644.5088\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2272.9425,-647.8447 2281.4753,-641.5646 2270.8885,-641.1529 2272.9425,-647.8447\"/>\n</g>\n<!-- 139848140886160 -->\n<g id=\"node96\" class=\"node\">\n<title>139848140886160</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"968,-138.5 968,-174.5 1160,-174.5 1160,-138.5 968,-138.5\"/>\n<text text-anchor=\"middle\" x=\"978\" y=\"-152.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"988,-138.5 988,-174.5 \"/>\n<text text-anchor=\"middle\" x=\"1030.5\" y=\"-152.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.2870</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1073,-138.5 1073,-174.5 \"/>\n<text text-anchor=\"middle\" x=\"1116.5\" y=\"-152.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140632656* -->\n<g id=\"node109\" class=\"node\">\n<title>139848140632656*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1225\" cy=\"-128.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1225\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140886160->139848140632656* -->\n<g id=\"edge185\" class=\"edge\">\n<title>139848140886160->139848140632656*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1160.4428,-139.7273C1170.4412,-137.9885 1180.0978,-136.3091 1188.7618,-134.8023\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1189.5415,-138.2193 1198.7939,-133.0576 1188.342,-131.3228 1189.5415,-138.2193\"/>\n</g>\n<!-- 139848140730512 -->\n<g id=\"node97\" class=\"node\">\n<title>139848140730512</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"4096,-385.5 4096,-421.5 4288,-421.5 4288,-385.5 4096,-385.5\"/>\n<text text-anchor=\"middle\" x=\"4106\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"4116,-385.5 4116,-421.5 \"/>\n<text text-anchor=\"middle\" x=\"4158.5\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.4090</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"4201,-385.5 4201,-421.5 \"/>\n<text text-anchor=\"middle\" x=\"4244.5\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140730768+ -->\n<g id=\"node103\" class=\"node\">\n<title>139848140730768+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"4652\" cy=\"-410.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"4652\" y=\"-406.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140730512->139848140730768+ -->\n<g id=\"edge120\" class=\"edge\">\n<title>139848140730512->139848140730768+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4288.151,-404.9632C4389.611,-406.5071 4544.3682,-408.8621 4614.786,-409.9337\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"4614.8931,-413.4356 4624.9452,-410.0883 4614.9997,-406.4364 4614.8931,-413.4356\"/>\n</g>\n<!-- 139848140730512*->139848140730512 -->\n<g id=\"edge38\" class=\"edge\">\n<title>139848140730512*->139848140730512</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3828.1839,-403.5C3880.5758,-403.5 3998.0701,-403.5 4085.4425,-403.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"4085.6732,-407.0001 4095.6731,-403.5 4085.6731,-400.0001 4085.6732,-407.0001\"/>\n</g>\n<!-- 139848140886352 -->\n<g id=\"node99\" class=\"node\">\n<title>139848140886352</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2576,-550.5 2576,-586.5 2772,-586.5 2772,-550.5 2576,-550.5\"/>\n<text text-anchor=\"middle\" x=\"2586\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2596,-550.5 2596,-586.5 \"/>\n<text text-anchor=\"middle\" x=\"2640.5\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.2034</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2685,-550.5 2685,-586.5 \"/>\n<text text-anchor=\"middle\" x=\"2728.5\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140714576* -->\n<g id=\"node111\" class=\"node\">\n<title>139848140714576*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2835\" cy=\"-568.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2835\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140886352->139848140714576* -->\n<g id=\"edge101\" class=\"edge\">\n<title>139848140886352->139848140714576*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2772.2922,-568.5C2781.2042,-568.5 2789.8099,-568.5 2797.6423,-568.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2797.7996,-572.0001 2807.7995,-568.5 2797.7995,-565.0001 2797.7996,-572.0001\"/>\n</g>\n<!-- 139848140714320 -->\n<g id=\"node100\" class=\"node\">\n<title>139848140714320</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2900,-743.5 2900,-779.5 3092,-779.5 3092,-743.5 2900,-743.5\"/>\n<text text-anchor=\"middle\" x=\"2910\" y=\"-757.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2920,-743.5 2920,-779.5 \"/>\n<text text-anchor=\"middle\" x=\"2962.5\" y=\"-757.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.1756</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3005,-743.5 3005,-779.5 \"/>\n<text text-anchor=\"middle\" x=\"3048.5\" y=\"-757.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140714832+ -->\n<g id=\"node118\" class=\"node\">\n<title>139848140714832+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"3157\" cy=\"-568.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"3157\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140714320->139848140714832+ -->\n<g id=\"edge90\" class=\"edge\">\n<title>139848140714320->139848140714832+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3040.5678,-743.3953C3058.9368,-734.202 3079.3119,-721.5431 3094,-705.5 3123.0969,-673.7189 3140.8212,-626.172 3149.7688,-596.27\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3153.1829,-597.0612 3152.5719,-586.484 3146.4535,-595.1336 3153.1829,-597.0612\"/>\n</g>\n<!-- 139848140714320+->139848140714320 -->\n<g id=\"edge39\" class=\"edge\">\n<title>139848140714320+->139848140714320</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2861.2258,-784.1019C2869.5312,-782.709 2879.2795,-781.0742 2889.6699,-779.3318\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2890.5191,-782.7383 2899.8025,-777.6325 2889.3613,-775.8347 2890.5191,-782.7383\"/>\n</g>\n<!-- 139848140730768 -->\n<g id=\"node102\" class=\"node\">\n<title>139848140730768</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"4784,-392.5 4784,-428.5 4980,-428.5 4980,-392.5 4784,-392.5\"/>\n<text text-anchor=\"middle\" x=\"4794\" y=\"-406.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"4804,-392.5 4804,-428.5 \"/>\n<text text-anchor=\"middle\" x=\"4848.5\" y=\"-406.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.6004</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"4893,-392.5 4893,-428.5 \"/>\n<text text-anchor=\"middle\" x=\"4936.5\" y=\"-406.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140731280+ -->\n<g id=\"node120\" class=\"node\">\n<title>139848140731280+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"5043\" cy=\"-410.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"5043\" y=\"-406.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140730768->139848140731280+ -->\n<g id=\"edge159\" class=\"edge\">\n<title>139848140730768->139848140731280+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4980.2922,-410.5C4989.2042,-410.5 4997.8099,-410.5 5005.6423,-410.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"5005.7996,-414.0001 5015.7995,-410.5 5005.7995,-407.0001 5005.7996,-414.0001\"/>\n</g>\n<!-- 139848140730768+->139848140730768 -->\n<g id=\"edge40\" class=\"edge\">\n<title>139848140730768+->139848140730768</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4679.2872,-410.5C4702.8972,-410.5 4738.651,-410.5 4773.5909,-410.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"4773.9017,-414.0001 4783.9016,-410.5 4773.9016,-407.0001 4773.9017,-414.0001\"/>\n</g>\n<!-- 139848140886480 -->\n<g id=\"node104\" class=\"node\">\n<title>139848140886480</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1612,-839.5 1612,-875.5 1804,-875.5 1804,-839.5 1612,-839.5\"/>\n<text text-anchor=\"middle\" x=\"1622\" y=\"-853.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1632,-839.5 1632,-875.5 \"/>\n<text text-anchor=\"middle\" x=\"1674.5\" y=\"-853.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.9641</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1717,-839.5 1717,-875.5 \"/>\n<text text-anchor=\"middle\" x=\"1760.5\" y=\"-853.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140886480->139848140634576* -->\n<g id=\"edge172\" class=\"edge\">\n<title>139848140886480->139848140634576*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1804.4428,-849.1137C1814.143,-848.2702 1823.5214,-847.4547 1831.9839,-846.7188\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1832.5092,-850.1864 1842.1683,-845.8332 1831.9027,-843.2127 1832.5092,-850.1864\"/>\n</g>\n<!-- 139848140632592 -->\n<g id=\"node105\" class=\"node\">\n<title>139848140632592</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"968,-83.5 968,-119.5 1160,-119.5 1160,-83.5 968,-83.5\"/>\n<text text-anchor=\"middle\" x=\"978\" y=\"-97.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"988,-83.5 988,-119.5 \"/>\n<text text-anchor=\"middle\" x=\"1030.5\" y=\"-97.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 2.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1073,-83.5 1073,-119.5 \"/>\n<text text-anchor=\"middle\" x=\"1116.5\" y=\"-97.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140632592->139848140632656* -->\n<g id=\"edge175\" class=\"edge\">\n<title>139848140632592->139848140632656*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1160.4428,-117.6736C1170.4412,-119.3504 1180.0978,-120.9698 1188.7618,-122.4228\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1188.3527,-125.903 1198.7939,-124.1052 1189.5105,-118.9994 1188.3527,-125.903\"/>\n</g>\n<!-- 139848140886544 -->\n<g id=\"node106\" class=\"node\">\n<title>139848140886544</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1932,-880.5 1932,-916.5 2128,-916.5 2128,-880.5 1932,-880.5\"/>\n<text text-anchor=\"middle\" x=\"1942\" y=\"-894.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1952,-880.5 1952,-916.5 \"/>\n<text text-anchor=\"middle\" x=\"1996.5\" y=\"-894.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.5037</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2041,-880.5 2041,-916.5 \"/>\n<text text-anchor=\"middle\" x=\"2084.5\" y=\"-894.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140886544->139848140705040+ -->\n<g id=\"edge174\" class=\"edge\">\n<title>139848140886544->139848140705040+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2097.3081,-916.5108C2107.6554,-919.6302 2118.1633,-923.0027 2128,-926.5 2138.4509,-930.2156 2149.6434,-934.805 2159.652,-939.1392\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2158.2599,-942.3504 2168.8222,-943.1796 2161.0824,-935.9447 2158.2599,-942.3504\"/>\n</g>\n<!-- 139848140886608 -->\n<g id=\"node107\" class=\"node\">\n<title>139848140886608</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1612,-358.5 1612,-394.5 1804,-394.5 1804,-358.5 1612,-358.5\"/>\n<text text-anchor=\"middle\" x=\"1622\" y=\"-372.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1632,-358.5 1632,-394.5 \"/>\n<text text-anchor=\"middle\" x=\"1674.5\" y=\"-372.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.9453</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1717,-358.5 1717,-394.5 \"/>\n<text text-anchor=\"middle\" x=\"1760.5\" y=\"-372.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140886608->139848140715344* -->\n<g id=\"edge94\" class=\"edge\">\n<title>139848140886608->139848140715344*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1804.4428,-376.5C1814.0488,-376.5 1823.3393,-376.5 1831.7371,-376.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1831.8536,-380.0001 1841.8536,-376.5 1831.8535,-373.0001 1831.8536,-380.0001\"/>\n</g>\n<!-- 139848140632656 -->\n<g id=\"node108\" class=\"node\">\n<title>139848140632656</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1290,-110.5 1290,-146.5 1482,-146.5 1482,-110.5 1290,-110.5\"/>\n<text text-anchor=\"middle\" x=\"1300\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1310,-110.5 1310,-146.5 \"/>\n<text text-anchor=\"middle\" x=\"1352.5\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.5740</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1395,-110.5 1395,-146.5 \"/>\n<text text-anchor=\"middle\" x=\"1438.5\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140632912+ -->\n<g id=\"node116\" class=\"node\">\n<title>139848140632912+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1547\" cy=\"-128.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1547\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140632656->139848140632912+ -->\n<g id=\"edge150\" class=\"edge\">\n<title>139848140632656->139848140632912+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1482.4428,-128.5C1492.0488,-128.5 1501.3393,-128.5 1509.7371,-128.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1509.8536,-132.0001 1519.8536,-128.5 1509.8535,-125.0001 1509.8536,-132.0001\"/>\n</g>\n<!-- 139848140632656*->139848140632656 -->\n<g id=\"edge41\" class=\"edge\">\n<title>139848140632656*->139848140632656</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1252.3115,-128.5C1260.3858,-128.5 1269.7523,-128.5 1279.7073,-128.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1279.8324,-132.0001 1289.8324,-128.5 1279.8324,-125.0001 1279.8324,-132.0001\"/>\n</g>\n<!-- 139848140714576 -->\n<g id=\"node110\" class=\"node\">\n<title>139848140714576</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2898,-550.5 2898,-586.5 3094,-586.5 3094,-550.5 2898,-550.5\"/>\n<text text-anchor=\"middle\" x=\"2908\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2918,-550.5 2918,-586.5 \"/>\n<text text-anchor=\"middle\" x=\"2962.5\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.1577</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3007,-550.5 3007,-586.5 \"/>\n<text text-anchor=\"middle\" x=\"3050.5\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140714576->139848140714832+ -->\n<g id=\"edge152\" class=\"edge\">\n<title>139848140714576->139848140714832+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3094.2922,-568.5C3103.2042,-568.5 3111.8099,-568.5 3119.6423,-568.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3119.7996,-572.0001 3129.7995,-568.5 3119.7995,-565.0001 3119.7996,-572.0001\"/>\n</g>\n<!-- 139848140714576*->139848140714576 -->\n<g id=\"edge42\" class=\"edge\">\n<title>139848140714576*->139848140714576</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2862.3115,-568.5C2869.8223,-568.5 2878.4512,-568.5 2887.6318,-568.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2887.7835,-572.0001 2897.7835,-568.5 2887.7835,-565.0001 2887.7835,-572.0001\"/>\n</g>\n<!-- 139848140731024 -->\n<g id=\"node112\" class=\"node\">\n<title>139848140731024</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"4556,-494.5 4556,-530.5 4748,-530.5 4748,-494.5 4556,-494.5\"/>\n<text text-anchor=\"middle\" x=\"4566\" y=\"-508.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"4576,-494.5 4576,-530.5 \"/>\n<text text-anchor=\"middle\" x=\"4618.5\" y=\"-508.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.0136</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"4661,-494.5 4661,-530.5 \"/>\n<text text-anchor=\"middle\" x=\"4704.5\" y=\"-508.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140731024->139848140731280+ -->\n<g id=\"edge86\" class=\"edge\">\n<title>139848140731024->139848140731280+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4748.3243,-495.2259C4814.3498,-482.2347 4903.4898,-462.4175 4980,-437.5 4990.5466,-434.0652 5001.7651,-429.5523 5011.768,-425.2016\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"5013.2155,-428.3884 5020.9244,-421.1205 5010.3657,-421.9947 5013.2155,-428.3884\"/>\n</g>\n<!-- 139848140731024*->139848140731024 -->\n<g id=\"edge43\" class=\"edge\">\n<title>139848140731024*->139848140731024</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3827.8743,-566.7315C3936.7318,-559.5682 4348.4666,-532.474 4545.5759,-519.5032\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"4545.9114,-522.9888 4555.6599,-518.8397 4545.4516,-516.0039 4545.9114,-522.9888\"/>\n</g>\n<!-- 139848140886736 -->\n<g id=\"node114\" class=\"node\">\n<title>139848140886736</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2256,-660.5 2256,-696.5 2448,-696.5 2448,-660.5 2256,-660.5\"/>\n<text text-anchor=\"middle\" x=\"2266\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2276,-660.5 2276,-696.5 \"/>\n<text text-anchor=\"middle\" x=\"2318.5\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.6491</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2361,-660.5 2361,-696.5 \"/>\n<text text-anchor=\"middle\" x=\"2404.5\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140886736->139848140635600* -->\n<g id=\"edge184\" class=\"edge\">\n<title>139848140886736->139848140635600*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2448.4428,-678.5C2458.0488,-678.5 2467.3393,-678.5 2475.7371,-678.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2475.8536,-682.0001 2485.8536,-678.5 2475.8535,-675.0001 2475.8536,-682.0001\"/>\n</g>\n<!-- 139848140632912 -->\n<g id=\"node115\" class=\"node\">\n<title>139848140632912</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1612,-110.5 1612,-146.5 1804,-146.5 1804,-110.5 1612,-110.5\"/>\n<text text-anchor=\"middle\" x=\"1622\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1632,-110.5 1632,-146.5 \"/>\n<text text-anchor=\"middle\" x=\"1674.5\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.8537</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1717,-110.5 1717,-146.5 \"/>\n<text text-anchor=\"middle\" x=\"1760.5\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140633488+ -->\n<g id=\"node139\" class=\"node\">\n<title>139848140633488+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1869\" cy=\"-128.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1869\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140632912->139848140633488+ -->\n<g id=\"edge97\" class=\"edge\">\n<title>139848140632912->139848140633488+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1804.4428,-128.5C1814.0488,-128.5 1823.3393,-128.5 1831.7371,-128.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1831.8536,-132.0001 1841.8536,-128.5 1831.8535,-125.0001 1831.8536,-132.0001\"/>\n</g>\n<!-- 139848140632912+->139848140632912 -->\n<g id=\"edge44\" class=\"edge\">\n<title>139848140632912+->139848140632912</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1574.3115,-128.5C1582.3858,-128.5 1591.7523,-128.5 1601.7073,-128.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1601.8324,-132.0001 1611.8324,-128.5 1601.8324,-125.0001 1601.8324,-132.0001\"/>\n</g>\n<!-- 139848140714832 -->\n<g id=\"node117\" class=\"node\">\n<title>139848140714832</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"3222,-550.5 3222,-586.5 3414,-586.5 3414,-550.5 3222,-550.5\"/>\n<text text-anchor=\"middle\" x=\"3232\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3242,-550.5 3242,-586.5 \"/>\n<text text-anchor=\"middle\" x=\"3284.5\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.0179</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3327,-550.5 3327,-586.5 \"/>\n<text text-anchor=\"middle\" x=\"3370.5\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140714960tanh -->\n<g id=\"node122\" class=\"node\">\n<title>139848140714960tanh</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"3479\" cy=\"-568.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"3479\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">tanh</text>\n</g>\n<!-- 139848140714832->139848140714960tanh -->\n<g id=\"edge138\" class=\"edge\">\n<title>139848140714832->139848140714960tanh</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3414.4428,-568.5C3424.0488,-568.5 3433.3393,-568.5 3441.7371,-568.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3441.8536,-572.0001 3451.8536,-568.5 3441.8535,-565.0001 3441.8536,-572.0001\"/>\n</g>\n<!-- 139848140714832+->139848140714832 -->\n<g id=\"edge45\" class=\"edge\">\n<title>139848140714832+->139848140714832</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3184.3115,-568.5C3192.3858,-568.5 3201.7523,-568.5 3211.7073,-568.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3211.8324,-572.0001 3221.8324,-568.5 3211.8324,-565.0001 3211.8324,-572.0001\"/>\n</g>\n<!-- 139848140731280 -->\n<g id=\"node119\" class=\"node\">\n<title>139848140731280</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"5106,-376.5 5106,-412.5 5302,-412.5 5302,-376.5 5106,-376.5\"/>\n<text text-anchor=\"middle\" x=\"5116\" y=\"-390.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"5126,-376.5 5126,-412.5 \"/>\n<text text-anchor=\"middle\" x=\"5170.5\" y=\"-390.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.5868</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"5215,-376.5 5215,-412.5 \"/>\n<text text-anchor=\"middle\" x=\"5258.5\" y=\"-390.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140731792+ -->\n<g id=\"node136\" class=\"node\">\n<title>139848140731792+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"5365\" cy=\"-368.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"5365\" y=\"-364.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140731280->139848140731792+ -->\n<g id=\"edge158\" class=\"edge\">\n<title>139848140731280->139848140731792+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M5302.2922,-378.6267C5311.5786,-377.1271 5320.5324,-375.6811 5328.6253,-374.3742\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"5329.4096,-377.7929 5338.7237,-372.7434 5328.2936,-370.8825 5329.4096,-377.7929\"/>\n</g>\n<!-- 139848140731280+->139848140731280 -->\n<g id=\"edge46\" class=\"edge\">\n<title>139848140731280+->139848140731280</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M5069.9478,-407.822C5077.5882,-407.0627 5086.4065,-406.1863 5095.7977,-405.253\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"5096.1616,-408.7342 5105.7664,-404.2623 5095.4692,-401.7685 5096.1616,-408.7342\"/>\n</g>\n<!-- 139848140714960 -->\n<g id=\"node121\" class=\"node\">\n<title>139848140714960</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"3544,-550.5 3544,-586.5 3736,-586.5 3736,-550.5 3544,-550.5\"/>\n<text text-anchor=\"middle\" x=\"3554\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3564,-550.5 3564,-586.5 \"/>\n<text text-anchor=\"middle\" x=\"3606.5\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.0179</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3649,-550.5 3649,-586.5 \"/>\n<text text-anchor=\"middle\" x=\"3692.5\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140714960->139848140731024* -->\n<g id=\"edge98\" class=\"edge\">\n<title>139848140714960->139848140731024*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3736.4428,-568.5C3746.0488,-568.5 3755.3393,-568.5 3763.7371,-568.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3763.8536,-572.0001 3773.8536,-568.5 3763.8535,-565.0001 3763.8536,-572.0001\"/>\n</g>\n<!-- 139848140714960tanh->139848140714960 -->\n<g id=\"edge47\" class=\"edge\">\n<title>139848140714960tanh->139848140714960</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3506.3115,-568.5C3514.3858,-568.5 3523.7523,-568.5 3533.7073,-568.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3533.8324,-572.0001 3543.8324,-568.5 3533.8324,-565.0001 3533.8324,-572.0001\"/>\n</g>\n<!-- 139848140887056 -->\n<g id=\"node123\" class=\"node\">\n<title>139848140887056</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2256,-550.5 2256,-586.5 2448,-586.5 2448,-550.5 2256,-550.5\"/>\n<text text-anchor=\"middle\" x=\"2266\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2276,-550.5 2276,-586.5 \"/>\n<text text-anchor=\"middle\" x=\"2318.5\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.6407</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2361,-550.5 2361,-586.5 \"/>\n<text text-anchor=\"middle\" x=\"2404.5\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140887056->139848140703504* -->\n<g id=\"edge109\" class=\"edge\">\n<title>139848140887056->139848140703504*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2422.5247,-586.5646C2431.8324,-589.3465 2441.1932,-592.3497 2450,-595.5 2460.59,-599.2882 2471.894,-604.068 2481.961,-608.6011\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2480.6219,-611.8375 2491.1701,-612.8311 2483.5438,-605.4765 2480.6219,-611.8375\"/>\n</g>\n<!-- 139848140633168 -->\n<g id=\"node124\" class=\"node\">\n<title>139848140633168</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1290,-.5 1290,-36.5 1482,-36.5 1482,-.5 1290,-.5\"/>\n<text text-anchor=\"middle\" x=\"1300\" y=\"-14.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1310,-.5 1310,-36.5 \"/>\n<text text-anchor=\"middle\" x=\"1352.5\" y=\"-14.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 3.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1395,-.5 1395,-36.5 \"/>\n<text text-anchor=\"middle\" x=\"1438.5\" y=\"-14.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140633232* -->\n<g id=\"node128\" class=\"node\">\n<title>139848140633232*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1547\" cy=\"-73.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1547\" y=\"-69.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140633168->139848140633232* -->\n<g id=\"edge115\" class=\"edge\">\n<title>139848140633168->139848140633232*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1456.5247,-36.5646C1465.8324,-39.3465 1475.1932,-42.3497 1484,-45.5 1494.59,-49.2882 1505.894,-54.068 1515.961,-58.6011\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1514.6219,-61.8375 1525.1701,-62.8311 1517.5438,-55.4765 1514.6219,-61.8375\"/>\n</g>\n<!-- 139848140731536 -->\n<g id=\"node125\" class=\"node\">\n<title>139848140731536</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"4324,-323.5 4324,-359.5 4520,-359.5 4520,-323.5 4324,-323.5\"/>\n<text text-anchor=\"middle\" x=\"4334\" y=\"-337.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"4344,-323.5 4344,-359.5 \"/>\n<text text-anchor=\"middle\" x=\"4388.5\" y=\"-337.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.0911</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"4433,-323.5 4433,-359.5 \"/>\n<text text-anchor=\"middle\" x=\"4476.5\" y=\"-337.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140731536->139848140731792+ -->\n<g id=\"edge186\" class=\"edge\">\n<title>139848140731536->139848140731792+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4520.2557,-342.8486C4613.39,-344.0099 4757.2123,-345.5 4882,-345.5 4882,-345.5 4882,-345.5 5043,-345.5 5146.6267,-345.5 5268.5368,-357.4982 5328.2618,-364.1629\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"5327.9997,-367.6555 5338.3298,-365.3019 5328.7867,-360.6999 5327.9997,-367.6555\"/>\n</g>\n<!-- 139848140731536*->139848140731536 -->\n<g id=\"edge48\" class=\"edge\">\n<title>139848140731536*->139848140731536</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3828.0829,-295.5934C3911.263,-302.0227 4166.309,-321.7364 4313.7249,-333.1309\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"4313.4725,-336.6218 4323.7125,-333.9029 4314.012,-329.6426 4313.4725,-336.6218\"/>\n</g>\n<!-- 139848140633232 -->\n<g id=\"node127\" class=\"node\">\n<title>139848140633232</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1612,-55.5 1612,-91.5 1804,-91.5 1804,-55.5 1612,-55.5\"/>\n<text text-anchor=\"middle\" x=\"1622\" y=\"-69.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1632,-55.5 1632,-91.5 \"/>\n<text text-anchor=\"middle\" x=\"1674.5\" y=\"-69.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.2237</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1717,-55.5 1717,-91.5 \"/>\n<text text-anchor=\"middle\" x=\"1760.5\" y=\"-69.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140633232->139848140633488+ -->\n<g id=\"edge188\" class=\"edge\">\n<title>139848140633232->139848140633488+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1778.5247,-91.5646C1787.8324,-94.3465 1797.1932,-97.3497 1806,-100.5 1816.59,-104.2882 1827.894,-109.068 1837.961,-113.6011\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1836.6219,-116.8375 1847.1701,-117.8311 1839.5438,-110.4765 1836.6219,-116.8375\"/>\n</g>\n<!-- 139848140633232*->139848140633232 -->\n<g id=\"edge49\" class=\"edge\">\n<title>139848140633232*->139848140633232</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1574.3115,-73.5C1582.3858,-73.5 1591.7523,-73.5 1601.7073,-73.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1601.8324,-77.0001 1611.8324,-73.5 1601.8324,-70.0001 1601.8324,-77.0001\"/>\n</g>\n<!-- 139848140887248 -->\n<g id=\"node129\" class=\"node\">\n<title>139848140887248</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1290,-55.5 1290,-91.5 1482,-91.5 1482,-55.5 1290,-55.5\"/>\n<text text-anchor=\"middle\" x=\"1300\" y=\"-69.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1310,-55.5 1310,-91.5 \"/>\n<text text-anchor=\"middle\" x=\"1352.5\" y=\"-69.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.0746</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1395,-55.5 1395,-91.5 \"/>\n<text text-anchor=\"middle\" x=\"1438.5\" y=\"-69.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140887248->139848140633232* -->\n<g id=\"edge210\" class=\"edge\">\n<title>139848140887248->139848140633232*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1482.4428,-73.5C1492.0488,-73.5 1501.3393,-73.5 1509.7371,-73.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1509.8536,-77.0001 1519.8536,-73.5 1509.8535,-70.0001 1509.8536,-77.0001\"/>\n</g>\n<!-- 139848140636112 -->\n<g id=\"node130\" class=\"node\">\n<title>139848140636112</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2900,-495.5 2900,-531.5 3092,-531.5 3092,-495.5 2900,-495.5\"/>\n<text text-anchor=\"middle\" x=\"2910\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2920,-495.5 2920,-531.5 \"/>\n<text text-anchor=\"middle\" x=\"2962.5\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.3451</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3005,-495.5 3005,-531.5 \"/>\n<text text-anchor=\"middle\" x=\"3048.5\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140636112->139848140701968+ -->\n<g id=\"edge89\" class=\"edge\">\n<title>139848140636112->139848140701968+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3092.4428,-513.5C3102.0488,-513.5 3111.3393,-513.5 3119.7371,-513.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3119.8536,-517.0001 3129.8536,-513.5 3119.8535,-510.0001 3119.8536,-517.0001\"/>\n</g>\n<!-- 139848140636112* -->\n<g id=\"node131\" class=\"node\">\n<title>139848140636112*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2835\" cy=\"-513.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2835\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140636112*->139848140636112 -->\n<g id=\"edge50\" class=\"edge\">\n<title>139848140636112*->139848140636112</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2862.3115,-513.5C2870.3858,-513.5 2879.7523,-513.5 2889.7073,-513.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2889.8324,-517.0001 2899.8324,-513.5 2889.8324,-510.0001 2889.8324,-517.0001\"/>\n</g>\n<!-- 139848140715344 -->\n<g id=\"node132\" class=\"node\">\n<title>139848140715344</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1932,-275.5 1932,-311.5 2128,-311.5 2128,-275.5 1932,-275.5\"/>\n<text text-anchor=\"middle\" x=\"1942\" y=\"-289.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1952,-275.5 1952,-311.5 \"/>\n<text text-anchor=\"middle\" x=\"1996.5\" y=\"-289.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.9431</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2041,-275.5 2041,-311.5 \"/>\n<text text-anchor=\"middle\" x=\"2084.5\" y=\"-289.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140715344->139848140715600+ -->\n<g id=\"edge170\" class=\"edge\">\n<title>139848140715344->139848140715600+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2128.2922,-293.5C2137.2042,-293.5 2145.8099,-293.5 2153.6423,-293.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2153.7996,-297.0001 2163.7995,-293.5 2153.7995,-290.0001 2153.7996,-297.0001\"/>\n</g>\n<!-- 139848140715344*->139848140715344 -->\n<g id=\"edge51\" class=\"edge\">\n<title>139848140715344*->139848140715344</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1882.7766,-360.7848C1894.6425,-348.173 1912.8412,-330.9104 1932,-320.5 1935.2951,-318.7095 1938.7185,-317.0302 1942.226,-315.4561\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1943.7848,-318.5986 1951.6772,-311.5303 1941.0996,-312.1341 1943.7848,-318.5986\"/>\n</g>\n<!-- 139848140887376 -->\n<g id=\"node134\" class=\"node\">\n<title>139848140887376</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1290,-165.5 1290,-201.5 1482,-201.5 1482,-165.5 1290,-165.5\"/>\n<text text-anchor=\"middle\" x=\"1300\" y=\"-179.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1310,-165.5 1310,-201.5 \"/>\n<text text-anchor=\"middle\" x=\"1352.5\" y=\"-179.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.2798</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1395,-165.5 1395,-201.5 \"/>\n<text text-anchor=\"middle\" x=\"1438.5\" y=\"-179.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140887376->139848140632912+ -->\n<g id=\"edge105\" class=\"edge\">\n<title>139848140887376->139848140632912+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1453.3081,-165.4892C1463.6554,-162.3698 1474.1633,-158.9973 1484,-155.5 1494.4509,-151.7844 1505.6434,-147.195 1515.652,-142.8608\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1517.0824,-146.0553 1524.8222,-138.8204 1514.2599,-139.6496 1517.0824,-146.0553\"/>\n</g>\n<!-- 139848140731792 -->\n<g id=\"node135\" class=\"node\">\n<title>139848140731792</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"5428,-350.5 5428,-386.5 5624,-386.5 5624,-350.5 5428,-350.5\"/>\n<text text-anchor=\"middle\" x=\"5438\" y=\"-364.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"5448,-350.5 5448,-386.5 \"/>\n<text text-anchor=\"middle\" x=\"5492.5\" y=\"-364.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.6780</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"5537,-350.5 5537,-386.5 \"/>\n<text text-anchor=\"middle\" x=\"5580.5\" y=\"-364.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140731920tanh -->\n<g id=\"node141\" class=\"node\">\n<title>139848140731920tanh</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"5687\" cy=\"-368.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"5687\" y=\"-364.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">tanh</text>\n</g>\n<!-- 139848140731792->139848140731920tanh -->\n<g id=\"edge208\" class=\"edge\">\n<title>139848140731792->139848140731920tanh</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M5624.2922,-368.5C5633.2042,-368.5 5641.8099,-368.5 5649.6423,-368.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"5649.7996,-372.0001 5659.7995,-368.5 5649.7995,-365.0001 5649.7996,-372.0001\"/>\n</g>\n<!-- 139848140731792+->139848140731792 -->\n<g id=\"edge52\" class=\"edge\">\n<title>139848140731792+->139848140731792</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M5392.3115,-368.5C5399.8223,-368.5 5408.4512,-368.5 5417.6318,-368.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"5417.7835,-372.0001 5427.7835,-368.5 5417.7835,-365.0001 5417.7835,-372.0001\"/>\n</g>\n<!-- 139848140887440 -->\n<g id=\"node137\" class=\"node\">\n<title>139848140887440</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"966,-605.5 966,-641.5 1162,-641.5 1162,-605.5 966,-605.5\"/>\n<text text-anchor=\"middle\" x=\"976\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"986,-605.5 986,-641.5 \"/>\n<text text-anchor=\"middle\" x=\"1030.5\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.8110</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1075,-605.5 1075,-641.5 \"/>\n<text text-anchor=\"middle\" x=\"1118.5\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140887440->139848140598096+ -->\n<g id=\"edge177\" class=\"edge\">\n<title>139848140887440->139848140598096+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1134.5247,-641.5646C1143.8324,-644.3465 1153.1932,-647.3497 1162,-650.5 1172.59,-654.2882 1183.894,-659.068 1193.961,-663.6011\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1192.6219,-666.8375 1203.1701,-667.8311 1195.5438,-660.4765 1192.6219,-666.8375\"/>\n</g>\n<!-- 139848140633488 -->\n<g id=\"node138\" class=\"node\">\n<title>139848140633488</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1934,-110.5 1934,-146.5 2126,-146.5 2126,-110.5 1934,-110.5\"/>\n<text text-anchor=\"middle\" x=\"1944\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1954,-110.5 1954,-146.5 \"/>\n<text text-anchor=\"middle\" x=\"1996.5\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 1.0774</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2039,-110.5 2039,-146.5 \"/>\n<text text-anchor=\"middle\" x=\"2082.5\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140634064+ -->\n<g id=\"node153\" class=\"node\">\n<title>139848140634064+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2191\" cy=\"-183.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2191\" y=\"-179.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140633488->139848140634064+ -->\n<g id=\"edge155\" class=\"edge\">\n<title>139848140633488->139848140634064+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2100.5247,-146.5646C2109.8324,-149.3465 2119.1932,-152.3497 2128,-155.5 2138.59,-159.2882 2149.894,-164.068 2159.961,-168.6011\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2158.6219,-171.8375 2169.1701,-172.8311 2161.5438,-165.4765 2158.6219,-171.8375\"/>\n</g>\n<!-- 139848140633488+->139848140633488 -->\n<g id=\"edge53\" class=\"edge\">\n<title>139848140633488+->139848140633488</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1896.3115,-128.5C1904.3858,-128.5 1913.7523,-128.5 1923.7073,-128.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1923.8324,-132.0001 1933.8324,-128.5 1923.8324,-125.0001 1923.8324,-132.0001\"/>\n</g>\n<!-- 139848140731920 -->\n<g id=\"node140\" class=\"node\">\n<title>139848140731920</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"5750,-350.5 5750,-386.5 5946,-386.5 5946,-350.5 5750,-350.5\"/>\n<text text-anchor=\"middle\" x=\"5760\" y=\"-364.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"5770,-350.5 5770,-386.5 \"/>\n<text text-anchor=\"middle\" x=\"5814.5\" y=\"-364.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.5902</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"5859,-350.5 5859,-386.5 \"/>\n<text text-anchor=\"middle\" x=\"5902.5\" y=\"-364.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140731920tanh->139848140731920 -->\n<g id=\"edge54\" class=\"edge\">\n<title>139848140731920tanh->139848140731920</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M5714.3115,-368.5C5721.8223,-368.5 5730.4512,-368.5 5739.6318,-368.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"5739.7835,-372.0001 5749.7835,-368.5 5739.7835,-365.0001 5739.7835,-372.0001\"/>\n</g>\n<!-- 139848159204880 -->\n<g id=\"node142\" class=\"node\">\n<title>139848159204880</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2,-908.5 2,-944.5 194,-944.5 194,-908.5 2,-908.5\"/>\n<text text-anchor=\"middle\" x=\"12\" y=\"-922.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"22,-908.5 22,-944.5 \"/>\n<text text-anchor=\"middle\" x=\"64.5\" y=\"-922.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 2.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"107,-908.5 107,-944.5 \"/>\n<text text-anchor=\"middle\" x=\"150.5\" y=\"-922.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848159204880->139848283180240* -->\n<g id=\"edge137\" class=\"edge\">\n<title>139848159204880->139848283180240*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M194.4428,-942.6736C204.4412,-944.3504 214.0978,-945.9698 222.7618,-947.4228\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"222.3527,-950.903 232.7939,-949.1052 223.5105,-943.9994 222.3527,-950.903\"/>\n</g>\n<!-- 139848140715600 -->\n<g id=\"node143\" class=\"node\">\n<title>139848140715600</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2254,-275.5 2254,-311.5 2450,-311.5 2450,-275.5 2254,-275.5\"/>\n<text text-anchor=\"middle\" x=\"2264\" y=\"-289.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2274,-275.5 2274,-311.5 \"/>\n<text text-anchor=\"middle\" x=\"2318.5\" y=\"-289.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.9228</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2363,-275.5 2363,-311.5 \"/>\n<text text-anchor=\"middle\" x=\"2406.5\" y=\"-289.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140716112+ -->\n<g id=\"node156\" class=\"node\">\n<title>139848140716112+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2513\" cy=\"-348.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2513\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140715600->139848140716112+ -->\n<g id=\"edge144\" class=\"edge\">\n<title>139848140715600->139848140716112+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2422.5247,-311.5646C2431.8324,-314.3465 2441.1932,-317.3497 2450,-320.5 2460.59,-324.2882 2471.894,-329.068 2481.961,-333.6011\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2480.6219,-336.8375 2491.1701,-337.8311 2483.5438,-330.4765 2480.6219,-336.8375\"/>\n</g>\n<!-- 139848140715600+->139848140715600 -->\n<g id=\"edge55\" class=\"edge\">\n<title>139848140715600+->139848140715600</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2218.3115,-293.5C2225.8223,-293.5 2234.4512,-293.5 2243.6318,-293.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2243.7835,-297.0001 2253.7835,-293.5 2243.7835,-290.0001 2243.7835,-297.0001\"/>\n</g>\n<!-- 139848140887696 -->\n<g id=\"node145\" class=\"node\">\n<title>139848140887696</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"644,-330.5 644,-366.5 840,-366.5 840,-330.5 644,-330.5\"/>\n<text text-anchor=\"middle\" x=\"654\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"664,-330.5 664,-366.5 \"/>\n<text text-anchor=\"middle\" x=\"708.5\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.2088</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"753,-330.5 753,-366.5 \"/>\n<text text-anchor=\"middle\" x=\"796.5\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140887696->139848140596432* -->\n<g id=\"edge74\" class=\"edge\">\n<title>139848140887696->139848140596432*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M812.5247,-366.5646C821.8324,-369.3465 831.1932,-372.3497 840,-375.5 850.59,-379.2882 861.894,-384.068 871.961,-388.6011\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"870.6219,-391.8375 881.1701,-392.8311 873.5438,-385.4765 870.6219,-391.8375\"/>\n</g>\n<!-- 139848140633744 -->\n<g id=\"node146\" class=\"node\">\n<title>139848140633744</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1610,-220.5 1610,-256.5 1806,-256.5 1806,-220.5 1610,-220.5\"/>\n<text text-anchor=\"middle\" x=\"1620\" y=\"-234.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1630,-220.5 1630,-256.5 \"/>\n<text text-anchor=\"middle\" x=\"1674.5\" y=\"-234.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -1.0000</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1719,-220.5 1719,-256.5 \"/>\n<text text-anchor=\"middle\" x=\"1762.5\" y=\"-234.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140633808* -->\n<g id=\"node148\" class=\"node\">\n<title>139848140633808*</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"1869\" cy=\"-183.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"1869\" y=\"-179.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">*</text>\n</g>\n<!-- 139848140633744->139848140633808* -->\n<g id=\"edge171\" class=\"edge\">\n<title>139848140633744->139848140633808*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1775.3081,-220.4892C1785.6554,-217.3698 1796.1633,-213.9973 1806,-210.5 1816.4509,-206.7844 1827.6434,-202.195 1837.652,-197.8608\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1839.0824,-201.0553 1846.8222,-193.8204 1836.2599,-194.6496 1839.0824,-201.0553\"/>\n</g>\n<!-- 139848140633808 -->\n<g id=\"node147\" class=\"node\">\n<title>139848140633808</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1932,-165.5 1932,-201.5 2128,-201.5 2128,-165.5 1932,-165.5\"/>\n<text text-anchor=\"middle\" x=\"1942\" y=\"-179.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1952,-165.5 1952,-201.5 \"/>\n<text text-anchor=\"middle\" x=\"1996.5\" y=\"-179.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.0429</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2041,-165.5 2041,-201.5 \"/>\n<text text-anchor=\"middle\" x=\"2084.5\" y=\"-179.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140633808->139848140634064+ -->\n<g id=\"edge161\" class=\"edge\">\n<title>139848140633808->139848140634064+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2128.2922,-183.5C2137.2042,-183.5 2145.8099,-183.5 2153.6423,-183.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2153.7996,-187.0001 2163.7995,-183.5 2153.7995,-180.0001 2153.7996,-187.0001\"/>\n</g>\n<!-- 139848140633808*->139848140633808 -->\n<g id=\"edge56\" class=\"edge\">\n<title>139848140633808*->139848140633808</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1896.3115,-183.5C1903.8223,-183.5 1912.4512,-183.5 1921.6318,-183.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1921.7835,-187.0001 1931.7835,-183.5 1921.7835,-180.0001 1921.7835,-187.0001\"/>\n</g>\n<!-- 139848140887824 -->\n<g id=\"node149\" class=\"node\">\n<title>139848140887824</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"644,-633.5 644,-669.5 840,-669.5 840,-633.5 644,-633.5\"/>\n<text text-anchor=\"middle\" x=\"654\" y=\"-647.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"664,-633.5 664,-669.5 \"/>\n<text text-anchor=\"middle\" x=\"708.5\" y=\"-647.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.4919</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"753,-633.5 753,-669.5 \"/>\n<text text-anchor=\"middle\" x=\"796.5\" y=\"-647.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140887824->139848140597840* -->\n<g id=\"edge196\" class=\"edge\">\n<title>139848140887824->139848140597840*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M840.2922,-667.9838C849.5786,-669.5411 858.5324,-671.0427 866.6253,-672.3999\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"866.2825,-675.8912 876.7237,-674.0934 867.4403,-668.9876 866.2825,-675.8912\"/>\n</g>\n<!-- 139848140715856 -->\n<g id=\"node150\" class=\"node\">\n<title>139848140715856</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2256,-330.5 2256,-366.5 2448,-366.5 2448,-330.5 2256,-330.5\"/>\n<text text-anchor=\"middle\" x=\"2266\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2276,-330.5 2276,-366.5 \"/>\n<text text-anchor=\"middle\" x=\"2318.5\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.4184</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2361,-330.5 2361,-366.5 \"/>\n<text text-anchor=\"middle\" x=\"2404.5\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140715856->139848140716112+ -->\n<g id=\"edge118\" class=\"edge\">\n<title>139848140715856->139848140716112+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2448.4428,-348.5C2458.0488,-348.5 2467.3393,-348.5 2475.7371,-348.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2475.8536,-352.0001 2485.8536,-348.5 2475.8535,-345.0001 2475.8536,-352.0001\"/>\n</g>\n<!-- 139848140715856*->139848140715856 -->\n<g id=\"edge57\" class=\"edge\">\n<title>139848140715856*->139848140715856</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2218.3115,-348.5C2226.3858,-348.5 2235.7523,-348.5 2245.7073,-348.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2245.8324,-352.0001 2255.8324,-348.5 2245.8324,-345.0001 2245.8324,-352.0001\"/>\n</g>\n<!-- 139848140634064 -->\n<g id=\"node152\" class=\"node\">\n<title>139848140634064</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2256,-193.5 2256,-229.5 2448,-229.5 2448,-193.5 2256,-193.5\"/>\n<text text-anchor=\"middle\" x=\"2266\" y=\"-207.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2276,-193.5 2276,-229.5 \"/>\n<text text-anchor=\"middle\" x=\"2318.5\" y=\"-207.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 1.0345</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2361,-193.5 2361,-229.5 \"/>\n<text text-anchor=\"middle\" x=\"2404.5\" y=\"-207.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140634192tanh -->\n<g id=\"node158\" class=\"node\">\n<title>139848140634192tanh</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2513\" cy=\"-238.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2513\" y=\"-234.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">tanh</text>\n</g>\n<!-- 139848140634064->139848140634192tanh -->\n<g id=\"edge202\" class=\"edge\">\n<title>139848140634064->139848140634192tanh</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2448.4428,-227.6736C2458.4412,-229.3504 2468.0978,-230.9698 2476.7618,-232.4228\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2476.3527,-235.903 2486.7939,-234.1052 2477.5105,-228.9994 2476.3527,-235.903\"/>\n</g>\n<!-- 139848140634064+->139848140634064 -->\n<g id=\"edge58\" class=\"edge\">\n<title>139848140634064+->139848140634064</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2217.2258,-188.061C2225.5312,-189.5054 2235.2795,-191.2008 2245.6699,-193.0078\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2245.3507,-196.5048 2255.8025,-194.77 2246.5501,-189.6083 2245.3507,-196.5048\"/>\n</g>\n<!-- 139848140888080 -->\n<g id=\"node154\" class=\"node\">\n<title>139848140888080</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"644,-440.5 644,-476.5 840,-476.5 840,-440.5 644,-440.5\"/>\n<text text-anchor=\"middle\" x=\"654\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"664,-440.5 664,-476.5 \"/>\n<text text-anchor=\"middle\" x=\"708.5\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.4628</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"753,-440.5 753,-476.5 \"/>\n<text text-anchor=\"middle\" x=\"796.5\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140888080->139848140596112+ -->\n<g id=\"edge76\" class=\"edge\">\n<title>139848140888080->139848140596112+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M840.2922,-458.5C849.2042,-458.5 857.8099,-458.5 865.6423,-458.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"865.7996,-462.0001 875.7995,-458.5 865.7995,-455.0001 865.7996,-462.0001\"/>\n</g>\n<!-- 139848140716112 -->\n<g id=\"node155\" class=\"node\">\n<title>139848140716112</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2576,-330.5 2576,-366.5 2772,-366.5 2772,-330.5 2576,-330.5\"/>\n<text text-anchor=\"middle\" x=\"2586\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2596,-330.5 2596,-366.5 \"/>\n<text text-anchor=\"middle\" x=\"2640.5\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.5044</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2685,-330.5 2685,-366.5 \"/>\n<text text-anchor=\"middle\" x=\"2728.5\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140716624+ -->\n<g id=\"node169\" class=\"node\">\n<title>139848140716624+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2835\" cy=\"-348.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2835\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140716112->139848140716624+ -->\n<g id=\"edge116\" class=\"edge\">\n<title>139848140716112->139848140716624+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2772.2922,-348.5C2781.2042,-348.5 2789.8099,-348.5 2797.6423,-348.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2797.7996,-352.0001 2807.7995,-348.5 2797.7995,-345.0001 2797.7996,-352.0001\"/>\n</g>\n<!-- 139848140716112+->139848140716112 -->\n<g id=\"edge59\" class=\"edge\">\n<title>139848140716112+->139848140716112</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2540.3115,-348.5C2547.8223,-348.5 2556.4512,-348.5 2565.6318,-348.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2565.7835,-352.0001 2575.7835,-348.5 2565.7835,-345.0001 2565.7835,-352.0001\"/>\n</g>\n<!-- 139848140634192 -->\n<g id=\"node157\" class=\"node\">\n<title>139848140634192</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2578,-275.5 2578,-311.5 2770,-311.5 2770,-275.5 2578,-275.5\"/>\n<text text-anchor=\"middle\" x=\"2588\" y=\"-289.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2598,-275.5 2598,-311.5 \"/>\n<text text-anchor=\"middle\" x=\"2640.5\" y=\"-289.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.7757</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2683,-275.5 2683,-311.5 \"/>\n<text text-anchor=\"middle\" x=\"2726.5\" y=\"-289.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140634192->139848140704016* -->\n<g id=\"edge197\" class=\"edge\">\n<title>139848140634192->139848140704016*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2770.4428,-293.5C2780.0488,-293.5 2789.3393,-293.5 2797.7371,-293.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2797.8536,-297.0001 2807.8536,-293.5 2797.8535,-290.0001 2797.8536,-297.0001\"/>\n</g>\n<!-- 139848140634192->139848140714576* -->\n<g id=\"edge77\" class=\"edge\">\n<title>139848140634192->139848140714576*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2762.1752,-311.7621C2765.7433,-314.3203 2769.051,-317.2184 2772,-320.5 2838.2255,-394.1931 2763.5969,-451.9288 2808,-540.5 2809.0082,-542.511 2810.2112,-544.4728 2811.5412,-546.3641\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2808.9033,-548.6662 2817.9754,-554.1387 2814.296,-544.2032 2808.9033,-548.6662\"/>\n</g>\n<!-- 139848140634192->139848140636112* -->\n<g id=\"edge134\" class=\"edge\">\n<title>139848140634192->139848140636112*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2760.6848,-311.7651C2764.743,-314.3141 2768.553,-317.2103 2772,-320.5 2796.1202,-343.5198 2818.9977,-437.9246 2829.2956,-485.6307\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2825.912,-486.5465 2831.4114,-495.6023 2832.7595,-485.0936 2825.912,-486.5465\"/>\n</g>\n<!-- 139848140634192->139848140716880* -->\n<g id=\"edge126\" class=\"edge\">\n<title>139848140634192->139848140716880*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2741.3081,-275.4892C2751.6554,-272.3698 2762.1633,-268.9973 2772,-265.5 2782.4509,-261.7844 2793.6434,-257.195 2803.652,-252.8608\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2805.0824,-256.0553 2812.8222,-248.8204 2802.2599,-249.6496 2805.0824,-256.0553\"/>\n</g>\n<!-- 139848140634192tanh->139848140634192 -->\n<g id=\"edge60\" class=\"edge\">\n<title>139848140634192tanh->139848140634192</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2535.1778,-248.8204C2547.1268,-254.1724 2562.2091,-260.5969 2576,-265.5 2582.7627,-267.9044 2589.8427,-270.2498 2596.9696,-272.4945\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2596.1047,-275.8903 2606.6919,-275.4892 2598.1654,-269.2005 2596.1047,-275.8903\"/>\n</g>\n<!-- 139848140888208 -->\n<g id=\"node159\" class=\"node\">\n<title>139848140888208</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2578,-220.5 2578,-256.5 2770,-256.5 2770,-220.5 2578,-220.5\"/>\n<text text-anchor=\"middle\" x=\"2588\" y=\"-234.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2598,-220.5 2598,-256.5 \"/>\n<text text-anchor=\"middle\" x=\"2640.5\" y=\"-234.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.5753</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2683,-220.5 2683,-256.5 \"/>\n<text text-anchor=\"middle\" x=\"2726.5\" y=\"-234.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140888208->139848140704016* -->\n<g id=\"edge127\" class=\"edge\">\n<title>139848140888208->139848140704016*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2744.5247,-256.5646C2753.8324,-259.3465 2763.1932,-262.3497 2772,-265.5 2782.59,-269.2882 2793.894,-274.068 2803.961,-278.6011\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2802.6219,-281.8375 2813.1701,-282.8311 2805.5438,-275.4765 2802.6219,-281.8375\"/>\n</g>\n<!-- 139848140888272 -->\n<g id=\"node160\" class=\"node\">\n<title>139848140888272</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"968,-715.5 968,-751.5 1160,-751.5 1160,-715.5 968,-715.5\"/>\n<text text-anchor=\"middle\" x=\"978\" y=\"-729.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"988,-715.5 988,-751.5 \"/>\n<text text-anchor=\"middle\" x=\"1030.5\" y=\"-729.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.9405</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1073,-715.5 1073,-751.5 \"/>\n<text text-anchor=\"middle\" x=\"1116.5\" y=\"-729.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140888272->139848140598416* -->\n<g id=\"edge163\" class=\"edge\">\n<title>139848140888272->139848140598416*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1160.4428,-733.5C1170.0488,-733.5 1179.3393,-733.5 1187.7371,-733.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1187.8536,-737.0001 1197.8536,-733.5 1187.8535,-730.0001 1187.8536,-737.0001\"/>\n</g>\n<!-- 139848140716368 -->\n<g id=\"node161\" class=\"node\">\n<title>139848140716368</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2578,-440.5 2578,-476.5 2770,-476.5 2770,-440.5 2578,-440.5\"/>\n<text text-anchor=\"middle\" x=\"2588\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2598,-440.5 2598,-476.5 \"/>\n<text text-anchor=\"middle\" x=\"2640.5\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.6061</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2683,-440.5 2683,-476.5 \"/>\n<text text-anchor=\"middle\" x=\"2726.5\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140716368->139848140716624+ -->\n<g id=\"edge100\" class=\"edge\">\n<title>139848140716368->139848140716624+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2754.0655,-440.3909C2760.3697,-437.5547 2766.4391,-434.28 2772,-430.5 2792.9881,-416.2337 2810.0068,-392.7202 2821.0403,-374.5217\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2824.2472,-375.9698 2826.2539,-365.5667 2818.1977,-372.4478 2824.2472,-375.9698\"/>\n</g>\n<!-- 139848140716368*->139848140716368 -->\n<g id=\"edge61\" class=\"edge\">\n<title>139848140716368*->139848140716368</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2534.8299,-502.8311C2546.8078,-497.2245 2562.0255,-490.4989 2576,-485.5 2581.7795,-483.4326 2587.7975,-481.4286 2593.8826,-479.5088\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2594.9425,-482.8447 2603.4753,-476.5646 2592.8885,-476.1529 2594.9425,-482.8447\"/>\n</g>\n<!-- 139848140888400 -->\n<g id=\"node163\" class=\"node\">\n<title>139848140888400</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1290,-605.5 1290,-641.5 1482,-641.5 1482,-605.5 1290,-605.5\"/>\n<text text-anchor=\"middle\" x=\"1300\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1310,-605.5 1310,-641.5 \"/>\n<text text-anchor=\"middle\" x=\"1352.5\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.0197</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1395,-605.5 1395,-641.5 \"/>\n<text text-anchor=\"middle\" x=\"1438.5\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140888400->139848140598992* -->\n<g id=\"edge179\" class=\"edge\">\n<title>139848140888400->139848140598992*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1482.4428,-623.5C1492.0488,-623.5 1501.3393,-623.5 1509.7371,-623.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1509.8536,-627.0001 1519.8536,-623.5 1509.8535,-620.0001 1509.8536,-627.0001\"/>\n</g>\n<!-- 139848140888528 -->\n<g id=\"node164\" class=\"node\">\n<title>139848140888528</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2578,-495.5 2578,-531.5 2770,-531.5 2770,-495.5 2578,-495.5\"/>\n<text text-anchor=\"middle\" x=\"2588\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2598,-495.5 2598,-531.5 \"/>\n<text text-anchor=\"middle\" x=\"2640.5\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.4449</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2683,-495.5 2683,-531.5 \"/>\n<text text-anchor=\"middle\" x=\"2726.5\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140888528->139848140636112* -->\n<g id=\"edge146\" class=\"edge\">\n<title>139848140888528->139848140636112*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2770.4428,-513.5C2780.0488,-513.5 2789.3393,-513.5 2797.7371,-513.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2797.8536,-517.0001 2807.8536,-513.5 2797.8535,-510.0001 2797.8536,-517.0001\"/>\n</g>\n<!-- 139848140634576 -->\n<g id=\"node165\" class=\"node\">\n<title>139848140634576</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1932,-825.5 1932,-861.5 2128,-861.5 2128,-825.5 1932,-825.5\"/>\n<text text-anchor=\"middle\" x=\"1942\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1952,-825.5 1952,-861.5 \"/>\n<text text-anchor=\"middle\" x=\"1996.5\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.9618</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2041,-825.5 2041,-861.5 \"/>\n<text text-anchor=\"middle\" x=\"2084.5\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140634832+ -->\n<g id=\"node173\" class=\"node\">\n<title>139848140634832+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2191\" cy=\"-843.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2191\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140634576->139848140634832+ -->\n<g id=\"edge112\" class=\"edge\">\n<title>139848140634576->139848140634832+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2128.2922,-843.5C2137.2042,-843.5 2145.8099,-843.5 2153.6423,-843.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2153.7996,-847.0001 2163.7995,-843.5 2153.7995,-840.0001 2153.7996,-847.0001\"/>\n</g>\n<!-- 139848140634576*->139848140634576 -->\n<g id=\"edge62\" class=\"edge\">\n<title>139848140634576*->139848140634576</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1896.3115,-843.5C1903.8223,-843.5 1912.4512,-843.5 1921.6318,-843.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1921.7835,-847.0001 1931.7835,-843.5 1921.7835,-840.0001 1921.7835,-847.0001\"/>\n</g>\n<!-- 139848140888592 -->\n<g id=\"node167\" class=\"node\">\n<title>139848140888592</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1610,-921.5 1610,-957.5 1806,-957.5 1806,-921.5 1610,-921.5\"/>\n<text text-anchor=\"middle\" x=\"1620\" y=\"-935.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1630,-921.5 1630,-957.5 \"/>\n<text text-anchor=\"middle\" x=\"1674.5\" y=\"-935.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.1929</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1719,-921.5 1719,-957.5 \"/>\n<text text-anchor=\"middle\" x=\"1762.5\" y=\"-935.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140888592->139848140704784* -->\n<g id=\"edge87\" class=\"edge\">\n<title>139848140888592->139848140704784*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1806.2922,-939.5C1815.2042,-939.5 1823.8099,-939.5 1831.6423,-939.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1831.7996,-943.0001 1841.7995,-939.5 1831.7995,-936.0001 1831.7996,-943.0001\"/>\n</g>\n<!-- 139848140716624 -->\n<g id=\"node168\" class=\"node\">\n<title>139848140716624</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2900,-330.5 2900,-366.5 3092,-366.5 3092,-330.5 2900,-330.5\"/>\n<text text-anchor=\"middle\" x=\"2910\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2920,-330.5 2920,-366.5 \"/>\n<text text-anchor=\"middle\" x=\"2962.5\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.1017</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3005,-330.5 3005,-366.5 \"/>\n<text text-anchor=\"middle\" x=\"3048.5\" y=\"-344.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140717136+ -->\n<g id=\"node180\" class=\"node\">\n<title>139848140717136+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"3157\" cy=\"-238.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"3157\" y=\"-234.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140716624->139848140717136+ -->\n<g id=\"edge143\" class=\"edge\">\n<title>139848140716624->139848140717136+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3076.0655,-330.3909C3082.3697,-327.5547 3088.4391,-324.28 3094,-320.5 3114.9881,-306.2337 3132.0068,-282.7202 3143.0403,-264.5217\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3146.2472,-265.9698 3148.2539,-255.5667 3140.1977,-262.4478 3146.2472,-265.9698\"/>\n</g>\n<!-- 139848140716624+->139848140716624 -->\n<g id=\"edge63\" class=\"edge\">\n<title>139848140716624+->139848140716624</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2862.3115,-348.5C2870.3858,-348.5 2879.7523,-348.5 2889.7073,-348.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2889.8324,-352.0001 2899.8324,-348.5 2889.8324,-345.0001 2889.8324,-352.0001\"/>\n</g>\n<!-- 139848140888656 -->\n<g id=\"node170\" class=\"node\">\n<title>139848140888656</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"322,-468.5 322,-504.5 518,-504.5 518,-468.5 322,-468.5\"/>\n<text text-anchor=\"middle\" x=\"332\" y=\"-482.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"342,-468.5 342,-504.5 \"/>\n<text text-anchor=\"middle\" x=\"386.5\" y=\"-482.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.0986</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"431,-468.5 431,-504.5 \"/>\n<text text-anchor=\"middle\" x=\"474.5\" y=\"-482.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140888656->139848140595856* -->\n<g id=\"edge128\" class=\"edge\">\n<title>139848140888656->139848140595856*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M518.2922,-502.9838C527.5786,-504.5411 536.5324,-506.0427 544.6253,-507.3999\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"544.2825,-510.8912 554.7237,-509.0934 545.4403,-503.9876 544.2825,-510.8912\"/>\n</g>\n<!-- 139848140888720 -->\n<g id=\"node171\" class=\"node\">\n<title>139848140888720</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1934,-605.5 1934,-641.5 2126,-641.5 2126,-605.5 1934,-605.5\"/>\n<text text-anchor=\"middle\" x=\"1944\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1954,-605.5 1954,-641.5 \"/>\n<text text-anchor=\"middle\" x=\"1996.5\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.6069</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2039,-605.5 2039,-641.5 \"/>\n<text text-anchor=\"middle\" x=\"2082.5\" y=\"-619.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140888720->139848140635088* -->\n<g id=\"edge182\" class=\"edge\">\n<title>139848140888720->139848140635088*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2126.4428,-623.5C2136.0488,-623.5 2145.3393,-623.5 2153.7371,-623.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2153.8536,-627.0001 2163.8536,-623.5 2153.8535,-620.0001 2153.8536,-627.0001\"/>\n</g>\n<!-- 139848140634832 -->\n<g id=\"node172\" class=\"node\">\n<title>139848140634832</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2254,-825.5 2254,-861.5 2450,-861.5 2450,-825.5 2254,-825.5\"/>\n<text text-anchor=\"middle\" x=\"2264\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2274,-825.5 2274,-861.5 \"/>\n<text text-anchor=\"middle\" x=\"2318.5\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.2224</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2363,-825.5 2363,-861.5 \"/>\n<text text-anchor=\"middle\" x=\"2406.5\" y=\"-839.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140635344+ -->\n<g id=\"node184\" class=\"node\">\n<title>139848140635344+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2513\" cy=\"-733.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2513\" y=\"-729.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140634832->139848140635344+ -->\n<g id=\"edge205\" class=\"edge\">\n<title>139848140634832->139848140635344+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2435.3083,-825.3024C2440.4834,-822.7445 2445.4369,-819.8272 2450,-816.5 2473.6061,-799.2871 2467.7802,-784.3379 2486,-761.5 2487.4372,-759.6986 2488.9709,-757.8799 2490.55,-756.0805\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2493.399,-758.1539 2497.604,-748.4293 2488.2524,-753.4091 2493.399,-758.1539\"/>\n</g>\n<!-- 139848140634832+->139848140634832 -->\n<g id=\"edge64\" class=\"edge\">\n<title>139848140634832+->139848140634832</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2218.3115,-843.5C2225.8223,-843.5 2234.4512,-843.5 2243.6318,-843.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2243.7835,-847.0001 2253.7835,-843.5 2243.7835,-840.0001 2243.7835,-847.0001\"/>\n</g>\n<!-- 139848140888848 -->\n<g id=\"node174\" class=\"node\">\n<title>139848140888848</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1612,-165.5 1612,-201.5 1804,-201.5 1804,-165.5 1612,-165.5\"/>\n<text text-anchor=\"middle\" x=\"1622\" y=\"-179.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1632,-165.5 1632,-201.5 \"/>\n<text text-anchor=\"middle\" x=\"1674.5\" y=\"-179.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.0429</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1717,-165.5 1717,-201.5 \"/>\n<text text-anchor=\"middle\" x=\"1760.5\" y=\"-179.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140888848->139848140633808* -->\n<g id=\"edge200\" class=\"edge\">\n<title>139848140888848->139848140633808*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1804.4428,-183.5C1814.0488,-183.5 1823.3393,-183.5 1831.7371,-183.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1831.8536,-187.0001 1841.8536,-183.5 1831.8535,-180.0001 1831.8536,-187.0001\"/>\n</g>\n<!-- 139848140716880 -->\n<g id=\"node175\" class=\"node\">\n<title>139848140716880</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2898,-220.5 2898,-256.5 3094,-256.5 3094,-220.5 2898,-220.5\"/>\n<text text-anchor=\"middle\" x=\"2908\" y=\"-234.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2918,-220.5 2918,-256.5 \"/>\n<text text-anchor=\"middle\" x=\"2962.5\" y=\"-234.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.2373</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3007,-220.5 3007,-256.5 \"/>\n<text text-anchor=\"middle\" x=\"3050.5\" y=\"-234.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140716880->139848140717136+ -->\n<g id=\"edge81\" class=\"edge\">\n<title>139848140716880->139848140717136+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3094.2922,-238.5C3103.2042,-238.5 3111.8099,-238.5 3119.6423,-238.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3119.7996,-242.0001 3129.7995,-238.5 3119.7995,-235.0001 3119.7996,-242.0001\"/>\n</g>\n<!-- 139848140716880*->139848140716880 -->\n<g id=\"edge65\" class=\"edge\">\n<title>139848140716880*->139848140716880</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2862.3115,-238.5C2869.8223,-238.5 2878.4512,-238.5 2887.6318,-238.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2887.7835,-242.0001 2897.7835,-238.5 2887.7835,-235.0001 2887.7835,-242.0001\"/>\n</g>\n<!-- 139848140635088 -->\n<g id=\"node177\" class=\"node\">\n<title>139848140635088</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2254,-715.5 2254,-751.5 2450,-751.5 2450,-715.5 2254,-715.5\"/>\n<text text-anchor=\"middle\" x=\"2264\" y=\"-729.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2274,-715.5 2274,-751.5 \"/>\n<text text-anchor=\"middle\" x=\"2318.5\" y=\"-729.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.4712</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2363,-715.5 2363,-751.5 \"/>\n<text text-anchor=\"middle\" x=\"2406.5\" y=\"-729.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140635088->139848140635344+ -->\n<g id=\"edge113\" class=\"edge\">\n<title>139848140635088->139848140635344+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2450.2922,-733.5C2459.2042,-733.5 2467.8099,-733.5 2475.6423,-733.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2475.7996,-737.0001 2485.7995,-733.5 2475.7995,-730.0001 2475.7996,-737.0001\"/>\n</g>\n<!-- 139848140635088*->139848140635088 -->\n<g id=\"edge66\" class=\"edge\">\n<title>139848140635088*->139848140635088</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2206.3707,-638.4496C2210.3142,-642.5469 2214.4437,-647.0807 2218,-651.5 2236.0835,-673.9719 2230.7022,-688.4937 2254,-705.5 2256.4922,-707.3192 2259.0996,-709.0204 2261.7948,-710.6114\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2260.1953,-713.7249 2270.6684,-715.3265 2263.48,-707.5433 2260.1953,-713.7249\"/>\n</g>\n<!-- 139848140717136 -->\n<g id=\"node179\" class=\"node\">\n<title>139848140717136</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"3220,-220.5 3220,-256.5 3416,-256.5 3416,-220.5 3220,-220.5\"/>\n<text text-anchor=\"middle\" x=\"3230\" y=\"-234.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3240,-220.5 3240,-256.5 \"/>\n<text text-anchor=\"middle\" x=\"3284.5\" y=\"-234.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.1356</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3329,-220.5 3329,-256.5 \"/>\n<text text-anchor=\"middle\" x=\"3372.5\" y=\"-234.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140717264tanh -->\n<g id=\"node182\" class=\"node\">\n<title>139848140717264tanh</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"3479\" cy=\"-238.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"3479\" y=\"-234.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">tanh</text>\n</g>\n<!-- 139848140717136->139848140717264tanh -->\n<g id=\"edge78\" class=\"edge\">\n<title>139848140717136->139848140717264tanh</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3416.2922,-238.5C3425.2042,-238.5 3433.8099,-238.5 3441.6423,-238.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3441.7996,-242.0001 3451.7995,-238.5 3441.7995,-235.0001 3441.7996,-242.0001\"/>\n</g>\n<!-- 139848140717136+->139848140717136 -->\n<g id=\"edge67\" class=\"edge\">\n<title>139848140717136+->139848140717136</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3184.3115,-238.5C3191.8223,-238.5 3200.4512,-238.5 3209.6318,-238.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3209.7835,-242.0001 3219.7835,-238.5 3209.7835,-235.0001 3209.7835,-242.0001\"/>\n</g>\n<!-- 139848140717264 -->\n<g id=\"node181\" class=\"node\">\n<title>139848140717264</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"3542,-220.5 3542,-256.5 3738,-256.5 3738,-220.5 3542,-220.5\"/>\n<text text-anchor=\"middle\" x=\"3552\" y=\"-234.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3562,-220.5 3562,-256.5 \"/>\n<text text-anchor=\"middle\" x=\"3606.5\" y=\"-234.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.1348</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3651,-220.5 3651,-256.5 \"/>\n<text text-anchor=\"middle\" x=\"3694.5\" y=\"-234.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140717264->139848140731536* -->\n<g id=\"edge178\" class=\"edge\">\n<title>139848140717264->139848140731536*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3710.5247,-256.5646C3719.8324,-259.3465 3729.1932,-262.3497 3738,-265.5 3748.59,-269.2882 3759.894,-274.068 3769.961,-278.6011\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3768.6219,-281.8375 3779.1701,-282.8311 3771.5438,-275.4765 3768.6219,-281.8375\"/>\n</g>\n<!-- 139848140717264tanh->139848140717264 -->\n<g id=\"edge68\" class=\"edge\">\n<title>139848140717264tanh->139848140717264</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3506.3115,-238.5C3513.8223,-238.5 3522.4512,-238.5 3531.6318,-238.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3531.7835,-242.0001 3541.7835,-238.5 3531.7835,-235.0001 3531.7835,-242.0001\"/>\n</g>\n<!-- 139848140635344 -->\n<g id=\"node183\" class=\"node\">\n<title>139848140635344</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2576,-715.5 2576,-751.5 2772,-751.5 2772,-715.5 2576,-715.5\"/>\n<text text-anchor=\"middle\" x=\"2586\" y=\"-729.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2596,-715.5 2596,-751.5 \"/>\n<text text-anchor=\"middle\" x=\"2640.5\" y=\"-729.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.6936</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2685,-715.5 2685,-751.5 \"/>\n<text text-anchor=\"middle\" x=\"2728.5\" y=\"-729.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140635856+ -->\n<g id=\"node195\" class=\"node\">\n<title>139848140635856+</title>\n<ellipse fill=\"none\" stroke=\"#000000\" cx=\"2835\" cy=\"-678.5\" rx=\"27\" ry=\"18\"/>\n<text text-anchor=\"middle\" x=\"2835\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">+</text>\n</g>\n<!-- 139848140635344->139848140635856+ -->\n<g id=\"edge156\" class=\"edge\">\n<title>139848140635344->139848140635856+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2741.3081,-715.4892C2751.6554,-712.3698 2762.1633,-708.9973 2772,-705.5 2782.4509,-701.7844 2793.6434,-697.195 2803.652,-692.8608\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2805.0824,-696.0553 2812.8222,-688.8204 2802.2599,-689.6496 2805.0824,-696.0553\"/>\n</g>\n<!-- 139848140635344+->139848140635344 -->\n<g id=\"edge69\" class=\"edge\">\n<title>139848140635344+->139848140635344</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2540.3115,-733.5C2547.8223,-733.5 2556.4512,-733.5 2565.6318,-733.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2565.7835,-737.0001 2575.7835,-733.5 2565.7835,-730.0001 2565.7835,-737.0001\"/>\n</g>\n<!-- 139848140889360 -->\n<g id=\"node185\" class=\"node\">\n<title>139848140889360</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1932,-440.5 1932,-476.5 2128,-476.5 2128,-440.5 1932,-440.5\"/>\n<text text-anchor=\"middle\" x=\"1942\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1952,-440.5 1952,-476.5 \"/>\n<text text-anchor=\"middle\" x=\"1996.5\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.2607</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2041,-440.5 2041,-476.5 \"/>\n<text text-anchor=\"middle\" x=\"2084.5\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140889360->139848140702736+ -->\n<g id=\"edge130\" class=\"edge\">\n<title>139848140889360->139848140702736+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2128.2922,-458.5C2137.2042,-458.5 2145.8099,-458.5 2153.6423,-458.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2153.7996,-462.0001 2163.7995,-458.5 2153.7995,-455.0001 2153.7996,-462.0001\"/>\n</g>\n<!-- 139848140889424 -->\n<g id=\"node186\" class=\"node\">\n<title>139848140889424</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"966,-495.5 966,-531.5 1162,-531.5 1162,-495.5 966,-495.5\"/>\n<text text-anchor=\"middle\" x=\"976\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"986,-495.5 986,-531.5 \"/>\n<text text-anchor=\"middle\" x=\"1030.5\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.2501</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1075,-495.5 1075,-531.5 \"/>\n<text text-anchor=\"middle\" x=\"1118.5\" y=\"-509.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140889424->139848140597008* -->\n<g id=\"edge83\" class=\"edge\">\n<title>139848140889424->139848140597008*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1162.2922,-513.5C1171.2042,-513.5 1179.8099,-513.5 1187.6423,-513.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1187.7996,-517.0001 1197.7995,-513.5 1187.7995,-510.0001 1187.7996,-517.0001\"/>\n</g>\n<!-- 139848140889488 -->\n<g id=\"node187\" class=\"node\">\n<title>139848140889488</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1932,-715.5 1932,-751.5 2128,-751.5 2128,-715.5 1932,-715.5\"/>\n<text text-anchor=\"middle\" x=\"1942\" y=\"-729.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1952,-715.5 1952,-751.5 \"/>\n<text text-anchor=\"middle\" x=\"1996.5\" y=\"-729.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.3648</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2041,-715.5 2041,-751.5 \"/>\n<text text-anchor=\"middle\" x=\"2084.5\" y=\"-729.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140889488->139848140705296* -->\n<g id=\"edge140\" class=\"edge\">\n<title>139848140889488->139848140705296*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2128.2922,-733.5C2137.2042,-733.5 2145.8099,-733.5 2153.6423,-733.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2153.7996,-737.0001 2163.7995,-733.5 2153.7995,-730.0001 2153.7996,-737.0001\"/>\n</g>\n<!-- 139848140635600 -->\n<g id=\"node188\" class=\"node\">\n<title>139848140635600</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2578,-660.5 2578,-696.5 2770,-696.5 2770,-660.5 2578,-660.5\"/>\n<text text-anchor=\"middle\" x=\"2588\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2598,-660.5 2598,-696.5 \"/>\n<text text-anchor=\"middle\" x=\"2640.5\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.4963</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2683,-660.5 2683,-696.5 \"/>\n<text text-anchor=\"middle\" x=\"2726.5\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140635600->139848140635856+ -->\n<g id=\"edge139\" class=\"edge\">\n<title>139848140635600->139848140635856+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2770.4428,-678.5C2780.0488,-678.5 2789.3393,-678.5 2797.7371,-678.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2797.8536,-682.0001 2807.8536,-678.5 2797.8535,-675.0001 2797.8536,-682.0001\"/>\n</g>\n<!-- 139848140635600*->139848140635600 -->\n<g id=\"edge70\" class=\"edge\">\n<title>139848140635600*->139848140635600</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2540.3115,-678.5C2548.3858,-678.5 2557.7523,-678.5 2567.7073,-678.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2567.8324,-682.0001 2577.8324,-678.5 2567.8324,-675.0001 2567.8324,-682.0001\"/>\n</g>\n<!-- 139848140889552 -->\n<g id=\"node190\" class=\"node\">\n<title>139848140889552</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1934,-770.5 1934,-806.5 2126,-806.5 2126,-770.5 1934,-770.5\"/>\n<text text-anchor=\"middle\" x=\"1944\" y=\"-784.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1954,-770.5 1954,-806.5 \"/>\n<text text-anchor=\"middle\" x=\"1996.5\" y=\"-784.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.7394</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2039,-770.5 2039,-806.5 \"/>\n<text text-anchor=\"middle\" x=\"2082.5\" y=\"-784.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140889552->139848140634832+ -->\n<g id=\"edge195\" class=\"edge\">\n<title>139848140889552->139848140634832+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2097.3081,-806.5108C2107.6554,-809.6302 2118.1633,-813.0027 2128,-816.5 2138.4509,-820.2156 2149.6434,-824.805 2159.652,-829.1392\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2158.2599,-832.3504 2168.8222,-833.1796 2161.0824,-825.9447 2158.2599,-832.3504\"/>\n</g>\n<!-- 139848140717648 -->\n<g id=\"node191\" class=\"node\">\n<title>139848140717648</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"3864,-440.5 3864,-476.5 4060,-476.5 4060,-440.5 3864,-440.5\"/>\n<text text-anchor=\"middle\" x=\"3874\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3884,-440.5 3884,-476.5 \"/>\n<text text-anchor=\"middle\" x=\"3928.5\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.0144</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3973,-440.5 3973,-476.5 \"/>\n<text text-anchor=\"middle\" x=\"4016.5\" y=\"-454.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140717648->139848140717904+ -->\n<g id=\"edge119\" class=\"edge\">\n<title>139848140717648->139848140717904+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4060.2078,-458.5C4093.689,-458.5 4129.1107,-458.5 4154.7904,-458.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"4154.8193,-462.0001 4164.8193,-458.5 4154.8192,-455.0001 4154.8193,-462.0001\"/>\n</g>\n<!-- 139848140717648*->139848140717648 -->\n<g id=\"edge71\" class=\"edge\">\n<title>139848140717648*->139848140717648</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3828.3115,-458.5C3835.8223,-458.5 3844.4512,-458.5 3853.6318,-458.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3853.7835,-462.0001 3863.7835,-458.5 3853.7835,-455.0001 3853.7835,-462.0001\"/>\n</g>\n<!-- 139848140889680 -->\n<g id=\"node193\" class=\"node\">\n<title>139848140889680</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2256,-880.5 2256,-916.5 2448,-916.5 2448,-880.5 2256,-880.5\"/>\n<text text-anchor=\"middle\" x=\"2266\" y=\"-894.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2276,-880.5 2276,-916.5 \"/>\n<text text-anchor=\"middle\" x=\"2318.5\" y=\"-894.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data 0.2662</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2361,-880.5 2361,-916.5 \"/>\n<text text-anchor=\"middle\" x=\"2404.5\" y=\"-894.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140889680->139848140714064* -->\n<g id=\"edge147\" class=\"edge\">\n<title>139848140889680->139848140714064*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2435.3083,-880.3024C2440.4834,-877.7445 2445.4369,-874.8272 2450,-871.5 2473.6061,-854.2871 2467.7802,-839.3379 2486,-816.5 2487.4372,-814.6986 2488.9709,-812.8799 2490.55,-811.0805\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2493.399,-813.1539 2497.604,-803.4293 2488.2524,-808.4091 2493.399,-813.1539\"/>\n</g>\n<!-- 139848140635856 -->\n<g id=\"node194\" class=\"node\">\n<title>139848140635856</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"2898,-660.5 2898,-696.5 3094,-696.5 3094,-660.5 2898,-660.5\"/>\n<text text-anchor=\"middle\" x=\"2908\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2918,-660.5 2918,-696.5 \"/>\n<text text-anchor=\"middle\" x=\"2962.5\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.1973</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"3007,-660.5 3007,-696.5 \"/>\n<text text-anchor=\"middle\" x=\"3050.5\" y=\"-674.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140635856->139848140701968+ -->\n<g id=\"edge207\" class=\"edge\">\n<title>139848140635856->139848140701968+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3080.8672,-660.4363C3085.6076,-657.5885 3090.0431,-654.299 3094,-650.5 3130.8019,-615.1661 3103.6338,-585.1771 3130,-541.5 3131.1626,-539.5741 3132.4798,-537.6753 3133.8917,-535.8292\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3136.6295,-538.0135 3140.5021,-528.1518 3131.3249,-533.4461 3136.6295,-538.0135\"/>\n</g>\n<!-- 139848140635856+->139848140635856 -->\n<g id=\"edge72\" class=\"edge\">\n<title>139848140635856+->139848140635856</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2862.3115,-678.5C2869.8223,-678.5 2878.4512,-678.5 2887.6318,-678.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2887.7835,-682.0001 2897.7835,-678.5 2887.7835,-675.0001 2887.7835,-682.0001\"/>\n</g>\n<!-- 139848140889936 -->\n<g id=\"node196\" class=\"node\">\n<title>139848140889936</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1610,-550.5 1610,-586.5 1806,-586.5 1806,-550.5 1610,-550.5\"/>\n<text text-anchor=\"middle\" x=\"1620\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1630,-550.5 1630,-586.5 \"/>\n<text text-anchor=\"middle\" x=\"1674.5\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.2906</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1719,-550.5 1719,-586.5 \"/>\n<text text-anchor=\"middle\" x=\"1762.5\" y=\"-564.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140889936->139848140702480* -->\n<g id=\"edge164\" class=\"edge\">\n<title>139848140889936->139848140702480*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1806.2922,-568.5C1815.2042,-568.5 1823.8099,-568.5 1831.6423,-568.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1831.7996,-572.0001 1841.7995,-568.5 1831.7995,-565.0001 1831.7996,-572.0001\"/>\n</g>\n<!-- 139848140717904 -->\n<g id=\"node197\" class=\"node\">\n<title>139848140717904</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"4324,-437.5 4324,-473.5 4520,-473.5 4520,-437.5 4324,-437.5\"/>\n<text text-anchor=\"middle\" x=\"4334\" y=\"-451.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"4344,-437.5 4344,-473.5 \"/>\n<text text-anchor=\"middle\" x=\"4388.5\" y=\"-451.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -1.0094</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"4433,-437.5 4433,-473.5 \"/>\n<text text-anchor=\"middle\" x=\"4476.5\" y=\"-451.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140717904->139848140730768+ -->\n<g id=\"edge129\" class=\"edge\">\n<title>139848140717904->139848140730768+</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4514.2245,-437.4561C4550.019,-430.4528 4588.88,-422.8496 4616.1759,-417.5091\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"4616.8987,-420.9341 4626.0405,-415.579 4615.5545,-414.0643 4616.8987,-420.9341\"/>\n</g>\n<!-- 139848140717904+->139848140717904 -->\n<g id=\"edge73\" class=\"edge\">\n<title>139848140717904+->139848140717904</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4219.2872,-458.1441C4242.8972,-457.8361 4278.651,-457.3698 4313.5909,-456.914\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"4313.9482,-460.4098 4323.9016,-456.7795 4313.8568,-453.4104 4313.9482,-460.4098\"/>\n</g>\n<!-- 139848140890064 -->\n<g id=\"node199\" class=\"node\">\n<title>139848140890064</title>\n<polygon fill=\"none\" stroke=\"#000000\" points=\"1932,-385.5 1932,-421.5 2128,-421.5 2128,-385.5 1932,-385.5\"/>\n<text text-anchor=\"middle\" x=\"1942\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> </text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"1952,-385.5 1952,-421.5 \"/>\n<text text-anchor=\"middle\" x=\"1996.5\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">data -0.1932</text>\n<polyline fill=\"none\" stroke=\"#000000\" points=\"2041,-385.5 2041,-421.5 \"/>\n<text text-anchor=\"middle\" x=\"2084.5\" y=\"-399.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">grad 0.0000</text>\n</g>\n<!-- 139848140890064->139848140702992* -->\n<g id=\"edge136\" class=\"edge\">\n<title>139848140890064->139848140702992*</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2128.2922,-403.5C2137.2042,-403.5 2145.8099,-403.5 2153.6423,-403.5\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2153.7996,-407.0001 2163.7995,-403.5 2153.7995,-400.0001 2153.7996,-407.0001\"/>\n</g>\n</g>\n</svg>\n" | |
}, | |
"metadata": {}, | |
"execution_count": 57 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"xs = [\n", | |
" [2.0, 3.0, -1.0],\n", | |
" [3.0, -1.0, 0.5],\n", | |
" [0.5, 1.0, 1.0],\n", | |
" [1.0, 1.0, -1.0],\n", | |
"]\n", | |
"ys = [1.0, -1.0, -1.0, 1.0] # desired targets" | |
], | |
"metadata": { | |
"id": "L8MajBLU2YcY" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"ypred = [mlp(x) for x in xs]\n", | |
"ypred" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "otta_vXK2rMA", | |
"outputId": "8dad155e-3cdf-43e3-a4ad-6d9ee16494cb" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"[Value(data=0.8933124676756877),\n", | |
" Value(data=-0.6665567132670948),\n", | |
" Value(data=0.7973650834894992),\n", | |
" Value(data=0.853445732076444)]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 142 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"[(yout-ygt)**2 for ygt, yout in zip(ys, ypred)]" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "irSY3DaA32di", | |
"outputId": "55272cf1-8d20-4d7f-9abe-dae70a961f96" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"[Value(data=0.011382229553451176),\n", | |
" Value(data=0.11118442546724246),\n", | |
" Value(data=3.2305212433472144),\n", | |
" Value(data=0.021478153446609426)]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 143 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# mean squared error loss\n", | |
"# [(yout-ygt)**2 for ygt, yout in zip(ys, ypred)]\n", | |
"\n", | |
"# SUM OF mean squared error loss\n", | |
"loss = sum((yout-ygt)**2 for ygt, yout in zip(ys, ypred))\n", | |
"loss" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "Ly1sZXt923y8", | |
"outputId": "b48591b5-3b09-49c0-f8cd-fc687856b565" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"Value(data=3.3745660518145173)" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 144 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"loss.backward()" | |
], | |
"metadata": { | |
"id": "eH4Lwe4f3nL-" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"mlp.layers[0].neurons[0].w[0].grad" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "04bBgi0a3p7O", | |
"outputId": "5f4ecb53-4bd2-44f3-f9b3-a76570affc86" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"-0.5818709982643476" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 146 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"mlp.layers[0].neurons[0].w[0].data" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "Hpd6yAWV5gRk", | |
"outputId": "d1be4d53-82b4-407c-f1df-e38da94dccca" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"-0.13239616527152753" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 147 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"len(mlp.parameters())" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "QCpAkcXe5Com", | |
"outputId": "7b6f4cae-18b8-4077-8a08-c0acacf5f36e" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"41" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 148 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# draw_dot(loss)" | |
], | |
"metadata": { | |
"id": "eAWHL1k55bD0" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# nudge the data by the gradient\n", | |
"for p in mlp.parameters():\n", | |
" p.data += -0.01 * p.grad" | |
], | |
"metadata": { | |
"id": "9qLbhRyA5B-l" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# see that data has changed\n", | |
"mlp.layers[0].neurons[0].w[0].data" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "EJChJ37m5BdL", | |
"outputId": "921c007b-e627-4e32-d229-c8de21f10475" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"-0.11494003532359712" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 160 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"ypred = [mlp(x) for x in xs]\n", | |
"loss = sum((yout-ygt)**2 for ygt, yout in zip(ys, ypred))\n", | |
"loss" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "WyY3L0ov5val", | |
"outputId": "1540d9e6-f6e4-44c7-adc7-9765361060c9" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"Value(data=3.4008549616542587)" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 161 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"ypred" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "_ikWbpKi6VwJ", | |
"outputId": "a8e73d81-b7e9-4bd8-e202-efed0bc3971a" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"[Value(data=0.8937246198020076),\n", | |
" Value(data=-0.6733700480680164),\n", | |
" Value(data=0.807136668351983),\n", | |
" Value(data=0.8691166870199393)]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 162 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"xs = [\n", | |
" [2.0, 3.0, -1.0],\n", | |
" [3.0, -1.0, 0.5],\n", | |
" [0.5, 1.0, 1.0],\n", | |
" [1.0, 1.0, -1.0],\n", | |
"]\n", | |
"ys = [1.0, -1.0, -1.0, 1.0] # desired targets\n" | |
], | |
"metadata": { | |
"id": "YOHAi_Sx8CpJ" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"for k in range(20):\n", | |
" \n", | |
" # forward pass\n", | |
" ypred = [n(x) for x in xs]\n", | |
" loss = sum((yout - ygt)**2 for ygt, yout in zip(ys, ypred))\n", | |
" \n", | |
" # backward pass\n", | |
" for p in n.parameters():\n", | |
" p.grad = 0.0\n", | |
" loss.backward()\n", | |
" \n", | |
" # update\n", | |
" for p in n.parameters():\n", | |
" p.data += -0.1 * p.grad\n", | |
" \n", | |
" print(k, loss.data)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "bYCQ6q062kyB", | |
"outputId": "c242c586-5169-43ab-b982-8de50e7c1575" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"0 0.25464823757222455\n", | |
"1 0.2539637796344434\n", | |
"2 0.25328262383591993\n", | |
"3 0.25260474781875764\n", | |
"4 0.2519301294168201\n", | |
"5 0.2512587466537646\n", | |
"6 0.2505905777410996\n", | |
"7 0.24992560107626516\n", | |
"8 0.24926379524073206\n", | |
"9 0.24860513899813072\n", | |
"10 0.24794961129239326\n", | |
"11 0.24729719124592553\n", | |
"12 0.2466478581577937\n", | |
"13 0.24600159150193773\n", | |
"14 0.24535837092540047\n", | |
"15 0.24471817624658262\n", | |
"16 0.2440809874535133\n", | |
"17 0.24344678470214415\n", | |
"18 0.24281554831465985\n", | |
"19 0.24218725877781308\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [], | |
"metadata": { | |
"id": "KiMnCIFE7Q3z" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment