diff --git a/eval/main.ipynb b/eval/main.ipynb
index 7e0081309431e91f8c63744c04494f889fcd5c54..0d4bbb2a5c0e0845bbc9a23f9a3daffca43dabbb 100644
--- a/eval/main.ipynb
+++ b/eval/main.ipynb
@@ -552,606 +552,600 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 10,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "m1_state_dict:  OrderedDict([('conv1.weight', tensor([[[[-0.0229, -0.1412, -0.1879, -0.1106,  0.1383],\n",
-      "          [-0.0951, -0.0891, -0.0665,  0.0580,  0.1503],\n",
-      "          [ 0.0548, -0.1465, -0.1330,  0.0034,  0.0442],\n",
-      "          [ 0.0647,  0.1041, -0.0606,  0.0304,  0.1865],\n",
-      "          [ 0.1933, -0.1473, -0.0146,  0.1158, -0.1871]]],\n",
+      "m1_parameters:  {'conv1.weight': tensor([[[[-0.0294, -0.0659, -0.1267, -0.1610, -0.1462],\n",
+      "          [-0.1133,  0.1424,  0.1439, -0.0677,  0.1200],\n",
+      "          [-0.0530,  0.1776,  0.1445,  0.0141, -0.1778],\n",
+      "          [ 0.1847,  0.1211,  0.0345,  0.1131,  0.0740],\n",
+      "          [ 0.1136, -0.0253, -0.1799,  0.1309, -0.0115]]],\n",
       "\n",
       "\n",
-      "        [[[-0.1394, -0.1527, -0.0536,  0.0266,  0.0947],\n",
-      "          [ 0.1923,  0.1522,  0.0670,  0.0957,  0.1105],\n",
-      "          [ 0.1480,  0.0392, -0.1256, -0.0925, -0.1490],\n",
-      "          [-0.0283,  0.1573, -0.1840,  0.1257, -0.0401],\n",
-      "          [ 0.1835,  0.0560, -0.1895, -0.1500,  0.0887]]],\n",
+      "        [[[-0.0018,  0.0063,  0.1890,  0.0434,  0.1667],\n",
+      "          [ 0.0428,  0.0402,  0.0275,  0.0432,  0.0524],\n",
+      "          [ 0.1926,  0.0992, -0.0925, -0.1610, -0.1305],\n",
+      "          [-0.1714,  0.0548, -0.1500,  0.1679, -0.0767],\n",
+      "          [ 0.0094,  0.0525,  0.0273, -0.0462, -0.1696]]],\n",
       "\n",
       "\n",
-      "        [[[-0.0774, -0.0870, -0.0947, -0.1334,  0.1894],\n",
-      "          [ 0.0948, -0.0605,  0.0826,  0.1156,  0.0111],\n",
-      "          [-0.1094, -0.1074,  0.0999, -0.1194,  0.1004],\n",
-      "          [-0.0173,  0.1559,  0.0715, -0.0290,  0.0097],\n",
-      "          [-0.0547,  0.0237, -0.0429,  0.1555, -0.0716]]],\n",
+      "        [[[-0.0033, -0.1317, -0.1695,  0.0221,  0.1301],\n",
+      "          [ 0.0789,  0.0397, -0.1292,  0.0642,  0.0683],\n",
+      "          [ 0.1198,  0.1179,  0.0186, -0.1519, -0.1354],\n",
+      "          [ 0.1598, -0.1400,  0.0738, -0.1385, -0.1195],\n",
+      "          [-0.0458,  0.1540,  0.0317,  0.1788, -0.0782]]],\n",
       "\n",
       "\n",
-      "        [[[-0.1742,  0.1413, -0.1431,  0.0339, -0.1187],\n",
-      "          [-0.1739,  0.1583,  0.0853,  0.0963, -0.1279],\n",
-      "          [ 0.0941, -0.1236, -0.1247, -0.0534,  0.0822],\n",
-      "          [-0.0420,  0.1833,  0.0420, -0.0185,  0.0723],\n",
-      "          [-0.1710, -0.1717, -0.1689, -0.1454, -0.1634]]],\n",
+      "        [[[ 0.1726, -0.0152, -0.1036, -0.1624,  0.0804],\n",
+      "          [ 0.1492, -0.0097, -0.1417, -0.1234,  0.1393],\n",
+      "          [ 0.1567, -0.0843,  0.1540, -0.0776, -0.1575],\n",
+      "          [-0.1371, -0.1458,  0.0518,  0.0329,  0.0664],\n",
+      "          [ 0.1976, -0.0956,  0.0785, -0.1633, -0.1674]]],\n",
       "\n",
       "\n",
-      "        [[[-0.1793,  0.0073,  0.1140, -0.1528, -0.1188],\n",
-      "          [-0.1980,  0.0458, -0.0361,  0.1428,  0.1635],\n",
-      "          [ 0.0007, -0.0679, -0.1566, -0.0512,  0.1546],\n",
-      "          [ 0.0979,  0.1354,  0.1986, -0.1026,  0.0206],\n",
-      "          [ 0.1713, -0.0090, -0.0990, -0.1577, -0.0561]]],\n",
+      "        [[[ 0.1716, -0.1734, -0.0078,  0.1092, -0.1912],\n",
+      "          [ 0.1574, -0.1333, -0.0146,  0.0534, -0.1207],\n",
+      "          [-0.1233,  0.0647,  0.0755,  0.1025,  0.0893],\n",
+      "          [ 0.1158, -0.0836, -0.0749,  0.0244, -0.1928],\n",
+      "          [-0.1903, -0.0820,  0.0529,  0.0907,  0.0951]]],\n",
       "\n",
       "\n",
-      "        [[[ 0.0531, -0.1490,  0.0013,  0.1090,  0.0666],\n",
-      "          [ 0.0604,  0.0964,  0.1117, -0.0058,  0.1389],\n",
-      "          [-0.0228,  0.0183,  0.0797,  0.1482, -0.1976],\n",
-      "          [-0.0633, -0.1305, -0.1355,  0.1928,  0.0251],\n",
-      "          [ 0.1038,  0.1539, -0.1245, -0.1238, -0.1278]]],\n",
+      "        [[[-0.1117, -0.1858, -0.0375, -0.0397,  0.0412],\n",
+      "          [ 0.0176,  0.1707, -0.0648, -0.0327, -0.1994],\n",
+      "          [ 0.1754, -0.0413, -0.1533, -0.0537,  0.1160],\n",
+      "          [ 0.1145,  0.0755, -0.0242,  0.0387,  0.1763],\n",
+      "          [-0.0203, -0.1236,  0.0372, -0.0074,  0.0423]]],\n",
       "\n",
       "\n",
-      "        [[[-0.1392,  0.1037, -0.1825, -0.1580, -0.0792],\n",
-      "          [ 0.0841,  0.0298, -0.0681, -0.0392,  0.1775],\n",
-      "          [ 0.1716, -0.1017, -0.0676,  0.0086,  0.1156],\n",
-      "          [ 0.1659, -0.1998,  0.1957, -0.1146, -0.1235],\n",
-      "          [ 0.1529, -0.1974,  0.0128, -0.0563,  0.1234]]],\n",
+      "        [[[ 0.0021,  0.1159,  0.0160,  0.1778, -0.1911],\n",
+      "          [ 0.0584, -0.0669,  0.1317, -0.1835,  0.0421],\n",
+      "          [-0.1418, -0.1790,  0.1748, -0.0804,  0.0495],\n",
+      "          [ 0.0498, -0.0983,  0.0343,  0.1142, -0.0266],\n",
+      "          [ 0.0275,  0.0369,  0.1941,  0.1219, -0.0856]]],\n",
       "\n",
       "\n",
-      "        [[[-0.0504,  0.0855,  0.1083,  0.1809,  0.0631],\n",
-      "          [-0.1540, -0.1761, -0.1962,  0.1521,  0.1945],\n",
-      "          [ 0.0082, -0.1470,  0.1477,  0.0105,  0.0649],\n",
-      "          [-0.0417, -0.0348,  0.1127,  0.1458, -0.0528],\n",
-      "          [ 0.0503, -0.0565, -0.1026, -0.1498, -0.1100]]],\n",
+      "        [[[ 0.0191, -0.1786, -0.1492, -0.1155,  0.0068],\n",
+      "          [-0.1917,  0.0696, -0.0657,  0.0317, -0.1831],\n",
+      "          [-0.1451, -0.0804,  0.0266, -0.1905,  0.1968],\n",
+      "          [-0.0370,  0.0943,  0.0535, -0.0174,  0.0636],\n",
+      "          [ 0.1038,  0.0251,  0.0469,  0.0042,  0.1237]]],\n",
       "\n",
       "\n",
-      "        [[[ 0.0269, -0.0011,  0.1104,  0.0586,  0.1700],\n",
-      "          [ 0.0510,  0.1185, -0.0363,  0.1386,  0.0394],\n",
-      "          [-0.1133, -0.0371,  0.0734,  0.0324,  0.0490],\n",
-      "          [ 0.1369, -0.1887,  0.0128, -0.1641, -0.1880],\n",
-      "          [-0.1801, -0.1711,  0.0953,  0.0019, -0.0155]]],\n",
+      "        [[[ 0.1488,  0.0967,  0.1249,  0.0799, -0.1052],\n",
+      "          [-0.0188, -0.1058, -0.1708, -0.0282,  0.0980],\n",
+      "          [-0.1925,  0.1517,  0.1029, -0.0329, -0.0788],\n",
+      "          [ 0.0181, -0.1959,  0.1086,  0.0699, -0.0163],\n",
+      "          [-0.0231, -0.0422,  0.1669,  0.1058, -0.1054]]],\n",
       "\n",
       "\n",
-      "        [[[-0.0658,  0.1422, -0.0990,  0.0745, -0.0602],\n",
-      "          [ 0.1194,  0.1782,  0.1857, -0.1421,  0.1797],\n",
-      "          [ 0.1318,  0.1498,  0.0598, -0.0296,  0.1046],\n",
-      "          [ 0.1479,  0.0303,  0.0832,  0.0793, -0.1085],\n",
-      "          [-0.0348, -0.0243,  0.1281,  0.1019, -0.1861]]],\n",
+      "        [[[-0.1371,  0.0173,  0.0834, -0.1819, -0.1893],\n",
+      "          [-0.1381,  0.1158,  0.0361, -0.1698,  0.1006],\n",
+      "          [ 0.0385, -0.0467,  0.0824, -0.0762, -0.1883],\n",
+      "          [ 0.1954,  0.1819, -0.0178,  0.1994,  0.1103],\n",
+      "          [ 0.1728, -0.1546,  0.1065, -0.0425,  0.1576]]],\n",
       "\n",
       "\n",
-      "        [[[-0.0127,  0.0643, -0.0695, -0.1715,  0.1027],\n",
-      "          [ 0.0106,  0.0895, -0.0900,  0.1267, -0.1861],\n",
-      "          [ 0.0575, -0.0293, -0.0502,  0.0449,  0.0972],\n",
-      "          [ 0.1639,  0.0922,  0.0754,  0.0992,  0.1333],\n",
-      "          [-0.1010, -0.1987, -0.1987,  0.0979,  0.0844]]],\n",
+      "        [[[-0.1496, -0.1969, -0.1935,  0.1659,  0.1540],\n",
+      "          [-0.0021, -0.1386, -0.0502, -0.0283,  0.1867],\n",
+      "          [ 0.1308,  0.1979, -0.0033, -0.1406,  0.0059],\n",
+      "          [-0.1429, -0.0778, -0.0568, -0.1306, -0.0380],\n",
+      "          [ 0.0740, -0.1416, -0.1770,  0.0070, -0.0831]]],\n",
       "\n",
       "\n",
-      "        [[[ 0.0595,  0.1274,  0.0035, -0.1782,  0.0618],\n",
-      "          [-0.1258,  0.1920, -0.1004, -0.1887,  0.1253],\n",
-      "          [ 0.0305, -0.0963,  0.1010, -0.1703, -0.0220],\n",
-      "          [-0.0885,  0.1817,  0.1438, -0.0833, -0.0235],\n",
-      "          [-0.0957, -0.1052, -0.0988,  0.1519,  0.1797]]],\n",
+      "        [[[ 0.0831, -0.0220,  0.0272,  0.0323,  0.1351],\n",
+      "          [-0.1093, -0.1390,  0.0110,  0.0742, -0.0337],\n",
+      "          [-0.0964,  0.1865,  0.1744,  0.0147, -0.0739],\n",
+      "          [ 0.1436, -0.0275,  0.0454,  0.1006, -0.1111],\n",
+      "          [ 0.1203, -0.0290, -0.0833, -0.0533, -0.1128]]],\n",
       "\n",
       "\n",
-      "        [[[ 0.0704, -0.1125,  0.1092,  0.0502, -0.1922],\n",
-      "          [ 0.1264, -0.1142, -0.0028,  0.1783,  0.1064],\n",
-      "          [ 0.0479,  0.0609,  0.0481, -0.1642,  0.1164],\n",
-      "          [-0.0078,  0.1299, -0.0604, -0.1085, -0.1817],\n",
-      "          [-0.1847,  0.0150,  0.0267, -0.0448,  0.1085]]],\n",
+      "        [[[-0.0833, -0.1054,  0.1966,  0.1635,  0.0234],\n",
+      "          [-0.1707, -0.0597, -0.0804,  0.1331,  0.1496],\n",
+      "          [-0.1735,  0.1877,  0.1007, -0.1540,  0.1272],\n",
+      "          [ 0.0859,  0.0146, -0.0869,  0.1998,  0.1968],\n",
+      "          [ 0.1279,  0.0157,  0.0449, -0.0243, -0.1675]]],\n",
       "\n",
       "\n",
-      "        [[[ 0.1162, -0.1187, -0.0052, -0.1902,  0.1876],\n",
-      "          [-0.0629, -0.1870,  0.1811,  0.1169,  0.0902],\n",
-      "          [ 0.1260,  0.1220, -0.0269,  0.1645, -0.0277],\n",
-      "          [ 0.0844, -0.1716, -0.1790, -0.1351, -0.1734],\n",
-      "          [-0.1917, -0.0923,  0.1367,  0.0649, -0.1088]]],\n",
+      "        [[[ 0.1474,  0.0966, -0.1795, -0.1186, -0.1994],\n",
+      "          [ 0.1110, -0.1770,  0.1661,  0.1203, -0.1071],\n",
+      "          [-0.0106,  0.0099,  0.0663,  0.0750,  0.0097],\n",
+      "          [-0.0487, -0.0870, -0.0138,  0.0861,  0.0155],\n",
+      "          [ 0.0640,  0.0427,  0.0353,  0.0669, -0.1381]]],\n",
       "\n",
       "\n",
-      "        [[[-0.0812,  0.0060,  0.1412, -0.1781, -0.1559],\n",
-      "          [ 0.1968,  0.0077, -0.1668, -0.0187,  0.0243],\n",
-      "          [ 0.0039, -0.1839,  0.0851,  0.0685,  0.0555],\n",
-      "          [-0.1985,  0.0410,  0.1378,  0.0668,  0.1061],\n",
-      "          [-0.1742, -0.1719, -0.0100, -0.1634,  0.1688]]],\n",
+      "        [[[ 0.0055,  0.1545, -0.0684,  0.1604,  0.0686],\n",
+      "          [-0.1543,  0.0619, -0.1355, -0.0981,  0.1642],\n",
+      "          [ 0.0907,  0.1712,  0.1466, -0.0799, -0.0670],\n",
+      "          [ 0.0948, -0.1994,  0.0710, -0.0344, -0.1059],\n",
+      "          [ 0.0230, -0.0667,  0.1027,  0.1431, -0.1946]]],\n",
       "\n",
       "\n",
-      "        [[[-0.1012, -0.1973, -0.0757,  0.0054, -0.1555],\n",
-      "          [-0.1071, -0.1538, -0.0328,  0.0623, -0.1842],\n",
-      "          [ 0.1411, -0.1391,  0.0815, -0.0975,  0.0353],\n",
-      "          [ 0.0047,  0.0009,  0.0916,  0.0259, -0.0072],\n",
-      "          [-0.0594, -0.0094, -0.0396, -0.1560, -0.1354]]],\n",
+      "        [[[-0.1192, -0.0009, -0.0426,  0.1015,  0.1718],\n",
+      "          [-0.0381,  0.1195, -0.1853, -0.0561, -0.0592],\n",
+      "          [-0.0719,  0.0546,  0.0530,  0.0038, -0.1063],\n",
+      "          [ 0.1732,  0.1704,  0.1143, -0.1093, -0.0474],\n",
+      "          [ 0.1588,  0.0620,  0.1074,  0.0200,  0.1258]]],\n",
       "\n",
       "\n",
-      "        [[[ 0.0084, -0.1336, -0.0328, -0.1315,  0.0229],\n",
-      "          [-0.1683, -0.0804, -0.1505,  0.1407,  0.0267],\n",
-      "          [-0.1622, -0.1326,  0.1872, -0.0500, -0.0283],\n",
-      "          [ 0.0816, -0.1468, -0.1670,  0.0517,  0.0871],\n",
-      "          [ 0.0952,  0.1328,  0.1915,  0.0444, -0.0996]]],\n",
+      "        [[[-0.0276, -0.0863, -0.0745,  0.1831,  0.0149],\n",
+      "          [ 0.0925,  0.1106, -0.1559,  0.0043,  0.1982],\n",
+      "          [ 0.0403,  0.1336, -0.1262,  0.0649,  0.1244],\n",
+      "          [ 0.1716, -0.0994, -0.1754,  0.1991,  0.1502],\n",
+      "          [-0.1226, -0.0286,  0.1742, -0.0364,  0.1818]]],\n",
       "\n",
       "\n",
-      "        [[[-0.1080, -0.0201,  0.1742, -0.1997, -0.0529],\n",
-      "          [ 0.0494,  0.0338, -0.0606,  0.1981,  0.1089],\n",
-      "          [ 0.1071,  0.0330,  0.0973,  0.1393,  0.1783],\n",
-      "          [-0.0267,  0.0777,  0.0048, -0.1587, -0.0907],\n",
-      "          [ 0.1901,  0.0947,  0.0467, -0.0415, -0.1970]]],\n",
+      "        [[[ 0.1905,  0.0292, -0.1152,  0.0816, -0.1832],\n",
+      "          [-0.0553,  0.1028,  0.1891,  0.0993, -0.1132],\n",
+      "          [-0.0641,  0.0048, -0.0417, -0.0937,  0.1667],\n",
+      "          [-0.1644, -0.1126,  0.1683, -0.0912, -0.1931],\n",
+      "          [ 0.0812,  0.1060,  0.0252,  0.0874,  0.1943]]],\n",
       "\n",
       "\n",
-      "        [[[-0.0452, -0.1996, -0.0107, -0.1986,  0.0665],\n",
-      "          [-0.0549, -0.0272, -0.0993, -0.0788, -0.1093],\n",
-      "          [-0.0612,  0.1818,  0.1108, -0.1628,  0.0810],\n",
-      "          [-0.0778, -0.0030,  0.1858, -0.0210, -0.0162],\n",
-      "          [-0.1393,  0.1149,  0.0684, -0.1721,  0.0747]]],\n",
+      "        [[[-0.0824, -0.1813, -0.0630,  0.0597,  0.0138],\n",
+      "          [ 0.1787, -0.0708, -0.1641,  0.0792,  0.1893],\n",
+      "          [ 0.0698,  0.1759,  0.1484,  0.1875,  0.1213],\n",
+      "          [ 0.1149,  0.0910,  0.1125, -0.0134,  0.1492],\n",
+      "          [ 0.1495, -0.1414, -0.0528, -0.1981,  0.1301]]],\n",
       "\n",
       "\n",
-      "        [[[-0.1577, -0.0780,  0.1825, -0.1546,  0.0453],\n",
-      "          [ 0.1300,  0.1881,  0.1711,  0.0382, -0.1831],\n",
-      "          [-0.1404,  0.1899, -0.0056, -0.0250,  0.1982],\n",
-      "          [ 0.0568,  0.0955, -0.1767, -0.1165, -0.1990],\n",
-      "          [ 0.0861, -0.0023,  0.1161,  0.0518,  0.0527]]],\n",
+      "        [[[-0.1728,  0.0973,  0.1402, -0.1365,  0.0223],\n",
+      "          [-0.1623, -0.1194, -0.0047,  0.1541, -0.1720],\n",
+      "          [-0.1631,  0.1378,  0.1817, -0.0472,  0.1947],\n",
+      "          [ 0.1213, -0.1986, -0.1415,  0.0990, -0.1460],\n",
+      "          [-0.0185,  0.1019,  0.1401,  0.1501, -0.0396]]],\n",
       "\n",
       "\n",
-      "        [[[ 0.1428,  0.1669, -0.1795, -0.1235,  0.1853],\n",
-      "          [ 0.0413,  0.1310, -0.1435,  0.1138,  0.1319],\n",
-      "          [ 0.0111,  0.1122,  0.0705, -0.1176,  0.0823],\n",
-      "          [ 0.1546, -0.1581, -0.0103,  0.1821, -0.1248],\n",
-      "          [-0.0897,  0.1802, -0.1877, -0.0283,  0.0269]]],\n",
+      "        [[[ 0.1756, -0.0398, -0.1515, -0.0882, -0.0355],\n",
+      "          [ 0.0670,  0.0649,  0.1082,  0.1635,  0.0461],\n",
+      "          [ 0.1132,  0.0734, -0.0098,  0.0909,  0.0581],\n",
+      "          [-0.1208,  0.1435,  0.1345,  0.1569, -0.1357],\n",
+      "          [-0.1636, -0.0769, -0.1814,  0.1030, -0.0982]]],\n",
       "\n",
       "\n",
-      "        [[[ 0.0465,  0.0382, -0.1681,  0.1968,  0.1778],\n",
-      "          [-0.1720, -0.1210,  0.0393, -0.1669,  0.0734],\n",
-      "          [-0.0806,  0.1679, -0.1045, -0.0793, -0.1499],\n",
-      "          [ 0.1467,  0.0118,  0.1104, -0.0798, -0.0674],\n",
-      "          [-0.0927, -0.1603,  0.0296,  0.1935,  0.1357]]],\n",
+      "        [[[ 0.1056,  0.1005, -0.1637,  0.0073, -0.1990],\n",
+      "          [-0.1068,  0.0294, -0.1704,  0.0204, -0.0671],\n",
+      "          [ 0.0983, -0.0194,  0.1863,  0.0016,  0.0691],\n",
+      "          [ 0.0071, -0.1114,  0.1376, -0.0950,  0.1963],\n",
+      "          [-0.0081,  0.1638,  0.1705,  0.1929,  0.0170]]],\n",
       "\n",
       "\n",
-      "        [[[ 0.1372, -0.1376, -0.0391, -0.0653,  0.0170],\n",
-      "          [-0.0567, -0.1158, -0.1480, -0.1212,  0.1692],\n",
-      "          [ 0.0937, -0.1809, -0.0567,  0.0506,  0.0525],\n",
-      "          [ 0.0562, -0.0614, -0.0638,  0.0013, -0.1509],\n",
-      "          [ 0.0072, -0.1710,  0.0440, -0.0052,  0.0619]]],\n",
+      "        [[[-0.0803, -0.1001,  0.0113,  0.0315, -0.0165],\n",
+      "          [-0.0962,  0.0289,  0.0582,  0.0729,  0.1783],\n",
+      "          [-0.0604,  0.1725,  0.1990, -0.1395, -0.0585],\n",
+      "          [ 0.1276, -0.0908,  0.0208, -0.1839, -0.0880],\n",
+      "          [-0.0839,  0.1635, -0.0708, -0.1091,  0.0110]]],\n",
       "\n",
       "\n",
-      "        [[[-0.1553,  0.1425, -0.0342,  0.1451,  0.1473],\n",
-      "          [ 0.0821,  0.0459,  0.1424, -0.0007,  0.1109],\n",
-      "          [-0.0524, -0.1669,  0.1309,  0.0343,  0.1138],\n",
-      "          [-0.1504, -0.1105,  0.0658,  0.1788,  0.1652],\n",
-      "          [ 0.0788, -0.1481,  0.0193, -0.1642,  0.0172]]],\n",
+      "        [[[-0.1190, -0.0079, -0.0216, -0.1186, -0.0047],\n",
+      "          [ 0.0116,  0.1451, -0.0582, -0.0773,  0.1828],\n",
+      "          [-0.0389, -0.0040, -0.1912, -0.1790, -0.1594],\n",
+      "          [-0.1674, -0.0784, -0.0527, -0.1289, -0.1193],\n",
+      "          [-0.1707, -0.1716,  0.1906,  0.1985, -0.0731]]],\n",
       "\n",
       "\n",
-      "        [[[ 0.1332,  0.0695,  0.0875, -0.0600,  0.0634],\n",
-      "          [ 0.1104, -0.1614, -0.1218,  0.0620, -0.1297],\n",
-      "          [-0.1277, -0.0552,  0.1227,  0.1109, -0.1536],\n",
-      "          [-0.0766,  0.0457,  0.1940,  0.1842,  0.0971],\n",
-      "          [-0.0082, -0.1101,  0.1115, -0.1290, -0.0865]]],\n",
+      "        [[[ 0.1145,  0.1584,  0.0135, -0.0490,  0.1506],\n",
+      "          [-0.1641,  0.0264,  0.1881, -0.0479, -0.0281],\n",
+      "          [-0.0313, -0.0920, -0.0546, -0.1347,  0.0836],\n",
+      "          [-0.0193,  0.1860, -0.0454,  0.1385, -0.1352],\n",
+      "          [-0.1561,  0.0526,  0.1160,  0.0300,  0.1154]]],\n",
       "\n",
       "\n",
-      "        [[[-0.1299, -0.1915,  0.1634,  0.0493,  0.0566],\n",
-      "          [ 0.0344,  0.1512,  0.0135, -0.1777, -0.0895],\n",
-      "          [ 0.1464, -0.0986, -0.0579,  0.0195, -0.1212],\n",
-      "          [ 0.1409,  0.1441,  0.1242,  0.0188,  0.0894],\n",
-      "          [-0.1126,  0.1645, -0.1230, -0.1590, -0.1124]]],\n",
+      "        [[[-0.1478, -0.1039, -0.1727,  0.0112, -0.0403],\n",
+      "          [-0.0408,  0.1417, -0.0247, -0.0756, -0.1615],\n",
+      "          [ 0.0093, -0.1076, -0.0906, -0.1624,  0.1284],\n",
+      "          [-0.1374,  0.1409, -0.1797, -0.0802,  0.1416],\n",
+      "          [ 0.0282,  0.1258,  0.0230, -0.0541,  0.0536]]],\n",
       "\n",
       "\n",
-      "        [[[ 0.1555, -0.1926, -0.1191,  0.1222, -0.0974],\n",
-      "          [ 0.1644,  0.0862, -0.0143, -0.1701, -0.1995],\n",
-      "          [-0.1539,  0.1057, -0.1307,  0.1557, -0.0340],\n",
-      "          [-0.0129, -0.1164, -0.1295,  0.1095, -0.0290],\n",
-      "          [ 0.1101, -0.1810,  0.1917, -0.1686,  0.0950]]],\n",
+      "        [[[-0.0640,  0.0140, -0.1493, -0.0449, -0.0952],\n",
+      "          [ 0.0109, -0.0120, -0.0977, -0.1969, -0.1897],\n",
+      "          [ 0.1005,  0.0844,  0.1638,  0.0776, -0.1811],\n",
+      "          [-0.0127, -0.1358, -0.1198,  0.0929, -0.0811],\n",
+      "          [ 0.1094,  0.1268,  0.0769, -0.0800,  0.0134]]],\n",
       "\n",
       "\n",
-      "        [[[-0.1690,  0.0568, -0.1637,  0.0730, -0.0367],\n",
-      "          [ 0.0448, -0.1867, -0.0437, -0.0910,  0.1377],\n",
-      "          [-0.1711, -0.1999,  0.1172, -0.0130, -0.0112],\n",
-      "          [-0.0746, -0.1525,  0.0172, -0.0057, -0.0764],\n",
-      "          [-0.1980,  0.0976,  0.0478, -0.1308,  0.1491]]],\n",
+      "        [[[ 0.1320,  0.1890, -0.1937,  0.0947, -0.1642],\n",
+      "          [ 0.0090, -0.0804, -0.1137, -0.0412, -0.1253],\n",
+      "          [-0.1924,  0.1154,  0.0567, -0.1458, -0.0735],\n",
+      "          [-0.0265,  0.0895, -0.1165, -0.0549,  0.1763],\n",
+      "          [-0.1959, -0.0329, -0.0194,  0.0983, -0.0659]]],\n",
       "\n",
       "\n",
-      "        [[[ 0.1074, -0.0291, -0.1445,  0.0290, -0.0274],\n",
-      "          [ 0.0074,  0.0617,  0.1186,  0.0061, -0.1832],\n",
-      "          [ 0.1208, -0.0598, -0.0865, -0.0370,  0.0106],\n",
-      "          [ 0.0883, -0.1854,  0.1796, -0.1775,  0.1580],\n",
-      "          [ 0.1663, -0.0505, -0.0670,  0.0409,  0.0367]]],\n",
+      "        [[[-0.1925, -0.1036,  0.1780, -0.0791, -0.0873],\n",
+      "          [ 0.0100,  0.1510, -0.1453, -0.0745,  0.0458],\n",
+      "          [-0.0419,  0.0820,  0.1765, -0.1156, -0.0218],\n",
+      "          [ 0.0933,  0.1453, -0.1843, -0.1624,  0.0401],\n",
+      "          [ 0.0747,  0.0421,  0.1151,  0.1696, -0.0365]]],\n",
       "\n",
       "\n",
-      "        [[[-0.0615,  0.0207,  0.1398,  0.0686, -0.0128],\n",
-      "          [ 0.0773,  0.1971,  0.1021, -0.0893,  0.0709],\n",
-      "          [-0.1577,  0.0466, -0.1612,  0.1785,  0.1602],\n",
-      "          [-0.0374,  0.0311,  0.1518,  0.1529, -0.0059],\n",
-      "          [ 0.0086, -0.1915,  0.0763, -0.1900,  0.0979]]],\n",
+      "        [[[ 0.1575,  0.1559, -0.1104, -0.1436, -0.1991],\n",
+      "          [-0.0338, -0.1194, -0.1659,  0.0048, -0.1487],\n",
+      "          [ 0.0137,  0.0668,  0.0671, -0.0339,  0.0486],\n",
+      "          [-0.0064, -0.0225,  0.0927,  0.0606,  0.0042],\n",
+      "          [ 0.1252, -0.1965,  0.0352,  0.1180,  0.0896]]],\n",
       "\n",
       "\n",
-      "        [[[-0.1677, -0.0145, -0.1689, -0.0102, -0.1434],\n",
-      "          [-0.1832,  0.1788, -0.1699, -0.0041, -0.1157],\n",
-      "          [-0.1086, -0.0799, -0.0506, -0.1963,  0.1544],\n",
-      "          [ 0.1940,  0.0519,  0.1506, -0.1696, -0.0159],\n",
-      "          [ 0.0024,  0.0046,  0.0818,  0.1044, -0.0604]]],\n",
+      "        [[[ 0.0671,  0.1113,  0.0242, -0.0552, -0.1848],\n",
+      "          [-0.1905,  0.0019,  0.0057, -0.0307,  0.1718],\n",
+      "          [-0.0562, -0.1494, -0.1637, -0.1111,  0.0126],\n",
+      "          [ 0.0556,  0.1048,  0.1284,  0.0417, -0.0556],\n",
+      "          [-0.0655,  0.1431, -0.1373,  0.0311, -0.1628]]],\n",
       "\n",
       "\n",
-      "        [[[ 0.0605, -0.0014,  0.1496, -0.0587,  0.0858],\n",
-      "          [-0.1680, -0.0135,  0.0629,  0.1832,  0.1535],\n",
-      "          [-0.0072, -0.0376, -0.0897,  0.1623, -0.0962],\n",
-      "          [-0.0958, -0.1683,  0.0390, -0.0637,  0.0455],\n",
-      "          [ 0.1662,  0.1725,  0.1976, -0.0250, -0.0974]]]])), ('conv1.bias', tensor([ 0.1412, -0.1699, -0.0253, -0.1142,  0.0345, -0.1778,  0.0337, -0.1811,\n",
-      "         0.0301, -0.0841, -0.1326, -0.0041,  0.1206, -0.1253, -0.0549,  0.1375,\n",
-      "         0.1011, -0.0645, -0.1874,  0.0055, -0.0208,  0.0685,  0.0626, -0.0987,\n",
-      "        -0.0448, -0.0284,  0.1807,  0.0769,  0.0155,  0.0411, -0.1243, -0.0014])), ('conv2.weight', tensor([[[[ 3.2746e-02,  7.6064e-03,  3.3012e-02, -2.6875e-02, -1.6692e-02],\n",
-      "          [-1.9286e-02, -6.8511e-03, -1.4456e-02, -8.0592e-03, -3.1047e-02],\n",
-      "          [-2.7445e-02,  3.1905e-02, -1.9314e-02, -2.7730e-02,  2.0723e-02],\n",
-      "          [ 3.1894e-02,  2.0955e-02, -2.2974e-02,  1.7649e-02,  1.6758e-02],\n",
-      "          [ 1.2061e-02,  3.0052e-02,  3.3479e-02, -5.7044e-03,  2.5757e-02]],\n",
+      "        [[[ 0.0414, -0.0397, -0.0018,  0.1074,  0.1924],\n",
+      "          [ 0.0205,  0.1236, -0.1880,  0.0947, -0.0946],\n",
+      "          [-0.0543, -0.0087,  0.0633, -0.1134,  0.0912],\n",
+      "          [ 0.0875,  0.0397, -0.1993,  0.1947, -0.1831],\n",
+      "          [ 0.1359,  0.1628, -0.0632, -0.1867, -0.0839]]]]), 'conv1.bias': tensor([ 0.0303,  0.1421,  0.0549, -0.0636,  0.0261, -0.0631,  0.0215,  0.1342,\n",
+      "        -0.0792, -0.1747,  0.0829,  0.1978, -0.1716, -0.1050, -0.0049,  0.1790,\n",
+      "         0.1964,  0.0633,  0.0980, -0.0159,  0.0837, -0.1232, -0.0526, -0.1208,\n",
+      "        -0.1421, -0.0880,  0.1810, -0.0636,  0.1665,  0.1121, -0.1900,  0.0091]), 'conv2.weight': tensor([[[[-1.0712e-02, -2.8543e-02,  2.5060e-03,  9.5242e-03,  3.1358e-02],\n",
+      "          [-1.4135e-02,  1.3580e-02,  2.1455e-02,  1.2194e-02,  1.4131e-02],\n",
+      "          [ 3.0316e-02, -1.1152e-02, -3.2848e-02, -2.2067e-02, -2.6107e-02],\n",
+      "          [ 8.4410e-03,  3.9427e-03,  1.2867e-02, -1.2513e-03, -2.1535e-02],\n",
+      "          [-3.9282e-03,  8.2564e-03,  1.4120e-02,  2.8508e-02,  3.9923e-03]],\n",
       "\n",
-      "         [[ 1.4391e-02, -1.5190e-02, -1.0179e-03,  2.7308e-02,  2.1345e-02],\n",
-      "          [-2.1532e-02,  1.9428e-03, -1.1062e-03,  2.1827e-02,  2.8505e-02],\n",
-      "          [ 3.4529e-02,  3.2408e-02,  9.7295e-03,  9.3658e-03,  6.2646e-03],\n",
-      "          [ 1.5906e-02,  1.4007e-02, -3.4417e-02,  2.2925e-02, -3.3685e-03],\n",
-      "          [-8.7568e-03,  1.2605e-02, -2.5771e-02, -2.2213e-02, -2.3717e-02]],\n",
+      "         [[-1.4297e-03,  4.7124e-03, -3.4464e-02,  1.4309e-02, -3.4432e-02],\n",
+      "          [ 2.6338e-02, -4.2020e-03,  5.5271e-03,  3.1447e-02,  3.5195e-02],\n",
+      "          [-9.7311e-03,  3.0671e-02,  3.3432e-02, -1.6397e-02,  9.7262e-03],\n",
+      "          [-3.1700e-02, -2.4078e-02, -5.8298e-03, -7.3698e-03, -3.1840e-02],\n",
+      "          [ 1.7487e-02, -2.2445e-02, -4.2725e-03,  1.6929e-02, -1.6501e-02]],\n",
       "\n",
-      "         [[-2.9527e-02,  2.2819e-02, -7.3266e-04, -5.2441e-03, -1.8673e-02],\n",
-      "          [-2.0790e-02,  2.8179e-02,  1.4795e-02,  2.2660e-02,  1.6540e-02],\n",
-      "          [ 2.0379e-02, -2.2184e-02, -2.1391e-02, -2.8546e-02,  1.2025e-02],\n",
-      "          [-1.6028e-02, -2.5776e-02,  2.8277e-03,  1.8941e-02, -1.7032e-02],\n",
-      "          [-2.0459e-02,  3.2729e-02, -3.4816e-02,  2.6955e-02,  1.1083e-02]],\n",
+      "         [[ 2.6720e-02,  1.5540e-02,  2.3545e-02, -3.1226e-03,  4.3139e-03],\n",
+      "          [ 2.4492e-02, -1.6616e-02, -2.1790e-02,  3.0564e-02, -1.6427e-02],\n",
+      "          [-1.7733e-02, -2.4438e-02, -1.9700e-02,  2.1084e-02,  2.9459e-02],\n",
+      "          [-3.0856e-02, -3.5242e-02,  2.0413e-02,  4.1613e-03,  8.3422e-03],\n",
+      "          [-1.5534e-02, -1.4875e-02,  1.6494e-02, -3.2325e-02, -1.1099e-04]],\n",
       "\n",
       "         ...,\n",
       "\n",
-      "         [[ 2.0854e-03,  8.9433e-03, -3.4360e-02,  2.9036e-02, -1.2978e-02],\n",
-      "          [ 2.2407e-02,  8.8171e-03,  1.4031e-02,  3.2900e-02,  3.5173e-02],\n",
-      "          [-2.0740e-03,  1.1162e-02,  3.1859e-02, -1.1679e-02, -3.2770e-03],\n",
-      "          [-1.5003e-02,  8.3509e-03, -2.1289e-02, -1.8160e-02, -1.7401e-02],\n",
-      "          [ 2.8564e-03,  2.9883e-02, -1.2668e-02,  8.0667e-04,  3.4512e-02]],\n",
-      "\n",
-      "         [[ 2.4441e-02, -3.2026e-02,  3.4663e-02,  1.3297e-02, -1.9757e-02],\n",
-      "          [-1.9587e-02,  9.0344e-03, -2.2241e-02, -1.1374e-02, -3.2283e-02],\n",
-      "          [ 5.7302e-03,  2.9798e-02,  1.0315e-02, -2.8048e-02,  1.4863e-03],\n",
-      "          [-2.0083e-02, -3.0710e-03, -3.4549e-02,  2.3184e-02, -9.9700e-03],\n",
-      "          [-1.0007e-02,  2.3101e-02,  1.5020e-02, -1.0336e-02, -1.8888e-03]],\n",
-      "\n",
-      "         [[ 1.8208e-02, -1.9901e-02,  3.0093e-02,  1.9968e-02,  7.0317e-03],\n",
-      "          [-3.3956e-02, -1.7922e-03, -1.4408e-02,  2.8461e-02,  7.6843e-03],\n",
-      "          [-1.1414e-02,  2.6077e-02, -2.3152e-02,  8.8792e-03, -2.0675e-02],\n",
-      "          [ 1.4362e-02,  5.4677e-03, -2.9708e-02,  3.0239e-02, -3.1256e-02],\n",
-      "          [-8.4240e-03, -2.9612e-02,  6.7951e-03,  7.8364e-03,  3.2977e-02]]],\n",
-      "\n",
-      "\n",
-      "        [[[ 9.4418e-03,  3.2786e-03, -1.2435e-02,  1.5070e-02, -1.8267e-03],\n",
-      "          [ 1.6058e-03, -9.9090e-03, -1.7479e-02,  1.5799e-02, -1.9801e-03],\n",
-      "          [ 1.5065e-02, -2.1835e-02,  2.9958e-03, -2.2055e-02,  1.7255e-02],\n",
-      "          [-2.4921e-02, -2.3748e-02,  7.5943e-03, -2.8805e-02,  2.4922e-03],\n",
-      "          [-3.1805e-02, -2.5896e-02, -1.7868e-02,  2.7961e-02, -1.2373e-02]],\n",
-      "\n",
-      "         [[-2.6565e-02,  3.5746e-03, -2.2760e-02, -6.0303e-03, -3.2547e-02],\n",
-      "          [-2.1761e-02,  1.7825e-02,  3.4372e-03,  2.1411e-02,  1.0314e-02],\n",
-      "          [ 1.2855e-02, -1.7095e-02, -3.3342e-02, -2.0678e-02, -1.1955e-02],\n",
-      "          [-6.1599e-03, -1.7464e-02,  4.1114e-03,  1.0711e-02,  3.1798e-02],\n",
-      "          [-1.3857e-02,  9.0615e-03, -6.9174e-03, -3.3586e-02,  1.9395e-02]],\n",
-      "\n",
-      "         [[-3.0132e-02, -2.2624e-03, -5.9316e-03, -1.7227e-02, -2.4533e-02],\n",
-      "          [-6.2100e-03, -2.3675e-02,  3.0786e-02,  7.8731e-03,  2.2696e-03],\n",
-      "          [-3.3538e-02,  2.7875e-02, -1.9615e-02,  1.6261e-02,  1.3296e-04],\n",
-      "          [-3.4132e-02, -2.4884e-02,  2.0227e-02,  1.8549e-02, -8.0078e-03],\n",
-      "          [-1.4182e-03,  2.7721e-02, -1.1709e-02, -1.0164e-02,  1.3831e-02]],\n",
+      "         [[ 1.2833e-02, -2.0625e-02, -2.0700e-02, -1.3513e-02,  1.5524e-02],\n",
+      "          [ 7.5736e-03,  3.2956e-02,  2.6385e-02, -2.1103e-02, -2.3895e-02],\n",
+      "          [-1.9102e-02,  1.1805e-02,  1.1777e-02, -3.0465e-02,  2.6048e-03],\n",
+      "          [ 6.3230e-04,  1.0886e-02, -1.5035e-02, -1.5262e-02, -2.5167e-02],\n",
+      "          [-2.1168e-03,  2.6181e-02,  1.4023e-02,  2.2960e-02,  3.0476e-02]],\n",
+      "\n",
+      "         [[-2.1003e-02, -2.1934e-02,  1.6896e-02, -7.1724e-03, -2.8637e-02],\n",
+      "          [ 2.8492e-03,  2.2367e-02, -3.2999e-02, -2.8547e-02,  2.5825e-02],\n",
+      "          [-2.4395e-02, -1.2782e-02,  1.6746e-02, -1.8496e-02, -2.7374e-02],\n",
+      "          [-2.0825e-03,  1.3699e-02,  2.0900e-02, -1.0655e-02, -2.0718e-02],\n",
+      "          [ 2.3637e-03, -1.2933e-02,  1.3596e-03, -1.4176e-02, -2.7697e-02]],\n",
+      "\n",
+      "         [[ 1.6140e-02, -9.6101e-03,  1.6965e-02, -2.4911e-02,  1.7669e-02],\n",
+      "          [ 6.7341e-03,  1.9680e-02, -2.4388e-02,  2.5657e-02, -3.5043e-02],\n",
+      "          [-1.7948e-02, -1.9798e-02,  3.2972e-02, -1.0105e-02,  3.2288e-02],\n",
+      "          [ 6.9848e-03, -2.0427e-02,  3.0102e-02,  2.0419e-02,  1.1636e-02],\n",
+      "          [ 1.4831e-02,  2.5886e-02,  8.4296e-03,  3.6944e-03,  1.2589e-02]]],\n",
+      "\n",
+      "\n",
+      "        [[[-1.5369e-03,  6.7277e-03, -2.8153e-03, -5.2977e-03,  7.7895e-04],\n",
+      "          [ 2.6822e-02, -2.7268e-03,  8.9981e-03, -1.0177e-02,  3.8218e-03],\n",
+      "          [-1.2254e-02,  7.7431e-03, -3.3513e-02, -3.2448e-02, -8.5315e-03],\n",
+      "          [-1.4555e-02,  3.1427e-02,  2.7359e-02, -4.7352e-04, -2.2193e-02],\n",
+      "          [ 5.6234e-03, -2.1741e-03, -1.8802e-02, -1.0976e-02,  2.7378e-02]],\n",
+      "\n",
+      "         [[ 7.5464e-03, -2.4656e-02, -3.2512e-02, -3.2849e-02, -1.5935e-02],\n",
+      "          [-1.8062e-02, -8.6980e-03, -1.6742e-02, -2.0394e-03, -7.8879e-03],\n",
+      "          [-1.1177e-02,  8.7528e-03, -3.4705e-02, -6.7506e-03, -8.8169e-03],\n",
+      "          [-1.8519e-02,  7.6015e-03,  2.9804e-02,  3.7601e-03, -3.3281e-02],\n",
+      "          [ 7.4764e-03,  3.5919e-03,  1.6526e-02, -8.7982e-03, -9.3495e-03]],\n",
+      "\n",
+      "         [[-8.7813e-03,  2.0255e-02,  1.6511e-02,  9.1172e-04, -3.7212e-03],\n",
+      "          [ 3.2860e-02, -1.9111e-02,  1.5490e-03, -5.6712e-03, -1.6889e-02],\n",
+      "          [ 7.5624e-03, -6.9371e-03,  3.1618e-02, -6.7844e-03, -3.1054e-02],\n",
+      "          [ 7.0345e-03, -7.7054e-03,  3.5078e-02,  6.3236e-03,  2.3317e-02],\n",
+      "          [-2.2862e-02, -9.7549e-03,  2.7260e-02, -3.3476e-02,  1.8389e-02]],\n",
       "\n",
       "         ...,\n",
       "\n",
-      "         [[ 1.5085e-02,  2.1404e-02,  1.1670e-02,  7.9414e-03, -2.3269e-02],\n",
-      "          [ 3.1390e-03, -1.9571e-02,  1.7058e-02, -2.1079e-02,  1.1395e-02],\n",
-      "          [-1.1528e-02,  2.1676e-02,  3.0260e-02, -8.6194e-03, -3.5215e-02],\n",
-      "          [ 1.2097e-02,  1.3447e-02, -3.0891e-02, -3.1753e-02,  2.9082e-03],\n",
-      "          [ 2.6964e-02, -1.8573e-02, -1.7564e-02, -3.2200e-02,  1.8055e-02]],\n",
-      "\n",
-      "         [[ 1.4695e-02, -2.5493e-02,  1.1962e-02, -3.4501e-02, -2.8435e-02],\n",
-      "          [-2.0480e-02,  1.4531e-03,  2.4348e-02,  2.9468e-02, -2.0317e-02],\n",
-      "          [-1.7271e-02,  3.5342e-03, -1.6577e-03,  3.0479e-02,  7.5468e-03],\n",
-      "          [-4.8140e-03,  1.0219e-02,  3.2605e-02,  9.3662e-03,  1.7923e-02],\n",
-      "          [ 6.7177e-03, -2.4020e-02, -9.6501e-03, -6.1049e-03, -1.5764e-02]],\n",
-      "\n",
-      "         [[-1.1772e-02,  2.4333e-03,  3.3412e-03, -2.2287e-02,  3.3003e-02],\n",
-      "          [ 7.7133e-03, -2.8402e-02,  3.0503e-02,  2.0268e-02, -2.8774e-02],\n",
-      "          [ 3.2205e-02,  4.7889e-03,  1.4656e-02,  9.9381e-03,  5.1627e-03],\n",
-      "          [ 7.8195e-03,  2.9291e-02, -1.8244e-02, -2.9129e-03,  3.4969e-02],\n",
-      "          [ 1.3522e-02,  1.6393e-02,  3.0487e-02, -1.7014e-02, -1.7204e-02]]],\n",
-      "\n",
-      "\n",
-      "        [[[-2.2435e-02,  3.2695e-02,  1.8033e-03, -1.2957e-02, -1.8227e-02],\n",
-      "          [-2.0660e-02,  1.8752e-02,  1.9233e-02, -1.0020e-02, -2.7806e-03],\n",
-      "          [ 1.5691e-03, -1.5605e-02,  2.6992e-02, -3.3455e-02,  1.6912e-02],\n",
-      "          [ 7.3307e-03, -2.2232e-02, -2.6121e-02, -2.3932e-03,  2.7684e-02],\n",
-      "          [ 3.3649e-02, -5.1965e-03, -1.5039e-02,  3.5366e-03,  3.0508e-02]],\n",
-      "\n",
-      "         [[ 2.0061e-02,  1.9717e-02,  1.0357e-02, -3.3255e-02,  9.8102e-03],\n",
-      "          [ 1.7618e-02,  2.4140e-02,  7.0476e-03, -3.2115e-02, -7.6617e-03],\n",
-      "          [-8.2441e-03, -1.5926e-02, -2.5963e-02, -2.6432e-02,  2.3809e-02],\n",
-      "          [ 2.5385e-03, -9.1865e-04, -1.2525e-02,  2.9783e-02,  3.4802e-02],\n",
-      "          [ 3.4328e-02,  2.5756e-02, -2.1410e-02, -2.0238e-02, -2.1875e-02]],\n",
-      "\n",
-      "         [[-9.3015e-03,  1.4058e-02, -1.1882e-02,  3.3075e-02,  3.4996e-02],\n",
-      "          [-7.9394e-03,  3.2237e-02, -2.6205e-02, -3.0383e-02, -7.0993e-03],\n",
-      "          [ 2.0615e-02, -1.4620e-02, -3.2926e-02, -3.1128e-02, -2.8229e-02],\n",
-      "          [ 2.4899e-03,  8.9844e-03, -3.4723e-02,  8.2829e-03,  8.7329e-03],\n",
-      "          [ 2.8381e-02,  3.2110e-02, -2.0183e-03, -1.4615e-02, -9.5140e-03]],\n",
+      "         [[ 1.3349e-02,  1.8076e-02, -2.1153e-03,  6.5682e-04,  2.4534e-02],\n",
+      "          [ 5.3663e-03,  2.8427e-02,  7.8194e-03, -1.4124e-02,  3.0364e-02],\n",
+      "          [ 3.1933e-02, -2.4390e-02, -3.3345e-02,  1.1310e-02, -2.0207e-02],\n",
+      "          [-2.5572e-02,  2.6358e-02,  1.7217e-02, -2.9017e-03,  7.4605e-03],\n",
+      "          [-3.0439e-02,  1.5487e-02, -5.8104e-03, -3.2419e-02,  6.8073e-03]],\n",
+      "\n",
+      "         [[ 1.1699e-02,  2.2438e-02, -1.2508e-02, -1.1145e-02,  1.1388e-02],\n",
+      "          [-1.5566e-02,  1.7208e-02, -1.0435e-02,  9.3911e-03,  2.2554e-03],\n",
+      "          [-7.6326e-03, -1.4475e-02, -7.9627e-04,  3.4089e-02, -2.1129e-02],\n",
+      "          [ 8.4534e-05, -1.6221e-02, -4.5830e-03, -2.2959e-02, -2.0502e-02],\n",
+      "          [-2.4321e-02,  1.4042e-02,  3.4342e-03,  2.5126e-02,  3.1417e-02]],\n",
+      "\n",
+      "         [[-7.1903e-03, -1.5285e-02,  3.4991e-02, -1.1870e-02,  3.3646e-02],\n",
+      "          [ 2.5525e-02,  2.7944e-02,  3.1858e-02,  2.1613e-02,  2.5457e-02],\n",
+      "          [-1.5631e-02, -1.9511e-02,  1.4821e-02,  6.1392e-03, -2.2879e-02],\n",
+      "          [-2.0709e-03,  2.4683e-02,  1.5450e-02,  1.7543e-02,  3.0431e-02],\n",
+      "          [ 1.2472e-02,  3.3912e-02, -3.3891e-02, -2.9483e-02,  2.1657e-02]]],\n",
+      "\n",
+      "\n",
+      "        [[[ 1.2854e-03,  1.4983e-02,  2.6787e-03, -3.7954e-03, -3.8526e-04],\n",
+      "          [-9.0427e-03, -2.3686e-02, -2.5989e-02,  2.9986e-02, -3.4829e-02],\n",
+      "          [ 1.4774e-02, -2.5571e-03,  1.0485e-02,  5.6443e-03, -4.8553e-03],\n",
+      "          [ 3.6432e-03,  1.7875e-02,  1.5348e-03,  1.8016e-02,  8.2804e-03],\n",
+      "          [ 1.9742e-02, -1.5757e-02, -2.3739e-02,  1.6706e-02, -5.5210e-03]],\n",
+      "\n",
+      "         [[-1.4544e-02,  2.8706e-02,  3.0579e-02, -3.2698e-02,  9.7423e-03],\n",
+      "          [-2.7827e-02, -3.6608e-03,  6.3911e-03,  1.1768e-03, -2.5861e-02],\n",
+      "          [-3.3910e-02,  3.2610e-02, -1.0725e-02, -2.5239e-02,  1.3869e-02],\n",
+      "          [-2.4907e-02,  2.2308e-02,  3.4435e-02, -1.1574e-02, -1.5687e-02],\n",
+      "          [-3.3932e-02, -1.4322e-02, -9.2028e-03,  1.6489e-02,  2.7247e-02]],\n",
+      "\n",
+      "         [[ 1.9997e-02,  2.0339e-02, -2.4083e-02,  2.1822e-02,  3.5218e-02],\n",
+      "          [ 4.6625e-03, -4.3648e-03,  1.3782e-02, -9.2227e-03, -1.9670e-02],\n",
+      "          [-2.3750e-02, -1.6718e-02, -8.2103e-03, -3.0051e-02,  2.0756e-02],\n",
+      "          [ 9.1907e-03, -2.6468e-02,  2.6651e-02,  2.2466e-02,  2.2550e-02],\n",
+      "          [-2.5045e-02, -3.3377e-02,  2.4491e-02, -2.2864e-02, -6.7297e-03]],\n",
       "\n",
       "         ...,\n",
       "\n",
-      "         [[ 2.5843e-02, -2.7146e-02,  3.1365e-02, -1.7570e-02, -1.1656e-02],\n",
-      "          [ 2.4452e-02, -2.9268e-02,  2.2156e-02, -2.0007e-02,  1.2864e-02],\n",
-      "          [ 2.2081e-02,  4.4346e-03, -3.3851e-02, -2.2446e-02, -2.9914e-02],\n",
-      "          [-1.3931e-02, -1.0571e-02, -1.9827e-02, -8.4832e-03, -4.6840e-04],\n",
-      "          [ 3.3050e-03,  2.9839e-02,  2.3548e-02,  1.8797e-02,  2.3927e-02]],\n",
+      "         [[ 2.5862e-02, -1.0371e-03, -1.9383e-02,  1.7942e-03,  1.9761e-02],\n",
+      "          [-2.8891e-02,  6.3965e-03, -2.6830e-02,  1.3699e-02,  1.0821e-02],\n",
+      "          [ 1.1547e-02, -1.9258e-02,  1.4291e-02, -7.1339e-03, -2.1092e-02],\n",
+      "          [ 1.1358e-02,  5.8365e-03, -2.8330e-02, -1.6591e-02,  1.4738e-02],\n",
+      "          [-3.0109e-03, -3.1205e-02,  1.0713e-02, -2.7946e-02,  5.6631e-03]],\n",
       "\n",
-      "         [[ 6.0766e-03, -2.1119e-02, -7.4612e-03, -2.8573e-02, -1.1375e-02],\n",
-      "          [-2.1335e-02,  6.7210e-03, -1.2251e-02, -1.0163e-03, -6.8753e-03],\n",
-      "          [-1.0076e-02, -2.1910e-03,  5.1250e-04, -5.3031e-03, -7.5937e-03],\n",
-      "          [-2.6741e-03, -3.4738e-02,  3.1672e-02, -2.4893e-02, -3.3263e-02],\n",
-      "          [-1.1028e-02,  1.9241e-02,  1.6009e-02,  2.4161e-02,  3.3235e-02]],\n",
+      "         [[-3.4269e-03,  5.9247e-03, -2.2628e-02,  1.5790e-02,  1.6851e-02],\n",
+      "          [-1.3199e-02,  1.1820e-02, -2.9882e-02,  1.5963e-02,  1.4160e-02],\n",
+      "          [-1.8430e-02,  1.7088e-02,  1.0258e-02, -3.1797e-02, -1.5712e-02],\n",
+      "          [ 5.8283e-03, -3.2654e-02, -1.2848e-02,  2.9440e-02,  1.5735e-02],\n",
+      "          [ 1.5160e-02, -1.1311e-03,  1.5635e-02, -3.1450e-03, -2.3950e-02]],\n",
       "\n",
-      "         [[ 7.0783e-03, -1.9811e-02, -8.6785e-03, -3.4500e-02,  1.2150e-02],\n",
-      "          [-7.2774e-03,  2.2635e-03,  3.5135e-02, -3.3153e-03, -1.7127e-02],\n",
-      "          [ 1.1098e-02,  1.1369e-02, -3.5151e-03, -1.8415e-02,  7.1177e-03],\n",
-      "          [ 7.1935e-03, -2.6246e-02, -1.0526e-02, -2.6759e-02, -4.7185e-03],\n",
-      "          [-2.3434e-02, -4.3492e-03, -4.9457e-03, -2.1908e-02,  7.1825e-03]]],\n",
+      "         [[ 1.1689e-02, -5.3986e-03, -1.7156e-02,  1.5808e-02,  1.1226e-02],\n",
+      "          [ 6.9512e-03,  1.9596e-02, -9.9320e-03, -2.5242e-02,  2.5922e-02],\n",
+      "          [-1.1149e-03, -1.8153e-02, -6.7535e-03, -4.0143e-03,  1.5343e-02],\n",
+      "          [ 2.1245e-02,  2.0272e-02, -1.5746e-02,  4.4477e-03,  1.3009e-02],\n",
+      "          [-2.7403e-02, -1.7578e-03, -5.7534e-03, -4.3350e-03,  3.2173e-03]]],\n",
       "\n",
       "\n",
       "        ...,\n",
       "\n",
       "\n",
-      "        [[[ 2.1287e-02, -1.8313e-02, -3.6076e-03, -6.2449e-03, -2.4652e-02],\n",
-      "          [ 8.9968e-03, -1.1765e-02, -2.1595e-02, -2.4103e-02,  6.7955e-03],\n",
-      "          [ 3.9301e-03, -3.0373e-02,  3.2183e-02,  3.5264e-02, -2.2304e-03],\n",
-      "          [-3.9002e-03, -4.5479e-04, -1.1849e-02,  7.2274e-03,  4.6744e-03],\n",
-      "          [ 2.6520e-02, -1.4180e-02, -3.4668e-02,  1.5128e-02, -3.3632e-02]],\n",
+      "        [[[ 2.4695e-02,  2.4198e-02,  5.4242e-03,  1.7946e-03,  1.5525e-03],\n",
+      "          [-6.9484e-03, -2.8010e-02,  6.0022e-03, -3.4202e-02, -9.2220e-03],\n",
+      "          [-1.8714e-02, -3.3158e-02,  1.2717e-02,  2.1173e-02,  2.3357e-02],\n",
+      "          [ 2.1218e-02,  1.3226e-02,  1.5477e-02,  1.4576e-02, -1.6706e-02],\n",
+      "          [ 5.8316e-03,  1.7646e-02,  2.6505e-02,  1.6435e-02, -9.7523e-03]],\n",
       "\n",
-      "         [[ 1.8598e-02,  1.4959e-02, -2.9480e-02,  1.9813e-02, -1.5348e-02],\n",
-      "          [ 6.2970e-03, -3.1894e-02, -1.5896e-03, -2.4380e-02,  9.9467e-03],\n",
-      "          [-3.0277e-02, -2.7341e-02,  3.4734e-02,  6.8040e-03,  3.2219e-02],\n",
-      "          [-2.4927e-03, -2.5790e-03, -5.7664e-03, -3.2622e-02, -3.3634e-02],\n",
-      "          [ 2.0730e-02, -2.5132e-02, -2.6545e-02, -1.1005e-02,  2.8195e-02]],\n",
+      "         [[-7.5557e-03,  3.0235e-02,  4.0494e-03, -6.5395e-03, -2.7983e-02],\n",
+      "          [-1.6704e-02, -1.4708e-02, -1.2753e-02,  2.0003e-02,  2.0317e-02],\n",
+      "          [-1.4792e-02, -2.5440e-03,  8.3960e-03,  3.1746e-02, -4.2791e-03],\n",
+      "          [-2.6947e-02,  2.8178e-02, -8.7998e-03, -1.1918e-03,  1.9409e-02],\n",
+      "          [ 2.7548e-02,  2.9289e-02, -1.4868e-02, -2.4845e-02,  2.1959e-02]],\n",
       "\n",
-      "         [[ 2.6250e-02,  7.9877e-03, -1.8213e-02,  1.4875e-02, -1.2586e-02],\n",
-      "          [ 3.4744e-03, -8.0666e-04,  2.5727e-02,  2.8350e-02, -9.4837e-03],\n",
-      "          [ 1.4090e-02, -1.2686e-02, -1.7193e-02,  3.3702e-02, -1.3203e-02],\n",
-      "          [-1.9251e-02, -2.0643e-02, -3.4949e-02, -6.2629e-03, -1.9547e-02],\n",
-      "          [-1.9111e-02,  4.1030e-03, -2.7258e-02, -1.1742e-02,  1.5548e-02]],\n",
+      "         [[ 2.7115e-03,  2.1398e-02, -2.7235e-02,  2.4657e-02,  3.2983e-02],\n",
+      "          [-2.9811e-02,  2.8511e-02,  2.6691e-02,  3.0088e-02,  5.6536e-03],\n",
+      "          [ 1.2006e-02,  9.3720e-03, -8.6544e-04, -1.8001e-02, -4.6723e-04],\n",
+      "          [ 1.5956e-02,  1.0558e-02, -2.6408e-03, -1.8055e-02, -1.8820e-02],\n",
+      "          [ 2.0884e-02, -6.9533e-03, -2.7761e-02, -2.1180e-02, -1.0313e-02]],\n",
       "\n",
       "         ...,\n",
       "\n",
-      "         [[-2.5090e-03,  4.7538e-03,  7.9407e-03, -2.2791e-02,  2.1788e-03],\n",
-      "          [-4.9433e-03,  3.1922e-02, -3.1142e-02,  1.4006e-02, -7.7551e-03],\n",
-      "          [ 2.1749e-02,  5.9137e-03, -1.1533e-02, -1.6676e-02, -3.5265e-03],\n",
-      "          [ 3.1718e-02,  1.0119e-02,  3.2395e-02,  3.3945e-02,  4.8077e-03],\n",
-      "          [-1.1578e-02, -2.0632e-02,  2.7696e-02,  3.2618e-02,  9.7284e-03]],\n",
-      "\n",
-      "         [[ 1.8375e-02, -9.7233e-05,  1.8388e-02, -2.9518e-02,  3.9843e-03],\n",
-      "          [-1.9700e-02,  3.2218e-03,  2.4047e-02, -3.0775e-02,  1.4493e-02],\n",
-      "          [-9.0917e-03, -7.6246e-03, -1.3552e-02,  2.6074e-03,  2.4428e-02],\n",
-      "          [ 2.7959e-02,  2.8538e-02,  1.4753e-02, -1.2307e-02, -2.6018e-02],\n",
-      "          [-3.3357e-02,  3.3910e-02,  1.0897e-02,  2.8469e-02, -2.6521e-02]],\n",
-      "\n",
-      "         [[-3.1437e-02, -3.0936e-02,  2.0549e-02,  2.5189e-02,  5.8238e-03],\n",
-      "          [ 1.3889e-02, -2.7012e-02,  3.3450e-02, -1.3303e-02, -2.2165e-02],\n",
-      "          [ 2.1920e-02, -2.0136e-02, -7.9523e-03, -1.1588e-02, -2.8461e-02],\n",
-      "          [-5.5698e-03, -9.2438e-03,  4.1570e-04, -1.8359e-02,  1.9532e-02],\n",
-      "          [ 2.0134e-02,  8.2159e-03, -2.3395e-02,  7.6182e-03,  2.7166e-02]]],\n",
-      "\n",
-      "\n",
-      "        [[[-7.3934e-03, -1.0176e-02, -9.7839e-03, -4.7201e-03,  2.9347e-02],\n",
-      "          [ 2.2820e-02, -2.3556e-02,  3.1363e-02,  3.1633e-02,  1.2403e-02],\n",
-      "          [ 1.8365e-02,  1.9939e-02, -1.0798e-02,  1.4977e-02, -2.4530e-02],\n",
-      "          [-2.7912e-02,  1.9863e-02,  1.0049e-02,  1.4724e-02,  1.2780e-02],\n",
-      "          [ 4.0170e-03, -3.3140e-02, -2.9632e-02,  1.4946e-03, -1.6940e-02]],\n",
-      "\n",
-      "         [[-3.4747e-02, -5.2359e-03, -1.5862e-02,  2.6807e-02, -5.9706e-03],\n",
-      "          [ 2.7407e-02, -1.0718e-02, -1.4837e-02, -3.1179e-02, -1.7709e-02],\n",
-      "          [-1.3655e-02, -2.1498e-02,  2.8826e-02,  2.5957e-02, -2.4366e-02],\n",
-      "          [ 1.4200e-02, -1.4852e-02, -4.7653e-03,  2.4253e-02, -1.6041e-02],\n",
-      "          [-4.7325e-03,  2.8462e-02, -5.8148e-03, -2.6908e-02, -2.0238e-02]],\n",
-      "\n",
-      "         [[ 4.9883e-03,  8.7387e-03,  1.6713e-02, -1.0209e-02, -1.0910e-03],\n",
-      "          [ 2.6915e-02, -2.4194e-02,  2.7620e-02,  2.2118e-02, -2.5813e-02],\n",
-      "          [-8.1892e-03, -2.0470e-02, -1.1753e-02, -1.0251e-02,  2.4059e-02],\n",
-      "          [-3.1399e-03,  3.1092e-02,  1.7936e-02, -2.1981e-02,  2.5822e-02],\n",
-      "          [ 1.9193e-02,  9.7368e-03,  2.6554e-02, -2.7229e-02,  1.5611e-02]],\n",
+      "         [[-2.5222e-02, -2.6723e-02, -2.5127e-02, -8.3920e-03,  1.2354e-02],\n",
+      "          [ 2.4635e-02, -2.1187e-02,  3.2576e-02,  5.1753e-03, -1.5645e-02],\n",
+      "          [-2.7097e-02, -1.3811e-02, -2.8127e-02, -7.5398e-03, -2.5397e-02],\n",
+      "          [-3.2788e-02,  9.4662e-03, -2.5773e-02, -5.5557e-03, -2.1646e-02],\n",
+      "          [-3.9811e-03, -2.9400e-02, -2.9801e-02,  3.4086e-03, -2.5995e-02]],\n",
+      "\n",
+      "         [[-1.7667e-02, -2.9269e-02,  3.3983e-02,  1.7904e-03, -1.1844e-02],\n",
+      "          [-3.1558e-03,  2.8698e-02, -2.4786e-02,  2.8517e-02, -2.1105e-02],\n",
+      "          [-1.3482e-02, -2.3590e-02,  1.5106e-02, -2.6257e-02, -3.1513e-02],\n",
+      "          [ 1.5126e-02,  9.0866e-03, -3.5108e-03, -3.1232e-02,  1.0039e-02],\n",
+      "          [ 1.0646e-02,  2.0490e-02, -1.6026e-02,  9.4491e-03,  1.8696e-03]],\n",
+      "\n",
+      "         [[ 9.5597e-03, -1.0937e-03,  3.1415e-03, -2.9728e-02,  2.4290e-02],\n",
+      "          [ 2.1983e-02, -4.4185e-03, -4.3551e-03, -2.3103e-03,  2.8911e-02],\n",
+      "          [-2.3258e-02, -2.7318e-02,  2.5071e-02, -2.8034e-02, -9.6178e-03],\n",
+      "          [ 1.1631e-02, -6.4006e-03,  3.1090e-02, -2.6229e-02, -3.1959e-02],\n",
+      "          [-1.8579e-03,  1.1335e-02, -1.9144e-02,  2.1692e-02,  7.2188e-03]]],\n",
+      "\n",
+      "\n",
+      "        [[[-5.6811e-03, -1.0477e-02,  1.1886e-02,  7.3932e-03,  1.6800e-02],\n",
+      "          [ 2.9957e-02, -4.6041e-03,  1.7368e-02,  2.9004e-02, -1.8263e-02],\n",
+      "          [-2.6259e-02,  1.8272e-02, -8.9695e-03,  2.3765e-02, -3.3679e-02],\n",
+      "          [-1.0965e-02, -7.6722e-03,  2.3450e-02, -1.0505e-02,  5.3181e-03],\n",
+      "          [-5.6810e-03, -2.4764e-02,  3.1046e-02, -2.9747e-03, -2.8656e-02]],\n",
+      "\n",
+      "         [[ 2.0621e-02,  3.0689e-02,  9.9618e-03, -1.2074e-02, -3.4941e-02],\n",
+      "          [ 2.5171e-02,  2.5641e-02,  2.3229e-02, -2.1664e-02, -1.0035e-02],\n",
+      "          [-2.7126e-02,  1.5039e-03, -1.8666e-02, -1.3896e-03, -2.8527e-02],\n",
+      "          [-3.8435e-03,  1.9811e-02,  2.6598e-02,  3.9880e-03, -1.2667e-02],\n",
+      "          [-2.9899e-02, -1.0524e-04, -6.9346e-03, -9.0742e-03, -9.5847e-03]],\n",
+      "\n",
+      "         [[ 3.4221e-02,  1.8155e-02, -2.0950e-02, -3.0531e-02, -1.6531e-02],\n",
+      "          [-2.6935e-02, -2.9924e-02, -1.2559e-02, -1.1806e-02, -3.4378e-02],\n",
+      "          [-3.1124e-03,  6.3495e-03, -2.1526e-02, -2.1942e-02,  4.1308e-03],\n",
+      "          [-4.0192e-03, -7.1271e-03,  3.2742e-02,  9.6951e-03, -8.8074e-03],\n",
+      "          [ 5.0674e-03, -3.0229e-02,  1.2071e-02, -1.5985e-02, -1.9603e-02]],\n",
       "\n",
       "         ...,\n",
       "\n",
-      "         [[ 2.5990e-02,  1.8204e-03,  6.3907e-04,  1.3599e-02, -2.4928e-02],\n",
-      "          [-4.0177e-03, -9.5758e-03, -3.1354e-02,  3.4710e-02,  1.5811e-02],\n",
-      "          [-1.3928e-02, -5.0035e-03, -8.0641e-03,  1.7689e-03, -3.0916e-02],\n",
-      "          [ 2.2672e-02,  2.5900e-02, -1.4861e-02, -1.9387e-02,  2.4626e-03],\n",
-      "          [ 5.2564e-03, -1.1521e-02,  1.1267e-02,  2.8809e-02,  8.4900e-03]],\n",
-      "\n",
-      "         [[-2.4825e-02,  1.4945e-02,  2.0792e-02, -7.3404e-03, -3.1627e-02],\n",
-      "          [ 2.1001e-02, -1.1632e-02,  1.1063e-02,  5.0528e-03,  1.8288e-02],\n",
-      "          [ 1.8396e-02,  2.4709e-02, -1.8625e-02,  3.1313e-03, -1.7493e-02],\n",
-      "          [ 3.4257e-02, -3.2146e-03,  1.9457e-02,  2.9968e-02,  2.6933e-02],\n",
-      "          [ 2.8540e-02, -1.9069e-02, -8.6731e-03,  6.6561e-03, -7.9887e-03]],\n",
-      "\n",
-      "         [[ 2.0432e-02,  4.1301e-03,  2.8091e-02, -1.5266e-02,  3.8479e-03],\n",
-      "          [-3.0857e-03, -1.9645e-02,  3.2926e-02, -1.6260e-02, -2.0212e-02],\n",
-      "          [ 3.3778e-03, -9.7388e-04, -7.2386e-03, -9.4193e-03, -1.5630e-02],\n",
-      "          [-1.4204e-03, -8.6640e-03,  2.0029e-02, -1.6952e-02,  2.7978e-02],\n",
-      "          [ 1.4138e-02, -1.3769e-02, -2.7078e-02, -5.8826e-03,  2.9882e-02]]],\n",
-      "\n",
-      "\n",
-      "        [[[ 1.2291e-02, -2.2902e-02,  1.1633e-02,  3.4403e-02, -1.1917e-02],\n",
-      "          [ 1.2536e-02, -1.1643e-02, -9.9262e-03,  1.7047e-02, -3.4983e-02],\n",
-      "          [ 8.9901e-03, -3.3618e-02, -8.4233e-03, -5.1072e-04, -8.9520e-04],\n",
-      "          [ 1.3063e-02,  1.5268e-02,  2.8177e-02,  1.2762e-02,  2.4342e-02],\n",
-      "          [-1.6559e-02,  3.3652e-02, -2.4771e-03, -7.7901e-03,  3.9261e-03]],\n",
-      "\n",
-      "         [[-1.7359e-02, -3.0286e-02, -3.1738e-02, -2.5330e-02,  2.6791e-03],\n",
-      "          [-1.6079e-02, -4.5769e-03, -1.9375e-02, -1.4358e-02, -1.4470e-02],\n",
-      "          [-2.2557e-03, -2.9062e-02,  3.2361e-02, -2.0854e-02,  1.3980e-02],\n",
-      "          [ 4.6692e-03, -6.2594e-03, -2.1700e-02,  1.7638e-02, -1.6371e-02],\n",
-      "          [ 1.3422e-02,  2.3067e-03,  2.0222e-02,  8.4460e-03,  1.5446e-02]],\n",
-      "\n",
-      "         [[ 2.7963e-02, -2.2203e-03, -2.0449e-02, -2.6557e-02,  3.4897e-02],\n",
-      "          [ 6.2281e-03,  1.4564e-03, -5.3195e-03, -1.0745e-02, -2.5309e-02],\n",
-      "          [-2.8325e-03, -3.1341e-02,  3.5223e-02,  1.4007e-02,  9.4664e-03],\n",
-      "          [-1.4459e-02,  2.3820e-02,  3.5399e-03,  1.9318e-02, -8.8443e-03],\n",
-      "          [-2.4607e-03,  1.4686e-03, -2.0640e-02, -3.1963e-02,  3.5608e-03]],\n",
+      "         [[-2.6260e-02, -1.7585e-02, -2.1982e-02, -2.3320e-02, -4.1119e-03],\n",
+      "          [ 1.3096e-02, -1.7109e-02, -1.3888e-02, -2.8812e-05,  2.6391e-02],\n",
+      "          [-1.3052e-02, -1.1130e-02, -2.9985e-02,  1.2317e-02, -3.1856e-02],\n",
+      "          [-8.2432e-03,  2.8641e-02,  2.4846e-02,  5.5159e-03,  1.9084e-02],\n",
+      "          [-3.4092e-02, -2.1065e-02,  2.2432e-02, -1.6194e-02,  2.2492e-02]],\n",
+      "\n",
+      "         [[ 3.3804e-02,  1.4972e-02,  2.2994e-03,  3.1839e-02, -1.3227e-02],\n",
+      "          [-3.3975e-02, -3.4533e-02, -1.6026e-02,  2.2788e-03, -1.4643e-03],\n",
+      "          [ 3.2438e-02, -2.8320e-02, -1.8481e-02,  5.8380e-03, -5.3999e-03],\n",
+      "          [ 9.1915e-03,  3.6022e-03,  1.1685e-04, -2.4490e-02,  1.3981e-02],\n",
+      "          [ 5.1616e-03, -6.7223e-03,  2.9258e-02,  3.0399e-02, -1.0489e-02]],\n",
+      "\n",
+      "         [[-2.0869e-02, -2.7418e-02,  9.2013e-03,  1.0312e-03, -1.3312e-02],\n",
+      "          [ 7.1380e-05,  1.8098e-02,  4.8561e-03,  2.6030e-02,  4.5902e-03],\n",
+      "          [-3.8396e-06, -9.0726e-03, -3.4657e-02, -3.5020e-02,  1.7769e-02],\n",
+      "          [ 4.7196e-03, -3.0351e-04,  6.6702e-03, -1.5387e-02, -1.5521e-02],\n",
+      "          [ 2.0964e-03,  1.5412e-02,  2.2774e-02, -4.0799e-03,  2.0905e-02]]],\n",
+      "\n",
+      "\n",
+      "        [[[ 1.6501e-02, -2.7081e-02,  9.0558e-03,  2.5332e-03,  1.2791e-02],\n",
+      "          [-7.0474e-03,  1.6052e-02,  2.9610e-02, -4.8062e-03,  2.2890e-02],\n",
+      "          [-2.1236e-02, -8.2819e-03, -3.3545e-02,  3.3778e-02,  2.5133e-02],\n",
+      "          [ 3.3057e-02, -1.5296e-02,  1.7353e-02, -4.8650e-03,  3.4039e-02],\n",
+      "          [ 2.9383e-02,  2.2072e-02, -1.3218e-02,  2.5207e-02, -3.1896e-02]],\n",
+      "\n",
+      "         [[ 1.3995e-02, -2.0663e-02, -7.7605e-03, -2.9423e-02,  1.3063e-02],\n",
+      "          [ 2.5140e-02, -9.7825e-03, -2.2534e-02,  1.2679e-02, -2.3407e-03],\n",
+      "          [ 3.0757e-02,  1.2600e-02, -9.9360e-03, -2.9706e-02,  3.0537e-02],\n",
+      "          [ 2.1376e-02,  2.1465e-02,  1.6579e-02, -2.8762e-02, -2.8087e-02],\n",
+      "          [ 2.5223e-02, -1.7151e-02,  7.6622e-03,  3.3316e-02,  9.0349e-03]],\n",
+      "\n",
+      "         [[-3.2144e-02, -3.4602e-02, -1.2078e-03,  2.5526e-02, -2.1524e-02],\n",
+      "          [-3.4233e-02,  8.9771e-03,  3.4649e-02, -2.9127e-02, -2.1181e-02],\n",
+      "          [-2.3100e-02,  3.9237e-03, -2.6253e-02, -3.1718e-02,  3.5719e-03],\n",
+      "          [-1.8098e-02,  2.5035e-02, -1.7552e-02,  2.4375e-02, -2.1021e-02],\n",
+      "          [-3.5218e-02, -2.3443e-02,  3.5088e-02, -1.7220e-03,  2.7329e-03]],\n",
       "\n",
       "         ...,\n",
       "\n",
-      "         [[ 3.3729e-02,  1.5060e-02, -1.0339e-02, -3.3869e-02,  9.5173e-03],\n",
-      "          [ 2.9181e-02,  2.6096e-02,  6.5876e-03,  1.4734e-02, -1.3666e-02],\n",
-      "          [ 3.8105e-03,  1.4149e-02, -1.5581e-02, -6.6103e-03,  2.5904e-02],\n",
-      "          [ 1.7985e-02,  3.0942e-02,  1.5265e-02, -1.5719e-02, -6.3216e-03],\n",
-      "          [ 4.6500e-03,  1.2790e-02,  2.9090e-03,  5.3699e-03, -1.4805e-02]],\n",
-      "\n",
-      "         [[-1.0921e-02, -1.9939e-03, -2.8213e-02, -6.9159e-03, -1.5026e-03],\n",
-      "          [ 3.1958e-02,  7.6529e-03, -1.5578e-02, -2.3311e-02, -7.5325e-03],\n",
-      "          [ 9.9005e-03, -1.2741e-02,  2.4803e-02, -1.7379e-04,  2.8831e-02],\n",
-      "          [-2.3304e-02, -1.4651e-02,  2.0540e-03,  6.7600e-03, -2.2979e-02],\n",
-      "          [-2.8824e-02,  2.5435e-02,  2.3059e-02,  2.0000e-03, -2.6226e-02]],\n",
-      "\n",
-      "         [[-3.8041e-03,  1.3903e-02, -2.4387e-02, -6.0695e-03, -1.2511e-02],\n",
-      "          [-2.3270e-02,  1.7635e-02,  9.2290e-03,  3.1794e-02, -1.5929e-03],\n",
-      "          [-3.1804e-02, -1.5838e-02, -7.3459e-03,  1.6185e-02,  2.6591e-02],\n",
-      "          [-7.9933e-03, -2.6467e-03, -1.7165e-02,  1.1167e-02,  1.2200e-02],\n",
-      "          [-2.1517e-02, -1.5859e-02, -2.5180e-02, -1.4661e-02, -2.9686e-02]]]])), ('conv2.bias', tensor([-0.0089, -0.0188, -0.0332,  0.0145,  0.0114,  0.0143, -0.0350,  0.0262,\n",
-      "        -0.0120, -0.0293, -0.0241,  0.0296,  0.0040,  0.0037, -0.0102, -0.0286,\n",
-      "         0.0114,  0.0021,  0.0105,  0.0194,  0.0032, -0.0117,  0.0232,  0.0098,\n",
-      "         0.0349,  0.0020, -0.0103, -0.0307,  0.0153,  0.0227,  0.0066,  0.0023,\n",
-      "        -0.0033,  0.0143, -0.0275,  0.0305,  0.0050, -0.0263, -0.0068,  0.0017,\n",
-      "         0.0258,  0.0263, -0.0047,  0.0063,  0.0233, -0.0141, -0.0251,  0.0072,\n",
-      "         0.0058, -0.0183, -0.0226, -0.0204,  0.0080, -0.0164,  0.0317, -0.0037,\n",
-      "        -0.0171, -0.0219,  0.0041,  0.0267, -0.0242, -0.0056,  0.0006,  0.0317])), ('fc1.weight', tensor([[-0.0071,  0.0033, -0.0022,  ..., -0.0169, -0.0172,  0.0034],\n",
-      "        [ 0.0109, -0.0090,  0.0169,  ...,  0.0074, -0.0104,  0.0056],\n",
-      "        [ 0.0113, -0.0158, -0.0173,  ..., -0.0151, -0.0095,  0.0036],\n",
+      "         [[ 2.0920e-02, -2.8072e-02,  2.0046e-02,  2.1542e-02,  2.8214e-02],\n",
+      "          [-1.4556e-02, -2.8212e-02, -8.9851e-03, -3.3224e-02,  2.4021e-02],\n",
+      "          [-2.6013e-02, -3.1922e-02, -1.5481e-04, -1.2796e-02,  5.5097e-03],\n",
+      "          [ 3.1735e-02,  2.0218e-02,  2.9766e-02,  2.7779e-02,  3.0098e-02],\n",
+      "          [ 1.8398e-03, -2.1543e-02, -2.9273e-02, -5.8921e-03,  1.6662e-02]],\n",
+      "\n",
+      "         [[ 2.8385e-02, -1.8564e-02, -6.6080e-03,  2.5015e-02, -3.3667e-03],\n",
+      "          [-1.9641e-02, -3.4182e-02,  2.0578e-02, -2.0450e-02,  3.3780e-03],\n",
+      "          [ 6.3422e-04,  2.6127e-02,  1.1615e-02,  2.5706e-02, -2.4499e-02],\n",
+      "          [ 1.9641e-02,  3.2078e-02, -2.9023e-02, -3.4537e-02,  1.1839e-02],\n",
+      "          [-1.1807e-03,  3.3522e-02, -2.9450e-02, -3.3327e-02, -3.3981e-02]],\n",
+      "\n",
+      "         [[-2.3388e-03, -8.2398e-03, -1.6055e-02, -1.2572e-03, -1.9137e-02],\n",
+      "          [-2.5775e-02,  1.8130e-03, -4.7393e-04,  1.8243e-02, -1.0023e-02],\n",
+      "          [ 8.7671e-03, -2.4885e-02, -2.3222e-02,  3.0048e-02, -2.0407e-02],\n",
+      "          [-2.8137e-02,  3.1120e-02, -7.6599e-03, -1.9271e-02,  2.2285e-02],\n",
+      "          [-2.9455e-02,  1.2270e-02, -2.2933e-02,  6.5161e-03,  2.0707e-02]]]]), 'conv2.bias': tensor([-0.0294,  0.0329,  0.0288,  0.0177, -0.0267,  0.0292, -0.0254,  0.0350,\n",
+      "         0.0102,  0.0154,  0.0301,  0.0296,  0.0310, -0.0298,  0.0040,  0.0274,\n",
+      "         0.0159,  0.0237, -0.0041,  0.0274,  0.0122, -0.0251,  0.0142,  0.0245,\n",
+      "         0.0126,  0.0059,  0.0148,  0.0251,  0.0234,  0.0009, -0.0098, -0.0203,\n",
+      "         0.0108, -0.0250,  0.0113,  0.0071,  0.0188,  0.0034,  0.0039, -0.0132,\n",
+      "         0.0325,  0.0291, -0.0115,  0.0208,  0.0073, -0.0019,  0.0264, -0.0297,\n",
+      "        -0.0012, -0.0327, -0.0204, -0.0143, -0.0182,  0.0242,  0.0229, -0.0135,\n",
+      "        -0.0017,  0.0063,  0.0077, -0.0157, -0.0293,  0.0144,  0.0262,  0.0104]), 'fc1.weight': tensor([[-0.0081,  0.0138, -0.0154,  ...,  0.0130,  0.0123,  0.0151],\n",
+      "        [-0.0053,  0.0166, -0.0099,  ..., -0.0101, -0.0069, -0.0051],\n",
+      "        [-0.0101,  0.0112, -0.0009,  ...,  0.0026, -0.0106,  0.0138],\n",
       "        ...,\n",
-      "        [-0.0174, -0.0122,  0.0140,  ..., -0.0145, -0.0094,  0.0060],\n",
-      "        [-0.0027,  0.0069, -0.0158,  ..., -0.0118,  0.0147, -0.0022],\n",
-      "        [-0.0161, -0.0009, -0.0035,  ..., -0.0114, -0.0134,  0.0092]])), ('fc1.bias', tensor([ 1.0599e-02, -8.6450e-03, -6.3942e-03, -1.6975e-02,  9.9938e-03,\n",
-      "         1.9097e-03, -1.0315e-02, -1.3646e-02, -8.1271e-03,  9.0041e-03,\n",
-      "        -1.5887e-02, -8.1938e-03,  2.3270e-03,  6.1815e-03,  1.3092e-02,\n",
-      "        -1.6892e-02,  7.6708e-03,  5.4282e-03, -1.5561e-02, -3.7766e-03,\n",
-      "        -1.5642e-02, -8.5728e-03, -8.8577e-03, -3.0399e-03, -8.2830e-04,\n",
-      "         1.0327e-02,  1.3440e-02, -6.5937e-03, -1.1239e-02, -1.4882e-05,\n",
-      "         3.3315e-03,  1.4572e-02,  1.0429e-02,  3.8221e-03,  1.5226e-02,\n",
-      "        -7.9018e-03, -6.1310e-03,  7.9535e-03, -1.7202e-04,  1.1906e-02,\n",
-      "        -1.4496e-03, -5.4891e-03, -1.7822e-02,  4.6960e-03,  2.4820e-03,\n",
-      "         9.9257e-03,  2.6597e-03, -1.6335e-02, -8.0572e-03, -1.6191e-02,\n",
-      "         2.6107e-03, -8.7351e-03,  1.2610e-02, -2.6491e-03,  3.7665e-03,\n",
-      "         1.7175e-02, -6.5901e-03, -9.9649e-03,  2.9988e-03, -1.7338e-02,\n",
-      "         1.6825e-02, -1.1604e-02, -4.9108e-03, -2.1019e-03,  1.2322e-02,\n",
-      "        -8.7332e-03,  1.6764e-02, -1.3749e-02, -2.0282e-03, -1.3290e-03,\n",
-      "         1.3664e-02,  5.7036e-03,  1.5984e-03, -1.0168e-02, -4.8652e-03,\n",
-      "         8.3150e-03,  6.2086e-03,  4.7627e-03,  1.3689e-02,  1.4757e-02,\n",
-      "        -9.3733e-03, -1.5374e-02,  1.5027e-02,  4.3609e-03, -1.0545e-02,\n",
-      "        -5.0889e-03, -1.7105e-02, -1.7145e-02, -1.1442e-02, -6.1340e-03,\n",
-      "         8.5078e-04, -9.6481e-03, -1.3213e-02,  5.9745e-03, -1.1376e-02,\n",
-      "         3.3183e-03,  1.6145e-02,  2.4235e-03,  1.6919e-02,  1.5337e-02,\n",
-      "        -1.1545e-02, -1.0109e-02,  2.0069e-03, -1.6511e-02,  1.3294e-02,\n",
-      "        -1.5669e-02, -3.9068e-03,  1.8742e-03, -9.1673e-03,  1.1506e-03,\n",
-      "        -1.4879e-02,  1.0596e-02, -9.0080e-03,  1.0127e-02, -1.4706e-02,\n",
-      "         1.5415e-02, -1.7710e-02,  1.1429e-02, -1.5419e-02,  6.1092e-03,\n",
-      "        -1.4390e-02,  8.4765e-03,  1.7293e-02, -7.1311e-03, -1.1727e-02,\n",
-      "         7.7789e-03, -1.2567e-03,  6.0136e-04, -1.9898e-04, -4.7073e-04,\n",
-      "        -1.0649e-02, -1.1535e-02,  1.1677e-02,  1.3624e-02,  3.7816e-03,\n",
-      "         1.3092e-02,  8.3147e-03, -4.8131e-03,  7.3444e-03, -4.5568e-03,\n",
-      "        -1.1646e-02,  1.4085e-02,  1.1272e-03,  8.6347e-03,  1.1023e-02,\n",
-      "         5.5445e-04,  1.7230e-03, -3.8121e-03, -1.0967e-02, -4.1310e-04,\n",
-      "         1.1095e-02, -1.0299e-03,  1.7205e-02,  1.4472e-02,  1.2128e-02,\n",
-      "         4.1678e-04,  1.2811e-03,  5.0368e-03,  9.3278e-03, -1.4437e-03,\n",
-      "         4.1266e-03,  1.7662e-02, -1.1016e-02,  1.2045e-02,  1.4821e-02,\n",
-      "         7.7413e-03,  1.6675e-02, -8.9300e-03, -3.0653e-03,  1.1605e-02,\n",
-      "        -1.3406e-02,  6.5672e-03,  1.3058e-02, -1.4200e-02, -3.0637e-03,\n",
-      "         1.7033e-02, -9.3881e-03, -1.0808e-02, -1.7957e-03, -7.1261e-03,\n",
-      "        -7.3204e-03, -8.9633e-03, -8.2413e-03, -5.5158e-03, -1.4663e-02,\n",
-      "         1.4772e-02, -3.0448e-04,  4.8010e-03,  1.1064e-02,  1.1962e-02,\n",
-      "         2.0472e-03,  6.9584e-03,  1.5075e-02,  9.7652e-03, -7.7444e-03,\n",
-      "        -1.0379e-02,  1.1072e-02,  1.4794e-02, -8.4761e-03,  3.5616e-03,\n",
-      "         5.4151e-03,  1.2374e-02,  2.6088e-03,  7.1733e-03,  1.5912e-02,\n",
-      "         1.6955e-02,  1.6708e-02,  1.5722e-02,  1.3790e-02,  7.6082e-03,\n",
-      "        -1.3489e-02, -1.5303e-02, -5.8350e-03,  1.5449e-03, -5.2578e-03,\n",
-      "         8.7357e-03, -3.6394e-03, -1.0066e-02,  6.7846e-03,  3.6722e-03,\n",
-      "         1.6229e-02, -1.2347e-02, -5.3337e-04, -2.2696e-03, -6.3521e-03,\n",
-      "         1.1781e-02, -6.5279e-03,  1.4175e-02, -5.8475e-03,  6.1828e-03,\n",
-      "        -9.1681e-04,  3.0490e-03,  5.3204e-04, -1.6254e-02, -1.4384e-02,\n",
-      "        -1.7404e-02,  1.6214e-02,  1.9150e-03, -1.1529e-02,  1.3483e-02,\n",
-      "         1.4156e-02, -2.2867e-03, -6.3781e-03,  4.9263e-03, -3.1053e-04,\n",
-      "        -1.6139e-02,  1.5538e-02, -1.0906e-02, -5.3594e-04, -1.3852e-02,\n",
-      "         1.4711e-02,  2.2670e-03,  4.6235e-03,  2.2870e-03,  7.4649e-03,\n",
-      "        -1.2044e-02,  5.5126e-03,  3.5019e-03,  1.1637e-02,  1.1617e-02,\n",
-      "         7.1574e-03, -1.1512e-02, -1.4618e-02, -8.2484e-03, -1.4063e-02,\n",
-      "         1.7327e-02, -1.1184e-02, -7.4437e-03,  1.0071e-02,  8.9861e-03,\n",
-      "         1.1324e-02, -1.5934e-03,  2.1947e-03, -9.0690e-03, -1.3777e-02,\n",
-      "         1.7074e-02, -1.9567e-03, -9.5734e-03,  9.2282e-03, -1.4792e-02,\n",
-      "        -6.4323e-03,  1.5154e-02,  7.2124e-04,  1.0871e-02, -4.0281e-04,\n",
-      "         1.4245e-02,  9.4177e-03,  1.7151e-02,  1.5486e-02, -1.4988e-02,\n",
-      "         3.8895e-03,  1.7496e-02,  7.9678e-03,  6.3199e-03, -5.1412e-03,\n",
-      "        -1.4427e-02, -6.3759e-03, -7.7217e-03, -3.6173e-03,  9.7687e-03,\n",
-      "         6.5320e-03, -1.5863e-02, -1.7733e-02,  1.7184e-03,  6.4424e-03,\n",
-      "        -8.6543e-03, -1.2671e-02, -1.2172e-02,  1.1991e-02,  9.9203e-03,\n",
-      "         3.5955e-03, -1.7822e-02,  1.6026e-02, -3.1429e-03, -1.7016e-02,\n",
-      "         1.4367e-02, -9.1945e-03, -4.3555e-03,  8.2159e-04, -1.3901e-02,\n",
-      "        -2.2414e-03,  1.4850e-02,  7.1511e-03,  1.5343e-02, -1.6178e-02,\n",
-      "        -4.6269e-04,  6.5761e-03,  1.3020e-02,  1.4293e-02,  2.2813e-03,\n",
-      "        -1.8343e-04, -1.1863e-04,  3.0676e-03,  6.7629e-03, -6.4086e-03,\n",
-      "        -9.7947e-04,  1.3532e-02,  1.1120e-02, -2.1384e-03, -1.5998e-02,\n",
-      "        -9.3370e-03, -1.2929e-02,  1.7011e-02, -7.5513e-03,  5.1005e-03,\n",
-      "         1.2512e-02, -1.7234e-02, -6.6031e-03,  1.3586e-02,  1.7239e-02,\n",
-      "        -7.2807e-03, -1.1572e-02,  1.1847e-02, -7.7931e-03,  1.5670e-02,\n",
-      "         1.0587e-02,  1.4296e-02, -1.4467e-02,  1.6331e-02, -9.5893e-03,\n",
-      "         8.7760e-03,  7.2743e-03, -1.6325e-02, -4.1914e-03, -1.2139e-02,\n",
-      "        -1.7660e-02, -1.2324e-02, -5.3574e-03,  9.9540e-03, -1.7179e-02,\n",
-      "        -4.4341e-03, -7.3961e-03, -5.9505e-04, -6.9846e-03, -1.4863e-02,\n",
-      "         3.9704e-03, -4.7873e-03,  1.7023e-02, -9.8130e-03,  1.5630e-02,\n",
-      "        -4.6168e-03,  2.2979e-03,  7.6713e-03, -3.7443e-03,  6.2625e-03,\n",
-      "        -1.6561e-02, -1.0608e-02, -1.3025e-02, -1.6942e-02,  1.1578e-02,\n",
-      "        -2.6205e-03,  7.7174e-03, -1.2539e-02, -2.3341e-03, -1.2879e-02,\n",
-      "         1.5701e-03, -1.7168e-02,  1.6907e-02,  9.3912e-03, -6.4490e-03,\n",
-      "         1.3089e-02, -1.4512e-02,  4.5919e-03,  3.6777e-03, -2.7840e-03,\n",
-      "        -8.8337e-03,  1.0651e-02, -1.1922e-02, -1.6116e-02, -1.5656e-02,\n",
-      "        -3.0819e-03, -5.2202e-03,  8.2204e-03,  1.6060e-02,  1.5273e-02,\n",
-      "        -4.3923e-03,  1.3097e-02,  1.4972e-02, -9.9531e-03, -9.2048e-03,\n",
-      "        -1.6382e-02,  7.7698e-03,  1.3846e-02,  3.7389e-03,  1.1245e-02,\n",
-      "        -5.0212e-04, -6.9064e-03,  1.6954e-02,  7.3107e-03,  1.5068e-02,\n",
-      "         3.0488e-03,  1.1133e-02,  5.2214e-04, -5.8749e-03, -1.2952e-02,\n",
-      "        -5.6751e-03, -7.3391e-03,  4.9272e-03, -8.1905e-03, -1.7420e-02,\n",
-      "        -9.3297e-03,  7.1031e-03,  2.3575e-03, -9.6408e-03,  1.6551e-02,\n",
-      "        -4.2959e-03,  1.6254e-02,  1.4611e-02, -1.5338e-02,  2.7388e-03,\n",
-      "        -5.6932e-03, -4.8516e-03, -1.5052e-02, -1.0833e-02,  3.0114e-03,\n",
-      "         1.7360e-02,  1.6522e-02,  8.9507e-03, -1.7579e-02, -1.5005e-02,\n",
-      "        -6.6246e-03, -4.3380e-03,  4.9442e-03, -6.8804e-03,  7.1063e-03,\n",
-      "        -4.3328e-03, -5.7675e-03, -7.0120e-03, -1.2138e-02, -1.4318e-02,\n",
-      "        -1.2090e-02,  1.6474e-02,  1.5264e-02, -1.3311e-02,  1.5019e-02,\n",
-      "        -1.0184e-02,  1.3452e-02, -4.7364e-03, -1.2686e-02, -1.0105e-03,\n",
-      "        -7.7642e-03,  1.0269e-02,  1.4772e-02,  2.0888e-03,  1.0636e-02,\n",
-      "         7.9315e-03,  6.5338e-03, -6.3965e-03,  9.0090e-03, -3.8823e-03,\n",
-      "         1.7116e-02, -1.3396e-02, -1.6212e-02,  5.8403e-03, -1.7172e-02,\n",
-      "         1.3479e-02, -4.3699e-03, -7.0589e-03,  1.1175e-02,  1.7116e-02,\n",
-      "         1.2828e-02,  7.4169e-03,  8.4769e-03, -1.2264e-02,  1.6118e-02,\n",
-      "         7.7984e-03, -2.0431e-03,  2.3805e-03, -1.7833e-02, -9.6818e-03,\n",
-      "        -7.6913e-03, -1.3305e-02])), ('fc2.weight', tensor([[-0.0175,  0.0319,  0.0240,  ..., -0.0283, -0.0260,  0.0342],\n",
-      "        [ 0.0135, -0.0069, -0.0351,  ...,  0.0021, -0.0435, -0.0082],\n",
-      "        [-0.0023,  0.0039,  0.0404,  ...,  0.0216,  0.0299, -0.0086],\n",
+      "        [-0.0068, -0.0142, -0.0123,  ..., -0.0109, -0.0112, -0.0102],\n",
+      "        [-0.0028,  0.0046,  0.0162,  ..., -0.0176,  0.0086,  0.0032],\n",
+      "        [ 0.0050, -0.0094, -0.0085,  ..., -0.0165, -0.0068,  0.0035]]), 'fc1.bias': tensor([-3.4672e-03, -1.4446e-02, -1.2293e-02,  7.7690e-03, -7.4937e-03,\n",
+      "        -1.2601e-02,  7.4108e-03, -8.5502e-03,  1.6310e-02,  7.2417e-03,\n",
+      "        -1.0148e-02,  1.6993e-02, -9.7666e-04, -4.3463e-03, -1.1272e-02,\n",
+      "        -4.1479e-03,  1.7398e-02,  1.3415e-02, -1.7631e-02,  8.8416e-03,\n",
+      "        -3.1741e-03, -1.4023e-02, -1.5655e-02,  1.0000e-02, -9.5185e-03,\n",
+      "        -3.8707e-03,  2.1299e-03,  1.2721e-03, -1.0397e-02, -8.5392e-03,\n",
+      "        -1.2514e-02, -2.3353e-03,  7.8897e-03, -7.6218e-03,  1.2260e-02,\n",
+      "        -1.6806e-02, -7.9503e-03,  8.0836e-03,  1.1840e-02,  2.2876e-03,\n",
+      "        -2.4980e-03,  3.8789e-03, -1.4930e-02,  1.4448e-02,  1.6045e-02,\n",
+      "        -6.4406e-03,  6.9938e-03, -1.5074e-02, -3.4915e-04,  6.6718e-03,\n",
+      "        -3.5812e-03, -1.6976e-02,  1.2715e-03, -6.0759e-03, -9.5487e-03,\n",
+      "         1.6535e-02,  1.2655e-02, -1.3646e-02, -1.2447e-02, -6.4641e-03,\n",
+      "         5.3294e-03,  5.6371e-03, -4.3157e-03, -3.4694e-03, -1.6611e-02,\n",
+      "        -8.5411e-04, -8.5772e-03, -8.4273e-03, -1.5747e-02, -1.3618e-02,\n",
+      "         1.0321e-02, -9.3956e-03,  1.0570e-02,  1.7520e-02,  6.9964e-03,\n",
+      "        -4.6320e-03,  7.5614e-03, -6.2394e-03, -8.5712e-03,  1.5812e-02,\n",
+      "        -1.5301e-02,  9.6769e-03, -1.3045e-02, -1.3433e-02, -9.7229e-04,\n",
+      "         1.7275e-02, -7.5429e-03,  4.2608e-04, -1.4852e-03, -3.8250e-03,\n",
+      "         1.3177e-02, -4.2672e-03,  2.9165e-03,  3.5423e-04, -1.6563e-02,\n",
+      "        -1.7646e-02, -4.8865e-03,  1.1881e-02, -5.0371e-03,  9.3326e-03,\n",
+      "         4.5758e-03, -4.5849e-03,  3.7344e-03, -1.8454e-03, -1.6846e-02,\n",
+      "         8.2546e-03, -7.1566e-03,  1.4772e-03, -1.6290e-02, -1.0622e-02,\n",
+      "         1.0886e-02, -5.8009e-03,  1.7793e-02, -8.6404e-03, -2.6911e-03,\n",
+      "         1.3075e-02, -7.9632e-03, -7.3142e-03, -9.1669e-03,  7.8864e-04,\n",
+      "        -1.3171e-02,  1.4579e-02,  1.1616e-02,  3.9550e-03,  1.1550e-02,\n",
+      "        -1.5605e-02, -8.4229e-03,  1.3751e-02,  3.6031e-03,  1.5572e-02,\n",
+      "        -1.7369e-03, -8.5769e-03,  5.8602e-03, -6.0227e-03,  1.6866e-02,\n",
+      "        -1.5111e-02,  1.4616e-02, -6.7068e-03, -1.1656e-02,  4.7307e-03,\n",
+      "         1.5767e-02,  1.1070e-02, -8.8410e-03,  1.7600e-02, -2.0084e-03,\n",
+      "         6.8243e-03,  1.2983e-02,  5.2070e-04,  1.0046e-02,  1.3286e-02,\n",
+      "         8.9343e-03,  4.8149e-03, -2.5697e-03,  4.4682e-03,  1.6287e-02,\n",
+      "         6.3040e-03, -8.4443e-03, -5.3058e-04, -4.3037e-03,  1.5347e-02,\n",
+      "         2.1996e-04, -1.0720e-02, -5.8503e-03,  1.3797e-02, -1.4177e-02,\n",
+      "         1.1434e-02, -1.8945e-03,  1.6068e-02,  1.7447e-03, -1.3956e-02,\n",
+      "         6.2457e-03, -1.0211e-02,  1.5087e-02,  9.6760e-03,  1.3598e-02,\n",
+      "         1.7340e-02, -1.2309e-02, -6.7817e-03,  1.2550e-02,  1.3340e-02,\n",
+      "         1.6681e-02,  9.6821e-03, -1.1964e-02,  1.2771e-02, -6.4358e-03,\n",
+      "         1.2654e-02, -1.7382e-02, -3.5477e-03, -1.7585e-02,  4.1828e-03,\n",
+      "         9.5395e-03, -1.2341e-02, -8.0899e-03,  1.7100e-02, -2.0383e-03,\n",
+      "         7.7255e-03,  1.4668e-02, -1.1553e-02, -1.3684e-03, -1.0668e-02,\n",
+      "         4.9831e-03, -4.1533e-03,  1.0619e-02,  4.4827e-03, -1.1317e-02,\n",
+      "         5.3828e-03,  7.2284e-03,  1.2856e-02, -6.4634e-03, -1.1901e-02,\n",
+      "         1.3786e-02,  9.3409e-03, -7.5928e-03,  5.4179e-04,  2.0796e-04,\n",
+      "         1.4698e-02,  1.3254e-02, -1.1621e-02, -2.6928e-03, -9.9327e-03,\n",
+      "         1.7629e-02,  7.1257e-03, -1.2520e-02, -4.3111e-03,  7.7188e-03,\n",
+      "        -8.9904e-03, -5.9841e-03, -1.7572e-03,  8.8026e-03, -1.9239e-03,\n",
+      "         1.4128e-02,  9.7155e-03,  1.4960e-02, -3.0571e-03, -1.4444e-02,\n",
+      "         1.2553e-02,  1.1271e-02, -8.8978e-03, -1.3108e-02,  1.2628e-02,\n",
+      "         5.6482e-03, -4.5838e-03,  9.3955e-03, -1.2634e-02,  2.5492e-03,\n",
+      "        -1.0865e-02, -1.1644e-02, -1.2602e-02, -1.5807e-03, -8.9658e-03,\n",
+      "         5.1082e-03, -3.3411e-04,  8.6929e-04,  8.9536e-03,  1.0715e-02,\n",
+      "        -2.4002e-03, -1.6245e-02,  3.0127e-03,  1.2196e-02, -1.6267e-02,\n",
+      "         1.6278e-02, -4.9497e-03,  1.5032e-02,  4.7426e-04, -6.2285e-04,\n",
+      "        -2.2680e-03, -8.8868e-04, -1.2714e-03,  1.1415e-03, -4.5226e-03,\n",
+      "        -1.5853e-02, -7.4868e-03, -1.0161e-02,  1.7643e-02, -1.5002e-02,\n",
+      "         1.7216e-02, -5.0324e-03, -1.0926e-02,  9.9244e-03,  1.3024e-02,\n",
+      "         1.0218e-02, -4.3209e-03, -4.2856e-03,  1.2696e-02,  2.9352e-03,\n",
+      "         2.7632e-03,  9.8186e-03,  4.4106e-03, -1.7612e-02,  4.3815e-03,\n",
+      "         8.0082e-03,  2.2632e-03, -8.4109e-03, -1.3274e-02,  1.1617e-02,\n",
+      "        -1.7727e-02,  5.5763e-03, -1.0286e-02,  1.1968e-02, -1.5516e-02,\n",
+      "         6.6903e-03,  6.7595e-03, -2.5033e-03, -1.1838e-02,  2.0463e-03,\n",
+      "         1.1892e-02, -2.2310e-03,  1.5878e-02, -1.6940e-02,  6.4767e-03,\n",
+      "         1.7238e-02,  1.5441e-02,  1.2099e-02,  1.1450e-02,  1.6676e-02,\n",
+      "        -3.4195e-03, -1.2476e-03, -1.3253e-03,  1.3067e-02, -1.3566e-03,\n",
+      "         6.8635e-03, -5.5605e-03,  6.0657e-03, -1.2112e-02,  9.5660e-03,\n",
+      "        -1.3109e-03,  5.1050e-03,  1.4025e-02, -1.4562e-02,  3.0868e-03,\n",
+      "         9.3931e-03,  1.7545e-02, -1.5243e-02, -1.2314e-02, -4.1206e-04,\n",
+      "         1.7688e-02, -1.7570e-02,  1.7019e-02, -1.7788e-02,  1.6966e-02,\n",
+      "         4.0122e-03,  3.0628e-03, -4.0461e-03,  1.4157e-02,  3.9072e-03,\n",
+      "         6.3313e-03, -1.3319e-02, -1.1896e-02,  3.6852e-03,  1.1832e-02,\n",
+      "        -8.7784e-03,  1.1129e-02,  1.3978e-02,  1.0630e-02,  3.6990e-03,\n",
+      "         4.4645e-03, -1.6836e-02, -1.3500e-02,  1.6876e-02,  1.4516e-02,\n",
+      "         7.4516e-03, -1.6084e-02,  1.5842e-02,  1.2070e-02,  1.5367e-02,\n",
+      "         3.1857e-03, -1.7789e-03, -1.4422e-02, -1.4149e-02,  8.2015e-03,\n",
+      "         8.7930e-03, -7.6206e-03,  4.6303e-03, -9.0639e-04, -7.6241e-03,\n",
+      "         6.0896e-03,  7.6024e-03, -1.5949e-02, -1.1160e-03, -3.8057e-03,\n",
+      "         1.1965e-03, -9.5787e-03,  1.1893e-02,  4.2951e-03,  4.4890e-03,\n",
+      "        -1.1108e-02, -5.2652e-03, -6.9700e-04,  1.3596e-02,  5.8716e-03,\n",
+      "        -7.8927e-03, -9.4266e-03,  3.3122e-03,  1.5078e-02,  4.2493e-03,\n",
+      "        -1.2647e-02,  1.6407e-02, -4.4845e-03, -8.5834e-03, -9.3776e-03,\n",
+      "         7.0308e-03,  1.5408e-02, -1.5356e-02, -6.5015e-03,  3.8347e-03,\n",
+      "         4.1556e-03, -1.1227e-02, -1.4538e-03,  4.5388e-03, -1.5766e-02,\n",
+      "        -5.1742e-03,  5.2968e-03, -7.3040e-03,  2.2809e-03,  2.1299e-03,\n",
+      "        -1.6927e-02, -1.1344e-02, -1.1302e-02, -1.5232e-02,  1.3569e-02,\n",
+      "        -3.4408e-03, -1.4370e-02,  1.5899e-02,  5.6999e-03,  2.5900e-03,\n",
+      "        -9.2822e-03, -4.7884e-03,  1.2711e-02,  1.4953e-02, -9.6008e-03,\n",
+      "        -7.8154e-03,  2.3049e-03, -7.2286e-03,  3.4406e-03, -1.4979e-02,\n",
+      "         1.3255e-02, -1.5416e-02,  4.7037e-03, -6.2464e-05,  6.1763e-03,\n",
+      "        -1.7083e-02, -4.1979e-03,  4.8330e-03,  1.6848e-02, -5.8141e-03,\n",
+      "         1.0530e-02,  1.2660e-02,  7.7921e-03,  1.2516e-02, -8.2558e-03,\n",
+      "         9.6033e-03,  7.4281e-04,  1.6809e-02, -1.2299e-02,  1.1192e-02,\n",
+      "        -1.2419e-02,  1.7704e-02, -2.2003e-03, -5.5301e-03, -1.1976e-02,\n",
+      "        -7.5681e-03,  1.7068e-02,  1.3416e-02,  1.0705e-02, -1.8727e-03,\n",
+      "         1.1100e-02,  1.7324e-02,  4.0332e-03,  5.9611e-04,  1.3360e-02,\n",
+      "         1.2185e-02,  7.5230e-03,  1.5142e-02,  1.4654e-02,  1.2797e-02,\n",
+      "         1.6562e-02,  5.9504e-03,  6.2322e-03,  1.6638e-02,  3.0088e-04,\n",
+      "        -1.5574e-02,  1.0657e-02, -5.7672e-03,  1.6510e-02, -1.1042e-02,\n",
+      "        -1.4875e-02,  1.5410e-02, -1.6385e-02, -1.1161e-03,  7.7549e-03,\n",
+      "         1.1378e-02,  1.0371e-02, -2.7560e-03,  1.3848e-02, -1.2284e-02,\n",
+      "        -2.9374e-03,  1.0240e-02, -1.2988e-02, -8.2888e-03, -1.4185e-02,\n",
+      "        -1.2491e-02, -7.7231e-03,  1.1543e-02,  1.4141e-02,  6.7815e-03,\n",
+      "         1.4062e-02,  5.3020e-04,  5.9166e-03,  7.7286e-03,  8.2705e-03,\n",
+      "         1.2781e-03, -1.4400e-02]), 'fc2.weight': tensor([[ 0.0173, -0.0204, -0.0246,  ..., -0.0214,  0.0191,  0.0375],\n",
+      "        [ 0.0109, -0.0418, -0.0442,  ..., -0.0027,  0.0389,  0.0407],\n",
+      "        [ 0.0440,  0.0031, -0.0332,  ...,  0.0294, -0.0359, -0.0237],\n",
       "        ...,\n",
-      "        [ 0.0134, -0.0336, -0.0370,  ..., -0.0342,  0.0213,  0.0314],\n",
-      "        [ 0.0109,  0.0286, -0.0269,  ..., -0.0081,  0.0009, -0.0038],\n",
-      "        [-0.0080,  0.0278,  0.0083,  ...,  0.0007,  0.0084, -0.0251]])), ('fc2.bias', tensor([ 2.2357e-02,  1.9226e-02,  1.1123e-02, -2.4498e-03, -1.6226e-02,\n",
-      "         3.9878e-02, -3.7970e-02,  2.9134e-02,  1.5137e-02,  3.2274e-02,\n",
-      "        -3.5957e-02, -2.9998e-02,  7.1591e-03, -2.9987e-02, -2.4313e-02,\n",
-      "         4.2241e-02,  9.3610e-03,  1.5294e-02, -1.6146e-02,  3.7757e-02,\n",
-      "         2.1120e-02, -3.7359e-03, -2.3047e-02,  6.2452e-04, -2.0957e-02,\n",
-      "         3.2647e-02,  3.9253e-02,  2.0014e-02, -3.0535e-02, -1.6816e-02,\n",
-      "        -3.9067e-02, -1.2906e-02, -2.3393e-02,  4.3545e-02, -3.0294e-02,\n",
-      "        -1.3963e-02,  4.1285e-02,  3.9417e-02,  3.4044e-02,  2.5627e-02,\n",
-      "        -3.4948e-04, -1.9061e-05,  3.3105e-02, -3.3628e-02,  2.1815e-02,\n",
-      "         2.9446e-02,  2.1422e-02, -1.4810e-03,  2.7396e-02, -1.2598e-02,\n",
-      "         2.5633e-03, -3.4380e-02, -2.7923e-02, -2.9328e-03,  5.5454e-03,\n",
-      "         1.7421e-02, -2.5213e-02,  6.5188e-03,  1.3223e-02, -2.5570e-02,\n",
-      "        -2.6113e-02, -8.3992e-03]))])\n",
-      "o1_state_dict:  {'state': {}, 'param_groups': [{'lr': 0.6, 'momentum': 0, 'dampening': 0, 'weight_decay': 0, 'nesterov': False, 'params': [0, 1, 2, 3, 4, 5, 6, 7]}]}\n"
+      "        [-0.0346, -0.0161,  0.0228,  ..., -0.0070, -0.0313, -0.0109],\n",
+      "        [ 0.0340, -0.0133, -0.0414,  ...,  0.0021, -0.0173,  0.0435],\n",
+      "        [ 0.0281, -0.0380,  0.0440,  ..., -0.0395, -0.0356, -0.0384]]), 'fc2.bias': tensor([ 0.0387, -0.0387,  0.0442,  0.0035, -0.0139,  0.0319,  0.0112, -0.0021,\n",
+      "         0.0198, -0.0422, -0.0340, -0.0312, -0.0236,  0.0207, -0.0330, -0.0092,\n",
+      "         0.0038,  0.0132,  0.0357,  0.0131, -0.0439,  0.0403,  0.0326, -0.0034,\n",
+      "         0.0372, -0.0296, -0.0147, -0.0009,  0.0266, -0.0027, -0.0150,  0.0015,\n",
+      "         0.0336, -0.0176, -0.0119,  0.0077, -0.0043,  0.0044,  0.0299,  0.0308,\n",
+      "        -0.0223, -0.0223,  0.0140,  0.0130, -0.0155,  0.0175, -0.0068,  0.0380,\n",
+      "         0.0010, -0.0395,  0.0146, -0.0289,  0.0194, -0.0129,  0.0116,  0.0291,\n",
+      "        -0.0225, -0.0211,  0.0376,  0.0088, -0.0227, -0.0254])}\n"
      ]
     }
    ],
@@ -1160,8 +1154,19 @@
     "from decentralizepy.datasets.Femnist import CNN\n",
     "m1 = CNN()\n",
     "o1 = torch.optim.SGD(m1.parameters(), 0.6)\n",
-    "print(\"m1_state_dict: \", m1.state_dict())\n",
-    "print(\"o1_state_dict: \", o1.state_dict())"
+    "print(\"m1_parameters: \", {k:v.data for k, v in zip(m1.state_dict(), m1.parameters())})\n",
+    "#print(\"m1_state_dict: \", m1.state_dict())\n",
+    "#print(\"o1_state_dict: \", o1.state_dict())\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 16,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "a = [(3, 2), (2, 5), (2, 6)]\n",
+    "a.sort(reverse = True)\n"
    ]
   },
   {
diff --git a/eval/testing.py b/eval/testing.py
index dd52c2bcac1864ce1df9a6354b36153a5ed70fde..459c1de1ce2a78be8a74459a02e34f98954de9ae 100644
--- a/eval/testing.py
+++ b/eval/testing.py
@@ -39,7 +39,13 @@ if __name__ == "__main__":
     args = parser.parse_args()
 
     Path(args.log_dir).mkdir(parents=True, exist_ok=True)
-    log_level = {"INFO": logging.INFO, "DEBUG": logging.DEBUG, "WARNING": logging.WARNING, "ERROR": logging.ERROR, "CRITICAL": logging.CRITICAL}
+    log_level = {
+        "INFO": logging.INFO,
+        "DEBUG": logging.DEBUG,
+        "WARNING": logging.WARNING,
+        "ERROR": logging.ERROR,
+        "CRITICAL": logging.CRITICAL,
+    }
 
     config = read_ini(args.config_file)
     my_config = dict()
@@ -56,5 +62,13 @@ if __name__ == "__main__":
     mp.spawn(
         fn=Node,
         nprocs=procs_per_machine,
-        args=[m_id, l, g, my_config, args.iterations, args.log_dir, log_level[args.log_level]],
+        args=[
+            m_id,
+            l,
+            g,
+            my_config,
+            args.iterations,
+            args.log_dir,
+            log_level[args.log_level],
+        ],
     )
diff --git a/src/decentralizepy/datasets/Femnist.py b/src/decentralizepy/datasets/Femnist.py
index 13cbff27c335ee060233007f93c0de4981ebf673..ec53d32de579426dd6b9cd4f2c9f6cb4ec469150 100644
--- a/src/decentralizepy/datasets/Femnist.py
+++ b/src/decentralizepy/datasets/Femnist.py
@@ -7,14 +7,13 @@ import matplotlib.pyplot as plt
 import numpy as np
 import torch
 import torch.nn.functional as F
-import torchvision
 from torch import nn
-from torch._C import ParameterDict
 from torch.utils.data import DataLoader
 
 from decentralizepy.datasets.Data import Data
 from decentralizepy.datasets.Dataset import Dataset
 from decentralizepy.datasets.Partitioner import DataPartitioner
+from decentralizepy.models.Model import Model
 
 NUM_CLASSES = 62
 IMAGE_SIZE = (28, 28)
@@ -290,7 +289,7 @@ class Femnist(Dataset):
         logging.info("Evaluating complete.")
 
 
-class LogisticRegression(nn.Module):
+class LogisticRegression(Model):
     """
     Class for a Logistic Regression Neural Network for FEMNIST
     """
@@ -320,7 +319,7 @@ class LogisticRegression(nn.Module):
         return x
 
 
-class CNN(nn.Module):
+class CNN(Model):
     def __init__(self):
         super().__init__()
         self.conv1 = nn.Conv2d(1, 32, 5, padding=2)
diff --git a/src/decentralizepy/graphs/FullyConnected.py b/src/decentralizepy/graphs/FullyConnected.py
new file mode 100644
index 0000000000000000000000000000000000000000..d235f7e5917e60b1a4290736af771793c27e070a
--- /dev/null
+++ b/src/decentralizepy/graphs/FullyConnected.py
@@ -0,0 +1,20 @@
+from decentralizepy.graphs.Graph import Graph
+
+
+class FullyConnected(Graph):
+    """
+    The class for generating a Fully Connected Graph Topology
+    """
+
+    def __init__(self, n_procs):
+        """
+        Constructor. Generates a Fully Connected graph
+        Parameters
+        ----------
+        n_procs : int
+            total number of nodes in the graph
+        """
+        super().__init__(n_procs)
+        for node in range(n_procs):
+            neighbors = set([x for x in range(n_procs) if x != node])
+            self.adj_list[node] = neighbors
diff --git a/src/decentralizepy/graphs/Ring.py b/src/decentralizepy/graphs/Ring.py
new file mode 100644
index 0000000000000000000000000000000000000000..c502cf330a4df4dea84715763d32647b5fe51d2b
--- /dev/null
+++ b/src/decentralizepy/graphs/Ring.py
@@ -0,0 +1,18 @@
+from decentralizepy.graphs.Graph import Graph
+
+
+class Ring(Graph):
+    """
+    The class for generating a Ring topology
+    """
+
+    def __init__(self, n_procs):
+        """
+        Constructor. Generates a Ring graph
+        Parameters
+        ----------
+        n_procs : int
+            total number of nodes in the graph
+        """
+        super().__init__(n_procs)
+        self.connect_graph()
diff --git a/src/decentralizepy/models/Model.py b/src/decentralizepy/models/Model.py
new file mode 100644
index 0000000000000000000000000000000000000000..befc93289d8a4ac105e878ff5a567d90aaba03f7
--- /dev/null
+++ b/src/decentralizepy/models/Model.py
@@ -0,0 +1,7 @@
+from torch import nn
+
+
+class Model(nn.Module):
+    def __init__(self):
+        super().__init__()
+        self.accumulated_gradients = []
diff --git a/src/decentralizepy/models/__init__.py b/src/decentralizepy/models/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/decentralizepy/sharing/PartialModel.py b/src/decentralizepy/sharing/PartialModel.py
index 7702d2ebad2a8e6cd7565c43e284c1fa043492b9..46ba8cf721eb7b45b40b93a9744641c444e00f24 100644
--- a/src/decentralizepy/sharing/PartialModel.py
+++ b/src/decentralizepy/sharing/PartialModel.py
@@ -1,6 +1,58 @@
+import json
+import math
+
+import numpy
+import torch
+
 from decentralizepy.sharing.Sharing import Sharing
 
+
 class PartialModel(Sharing):
-    def __init__(self, rank, machine_id, communication, mapping, graph, model, dataset):
-        super().__init__(rank, machine_id, communication, mapping, graph, model, dataset)
-        
+    def __init__(
+        self, rank, machine_id, communication, mapping, graph, model, dataset, alpha=1.0
+    ):
+        super().__init__(
+            rank, machine_id, communication, mapping, graph, model, dataset
+        )
+        self.alpha = alpha
+
+    def extract_sorted_gradients(self):
+        assert len(self.model.accumulated_gradients) > 0
+        gradient_sum = self.model.accumulated_gradients[0]
+        for i in range(1, len(self.model.accumulated_gradients)):
+            for key in self.model.accumulated_gradients[i]:
+                gradient_sum[key] += self.model.accumulated_gradients[i][key]
+        gradient_sequence = []
+
+        for key, gradient in gradient_sum.items():
+            for index, val in enumerate(torch.flatten(gradient)):
+                gradient_sequence.append((val, key, index))
+
+        gradient_sequence.sort()
+        return gradient_sequence
+
+    def serialized_model(self):
+        gradient_sequence = self.extract_sorted_gradients()
+        gradient_sequence = gradient_sequence[
+            : math.round(len(gradient_sequence) * self.alpha)
+        ]
+
+        m = dict()
+        for _, key, index in gradient_sequence:
+            if key not in m:
+                m[key] = []
+            m[key].append(index, torch.flatten(self.model.state_dict()[key])[index])
+
+        for key in m:
+            m[key] = json.dumps(m[key])
+
+        return m
+
+    def deserialized_model(self, m):
+        state_dict = self.model.state_dict()
+
+        for key, value in m.items():
+            for index, param_val in json.loads(value):
+                torch.flatten(state_dict[key])[index] = param_val
+            state_dict[key] = torch.from_numpy(numpy.array(json.loads(value)))
+        return state_dict
diff --git a/src/decentralizepy/training/GradientAccumulator.py b/src/decentralizepy/training/GradientAccumulator.py
new file mode 100644
index 0000000000000000000000000000000000000000..727f6519092da3c46f2d0a9445618c6b3b35e703
--- /dev/null
+++ b/src/decentralizepy/training/GradientAccumulator.py
@@ -0,0 +1,40 @@
+import logging
+
+from decentralizepy.training.Training import Training
+
+
+class GradientAccumulator(Training):
+    def __init__(
+        self, model, optimizer, loss, epochs_per_round="", batch_size="", shuffle=""
+    ):
+        super().__init__()
+
+    def train(self, dataset):
+        """
+        One training iteration with accumulation of gradients in model.accumulated_gradients
+        Parameters
+        ----------
+        dataset : decentralizepy.datasets.Dataset
+            The training dataset. Should implement get_trainset(batch_size, shuffle)
+        """
+        trainset = dataset.get_trainset(self.batch_size, self.shuffle)
+        self.model.accumulated_gradients = []
+
+        for epoch in range(self.epochs_per_round):
+            epoch_loss = 0.0
+            count = 0
+            for data, target in trainset:
+                self.model.zero_grad()
+                output = self.model(data)
+                loss_val = self.loss(output, target)
+                epoch_loss += loss_val.item()
+                loss_val.backward()
+                self.model.accumulated_gradients.append(
+                    grad_dict={
+                        k: v.grad.clone().detach()
+                        for k, v in zip(self.model.state_dict(), self.parameters())
+                    }
+                )
+                self.optimizer.step()
+                count += 1
+            logging.info("Epoch: {} loss: {}".format(epoch, epoch_loss / count))
diff --git a/src/decentralizepy/training/Training.py b/src/decentralizepy/training/Training.py
index 4f4095cc08712a0d0f968ff893bc83a4ed6553be..82f1151c462e6aa1eb0f587095f8410475824ca8 100644
--- a/src/decentralizepy/training/Training.py
+++ b/src/decentralizepy/training/Training.py
@@ -2,8 +2,6 @@ import logging
 
 import matplotlib.pyplot as plt
 import numpy as np
-import torch
-import torchvision
 
 from decentralizepy import utils
 
@@ -38,11 +36,6 @@ class Training:
         self.batch_size = utils.conditional_value(batch_size, "", int(1))
         self.shuffle = utils.conditional_value(shuffle, "", False)
 
-    def imshow(self, img):
-        npimg = img.numpy()
-        plt.imshow(np.transpose(npimg, (1, 2, 0)))
-        plt.show()
-
     def reset_optimizer(self, optimizer):
         self.optimizer = optimizer
 
@@ -56,12 +49,6 @@ class Training:
         """
         trainset = dataset.get_trainset(self.batch_size, self.shuffle)
 
-        # dataiter = iter(trainset)
-        # images, labels = dataiter.next()
-        # self.imshow(torchvision.utils.make_grid(images[:16]))
-        # plt.savefig(' '.join('%5s' % j for j in labels) + ".png")
-        # print(' '.join('%5s' % j for j in labels[:16]))
-
         for epoch in range(self.epochs_per_round):
             epoch_loss = 0.0
             count = 0