{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from datasets.Femnist import Femnist\n",
    "from graphs import SmallWorld\n",
    "from collections import defaultdict\n",
    "import os\n",
    "import json\n",
    "import numpy as np\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "a = FEMNIST\n",
    "a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "b = SmallWorld(6, 2, 2, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "b.adj_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "for i in range(12):\n",
    "    print(b.neighbors(i))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "clients = []"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "num_samples = []\n",
    "data = defaultdict(lambda : None)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "datadir = \"./leaf/data/femnist/data/train\"\n",
    "files = os.listdir(datadir)\n",
    "total_users=0\n",
    "users = set()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "files = os.listdir(datadir)[0:1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "for f in files:\n",
    "    file_path = os.path.join(datadir, f)\n",
    "    print(file_path)\n",
    "    with open(file_path, 'r') as inf:\n",
    "        client_data = json.load(inf)\n",
    "    current_users = len(client_data['users'])\n",
    "    print(\"Current_Users: \", current_users)\n",
    "    total_users += current_users\n",
    "    users.update(client_data['users'])\n",
    "\n",
    "print(\"total_users: \", total_users)\n",
    "print(\"total_users: \", len(users))\n",
    "print(client_data['user_data'].keys())\n",
    "print(np.array(client_data['user_data']['f3408_47']['x']).shape)\n",
    "print(np.array(client_data['user_data']['f3408_47']['y']).shape)\n",
    "print(np.array(client_data['user_data']['f3327_11']['x']).shape)\n",
    "print(np.array(client_data['user_data']['f3327_11']['y']).shape)\n",
    "print(np.unique(np.array(client_data['user_data']['f3327_11']['y'])))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "file = 'run.py'\n",
    "with open(file, 'r') as inf:\n",
    "            print(inf.readline().strip())\n",
    "            print(inf.readlines())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def f(l):\n",
    "    l[2] = 'c'\n",
    "\n",
    "a = ['a', 'a', 'a']\n",
    "print(a)\n",
    "f(a)\n",
    "print(a)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "l = ['a', 'b', 'c']\n",
    "print(l[:-1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from localconfig import LocalConfig\n",
    "\n",
    "def read_ini(file_path):\n",
    "    config = LocalConfig(file_path)\n",
    "    for section in config:\n",
    "        print(\"Section: \", section)\n",
    "        for key, value in config.items(section):\n",
    "            print((key, value))\n",
    "    print(dict(config.items('DATASET')))\n",
    "    return config\n",
    " \n",
    "config = read_ini(\"config.ini\")\n",
    "for section in config:\n",
    "    print(section)\n",
    "#d = dict(config.sections())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def func(a = 1, b = 2, c = 3):\n",
    "    print(a + b + c)\n",
    "\n",
    "l = [3, 5, 7]\n",
    "\n",
    "func(*l)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from torch import multiprocessing as mp\n",
    "\n",
    "mp.spawn(fn = func, nprocs = 2, args = [], kwargs = {'a': 4, 'b': 5, 'c': 6})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "l = '[0.4, 0.2, 0.3, 0.1]'\n",
    "type(eval(l))\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from decentralizepy.datasets.Femnist import Femnist\n",
    "f1 = Femnist(0, 1, 'leaf/data/femnist/data/train')\n",
    "ts = f1.get_trainset(1)\n",
    "for data, target in ts:\n",
    "    print(data)\n",
    "    break"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from decentralizepy.datasets.Femnist import Femnist\n",
    "from decentralizepy.graphs.SmallWorld import SmallWorld\n",
    "from decentralizepy.mappings.Linear import Linear\n",
    "\n",
    "f = Femnist(2, 'leaf/data/femnist/data/train', sizes=[0.6, 0.4])\n",
    "g = SmallWorld(4, 1, 0.5)\n",
    "l = Linear(2, 2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from decentralizepy.node.Node import Node\n",
    "from torch import multiprocessing as mp\n",
    "import logging\n",
    "n1 = Node(0, l, g, f, \"./results\", logging.DEBUG)\n",
    "n2 = Node(1, l, g, f, \"./results\", logging.DEBUG)\n",
    "# mp.spawn(fn = Node, nprocs = 2, args=[l,g,f])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from testing import f"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from torch import multiprocessing as mp\n",
    "import torch\n",
    "m1 = torch.nn.Linear(1,1)\n",
    "o1 = torch.optim.SGD(m1.parameters(), 0.6)\n",
    "print(m1)\n",
    "\n",
    "\n",
    "mp.spawn(fn = f, nprocs = 2, args=[m1, o1])\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "o1.param_groups"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "with torch.no_grad():\n",
    "    o1.param_groups[0][\"params\"][0].copy_(torch.zeros(1,))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "o1.param_groups"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "m1.state_dict()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch\n",
    "loss = getattr(torch.nn.functional, 'nll_loss')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "loss"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Section:  GRAPH\n",
      "('package', 'decentralizepy.graphs.SmallWorld')\n",
      "('graph_class', 'SmallWorld')\n",
      "Section:  DATASET\n",
      "('dataset_package', 'decentralizepy.datasets.Femnist')\n",
      "('dataset_class', 'Femnist')\n",
      "('model_class', 'CNN')\n",
      "('n_procs', 36)\n",
      "('train_dir', 'leaf/data/femnist/per_user_data/train')\n",
      "('test_dir', 'leaf/data/femnist/data/test')\n",
      "('sizes', '')\n",
      "Section:  OPTIMIZER_PARAMS\n",
      "('optimizer_package', 'torch.optim')\n",
      "('optimizer_class', 'Adam')\n",
      "('lr', 0.01)\n",
      "Section:  TRAIN_PARAMS\n",
      "('training_package', 'decentralizepy.training.Training')\n",
      "('training_class', 'Training')\n",
      "('epochs_per_round', 1)\n",
      "('batch_size', 1024)\n",
      "('shuffle', True)\n",
      "('loss_package', 'torch.nn')\n",
      "('loss_class', 'CrossEntropyLoss')\n",
      "Section:  COMMUNICATION\n",
      "('comm_package', 'decentralizepy.communication.TCP')\n",
      "('comm_class', 'TCP')\n",
      "('addresses_filepath', 'ip_addr.json')\n",
      "Section:  SHARING\n",
      "('sharing_package', 'decentralizepy.sharing.Sharing')\n",
      "('sharing_class', 'Sharing')\n",
      "{'dataset_package': 'decentralizepy.datasets.Femnist', 'dataset_class': 'Femnist', 'model_class': 'CNN', 'n_procs': 36, 'train_dir': 'leaf/data/femnist/per_user_data/train', 'test_dir': 'leaf/data/femnist/data/test', 'sizes': ''}\n"
     ]
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "from decentralizepy.node.Node import Node\n",
    "from decentralizepy.graphs.SmallWorld import SmallWorld\n",
    "from decentralizepy.graphs.Graph import Graph\n",
    "from decentralizepy.mappings.Linear import Linear\n",
    "from torch import multiprocessing as mp\n",
    "import torch\n",
    "import logging\n",
    "\n",
    "from localconfig import LocalConfig\n",
    "\n",
    "def read_ini(file_path):\n",
    "    config = LocalConfig(file_path)\n",
    "    for section in config:\n",
    "        print(\"Section: \", section)\n",
    "        for key, value in config.items(section):\n",
    "            print((key, value))\n",
    "    print(dict(config.items('DATASET')))\n",
    "    return config\n",
    " \n",
    "config = read_ini(\"config.ini\")\n",
    "my_config = dict()\n",
    "for section in config:\n",
    "    my_config[section] = dict(config.items(section))\n",
    "\n",
    "#f = Femnist(2, 'leaf/data/femnist/data/train', sizes=[0.6, 0.4])\n",
    "g = Graph()\n",
    "g.read_graph_from_file(\"36_nodes.edges\", \"edges\")\n",
    "l = Linear(1, 36)\n",
    "\n",
    "#Node(0, 0, l, g, my_config, 20, \"results\", logging.DEBUG)\n",
    "\n",
    "mp.spawn(fn = Node, nprocs = g.n_procs, args=[0,l,g,my_config,20,\"results\",logging.INFO])\n",
    "\n",
    "# mp.spawn(fn = Node, args = [l, g, config, 10, \"results\", logging.DEBUG], nprocs=2)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from decentralizepy.mappings.Linear import Linear\n",
    "from testing import f\n",
    "from torch import multiprocessing as mp\n",
    "\n",
    "l = Linear(1, 2)\n",
    "mp.spawn(fn = f, nprocs = 2, args = [0, 2, \"ip_addr.json\", l])\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from decentralizepy.datasets.Femnist import Femnist\n",
    "\n",
    "f = Femnist()\n",
    "\n",
    "f.file_per_user('../leaf/data/femnist/data/train','../leaf/data/femnist/per_user_data/train')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "a = set()\n",
    "a.update([2, 3, 4, 5])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{2, 3, 4, 5}"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2 3 4 5\n"
     ]
    }
   ],
   "source": [
    "print(*a)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from decentralizepy.graphs.SmallWorld import SmallWorld\n",
    "\n",
    "s = SmallWorld(96, 2, .5)\n",
    "s.write_graph_to_file('96_nodes.edges')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['/home/risharma/miniconda3/envs/decpy/lib/python3.9/site-packages/ipykernel_launcher.py',\n",
       " '--ip=127.0.0.1',\n",
       " '--stdin=9008',\n",
       " '--control=9006',\n",
       " '--hb=9005',\n",
       " '--Session.signature_scheme=\"hmac-sha256\"',\n",
       " '--Session.key=b\"eac5d2f8-c460-45f1-a268-1e4b46a6efd6\"',\n",
       " '--shell=9007',\n",
       " '--transport=\"tcp\"',\n",
       " '--iopub=9009',\n",
       " '--f=/tmp/tmp-21212479paJaUBJBN84.json']"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import sys\n",
    "sys.argv"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "\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",
      "        ...,\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",
      "        ...,\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"
     ]
    }
   ],
   "source": [
    "import torch\n",
    "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())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "996934296aa9d79be6c3d800a38d8fdb7dfa8fe7bb07df178f1397cde2cb8742"
  },
  "kernelspec": {
   "display_name": "Python 3.9.7 64-bit ('tff': conda)",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}