This commit is contained in:
Morten Hjorth-Jensen
2024-09-11 05:31:05 +02:00
parent cfc54d407a
commit e192ace15c
12 changed files with 156 additions and 105 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -869,7 +869,13 @@
" 1.10378326e-04 5.08318298e-09 2.03256632e-04 1.92507116e-03\n",
" 9.84443254e-01 3.11507992e-04]\n",
"probabilities sum up to: 1.0\n",
"\n",
"\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"predictions = (n_inputs) = (1437,)\n",
"prediction for image 0: 8\n",
"correct label for image 0: 6\n"
@@ -1077,7 +1083,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n"
]
},
@@ -1655,7 +1661,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n"
]
},
@@ -1673,7 +1679,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n"
]
},
@@ -1691,7 +1697,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n"
]
},
@@ -1709,7 +1715,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n"
]
},
@@ -1727,7 +1733,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n"
]
},
@@ -1745,7 +1751,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n"
]
},
@@ -1763,7 +1769,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n"
]
},
@@ -1781,11 +1787,11 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
@@ -1803,11 +1809,11 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
@@ -1825,11 +1831,11 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
@@ -1847,11 +1853,11 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
@@ -1869,11 +1875,11 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
@@ -1891,7 +1897,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n"
]
},
@@ -1909,11 +1915,11 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
@@ -1931,11 +1937,11 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
@@ -1953,11 +1959,55 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_1323/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Learning rate = 10.0\n",
"Lambda = 0.0001\n",
"Accuracy score on test set: 0.07777777777777778\n",
"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Learning rate = 10.0\n",
"Lambda = 0.001\n",
"Accuracy score on test set: 0.07777777777777778\n",
"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_6316/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
@@ -3000,13 +3000,14 @@
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/wrap_util.py:15\u001b[0m, in \u001b[0;36munary_to_nary.<locals>.nary_operator.<locals>.nary_f.<locals>.unary_f\u001b[0;34m(x)\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 14\u001b[0m subargs \u001b[38;5;241m=\u001b[39m subvals(args, \u001b[38;5;28mzip\u001b[39m(argnum, x))\n\u001b[0;32m---> 15\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfun\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43msubargs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/wrap_util.py:15\u001b[0m, in \u001b[0;36munary_to_nary.<locals>.nary_operator.<locals>.nary_f.<locals>.unary_f\u001b[0;34m(x)\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 14\u001b[0m subargs \u001b[38;5;241m=\u001b[39m subvals(args, \u001b[38;5;28mzip\u001b[39m(argnum, x))\n\u001b[0;32m---> 15\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfun\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43msubargs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
"Cell \u001b[0;32mIn[9], line 61\u001b[0m, in \u001b[0;36mg_trial\u001b[0;34m(point, P)\u001b[0m\n\u001b[1;32m 59\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mg_trial\u001b[39m(point,P):\n\u001b[1;32m 60\u001b[0m x,t \u001b[38;5;241m=\u001b[39m point\n\u001b[0;32m---> 61\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m (\u001b[38;5;241m1\u001b[39m\u001b[38;5;241m-\u001b[39mt)\u001b[38;5;241m*\u001b[39mu(x) \u001b[38;5;241m+\u001b[39m x\u001b[38;5;241m*\u001b[39m(\u001b[38;5;241m1\u001b[39m\u001b[38;5;241m-\u001b[39mx)\u001b[38;5;241m*\u001b[39mt\u001b[38;5;241m*\u001b[39m\u001b[43mdeep_neural_network\u001b[49m\u001b[43m(\u001b[49m\u001b[43mP\u001b[49m\u001b[43m,\u001b[49m\u001b[43mpoint\u001b[49m\u001b[43m)\u001b[49m\n",
"Cell \u001b[0;32mIn[9], line 48\u001b[0m, in \u001b[0;36mdeep_neural_network\u001b[0;34m(deep_params, x)\u001b[0m\n\u001b[1;32m 45\u001b[0m w_output \u001b[38;5;241m=\u001b[39m deep_params[\u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m]\n\u001b[1;32m 47\u001b[0m \u001b[38;5;66;03m# Include bias:\u001b[39;00m\n\u001b[0;32m---> 48\u001b[0m x_prev \u001b[38;5;241m=\u001b[39m \u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconcatenate\u001b[49m\u001b[43m(\u001b[49m\u001b[43m(\u001b[49m\u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mones\u001b[49m\u001b[43m(\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43mnum_points\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx_prev\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 50\u001b[0m z_output \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mmatmul(w_output, x_prev)\n\u001b[1;32m 51\u001b[0m x_output \u001b[38;5;241m=\u001b[39m z_output\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/numpy/numpy_wrapper.py:38\u001b[0m, in \u001b[0;36m<lambda>\u001b[0;34m(arr_list, axis)\u001b[0m\n\u001b[1;32m 35\u001b[0m \u001b[38;5;129m@primitive\u001b[39m\n\u001b[1;32m 36\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mconcatenate_args\u001b[39m(axis, \u001b[38;5;241m*\u001b[39margs):\n\u001b[1;32m 37\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m _np\u001b[38;5;241m.\u001b[39mconcatenate(args, axis)\u001b[38;5;241m.\u001b[39mview(ndarray)\n\u001b[0;32m---> 38\u001b[0m concatenate \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mlambda\u001b[39;00m arr_list, axis\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m : \u001b[43mconcatenate_args\u001b[49m\u001b[43m(\u001b[49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43marr_list\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 39\u001b[0m vstack \u001b[38;5;241m=\u001b[39m row_stack \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mlambda\u001b[39;00m tup: concatenate([atleast_2d(_m) \u001b[38;5;28;01mfor\u001b[39;00m _m \u001b[38;5;129;01min\u001b[39;00m tup], axis\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m)\n\u001b[1;32m 40\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mhstack\u001b[39m(tup):\n",
"Cell \u001b[0;32mIn[9], line 37\u001b[0m, in \u001b[0;36mdeep_neural_network\u001b[0;34m(deep_params, x)\u001b[0m\n\u001b[1;32m 34\u001b[0m x_prev \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mconcatenate((np\u001b[38;5;241m.\u001b[39mones((\u001b[38;5;241m1\u001b[39m,num_points)), x_prev ), axis \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m0\u001b[39m)\n\u001b[1;32m 36\u001b[0m z_hidden \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mmatmul(w_hidden, x_prev)\n\u001b[0;32m---> 37\u001b[0m x_hidden \u001b[38;5;241m=\u001b[39m \u001b[43msigmoid\u001b[49m\u001b[43m(\u001b[49m\u001b[43mz_hidden\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 39\u001b[0m \u001b[38;5;66;03m# Update x_prev such that next layer can use the output from this layer\u001b[39;00m\n\u001b[1;32m 40\u001b[0m x_prev \u001b[38;5;241m=\u001b[39m x_hidden\n",
"Cell \u001b[0;32mIn[9], line 11\u001b[0m, in \u001b[0;36msigmoid\u001b[0;34m(z)\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21msigmoid\u001b[39m(z):\n\u001b[0;32m---> 11\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;241;43m1\u001b[39;49m\u001b[38;5;241;43m/\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mexp\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m-\u001b[39;49m\u001b[43mz\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/numpy/numpy_boxes.py:39\u001b[0m, in \u001b[0;36mArrayBox.__rtruediv__\u001b[0;34m(self, other)\u001b[0m\n\u001b[0;32m---> 39\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__rtruediv__\u001b[39m(\u001b[38;5;28mself\u001b[39m, other): \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43manp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtrue_divide\u001b[49m\u001b[43m(\u001b[49m\u001b[43mother\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/tracer.py:45\u001b[0m, in \u001b[0;36mprimitive.<locals>.f_wrapped\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 43\u001b[0m argnums \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mtuple\u001b[39m(argnum \u001b[38;5;28;01mfor\u001b[39;00m argnum, _ \u001b[38;5;129;01min\u001b[39;00m boxed_args)\n\u001b[1;32m 44\u001b[0m ans \u001b[38;5;241m=\u001b[39m f_wrapped(\u001b[38;5;241m*\u001b[39margvals, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m---> 45\u001b[0m node \u001b[38;5;241m=\u001b[39m \u001b[43mnode_constructor\u001b[49m\u001b[43m(\u001b[49m\u001b[43mans\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mf_wrapped\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43margvals\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43margnums\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mparents\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 46\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m new_box(ans, trace, node)\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/core.py:36\u001b[0m, in \u001b[0;36mVJPNode.__init__\u001b[0;34m(self, value, fun, args, kwargs, parent_argnums, parents)\u001b[0m\n\u001b[1;32m 33\u001b[0m fun_name \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mgetattr\u001b[39m(fun, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m__name__\u001b[39m\u001b[38;5;124m'\u001b[39m, fun)\n\u001b[1;32m 34\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mNotImplementedError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mVJP of \u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m wrt argnums \u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m not defined\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 35\u001b[0m \u001b[38;5;241m.\u001b[39mformat(fun_name, parent_argnums))\n\u001b[0;32m---> 36\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mvjp \u001b[38;5;241m=\u001b[39m \u001b[43mvjpmaker\u001b[49m\u001b[43m(\u001b[49m\u001b[43mparent_argnums\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mvalue\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/core.py:48\u001b[0m, in \u001b[0;36mdefvjp_argnum.<locals>.vjp_argnums\u001b[0;34m(argnums, *args)\u001b[0m\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mvjp_argnums\u001b[39m(argnums, \u001b[38;5;241m*\u001b[39margs):\n\u001b[0;32m---> 48\u001b[0m vjps \u001b[38;5;241m=\u001b[39m [vjpmaker(argnum, \u001b[38;5;241m*\u001b[39margs) \u001b[38;5;28;01mfor\u001b[39;00m argnum \u001b[38;5;129;01min\u001b[39;00m argnums]\n\u001b[1;32m 49\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mlambda\u001b[39;00m g: (vjp(g) \u001b[38;5;28;01mfor\u001b[39;00m vjp \u001b[38;5;129;01min\u001b[39;00m vjps)\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/core.py:48\u001b[0m, in \u001b[0;36m<listcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mvjp_argnums\u001b[39m(argnums, \u001b[38;5;241m*\u001b[39margs):\n\u001b[0;32m---> 48\u001b[0m vjps \u001b[38;5;241m=\u001b[39m [\u001b[43mvjpmaker\u001b[49m\u001b[43m(\u001b[49m\u001b[43margnum\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mfor\u001b[39;00m argnum \u001b[38;5;129;01min\u001b[39;00m argnums]\n\u001b[1;32m 49\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mlambda\u001b[39;00m g: (vjp(g) \u001b[38;5;28;01mfor\u001b[39;00m vjp \u001b[38;5;129;01min\u001b[39;00m vjps)\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/numpy/numpy_vjps.py:537\u001b[0m, in \u001b[0;36mgrad_concatenate_args\u001b[0;34m(argnum, ans, axis_args, kwargs)\u001b[0m\n\u001b[1;32m 532\u001b[0m defvjp(tensordot_adjoint_1, \u001b[38;5;28;01mlambda\u001b[39;00m ans, A, G, axes, An, Bn: \u001b[38;5;28;01mlambda\u001b[39;00m B: match_complex(A, tensordot_adjoint_0(B, G, axes, An, Bn)),\n\u001b[1;32m 533\u001b[0m \u001b[38;5;28;01mlambda\u001b[39;00m ans, A, G, axes, An, Bn: \u001b[38;5;28;01mlambda\u001b[39;00m B: match_complex(G, anp\u001b[38;5;241m.\u001b[39mtensordot(A, B, axes)))\n\u001b[1;32m 534\u001b[0m defvjp(anp\u001b[38;5;241m.\u001b[39mouter, \u001b[38;5;28;01mlambda\u001b[39;00m ans, a, b : \u001b[38;5;28;01mlambda\u001b[39;00m g: match_complex(a, anp\u001b[38;5;241m.\u001b[39mdot(g, b\u001b[38;5;241m.\u001b[39mT)),\n\u001b[1;32m 535\u001b[0m \u001b[38;5;28;01mlambda\u001b[39;00m ans, a, b : \u001b[38;5;28;01mlambda\u001b[39;00m g: match_complex(b, anp\u001b[38;5;241m.\u001b[39mdot(a\u001b[38;5;241m.\u001b[39mT, g)))\n\u001b[0;32m--> 537\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mgrad_concatenate_args\u001b[39m(argnum, ans, axis_args, kwargs):\n\u001b[1;32m 538\u001b[0m axis, args \u001b[38;5;241m=\u001b[39m axis_args[\u001b[38;5;241m0\u001b[39m], axis_args[\u001b[38;5;241m1\u001b[39m:]\n\u001b[1;32m 539\u001b[0m sizes \u001b[38;5;241m=\u001b[39m [anp\u001b[38;5;241m.\u001b[39mshape(a)[axis] \u001b[38;5;28;01mfor\u001b[39;00m a \u001b[38;5;129;01min\u001b[39;00m args[:argnum]]\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/core.py:66\u001b[0m, in \u001b[0;36mdefvjp.<locals>.vjp_argnums\u001b[0;34m(argnums, ans, args, kwargs)\u001b[0m\n\u001b[1;32m 63\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m:\n\u001b[1;32m 64\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mNotImplementedError\u001b[39;00m(\n\u001b[1;32m 65\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mVJP of \u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m wrt argnum 0 not defined\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;241m.\u001b[39mformat(fun\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m))\n\u001b[0;32m---> 66\u001b[0m vjp \u001b[38;5;241m=\u001b[39m \u001b[43mvjpfun\u001b[49m\u001b[43m(\u001b[49m\u001b[43mans\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 67\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mlambda\u001b[39;00m g: (vjp(g),)\n\u001b[1;32m 68\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m L \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m2\u001b[39m:\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/numpy/numpy_vjps.py:53\u001b[0m, in \u001b[0;36m<lambda>\u001b[0;34m(ans, x, y)\u001b[0m\n\u001b[1;32m 48\u001b[0m defvjp(anp\u001b[38;5;241m.\u001b[39mlogaddexp, \u001b[38;5;28;01mlambda\u001b[39;00m ans, x, y : unbroadcast_f(x, \u001b[38;5;28;01mlambda\u001b[39;00m g: g \u001b[38;5;241m*\u001b[39m anp\u001b[38;5;241m.\u001b[39mexp(x\u001b[38;5;241m-\u001b[39mans)),\n\u001b[1;32m 49\u001b[0m \u001b[38;5;28;01mlambda\u001b[39;00m ans, x, y : unbroadcast_f(y, \u001b[38;5;28;01mlambda\u001b[39;00m g: g \u001b[38;5;241m*\u001b[39m anp\u001b[38;5;241m.\u001b[39mexp(y\u001b[38;5;241m-\u001b[39mans)))\n\u001b[1;32m 50\u001b[0m defvjp(anp\u001b[38;5;241m.\u001b[39mlogaddexp2, \u001b[38;5;28;01mlambda\u001b[39;00m ans, x, y : unbroadcast_f(x, \u001b[38;5;28;01mlambda\u001b[39;00m g: g \u001b[38;5;241m*\u001b[39m \u001b[38;5;241m2\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m(x\u001b[38;5;241m-\u001b[39mans)),\n\u001b[1;32m 51\u001b[0m \u001b[38;5;28;01mlambda\u001b[39;00m ans, x, y : unbroadcast_f(y, \u001b[38;5;28;01mlambda\u001b[39;00m g: g \u001b[38;5;241m*\u001b[39m \u001b[38;5;241m2\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m(y\u001b[38;5;241m-\u001b[39mans)))\n\u001b[1;32m 52\u001b[0m defvjp(anp\u001b[38;5;241m.\u001b[39mtrue_divide, \u001b[38;5;28;01mlambda\u001b[39;00m ans, x, y : unbroadcast_f(x, \u001b[38;5;28;01mlambda\u001b[39;00m g: g \u001b[38;5;241m/\u001b[39m y),\n\u001b[0;32m---> 53\u001b[0m \u001b[38;5;28;01mlambda\u001b[39;00m ans, x, y : \u001b[43munbroadcast_f\u001b[49m\u001b[43m(\u001b[49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mlambda\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mg\u001b[49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m-\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mg\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m/\u001b[39;49m\u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m2\u001b[39;49m\u001b[43m)\u001b[49m)\n\u001b[1;32m 54\u001b[0m defvjp(anp\u001b[38;5;241m.\u001b[39mmod, \u001b[38;5;28;01mlambda\u001b[39;00m ans, x, y : unbroadcast_f(x, \u001b[38;5;28;01mlambda\u001b[39;00m g: g),\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28;01mlambda\u001b[39;00m ans, x, y : unbroadcast_f(y, \u001b[38;5;28;01mlambda\u001b[39;00m g: \u001b[38;5;241m-\u001b[39mg \u001b[38;5;241m*\u001b[39m anp\u001b[38;5;241m.\u001b[39mfloor(x\u001b[38;5;241m/\u001b[39my)))\n\u001b[1;32m 56\u001b[0m defvjp(anp\u001b[38;5;241m.\u001b[39mremainder, \u001b[38;5;28;01mlambda\u001b[39;00m ans, x, y : unbroadcast_f(x, \u001b[38;5;28;01mlambda\u001b[39;00m g: g),\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28;01mlambda\u001b[39;00m ans, x, y : unbroadcast_f(y, \u001b[38;5;28;01mlambda\u001b[39;00m g: \u001b[38;5;241m-\u001b[39mg \u001b[38;5;241m*\u001b[39m anp\u001b[38;5;241m.\u001b[39mfloor(x\u001b[38;5;241m/\u001b[39my)))\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/numpy/numpy_vjps.py:658\u001b[0m, in \u001b[0;36munbroadcast_f\u001b[0;34m(target, f)\u001b[0m\n\u001b[1;32m 655\u001b[0m x \u001b[38;5;241m=\u001b[39m anp\u001b[38;5;241m.\u001b[39mreal(x)\n\u001b[1;32m 656\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m x\n\u001b[0;32m--> 658\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21munbroadcast_f\u001b[39m(target, f):\n\u001b[1;32m 659\u001b[0m target_meta \u001b[38;5;241m=\u001b[39m anp\u001b[38;5;241m.\u001b[39mmetadata(target)\n\u001b[1;32m 660\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mlambda\u001b[39;00m g: unbroadcast(f(g), target_meta)\n",
"\u001b[0;31mKeyboardInterrupt\u001b[0m: "
]
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 18 KiB

@@ -1798,10 +1798,10 @@
"name": "stdout",
"output_type": "stream",
"text": [
"0.05005634426334421\n",
"4.366375489616074\n",
"[[ 0.93787605 2.95563211]\n",
" [ 2.95563211 10.33025801]]\n"
"-0.0369544130635358\n",
"3.662836197064178\n",
"[[1.058997 3.11439407]\n",
" [3.11439407 9.99498272]]\n"
]
}
],
@@ -1845,10 +1845,10 @@
"name": "stdout",
"output_type": "stream",
"text": [
"0.07808426989543932\n",
"1.4121966338442804\n",
"[[1. 0.70362677]\n",
" [0.70362677 1. ]]\n"
"0.08826182458028335\n",
"1.7026722043092946\n",
"[[1. 0.61113781]\n",
" [0.61113781 1. ]]\n"
]
}
],
@@ -1905,30 +1905,30 @@
"name": "stdout",
"output_type": "stream",
"text": [
"[[-0.34661376 -1.6809195 ]\n",
" [ 0.05792927 0.30915293]\n",
" [ 0.65183066 3.00564344]\n",
" [ 1.75018686 4.35667342]\n",
" [-0.75682834 -1.67875366]\n",
" [ 1.16654048 3.9065894 ]\n",
" [-1.86267497 -5.53585173]\n",
" [ 0.29803738 2.45731144]\n",
" [-0.63031478 -2.76157429]\n",
" [-0.3280928 -2.37827145]]\n",
"[[-0.7252563 -2.26264849]\n",
" [ 1.19052935 3.11261935]\n",
" [-0.62158409 -2.99662602]\n",
" [-0.06216141 -0.18120973]\n",
" [ 1.32065614 3.50269821]\n",
" [ 0.83995705 2.80855691]\n",
" [ 0.1571284 0.96919021]\n",
" [-0.03404758 1.01551815]\n",
" [-0.23596934 0.77449804]\n",
" [-1.82925222 -6.74259663]]\n",
" 0 1\n",
"0 -0.346614 -1.680920\n",
"1 0.057929 0.309153\n",
"2 0.651831 3.005643\n",
"3 1.750187 4.356673\n",
"4 -0.756828 -1.678754\n",
"5 1.166540 3.906589\n",
"6 -1.862675 -5.535852\n",
"7 0.298037 2.457311\n",
"8 -0.630315 -2.761574\n",
"9 -0.328093 -2.378271\n",
"0 -0.725256 -2.262648\n",
"1 1.190529 3.112619\n",
"2 -0.621584 -2.996626\n",
"3 -0.062161 -0.181210\n",
"4 1.320656 3.502698\n",
"5 0.839957 2.808557\n",
"6 0.157128 0.969190\n",
"7 -0.034048 1.015518\n",
"8 -0.235969 0.774498\n",
"9 -1.829252 -6.742597\n",
" 0 1\n",
"0 1.000000 0.959076\n",
"1 0.959076 1.000000\n"
"0 1.000000 0.963187\n",
"1 0.963187 1.000000\n"
]
}
],
@@ -1974,37 +1974,37 @@
"text": [
" 0 1 2 3 4 5 6 7 \\\n",
"0 0.0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.0 0.084996 0.084434 0.084712 0.085455 0.086212 0.075771 0.076638 \n",
"2 0.0 0.084434 0.084514 0.084042 0.085120 0.086230 0.075176 0.076259 \n",
"3 0.0 0.084712 0.084042 0.089718 0.090439 0.091159 0.083479 0.084358 \n",
"4 0.0 0.085455 0.085120 0.090439 0.091388 0.092347 0.084091 0.085139 \n",
"5 0.0 0.086212 0.086230 0.091159 0.092347 0.093554 0.084695 0.085918 \n",
"6 0.0 0.075771 0.075176 0.083479 0.084091 0.084695 0.079903 0.080657 \n",
"7 0.0 0.076638 0.076259 0.084358 0.085139 0.085918 0.080657 0.081544 \n",
"8 0.0 0.077567 0.077411 0.085294 0.086250 0.087210 0.081457 0.082482 \n",
"9 0.0 0.078557 0.078636 0.086286 0.087424 0.088574 0.082303 0.083471 \n",
"10 0.0 0.066997 0.066458 0.075909 0.076389 0.076857 0.074221 0.074824 \n",
"11 0.0 0.067764 0.067380 0.076693 0.077304 0.077906 0.074892 0.075602 \n",
"12 0.0 0.068592 0.068369 0.077539 0.078284 0.079027 0.075615 0.076436 \n",
"13 0.0 0.069484 0.069427 0.078447 0.079334 0.080222 0.076393 0.077329 \n",
"14 0.0 0.070441 0.070558 0.079420 0.080453 0.081494 0.077226 0.078282 \n",
"1 0.0 0.077382 0.076459 0.074114 0.076542 0.079074 0.064978 0.067074 \n",
"2 0.0 0.076459 0.078118 0.070150 0.073866 0.078123 0.059624 0.062356 \n",
"3 0.0 0.074114 0.070150 0.076618 0.077248 0.077529 0.070432 0.071572 \n",
"4 0.0 0.076542 0.073866 0.077248 0.078731 0.080082 0.069802 0.071449 \n",
"5 0.0 0.079074 0.078123 0.077529 0.080082 0.082803 0.068607 0.070859 \n",
"6 0.0 0.064978 0.059624 0.070432 0.069802 0.068607 0.066865 0.067168 \n",
"7 0.0 0.067074 0.062356 0.071572 0.071449 0.070859 0.067168 0.067809 \n",
"8 0.0 0.069439 0.065556 0.072752 0.073253 0.073422 0.067367 0.068408 \n",
"9 0.0 0.072092 0.069317 0.073923 0.075198 0.076333 0.067380 0.068897 \n",
"10 0.0 0.056856 0.051021 0.063637 0.062282 0.060288 0.061848 0.061588 \n",
"11 0.0 0.058361 0.052856 0.064604 0.063560 0.061921 0.062263 0.062231 \n",
"12 0.0 0.060085 0.055000 0.065679 0.065007 0.063802 0.062700 0.062932 \n",
"13 0.0 0.062053 0.057514 0.066855 0.066633 0.065963 0.063133 0.063673 \n",
"14 0.0 0.064294 0.060470 0.068116 0.068446 0.068446 0.063525 0.064427 \n",
"\n",
" 8 9 10 11 12 13 14 \n",
"0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.077567 0.078557 0.066997 0.067764 0.068592 0.069484 0.070441 \n",
"2 0.077411 0.078636 0.066458 0.067380 0.068369 0.069427 0.070558 \n",
"3 0.085294 0.086286 0.075909 0.076693 0.077539 0.078447 0.079420 \n",
"4 0.086250 0.087424 0.076389 0.077304 0.078284 0.079334 0.080453 \n",
"5 0.087210 0.088574 0.076857 0.077906 0.079027 0.080222 0.081494 \n",
"6 0.081457 0.082303 0.074221 0.074892 0.075615 0.076393 0.077226 \n",
"7 0.082482 0.083471 0.074824 0.075602 0.076436 0.077329 0.078282 \n",
"8 0.083564 0.084702 0.075463 0.076351 0.077301 0.078313 0.079391 \n",
"9 0.084702 0.085996 0.076138 0.077141 0.078210 0.079347 0.080555 \n",
"10 0.075463 0.076138 0.070095 0.070630 0.071208 0.071831 0.072500 \n",
"11 0.076351 0.077141 0.070630 0.071252 0.071921 0.072638 0.073405 \n",
"12 0.077301 0.078210 0.071208 0.071921 0.072684 0.073499 0.074368 \n",
"13 0.078313 0.079347 0.071831 0.072638 0.073499 0.074417 0.075392 \n",
"14 0.079391 0.080555 0.072500 0.073405 0.074368 0.075392 0.076479 \n"
"1 0.069439 0.072092 0.056856 0.058361 0.060085 0.062053 0.064294 \n",
"2 0.065556 0.069317 0.051021 0.052856 0.055000 0.057514 0.060470 \n",
"3 0.072752 0.073923 0.063637 0.064604 0.065679 0.066855 0.068116 \n",
"4 0.073253 0.075198 0.062282 0.063560 0.065007 0.066633 0.068446 \n",
"5 0.073422 0.076333 0.060288 0.061921 0.063802 0.065963 0.068446 \n",
"6 0.067367 0.067380 0.061848 0.062263 0.062700 0.063133 0.063525 \n",
"7 0.068408 0.068897 0.061588 0.062231 0.062932 0.063673 0.064427 \n",
"8 0.069486 0.070556 0.061154 0.062058 0.063064 0.064166 0.065352 \n",
"9 0.070556 0.072344 0.060453 0.061656 0.063017 0.064547 0.066256 \n",
"10 0.061154 0.060453 0.058245 0.058254 0.058234 0.058152 0.057961 \n",
"11 0.062058 0.061656 0.058254 0.058427 0.058593 0.058721 0.058770 \n",
"12 0.063064 0.063017 0.058234 0.058593 0.058970 0.059340 0.059669 \n",
"13 0.064166 0.064547 0.058152 0.058721 0.059340 0.059992 0.060652 \n",
"14 0.065352 0.066256 0.057961 0.058770 0.059669 0.060652 0.061706 \n"
]
}
],