Created
September 24, 2019 07:51
-
-
Save davidpfahler/82dc19eb0f00e5a2485b1721669af65a to your computer and use it in GitHub Desktop.
Reproduce Part 1: Baseline of "How to train your resnet"
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"nbformat": 4, | |
"nbformat_minor": 0, | |
"metadata": { | |
"colab": { | |
"name": "reproduce_original_how_to_train_your_resnet.ipynb", | |
"provenance": [], | |
"collapsed_sections": [] | |
}, | |
"kernelspec": { | |
"name": "python3", | |
"display_name": "Python 3" | |
}, | |
"accelerator": "GPU" | |
}, | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "monMVW8GPl4m", | |
"colab_type": "code", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 170 | |
}, | |
"outputId": "d484ee41-92b8-433f-cb4e-1a1e1e040937" | |
}, | |
"source": [ | |
"!pip install pydot\n", | |
"!git clone https://github.com/davidcpage/cifar10-fast.git\n", | |
"import os\n", | |
"os.chdir('cifar10-fast')" | |
], | |
"execution_count": 1, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"text": [ | |
"Requirement already satisfied: pydot in /usr/local/lib/python3.6/dist-packages (1.3.0)\n", | |
"Requirement already satisfied: pyparsing>=2.1.4 in /usr/local/lib/python3.6/dist-packages (from pydot) (2.4.2)\n", | |
"Cloning into 'cifar10-fast'...\n", | |
"remote: Enumerating objects: 14, done.\u001b[K\n", | |
"remote: Counting objects: 100% (14/14), done.\u001b[K\n", | |
"remote: Compressing objects: 100% (12/12), done.\u001b[K\n", | |
"remote: Total 156 (delta 4), reused 5 (delta 2), pack-reused 142\u001b[K\n", | |
"Receiving objects: 100% (156/156), 2.18 MiB | 2.01 MiB/s, done.\n", | |
"Resolving deltas: 100% (82/82), done.\n" | |
], | |
"name": "stdout" | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "5-5kYowAPejh", | |
"colab_type": "code", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 17 | |
}, | |
"outputId": "85caa7f2-fb86-4035-c7a3-0e8dcc3d80e5" | |
}, | |
"source": [ | |
"from IPython.core.display import display, HTML\n", | |
"display(HTML(\"<style>.container {width:95% !important;}</style>\"))\n", | |
"\n", | |
"from core import *\n", | |
"from torch_backend import *" | |
], | |
"execution_count": 3, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/html": [ | |
"<style>.container {width:95% !important;}</style>" | |
], | |
"text/plain": [ | |
"<IPython.core.display.HTML object>" | |
] | |
}, | |
"metadata": { | |
"tags": [] | |
} | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "2RW24Wv4RCRd", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"## Network definition" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "CVacW6IPRDd8", | |
"colab_type": "code", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 71 | |
}, | |
"outputId": "07d5b5ba-9323-46e8-aa60-5e11ccea2549" | |
}, | |
"source": [ | |
"def res_block(c_in, c_out, stride, **kw):\n", | |
" block = {\n", | |
" 'bn1': batch_norm(c_in, **kw),\n", | |
" 'relu1': nn.ReLU(True),\n", | |
" 'branch': {\n", | |
" 'conv1': nn.Conv2d(c_in, c_out, kernel_size=3, stride=stride, padding=1, bias=False),\n", | |
" 'bn2': batch_norm(c_out, **kw),\n", | |
" 'relu2': nn.ReLU(True),\n", | |
" 'conv2': nn.Conv2d(c_out, c_out, kernel_size=3, stride=1, padding=1, bias=False),\n", | |
" }\n", | |
" }\n", | |
" projection = (stride != 1) or (c_in != c_out) \n", | |
" if projection:\n", | |
" block['conv3'] = (nn.Conv2d(c_in, c_out, kernel_size=1, stride=stride, padding=0, bias=False), [rel_path('relu1')])\n", | |
" block['add'] = (Add(), [(rel_path('conv3') if projection else rel_path('relu1')), rel_path('branch', 'conv2')])\n", | |
" return block\n", | |
"\n", | |
"def DAWN_net(c=64, block=res_block, prep_bn_relu=False, concat_pool=True, **kw): \n", | |
" if isinstance(c, int):\n", | |
" c = [c, 2*c, 4*c, 4*c]\n", | |
" \n", | |
" classifier_pool = {\n", | |
" 'in': Identity(),\n", | |
" 'maxpool': nn.MaxPool2d(4),\n", | |
" 'avgpool': (nn.AvgPool2d(4), [rel_path('in')]),\n", | |
" 'concat': (Concat(), [rel_path('maxpool'), rel_path('avgpool')]),\n", | |
" } if concat_pool else {'pool': nn.MaxPool2d(4)}\n", | |
" \n", | |
" return {\n", | |
" 'prep': union({'conv': nn.Conv2d(3, c[0], kernel_size=3, stride=1, padding=1, bias=False)},\n", | |
" {'bn': batch_norm(c[0], **kw), 'relu': nn.ReLU(True)} if prep_bn_relu else {}),\n", | |
" 'layer1': {\n", | |
" 'block0': block(c[0], c[0], 1, **kw),\n", | |
" 'block1': block(c[0], c[0], 1, **kw),\n", | |
" },\n", | |
" 'layer2': {\n", | |
" 'block0': block(c[0], c[1], 2, **kw),\n", | |
" 'block1': block(c[1], c[1], 1, **kw),\n", | |
" },\n", | |
" 'layer3': {\n", | |
" 'block0': block(c[1], c[2], 2, **kw),\n", | |
" 'block1': block(c[2], c[2], 1, **kw),\n", | |
" },\n", | |
" 'layer4': {\n", | |
" 'block0': block(c[2], c[3], 2, **kw),\n", | |
" 'block1': block(c[3], c[3], 1, **kw),\n", | |
" },\n", | |
" 'final': union(classifier_pool, {\n", | |
" 'flatten': Flatten(),\n", | |
" 'linear': nn.Linear(2*c[3] if concat_pool else c[3], 10, bias=True),\n", | |
" }),\n", | |
" 'classifier': Identity(),\n", | |
" }\n", | |
"\n", | |
"\n", | |
"def conv_bn(c_in, c_out, bn_weight_init=1.0, **kw):\n", | |
" return {\n", | |
" 'conv': nn.Conv2d(c_in, c_out, kernel_size=3, stride=1, padding=1, bias=False), \n", | |
" 'bn': batch_norm(c_out, bn_weight_init=bn_weight_init, **kw), \n", | |
" 'relu': nn.ReLU(True)\n", | |
" }\n", | |
"\n", | |
"def basic_net(channels, weight, pool, **kw):\n", | |
" return {\n", | |
" 'prep': conv_bn(3, channels['prep'], **kw),\n", | |
" 'layer1': dict(conv_bn(channels['prep'], channels['layer1'], **kw), pool=pool),\n", | |
" 'layer2': dict(conv_bn(channels['layer1'], channels['layer2'], **kw), pool=pool),\n", | |
" 'layer3': dict(conv_bn(channels['layer2'], channels['layer3'], **kw), pool=pool),\n", | |
" 'pool': nn.MaxPool2d(4),\n", | |
" 'flatten': Flatten(),\n", | |
" 'linear': nn.Linear(channels['layer3'], 10, bias=False),\n", | |
" 'classifier': Mul(weight),\n", | |
" }\n", | |
"\n", | |
"def net(channels=None, weight=0.125, pool=nn.MaxPool2d(2), extra_layers=(), res_layers=('layer1', 'layer3'), **kw):\n", | |
" channels = channels or {'prep': 64, 'layer1': 128, 'layer2': 256, 'layer3': 512}\n", | |
" residual = lambda c, **kw: {'in': Identity(), 'res1': conv_bn(c, c, **kw), 'res2': conv_bn(c, c, **kw), \n", | |
" 'add': (Add(), [rel_path('in'), rel_path('res2', 'relu')])}\n", | |
" n = basic_net(channels, weight, pool, **kw)\n", | |
" for layer in res_layers:\n", | |
" n[layer]['residual'] = residual(channels[layer], **kw)\n", | |
" for layer in extra_layers:\n", | |
" n[layer]['extra'] = conv_bn(channels[layer], channels[layer], **kw) \n", | |
" return n\n", | |
"\n", | |
"\n", | |
"losses = {\n", | |
" 'loss': (nn.CrossEntropyLoss(reduce=False), [('classifier',), ('target',)]),\n", | |
" 'correct': (Correct(), [('classifier',), ('target',)]),\n", | |
"}\n", | |
"\n", | |
"remove_identity_nodes = lambda net: remove_by_type(net, Identity)" | |
], | |
"execution_count": 4, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"text": [ | |
"/usr/local/lib/python3.6/dist-packages/torch/nn/_reduction.py:46: UserWarning: size_average and reduce args will be deprecated, please use reduction='none' instead.\n", | |
" warnings.warn(warning.format(ret))\n" | |
], | |
"name": "stderr" | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "cHn5fD2uRWJ1", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"## Download and preprocess data" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "NV8jhUp2RXyL", | |
"colab_type": "code", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 119 | |
}, | |
"outputId": "c54520be-2a8d-4914-fdc2-3afed6db15f4" | |
}, | |
"source": [ | |
"DATA_DIR = './data'\n", | |
"dataset = cifar10(DATA_DIR)\n", | |
"t = Timer()\n", | |
"print('Preprocessing training data')\n", | |
"train_set = list(zip(transpose(normalise(pad(dataset['train']['data'], 4))), dataset['train']['labels']))\n", | |
"print(f'Finished in {t():.2} seconds')\n", | |
"print('Preprocessing test data')\n", | |
"test_set = list(zip(transpose(normalise(dataset['test']['data'])), dataset['test']['labels']))\n", | |
"print(f'Finished in {t():.2} seconds')" | |
], | |
"execution_count": 5, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"text": [ | |
"\r0it [00:00, ?it/s]" | |
], | |
"name": "stderr" | |
}, | |
{ | |
"output_type": "stream", | |
"text": [ | |
"Downloading https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz to ./data/cifar-10-python.tar.gz\n" | |
], | |
"name": "stdout" | |
}, | |
{ | |
"output_type": "stream", | |
"text": [ | |
" 99%|█████████▉| 169123840/170498071 [00:11<00:00, 17697435.16it/s]" | |
], | |
"name": "stderr" | |
}, | |
{ | |
"output_type": "stream", | |
"text": [ | |
"Files already downloaded and verified\n", | |
"Preprocessing training data\n", | |
"Finished in 2.2 seconds\n", | |
"Preprocessing test data\n", | |
"Finished in 0.068 seconds\n" | |
], | |
"name": "stdout" | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "J3QPMtFIRkhk", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"## Training loop" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "D555ibr7RlvD", | |
"colab_type": "code", | |
"colab": {} | |
}, | |
"source": [ | |
"def train(model, lr_schedule, optimizer, train_set, test_set, batch_size, num_workers=0):\n", | |
" train_batches = Batches(train_set, batch_size, shuffle=True, set_random_choices=True, num_workers=num_workers)\n", | |
" test_batches = Batches(test_set, batch_size, shuffle=False, num_workers=num_workers)\n", | |
" optimizer.opt_params['lr'] = lambda step: lr_schedule(step/len(train_batches))/batch_size\n", | |
" table, timer = TableLogger(), Timer()\n", | |
" for epoch in range(lr_schedule.knots[-1]):\n", | |
" epoch_stats = train_epoch(model, train_batches, test_batches, optimizer.step, timer, test_time_in_total=True) \n", | |
" summary = union({'epoch': epoch+1, 'lr': lr_schedule(epoch+1)}, epoch_stats)\n", | |
" table.append(summary)\n", | |
" return summary" | |
], | |
"execution_count": 0, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "n2Gqd8K5QrFE", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"## [Part 1: Baseline](https://www.myrtle.ai/2018/09/24/how_to_train_your_resnet_1/) - DAWNbench baseline + no initial bn-relu+ efficient dataloading/augmentation, 1 dataloader process (???s)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "ZTxAhCewTJtH", | |
"colab_type": "code", | |
"colab": {} | |
}, | |
"source": [ | |
"lr_schedule = PiecewiseLinear([0, 15, 30, 35], [0, 0.1, 0.005, 0])" | |
], | |
"execution_count": 0, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "2ttPMLWATKbT", | |
"colab_type": "code", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 34 | |
}, | |
"outputId": "cefb42cc-6183-414e-d654-45cd6d29d98e" | |
}, | |
"source": [ | |
"lr_schedule(1)" | |
], | |
"execution_count": 11, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"0.006666666666666667" | |
] | |
}, | |
"metadata": { | |
"tags": [] | |
}, | |
"execution_count": 11 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "Da4dECOpTcpZ", | |
"colab_type": "code", | |
"colab": {} | |
}, | |
"source": [ | |
"# lr_schedule = PiecewiseLinear([0, 1], [0, 0.006666666666666667])" | |
], | |
"execution_count": 0, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "DJzdXtRzTlvi", | |
"colab_type": "code", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 34 | |
}, | |
"outputId": "b4b8dc5d-6d3e-4287-aa45-f9e37f9942ef" | |
}, | |
"source": [ | |
"# lr_schedule.knots" | |
], | |
"execution_count": 14, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"[0, 1]" | |
] | |
}, | |
"metadata": { | |
"tags": [] | |
}, | |
"execution_count": 14 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "XLRglgfCT4hY", | |
"colab_type": "code", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 104 | |
}, | |
"outputId": "4013fb83-48eb-44a7-d6e2-45640666389b" | |
}, | |
"source": [ | |
"batch_size = 128\n", | |
"\n", | |
"n = DAWN_net()\n", | |
"display(DotGraph(n))\n", | |
"model = Network(union(n, losses)).to(device)\n", | |
"#convert all children including batch norms to half precision (triggering slow codepath!)\n", | |
"for v in model.children(): \n", | |
" v.half()" | |
], | |
"execution_count": 20, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"<core.DotGraph at 0x7f6bd1c2c6a0>" | |
], | |
"image/svg+xml": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n -->\n<!-- Title: G Pages: 1 -->\n<svg width=\"1080pt\" height=\"47pt\"\n viewBox=\"0.00 0.00 1080.00 46.61\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n<g id=\"graph0\" class=\"graph\" transform=\"scale(.1872 .1872) rotate(0) translate(4 245)\">\n<title>G</title>\n<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-245 5765,-245 5765,4 -4,4\"/>\n<g id=\"clust1\" class=\"cluster\">\n<title>cluster_prep</title>\n<path fill=\"#777777\" fill-opacity=\"0.266667\" stroke=\"#000000\" d=\"M94,-61C94,-61 140,-61 140,-61 146,-61 152,-67 152,-73 152,-73 152,-124 152,-124 152,-130 146,-136 140,-136 140,-136 94,-136 94,-136 88,-136 82,-130 82,-124 82,-124 82,-73 82,-73 82,-67 88,-61 94,-61\"/>\n<text text-anchor=\"middle\" x=\"117\" y=\"-120.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">prep</text>\n</g>\n<g id=\"clust2\" class=\"cluster\">\n<title>cluster_layer1</title>\n<path fill=\"#777777\" fill-opacity=\"0.266667\" stroke=\"#000000\" d=\"M176,-25C176,-25 1408,-25 1408,-25 1414,-25 1420,-31 1420,-37 1420,-37 1420,-176 1420,-176 1420,-182 1414,-188 1408,-188 1408,-188 176,-188 176,-188 170,-188 164,-182 164,-176 164,-176 164,-37 164,-37 164,-31 170,-25 176,-25\"/>\n<text text-anchor=\"middle\" x=\"792\" y=\"-172.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">layer1</text>\n</g>\n<g id=\"clust3\" class=\"cluster\">\n<title>cluster_layer1_block0</title>\n<path fill=\"#777777\" fill-opacity=\"0.266667\" stroke=\"#000000\" d=\"M184,-33C184,-33 770,-33 770,-33 776,-33 782,-39 782,-45 782,-45 782,-145 782,-145 782,-151 776,-157 770,-157 770,-157 184,-157 184,-157 178,-157 172,-151 172,-145 172,-145 172,-45 172,-45 172,-39 178,-33 184,-33\"/>\n<text text-anchor=\"middle\" x=\"477\" y=\"-141.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">block0</text>\n</g>\n<g id=\"clust4\" class=\"cluster\">\n<title>cluster_layer1_block0_branch</title>\n<path fill=\"#777777\" fill-opacity=\"0.266667\" stroke=\"#000000\" d=\"M364,-41C364,-41 680,-41 680,-41 686,-41 692,-47 692,-53 692,-53 692,-104 692,-104 692,-110 686,-116 680,-116 680,-116 364,-116 364,-116 358,-116 352,-110 352,-104 352,-104 352,-53 352,-53 352,-47 358,-41 364,-41\"/>\n<text text-anchor=\"middle\" x=\"522\" y=\"-100.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">branch</text>\n</g>\n<g id=\"clust5\" class=\"cluster\">\n<title>cluster_layer1_block1</title>\n<path fill=\"#777777\" fill-opacity=\"0.266667\" stroke=\"#000000\" d=\"M814,-33C814,-33 1400,-33 1400,-33 1406,-33 1412,-39 1412,-45 1412,-45 1412,-145 1412,-145 1412,-151 1406,-157 1400,-157 1400,-157 814,-157 814,-157 808,-157 802,-151 802,-145 802,-145 802,-45 802,-45 802,-39 808,-33 814,-33\"/>\n<text text-anchor=\"middle\" x=\"1107\" y=\"-141.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">block1</text>\n</g>\n<g id=\"clust6\" class=\"cluster\">\n<title>cluster_layer1_block1_branch</title>\n<path fill=\"#777777\" fill-opacity=\"0.266667\" stroke=\"#000000\" d=\"M994,-41C994,-41 1310,-41 1310,-41 1316,-41 1322,-47 1322,-53 1322,-53 1322,-104 1322,-104 1322,-110 1316,-116 1310,-116 1310,-116 994,-116 994,-116 988,-116 982,-110 982,-104 982,-104 982,-53 982,-53 982,-47 988,-41 994,-41\"/>\n<text text-anchor=\"middle\" x=\"1152\" y=\"-100.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">branch</text>\n</g>\n<g id=\"clust7\" class=\"cluster\">\n<title>cluster_layer2</title>\n<path fill=\"#777777\" fill-opacity=\"0.266667\" stroke=\"#000000\" d=\"M1440,-16C1440,-16 2672,-16 2672,-16 2678,-16 2684,-22 2684,-28 2684,-28 2684,-201 2684,-201 2684,-207 2678,-213 2672,-213 2672,-213 1440,-213 1440,-213 1434,-213 1428,-207 1428,-201 1428,-201 1428,-28 1428,-28 1428,-22 1434,-16 1440,-16\"/>\n<text text-anchor=\"middle\" x=\"2056\" y=\"-197.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">layer2</text>\n</g>\n<g id=\"clust8\" class=\"cluster\">\n<title>cluster_layer2_block0</title>\n<path fill=\"#777777\" fill-opacity=\"0.266667\" stroke=\"#000000\" d=\"M1448,-24C1448,-24 2034,-24 2034,-24 2040,-24 2046,-30 2046,-36 2046,-36 2046,-170 2046,-170 2046,-176 2040,-182 2034,-182 2034,-182 1448,-182 1448,-182 1442,-182 1436,-176 1436,-170 1436,-170 1436,-36 1436,-36 1436,-30 1442,-24 1448,-24\"/>\n<text text-anchor=\"middle\" x=\"1741\" y=\"-166.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">block0</text>\n</g>\n<g id=\"clust9\" class=\"cluster\">\n<title>cluster_layer2_block0_branch</title>\n<path fill=\"#777777\" fill-opacity=\"0.266667\" stroke=\"#000000\" d=\"M1628,-32C1628,-32 1944,-32 1944,-32 1950,-32 1956,-38 1956,-44 1956,-44 1956,-95 1956,-95 1956,-101 1950,-107 1944,-107 1944,-107 1628,-107 1628,-107 1622,-107 1616,-101 1616,-95 1616,-95 1616,-44 1616,-44 1616,-38 1622,-32 1628,-32\"/>\n<text text-anchor=\"middle\" x=\"1786\" y=\"-91.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">branch</text>\n</g>\n<g id=\"clust10\" class=\"cluster\">\n<title>cluster_layer2_block1</title>\n<path fill=\"#777777\" fill-opacity=\"0.266667\" stroke=\"#000000\" d=\"M2078,-24C2078,-24 2664,-24 2664,-24 2670,-24 2676,-30 2676,-36 2676,-36 2676,-136 2676,-136 2676,-142 2670,-148 2664,-148 2664,-148 2078,-148 2078,-148 2072,-148 2066,-142 2066,-136 2066,-136 2066,-36 2066,-36 2066,-30 2072,-24 2078,-24\"/>\n<text text-anchor=\"middle\" x=\"2371\" y=\"-132.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">block1</text>\n</g>\n<g id=\"clust11\" class=\"cluster\">\n<title>cluster_layer2_block1_branch</title>\n<path fill=\"#777777\" fill-opacity=\"0.266667\" stroke=\"#000000\" d=\"M2258,-32C2258,-32 2574,-32 2574,-32 2580,-32 2586,-38 2586,-44 2586,-44 2586,-95 2586,-95 2586,-101 2580,-107 2574,-107 2574,-107 2258,-107 2258,-107 2252,-107 2246,-101 2246,-95 2246,-95 2246,-44 2246,-44 2246,-38 2252,-32 2258,-32\"/>\n<text text-anchor=\"middle\" x=\"2416\" y=\"-91.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">branch</text>\n</g>\n<g id=\"clust12\" class=\"cluster\">\n<title>cluster_layer3</title>\n<path fill=\"#777777\" fill-opacity=\"0.266667\" stroke=\"#000000\" d=\"M2704,-36C2704,-36 3936,-36 3936,-36 3942,-36 3948,-42 3948,-48 3948,-48 3948,-221 3948,-221 3948,-227 3942,-233 3936,-233 3936,-233 2704,-233 2704,-233 2698,-233 2692,-227 2692,-221 2692,-221 2692,-48 2692,-48 2692,-42 2698,-36 2704,-36\"/>\n<text text-anchor=\"middle\" x=\"3320\" y=\"-217.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">layer3</text>\n</g>\n<g id=\"clust13\" class=\"cluster\">\n<title>cluster_layer3_block0</title>\n<path fill=\"#777777\" fill-opacity=\"0.266667\" stroke=\"#000000\" d=\"M2712,-44C2712,-44 3298,-44 3298,-44 3304,-44 3310,-50 3310,-56 3310,-56 3310,-190 3310,-190 3310,-196 3304,-202 3298,-202 3298,-202 2712,-202 2712,-202 2706,-202 2700,-196 2700,-190 2700,-190 2700,-56 2700,-56 2700,-50 2706,-44 2712,-44\"/>\n<text text-anchor=\"middle\" x=\"3005\" y=\"-186.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">block0</text>\n</g>\n<g id=\"clust14\" class=\"cluster\">\n<title>cluster_layer3_block0_branch</title>\n<path fill=\"#777777\" fill-opacity=\"0.266667\" stroke=\"#000000\" d=\"M2892,-52C2892,-52 3208,-52 3208,-52 3214,-52 3220,-58 3220,-64 3220,-64 3220,-115 3220,-115 3220,-121 3214,-127 3208,-127 3208,-127 2892,-127 2892,-127 2886,-127 2880,-121 2880,-115 2880,-115 2880,-64 2880,-64 2880,-58 2886,-52 2892,-52\"/>\n<text text-anchor=\"middle\" x=\"3050\" y=\"-111.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">branch</text>\n</g>\n<g id=\"clust15\" class=\"cluster\">\n<title>cluster_layer3_block1</title>\n<path fill=\"#777777\" fill-opacity=\"0.266667\" stroke=\"#000000\" d=\"M3342,-44C3342,-44 3928,-44 3928,-44 3934,-44 3940,-50 3940,-56 3940,-56 3940,-156 3940,-156 3940,-162 3934,-168 3928,-168 3928,-168 3342,-168 3342,-168 3336,-168 3330,-162 3330,-156 3330,-156 3330,-56 3330,-56 3330,-50 3336,-44 3342,-44\"/>\n<text text-anchor=\"middle\" x=\"3635\" y=\"-152.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">block1</text>\n</g>\n<g id=\"clust16\" class=\"cluster\">\n<title>cluster_layer3_block1_branch</title>\n<path fill=\"#777777\" fill-opacity=\"0.266667\" stroke=\"#000000\" d=\"M3522,-52C3522,-52 3838,-52 3838,-52 3844,-52 3850,-58 3850,-64 3850,-64 3850,-115 3850,-115 3850,-121 3844,-127 3838,-127 3838,-127 3522,-127 3522,-127 3516,-127 3510,-121 3510,-115 3510,-115 3510,-64 3510,-64 3510,-58 3516,-52 3522,-52\"/>\n<text text-anchor=\"middle\" x=\"3680\" y=\"-111.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">branch</text>\n</g>\n<g id=\"clust17\" class=\"cluster\">\n<title>cluster_layer4</title>\n<path fill=\"#777777\" fill-opacity=\"0.266667\" stroke=\"#000000\" d=\"M3968,-8C3968,-8 5200,-8 5200,-8 5206,-8 5212,-14 5212,-20 5212,-20 5212,-193 5212,-193 5212,-199 5206,-205 5200,-205 5200,-205 3968,-205 3968,-205 3962,-205 3956,-199 3956,-193 3956,-193 3956,-20 3956,-20 3956,-14 3962,-8 3968,-8\"/>\n<text text-anchor=\"middle\" x=\"4584\" y=\"-189.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">layer4</text>\n</g>\n<g id=\"clust18\" class=\"cluster\">\n<title>cluster_layer4_block0</title>\n<path fill=\"#777777\" fill-opacity=\"0.266667\" stroke=\"#000000\" d=\"M3976,-16C3976,-16 4562,-16 4562,-16 4568,-16 4574,-22 4574,-28 4574,-28 4574,-162 4574,-162 4574,-168 4568,-174 4562,-174 4562,-174 3976,-174 3976,-174 3970,-174 3964,-168 3964,-162 3964,-162 3964,-28 3964,-28 3964,-22 3970,-16 3976,-16\"/>\n<text text-anchor=\"middle\" x=\"4269\" y=\"-158.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">block0</text>\n</g>\n<g id=\"clust19\" class=\"cluster\">\n<title>cluster_layer4_block0_branch</title>\n<path fill=\"#777777\" fill-opacity=\"0.266667\" stroke=\"#000000\" d=\"M4156,-24C4156,-24 4472,-24 4472,-24 4478,-24 4484,-30 4484,-36 4484,-36 4484,-87 4484,-87 4484,-93 4478,-99 4472,-99 4472,-99 4156,-99 4156,-99 4150,-99 4144,-93 4144,-87 4144,-87 4144,-36 4144,-36 4144,-30 4150,-24 4156,-24\"/>\n<text text-anchor=\"middle\" x=\"4314\" y=\"-83.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">branch</text>\n</g>\n<g id=\"clust20\" class=\"cluster\">\n<title>cluster_layer4_block1</title>\n<path fill=\"#777777\" fill-opacity=\"0.266667\" stroke=\"#000000\" d=\"M4606,-16C4606,-16 5192,-16 5192,-16 5198,-16 5204,-22 5204,-28 5204,-28 5204,-128 5204,-128 5204,-134 5198,-140 5192,-140 5192,-140 4606,-140 4606,-140 4600,-140 4594,-134 4594,-128 4594,-128 4594,-28 4594,-28 4594,-22 4600,-16 4606,-16\"/>\n<text text-anchor=\"middle\" x=\"4899\" y=\"-124.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">block1</text>\n</g>\n<g id=\"clust21\" class=\"cluster\">\n<title>cluster_layer4_block1_branch</title>\n<path fill=\"#777777\" fill-opacity=\"0.266667\" stroke=\"#000000\" d=\"M4786,-24C4786,-24 5102,-24 5102,-24 5108,-24 5114,-30 5114,-36 5114,-36 5114,-87 5114,-87 5114,-93 5108,-99 5102,-99 5102,-99 4786,-99 4786,-99 4780,-99 4774,-93 4774,-87 4774,-87 4774,-36 4774,-36 4774,-30 4780,-24 4786,-24\"/>\n<text text-anchor=\"middle\" x=\"4944\" y=\"-83.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">branch</text>\n</g>\n<g id=\"clust22\" class=\"cluster\">\n<title>cluster_final</title>\n<path fill=\"#777777\" fill-opacity=\"0.266667\" stroke=\"#000000\" d=\"M5236,-36C5236,-36 5656,-36 5656,-36 5662,-36 5668,-42 5668,-48 5668,-48 5668,-153 5668,-153 5668,-159 5662,-165 5656,-165 5656,-165 5236,-165 5236,-165 5230,-165 5224,-159 5224,-153 5224,-153 5224,-48 5224,-48 5224,-42 5230,-36 5236,-36\"/>\n<text text-anchor=\"middle\" x=\"5446\" y=\"-149.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">final</text>\n</g>\n<!-- prep_conv -->\n<g id=\"node1\" class=\"node\">\n<title>prep_conv</title>\n<g id=\"a_node1\"><a xlink:title=\"Conv2d {'in_channels': 3, 'out_channels': 64, 'kernel_size': (3, 3), 'stride': (1, 1), 'padding': (1, 1), 'dilation': (1, 1), 'groups': 1, 'bias': None, 'padding_mode': 'zeros'}\">\n<path fill=\"#bebada\" stroke=\"#000000\" d=\"M132,-105C132,-105 102,-105 102,-105 96,-105 90,-99 90,-93 90,-93 90,-81 90,-81 90,-75 96,-69 102,-69 102,-69 132,-69 132,-69 138,-69 144,-75 144,-81 144,-81 144,-93 144,-93 144,-99 138,-105 132,-105\"/>\n<text text-anchor=\"middle\" x=\"117\" y=\"-83.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">conv</text>\n</a>\n</g>\n</g>\n<!-- layer1_block0_bn1 -->\n<g id=\"node2\" class=\"node\">\n<title>layer1_block0_bn1</title>\n<g id=\"a_node2\"><a xlink:title=\"BatchNorm2d {'num_features': 64, 'eps': 1e-05, 'momentum': 0.1, 'affine': True, 'track_running_stats': True}\">\n<path fill=\"#ffffb3\" stroke=\"#000000\" d=\"M222,-105C222,-105 192,-105 192,-105 186,-105 180,-99 180,-93 180,-93 180,-81 180,-81 180,-75 186,-69 192,-69 192,-69 222,-69 222,-69 228,-69 234,-75 234,-81 234,-81 234,-93 234,-93 234,-99 228,-105 222,-105\"/>\n<text text-anchor=\"middle\" x=\"207\" y=\"-83.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">bn1</text>\n</a>\n</g>\n</g>\n<!-- prep_conv->layer1_block0_bn1 -->\n<g id=\"edge2\" class=\"edge\">\n<title>prep_conv->layer1_block0_bn1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M144.003,-87C152.0277,-87 160.9665,-87 169.5309,-87\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"169.7051,-90.5001 179.705,-87 169.705,-83.5001 169.7051,-90.5001\"/>\n</g>\n<!-- layer1_block0_relu1 -->\n<g id=\"node3\" class=\"node\">\n<title>layer1_block0_relu1</title>\n<g id=\"a_node3\"><a xlink:title=\"ReLU {'inplace': True}\">\n<path fill=\"#fb8072\" stroke=\"#000000\" d=\"M312,-105C312,-105 282,-105 282,-105 276,-105 270,-99 270,-93 270,-93 270,-81 270,-81 270,-75 276,-69 282,-69 282,-69 312,-69 312,-69 318,-69 324,-75 324,-81 324,-81 324,-93 324,-93 324,-99 318,-105 312,-105\"/>\n<text text-anchor=\"middle\" x=\"297\" y=\"-83.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">relu1</text>\n</a>\n</g>\n</g>\n<!-- layer1_block0_bn1->layer1_block0_relu1 -->\n<g id=\"edge3\" class=\"edge\">\n<title>layer1_block0_bn1->layer1_block0_relu1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M234.003,-87C242.0277,-87 250.9665,-87 259.5309,-87\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"259.7051,-90.5001 269.705,-87 259.705,-83.5001 259.7051,-90.5001\"/>\n</g>\n<!-- layer1_block0_branch_conv1 -->\n<g id=\"node4\" class=\"node\">\n<title>layer1_block0_branch_conv1</title>\n<g id=\"a_node4\"><a xlink:title=\"Conv2d {'in_channels': 64, 'out_channels': 64, 'kernel_size': (3, 3), 'stride': (1, 1), 'padding': (1, 1), 'dilation': (1, 1), 'groups': 1, 'bias': None, 'padding_mode': 'zeros'}\">\n<path fill=\"#bebada\" stroke=\"#000000\" d=\"M402,-85C402,-85 372,-85 372,-85 366,-85 360,-79 360,-73 360,-73 360,-61 360,-61 360,-55 366,-49 372,-49 372,-49 402,-49 402,-49 408,-49 414,-55 414,-61 414,-61 414,-73 414,-73 414,-79 408,-85 402,-85\"/>\n<text text-anchor=\"middle\" x=\"387\" y=\"-63.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">conv1</text>\n</a>\n</g>\n</g>\n<!-- layer1_block0_relu1->layer1_block0_branch_conv1 -->\n<g id=\"edge4\" class=\"edge\">\n<title>layer1_block0_relu1->layer1_block0_branch_conv1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M324.003,-80.9993C332.1158,-79.1965 341.1631,-77.186 349.8131,-75.2638\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"350.7024,-78.6516 359.705,-73.0655 349.1839,-71.8183 350.7024,-78.6516\"/>\n</g>\n<!-- layer1_block0_add -->\n<g id=\"node8\" class=\"node\">\n<title>layer1_block0_add</title>\n<g id=\"a_node8\"><a xlink:title=\"Add {}\">\n<path fill=\"#8dd3c7\" stroke=\"#000000\" d=\"M762,-105C762,-105 732,-105 732,-105 726,-105 720,-99 720,-93 720,-93 720,-81 720,-81 720,-75 726,-69 732,-69 732,-69 762,-69 762,-69 768,-69 774,-75 774,-81 774,-81 774,-93 774,-93 774,-99 768,-105 762,-105\"/>\n<text text-anchor=\"middle\" x=\"747\" y=\"-83.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">add</text>\n</a>\n</g>\n</g>\n<!-- layer1_block0_relu1->layer1_block0_add -->\n<g id=\"edge8\" class=\"edge\">\n<title>layer1_block0_relu1->layer1_block0_add</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M321.2203,-105.104C330.3892,-110.9663 341.2234,-116.7818 352,-120 405.2752,-135.9095 421.4,-125 477,-125 477,-125 477,-125 567,-125 622.6,-125 638.7248,-135.9095 692,-120 699.4089,-117.7875 706.845,-114.3474 713.7486,-110.5084\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"715.996,-113.2423 722.7797,-105.104 712.4015,-107.2356 715.996,-113.2423\"/>\n</g>\n<!-- layer1_block0_branch_bn2 -->\n<g id=\"node5\" class=\"node\">\n<title>layer1_block0_branch_bn2</title>\n<g id=\"a_node5\"><a xlink:title=\"BatchNorm2d {'num_features': 64, 'eps': 1e-05, 'momentum': 0.1, 'affine': True, 'track_running_stats': True}\">\n<path fill=\"#ffffb3\" stroke=\"#000000\" d=\"M492,-85C492,-85 462,-85 462,-85 456,-85 450,-79 450,-73 450,-73 450,-61 450,-61 450,-55 456,-49 462,-49 462,-49 492,-49 492,-49 498,-49 504,-55 504,-61 504,-61 504,-73 504,-73 504,-79 498,-85 492,-85\"/>\n<text text-anchor=\"middle\" x=\"477\" y=\"-63.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">bn2</text>\n</a>\n</g>\n</g>\n<!-- layer1_block0_branch_conv1->layer1_block0_branch_bn2 -->\n<g id=\"edge5\" class=\"edge\">\n<title>layer1_block0_branch_conv1->layer1_block0_branch_bn2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M414.003,-67C422.0277,-67 430.9665,-67 439.5309,-67\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"439.7051,-70.5001 449.705,-67 439.705,-63.5001 439.7051,-70.5001\"/>\n</g>\n<!-- layer1_block0_branch_relu2 -->\n<g id=\"node6\" class=\"node\">\n<title>layer1_block0_branch_relu2</title>\n<g id=\"a_node6\"><a xlink:title=\"ReLU {'inplace': True}\">\n<path fill=\"#fb8072\" stroke=\"#000000\" d=\"M582,-85C582,-85 552,-85 552,-85 546,-85 540,-79 540,-73 540,-73 540,-61 540,-61 540,-55 546,-49 552,-49 552,-49 582,-49 582,-49 588,-49 594,-55 594,-61 594,-61 594,-73 594,-73 594,-79 588,-85 582,-85\"/>\n<text text-anchor=\"middle\" x=\"567\" y=\"-63.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">relu2</text>\n</a>\n</g>\n</g>\n<!-- layer1_block0_branch_bn2->layer1_block0_branch_relu2 -->\n<g id=\"edge6\" class=\"edge\">\n<title>layer1_block0_branch_bn2->layer1_block0_branch_relu2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M504.003,-67C512.0277,-67 520.9665,-67 529.5309,-67\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"529.7051,-70.5001 539.705,-67 529.705,-63.5001 529.7051,-70.5001\"/>\n</g>\n<!-- layer1_block0_branch_conv2 -->\n<g id=\"node7\" class=\"node\">\n<title>layer1_block0_branch_conv2</title>\n<g id=\"a_node7\"><a xlink:title=\"Conv2d {'in_channels': 64, 'out_channels': 64, 'kernel_size': (3, 3), 'stride': (1, 1), 'padding': (1, 1), 'dilation': (1, 1), 'groups': 1, 'bias': None, 'padding_mode': 'zeros'}\">\n<path fill=\"#bebada\" stroke=\"#000000\" d=\"M672,-85C672,-85 642,-85 642,-85 636,-85 630,-79 630,-73 630,-73 630,-61 630,-61 630,-55 636,-49 642,-49 642,-49 672,-49 672,-49 678,-49 684,-55 684,-61 684,-61 684,-73 684,-73 684,-79 678,-85 672,-85\"/>\n<text text-anchor=\"middle\" x=\"657\" y=\"-63.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">conv2</text>\n</a>\n</g>\n</g>\n<!-- layer1_block0_branch_relu2->layer1_block0_branch_conv2 -->\n<g id=\"edge7\" class=\"edge\">\n<title>layer1_block0_branch_relu2->layer1_block0_branch_conv2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M594.003,-67C602.0277,-67 610.9665,-67 619.5309,-67\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"619.7051,-70.5001 629.705,-67 619.705,-63.5001 619.7051,-70.5001\"/>\n</g>\n<!-- layer1_block0_branch_conv2->layer1_block0_add -->\n<g id=\"edge9\" class=\"edge\">\n<title>layer1_block0_branch_conv2->layer1_block0_add</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M684.003,-73.0007C692.1158,-74.8035 701.1631,-76.814 709.8131,-78.7362\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"709.1839,-82.1817 719.705,-80.9345 710.7024,-75.3484 709.1839,-82.1817\"/>\n</g>\n<!-- layer1_block1_bn1 -->\n<g id=\"node9\" class=\"node\">\n<title>layer1_block1_bn1</title>\n<g id=\"a_node9\"><a xlink:title=\"BatchNorm2d {'num_features': 64, 'eps': 1e-05, 'momentum': 0.1, 'affine': True, 'track_running_stats': True}\">\n<path fill=\"#ffffb3\" stroke=\"#000000\" d=\"M852,-105C852,-105 822,-105 822,-105 816,-105 810,-99 810,-93 810,-93 810,-81 810,-81 810,-75 816,-69 822,-69 822,-69 852,-69 852,-69 858,-69 864,-75 864,-81 864,-81 864,-93 864,-93 864,-99 858,-105 852,-105\"/>\n<text text-anchor=\"middle\" x=\"837\" y=\"-83.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">bn1</text>\n</a>\n</g>\n</g>\n<!-- layer1_block0_add->layer1_block1_bn1 -->\n<g id=\"edge10\" class=\"edge\">\n<title>layer1_block0_add->layer1_block1_bn1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M774.003,-87C782.0277,-87 790.9665,-87 799.5309,-87\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"799.7051,-90.5001 809.705,-87 799.705,-83.5001 799.7051,-90.5001\"/>\n</g>\n<!-- layer1_block1_relu1 -->\n<g id=\"node10\" class=\"node\">\n<title>layer1_block1_relu1</title>\n<g id=\"a_node10\"><a xlink:title=\"ReLU {'inplace': True}\">\n<path fill=\"#fb8072\" stroke=\"#000000\" d=\"M942,-105C942,-105 912,-105 912,-105 906,-105 900,-99 900,-93 900,-93 900,-81 900,-81 900,-75 906,-69 912,-69 912,-69 942,-69 942,-69 948,-69 954,-75 954,-81 954,-81 954,-93 954,-93 954,-99 948,-105 942,-105\"/>\n<text text-anchor=\"middle\" x=\"927\" y=\"-83.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">relu1</text>\n</a>\n</g>\n</g>\n<!-- layer1_block1_bn1->layer1_block1_relu1 -->\n<g id=\"edge11\" class=\"edge\">\n<title>layer1_block1_bn1->layer1_block1_relu1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M864.003,-87C872.0277,-87 880.9665,-87 889.5309,-87\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"889.7051,-90.5001 899.705,-87 889.705,-83.5001 889.7051,-90.5001\"/>\n</g>\n<!-- layer1_block1_branch_conv1 -->\n<g id=\"node11\" class=\"node\">\n<title>layer1_block1_branch_conv1</title>\n<g id=\"a_node11\"><a xlink:title=\"Conv2d {'in_channels': 64, 'out_channels': 64, 'kernel_size': (3, 3), 'stride': (1, 1), 'padding': (1, 1), 'dilation': (1, 1), 'groups': 1, 'bias': None, 'padding_mode': 'zeros'}\">\n<path fill=\"#bebada\" stroke=\"#000000\" d=\"M1032,-85C1032,-85 1002,-85 1002,-85 996,-85 990,-79 990,-73 990,-73 990,-61 990,-61 990,-55 996,-49 1002,-49 1002,-49 1032,-49 1032,-49 1038,-49 1044,-55 1044,-61 1044,-61 1044,-73 1044,-73 1044,-79 1038,-85 1032,-85\"/>\n<text text-anchor=\"middle\" x=\"1017\" y=\"-63.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">conv1</text>\n</a>\n</g>\n</g>\n<!-- layer1_block1_relu1->layer1_block1_branch_conv1 -->\n<g id=\"edge12\" class=\"edge\">\n<title>layer1_block1_relu1->layer1_block1_branch_conv1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M954.003,-80.9993C962.1158,-79.1965 971.1631,-77.186 979.8131,-75.2638\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"980.7024,-78.6516 989.705,-73.0655 979.1839,-71.8183 980.7024,-78.6516\"/>\n</g>\n<!-- layer1_block1_add -->\n<g id=\"node15\" class=\"node\">\n<title>layer1_block1_add</title>\n<g id=\"a_node15\"><a xlink:title=\"Add {}\">\n<path fill=\"#8dd3c7\" stroke=\"#000000\" d=\"M1392,-105C1392,-105 1362,-105 1362,-105 1356,-105 1350,-99 1350,-93 1350,-93 1350,-81 1350,-81 1350,-75 1356,-69 1362,-69 1362,-69 1392,-69 1392,-69 1398,-69 1404,-75 1404,-81 1404,-81 1404,-93 1404,-93 1404,-99 1398,-105 1392,-105\"/>\n<text text-anchor=\"middle\" x=\"1377\" y=\"-83.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">add</text>\n</a>\n</g>\n</g>\n<!-- layer1_block1_relu1->layer1_block1_add -->\n<g id=\"edge16\" class=\"edge\">\n<title>layer1_block1_relu1->layer1_block1_add</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M951.2203,-105.104C960.3892,-110.9663 971.2234,-116.7818 982,-120 1035.2752,-135.9095 1051.4,-125 1107,-125 1107,-125 1107,-125 1197,-125 1252.6,-125 1268.7248,-135.9095 1322,-120 1329.4089,-117.7875 1336.845,-114.3474 1343.7486,-110.5084\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1345.996,-113.2423 1352.7797,-105.104 1342.4015,-107.2356 1345.996,-113.2423\"/>\n</g>\n<!-- layer1_block1_branch_bn2 -->\n<g id=\"node12\" class=\"node\">\n<title>layer1_block1_branch_bn2</title>\n<g id=\"a_node12\"><a xlink:title=\"BatchNorm2d {'num_features': 64, 'eps': 1e-05, 'momentum': 0.1, 'affine': True, 'track_running_stats': True}\">\n<path fill=\"#ffffb3\" stroke=\"#000000\" d=\"M1122,-85C1122,-85 1092,-85 1092,-85 1086,-85 1080,-79 1080,-73 1080,-73 1080,-61 1080,-61 1080,-55 1086,-49 1092,-49 1092,-49 1122,-49 1122,-49 1128,-49 1134,-55 1134,-61 1134,-61 1134,-73 1134,-73 1134,-79 1128,-85 1122,-85\"/>\n<text text-anchor=\"middle\" x=\"1107\" y=\"-63.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">bn2</text>\n</a>\n</g>\n</g>\n<!-- layer1_block1_branch_conv1->layer1_block1_branch_bn2 -->\n<g id=\"edge13\" class=\"edge\">\n<title>layer1_block1_branch_conv1->layer1_block1_branch_bn2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1044.003,-67C1052.0277,-67 1060.9665,-67 1069.5309,-67\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1069.7051,-70.5001 1079.705,-67 1069.705,-63.5001 1069.7051,-70.5001\"/>\n</g>\n<!-- layer1_block1_branch_relu2 -->\n<g id=\"node13\" class=\"node\">\n<title>layer1_block1_branch_relu2</title>\n<g id=\"a_node13\"><a xlink:title=\"ReLU {'inplace': True}\">\n<path fill=\"#fb8072\" stroke=\"#000000\" d=\"M1212,-85C1212,-85 1182,-85 1182,-85 1176,-85 1170,-79 1170,-73 1170,-73 1170,-61 1170,-61 1170,-55 1176,-49 1182,-49 1182,-49 1212,-49 1212,-49 1218,-49 1224,-55 1224,-61 1224,-61 1224,-73 1224,-73 1224,-79 1218,-85 1212,-85\"/>\n<text text-anchor=\"middle\" x=\"1197\" y=\"-63.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">relu2</text>\n</a>\n</g>\n</g>\n<!-- layer1_block1_branch_bn2->layer1_block1_branch_relu2 -->\n<g id=\"edge14\" class=\"edge\">\n<title>layer1_block1_branch_bn2->layer1_block1_branch_relu2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1134.003,-67C1142.0277,-67 1150.9665,-67 1159.5309,-67\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1159.7051,-70.5001 1169.705,-67 1159.705,-63.5001 1159.7051,-70.5001\"/>\n</g>\n<!-- layer1_block1_branch_conv2 -->\n<g id=\"node14\" class=\"node\">\n<title>layer1_block1_branch_conv2</title>\n<g id=\"a_node14\"><a xlink:title=\"Conv2d {'in_channels': 64, 'out_channels': 64, 'kernel_size': (3, 3), 'stride': (1, 1), 'padding': (1, 1), 'dilation': (1, 1), 'groups': 1, 'bias': None, 'padding_mode': 'zeros'}\">\n<path fill=\"#bebada\" stroke=\"#000000\" d=\"M1302,-85C1302,-85 1272,-85 1272,-85 1266,-85 1260,-79 1260,-73 1260,-73 1260,-61 1260,-61 1260,-55 1266,-49 1272,-49 1272,-49 1302,-49 1302,-49 1308,-49 1314,-55 1314,-61 1314,-61 1314,-73 1314,-73 1314,-79 1308,-85 1302,-85\"/>\n<text text-anchor=\"middle\" x=\"1287\" y=\"-63.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">conv2</text>\n</a>\n</g>\n</g>\n<!-- layer1_block1_branch_relu2->layer1_block1_branch_conv2 -->\n<g id=\"edge15\" class=\"edge\">\n<title>layer1_block1_branch_relu2->layer1_block1_branch_conv2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1224.003,-67C1232.0277,-67 1240.9665,-67 1249.5309,-67\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1249.7051,-70.5001 1259.705,-67 1249.705,-63.5001 1249.7051,-70.5001\"/>\n</g>\n<!-- layer1_block1_branch_conv2->layer1_block1_add -->\n<g id=\"edge17\" class=\"edge\">\n<title>layer1_block1_branch_conv2->layer1_block1_add</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1314.003,-73.0007C1322.1158,-74.8035 1331.1631,-76.814 1339.8131,-78.7362\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1339.1839,-82.1817 1349.705,-80.9345 1340.7024,-75.3484 1339.1839,-82.1817\"/>\n</g>\n<!-- layer2_block0_bn1 -->\n<g id=\"node16\" class=\"node\">\n<title>layer2_block0_bn1</title>\n<g id=\"a_node16\"><a xlink:title=\"BatchNorm2d {'num_features': 64, 'eps': 1e-05, 'momentum': 0.1, 'affine': True, 'track_running_stats': True}\">\n<path fill=\"#ffffb3\" stroke=\"#000000\" d=\"M1486,-105C1486,-105 1456,-105 1456,-105 1450,-105 1444,-99 1444,-93 1444,-93 1444,-81 1444,-81 1444,-75 1450,-69 1456,-69 1456,-69 1486,-69 1486,-69 1492,-69 1498,-75 1498,-81 1498,-81 1498,-93 1498,-93 1498,-99 1492,-105 1486,-105\"/>\n<text text-anchor=\"middle\" x=\"1471\" y=\"-83.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">bn1</text>\n</a>\n</g>\n</g>\n<!-- layer1_block1_add->layer2_block0_bn1 -->\n<g id=\"edge18\" class=\"edge\">\n<title>layer1_block1_add->layer2_block0_bn1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1404.1887,-87C1413.4446,-87 1423.9552,-87 1433.8551,-87\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1433.8724,-90.5001 1443.8724,-87 1433.8724,-83.5001 1433.8724,-90.5001\"/>\n</g>\n<!-- layer2_block0_relu1 -->\n<g id=\"node17\" class=\"node\">\n<title>layer2_block0_relu1</title>\n<g id=\"a_node17\"><a xlink:title=\"ReLU {'inplace': True}\">\n<path fill=\"#fb8072\" stroke=\"#000000\" d=\"M1576,-105C1576,-105 1546,-105 1546,-105 1540,-105 1534,-99 1534,-93 1534,-93 1534,-81 1534,-81 1534,-75 1540,-69 1546,-69 1546,-69 1576,-69 1576,-69 1582,-69 1588,-75 1588,-81 1588,-81 1588,-93 1588,-93 1588,-99 1582,-105 1576,-105\"/>\n<text text-anchor=\"middle\" x=\"1561\" y=\"-83.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">relu1</text>\n</a>\n</g>\n</g>\n<!-- layer2_block0_bn1->layer2_block0_relu1 -->\n<g id=\"edge19\" class=\"edge\">\n<title>layer2_block0_bn1->layer2_block0_relu1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1498.003,-87C1506.0277,-87 1514.9665,-87 1523.5309,-87\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1523.7051,-90.5001 1533.705,-87 1523.705,-83.5001 1523.7051,-90.5001\"/>\n</g>\n<!-- layer2_block0_branch_conv1 -->\n<g id=\"node18\" class=\"node\">\n<title>layer2_block0_branch_conv1</title>\n<g id=\"a_node18\"><a xlink:title=\"Conv2d {'in_channels': 64, 'out_channels': 128, 'kernel_size': (3, 3), 'stride': (2, 2), 'padding': (1, 1), 'dilation': (1, 1), 'groups': 1, 'bias': None, 'padding_mode': 'zeros'}\">\n<path fill=\"#bebada\" stroke=\"#000000\" d=\"M1666,-76C1666,-76 1636,-76 1636,-76 1630,-76 1624,-70 1624,-64 1624,-64 1624,-52 1624,-52 1624,-46 1630,-40 1636,-40 1636,-40 1666,-40 1666,-40 1672,-40 1678,-46 1678,-52 1678,-52 1678,-64 1678,-64 1678,-70 1672,-76 1666,-76\"/>\n<text text-anchor=\"middle\" x=\"1651\" y=\"-54.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">conv1</text>\n</a>\n</g>\n</g>\n<!-- layer2_block0_relu1->layer2_block0_branch_conv1 -->\n<g id=\"edge20\" class=\"edge\">\n<title>layer2_block0_relu1->layer2_block0_branch_conv1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1588.003,-78.299C1596.204,-75.6565 1605.3599,-72.7063 1614.095,-69.8916\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1615.2604,-73.1934 1623.705,-66.795 1613.1135,-66.5307 1615.2604,-73.1934\"/>\n</g>\n<!-- layer2_block0_conv3 -->\n<g id=\"node22\" class=\"node\">\n<title>layer2_block0_conv3</title>\n<g id=\"a_node22\"><a xlink:title=\"Conv2d {'in_channels': 64, 'out_channels': 128, 'kernel_size': (1, 1), 'stride': (2, 2), 'padding': (0, 0), 'dilation': (1, 1), 'groups': 1, 'bias': None, 'padding_mode': 'zeros'}\">\n<path fill=\"#bebada\" stroke=\"#000000\" d=\"M1936,-151C1936,-151 1906,-151 1906,-151 1900,-151 1894,-145 1894,-139 1894,-139 1894,-127 1894,-127 1894,-121 1900,-115 1906,-115 1906,-115 1936,-115 1936,-115 1942,-115 1948,-121 1948,-127 1948,-127 1948,-139 1948,-139 1948,-145 1942,-151 1936,-151\"/>\n<text text-anchor=\"middle\" x=\"1921\" y=\"-129.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">conv3</text>\n</a>\n</g>\n</g>\n<!-- layer2_block0_relu1->layer2_block0_conv3 -->\n<g id=\"edge24\" class=\"edge\">\n<title>layer2_block0_relu1->layer2_block0_conv3</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1588.0569,-100.9783C1596.7621,-104.8791 1606.5929,-108.6806 1616,-111 1710.1388,-134.2102 1825.1893,-135.5006 1883.402,-134.3339\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1883.6781,-137.8284 1893.5923,-134.0922 1883.5121,-130.8304 1883.6781,-137.8284\"/>\n</g>\n<!-- layer2_block0_branch_bn2 -->\n<g id=\"node19\" class=\"node\">\n<title>layer2_block0_branch_bn2</title>\n<g id=\"a_node19\"><a xlink:title=\"BatchNorm2d {'num_features': 128, 'eps': 1e-05, 'momentum': 0.1, 'affine': True, 'track_running_stats': True}\">\n<path fill=\"#ffffb3\" stroke=\"#000000\" d=\"M1756,-76C1756,-76 1726,-76 1726,-76 1720,-76 1714,-70 1714,-64 1714,-64 1714,-52 1714,-52 1714,-46 1720,-40 1726,-40 1726,-40 1756,-40 1756,-40 1762,-40 1768,-46 1768,-52 1768,-52 1768,-64 1768,-64 1768,-70 1762,-76 1756,-76\"/>\n<text text-anchor=\"middle\" x=\"1741\" y=\"-54.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">bn2</text>\n</a>\n</g>\n</g>\n<!-- layer2_block0_branch_conv1->layer2_block0_branch_bn2 -->\n<g id=\"edge21\" class=\"edge\">\n<title>layer2_block0_branch_conv1->layer2_block0_branch_bn2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1678.003,-58C1686.0277,-58 1694.9665,-58 1703.5309,-58\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1703.7051,-61.5001 1713.705,-58 1703.705,-54.5001 1703.7051,-61.5001\"/>\n</g>\n<!-- layer2_block0_branch_relu2 -->\n<g id=\"node20\" class=\"node\">\n<title>layer2_block0_branch_relu2</title>\n<g id=\"a_node20\"><a xlink:title=\"ReLU {'inplace': True}\">\n<path fill=\"#fb8072\" stroke=\"#000000\" d=\"M1846,-76C1846,-76 1816,-76 1816,-76 1810,-76 1804,-70 1804,-64 1804,-64 1804,-52 1804,-52 1804,-46 1810,-40 1816,-40 1816,-40 1846,-40 1846,-40 1852,-40 1858,-46 1858,-52 1858,-52 1858,-64 1858,-64 1858,-70 1852,-76 1846,-76\"/>\n<text text-anchor=\"middle\" x=\"1831\" y=\"-54.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">relu2</text>\n</a>\n</g>\n</g>\n<!-- layer2_block0_branch_bn2->layer2_block0_branch_relu2 -->\n<g id=\"edge22\" class=\"edge\">\n<title>layer2_block0_branch_bn2->layer2_block0_branch_relu2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1768.003,-58C1776.0277,-58 1784.9665,-58 1793.5309,-58\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1793.7051,-61.5001 1803.705,-58 1793.705,-54.5001 1793.7051,-61.5001\"/>\n</g>\n<!-- layer2_block0_branch_conv2 -->\n<g id=\"node21\" class=\"node\">\n<title>layer2_block0_branch_conv2</title>\n<g id=\"a_node21\"><a xlink:title=\"Conv2d {'in_channels': 128, 'out_channels': 128, 'kernel_size': (3, 3), 'stride': (1, 1), 'padding': (1, 1), 'dilation': (1, 1), 'groups': 1, 'bias': None, 'padding_mode': 'zeros'}\">\n<path fill=\"#bebada\" stroke=\"#000000\" d=\"M1936,-76C1936,-76 1906,-76 1906,-76 1900,-76 1894,-70 1894,-64 1894,-64 1894,-52 1894,-52 1894,-46 1900,-40 1906,-40 1906,-40 1936,-40 1936,-40 1942,-40 1948,-46 1948,-52 1948,-52 1948,-64 1948,-64 1948,-70 1942,-76 1936,-76\"/>\n<text text-anchor=\"middle\" x=\"1921\" y=\"-54.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">conv2</text>\n</a>\n</g>\n</g>\n<!-- layer2_block0_branch_relu2->layer2_block0_branch_conv2 -->\n<g id=\"edge23\" class=\"edge\">\n<title>layer2_block0_branch_relu2->layer2_block0_branch_conv2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1858.003,-58C1866.0277,-58 1874.9665,-58 1883.5309,-58\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1883.7051,-61.5001 1893.705,-58 1883.705,-54.5001 1883.7051,-61.5001\"/>\n</g>\n<!-- layer2_block0_add -->\n<g id=\"node23\" class=\"node\">\n<title>layer2_block0_add</title>\n<g id=\"a_node23\"><a xlink:title=\"Add {}\">\n<path fill=\"#8dd3c7\" stroke=\"#000000\" d=\"M2026,-96C2026,-96 1996,-96 1996,-96 1990,-96 1984,-90 1984,-84 1984,-84 1984,-72 1984,-72 1984,-66 1990,-60 1996,-60 1996,-60 2026,-60 2026,-60 2032,-60 2038,-66 2038,-72 2038,-72 2038,-84 2038,-84 2038,-90 2032,-96 2026,-96\"/>\n<text text-anchor=\"middle\" x=\"2011\" y=\"-74.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">add</text>\n</a>\n</g>\n</g>\n<!-- layer2_block0_branch_conv2->layer2_block0_add -->\n<g id=\"edge26\" class=\"edge\">\n<title>layer2_block0_branch_conv2->layer2_block0_add</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1948.003,-64.0007C1956.1158,-65.8035 1965.1631,-67.814 1973.8131,-69.7362\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1973.1839,-73.1817 1983.705,-71.9345 1974.7024,-66.3484 1973.1839,-73.1817\"/>\n</g>\n<!-- layer2_block0_conv3->layer2_block0_add -->\n<g id=\"edge25\" class=\"edge\">\n<title>layer2_block0_conv3->layer2_block0_add</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M1948.003,-116.4982C1956.4686,-111.3248 1965.9516,-105.5296 1974.9389,-100.0373\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1976.9973,-102.8813 1983.705,-94.6803 1973.3471,-96.9083 1976.9973,-102.8813\"/>\n</g>\n<!-- layer2_block1_bn1 -->\n<g id=\"node24\" class=\"node\">\n<title>layer2_block1_bn1</title>\n<g id=\"a_node24\"><a xlink:title=\"BatchNorm2d {'num_features': 128, 'eps': 1e-05, 'momentum': 0.1, 'affine': True, 'track_running_stats': True}\">\n<path fill=\"#ffffb3\" stroke=\"#000000\" d=\"M2116,-96C2116,-96 2086,-96 2086,-96 2080,-96 2074,-90 2074,-84 2074,-84 2074,-72 2074,-72 2074,-66 2080,-60 2086,-60 2086,-60 2116,-60 2116,-60 2122,-60 2128,-66 2128,-72 2128,-72 2128,-84 2128,-84 2128,-90 2122,-96 2116,-96\"/>\n<text text-anchor=\"middle\" x=\"2101\" y=\"-74.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">bn1</text>\n</a>\n</g>\n</g>\n<!-- layer2_block0_add->layer2_block1_bn1 -->\n<g id=\"edge27\" class=\"edge\">\n<title>layer2_block0_add->layer2_block1_bn1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2038.003,-78C2046.0277,-78 2054.9665,-78 2063.5309,-78\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2063.7051,-81.5001 2073.705,-78 2063.705,-74.5001 2063.7051,-81.5001\"/>\n</g>\n<!-- layer2_block1_relu1 -->\n<g id=\"node25\" class=\"node\">\n<title>layer2_block1_relu1</title>\n<g id=\"a_node25\"><a xlink:title=\"ReLU {'inplace': True}\">\n<path fill=\"#fb8072\" stroke=\"#000000\" d=\"M2206,-96C2206,-96 2176,-96 2176,-96 2170,-96 2164,-90 2164,-84 2164,-84 2164,-72 2164,-72 2164,-66 2170,-60 2176,-60 2176,-60 2206,-60 2206,-60 2212,-60 2218,-66 2218,-72 2218,-72 2218,-84 2218,-84 2218,-90 2212,-96 2206,-96\"/>\n<text text-anchor=\"middle\" x=\"2191\" y=\"-74.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">relu1</text>\n</a>\n</g>\n</g>\n<!-- layer2_block1_bn1->layer2_block1_relu1 -->\n<g id=\"edge28\" class=\"edge\">\n<title>layer2_block1_bn1->layer2_block1_relu1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2128.003,-78C2136.0277,-78 2144.9665,-78 2153.5309,-78\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2153.7051,-81.5001 2163.705,-78 2153.705,-74.5001 2153.7051,-81.5001\"/>\n</g>\n<!-- layer2_block1_branch_conv1 -->\n<g id=\"node26\" class=\"node\">\n<title>layer2_block1_branch_conv1</title>\n<g id=\"a_node26\"><a xlink:title=\"Conv2d {'in_channels': 128, 'out_channels': 128, 'kernel_size': (3, 3), 'stride': (1, 1), 'padding': (1, 1), 'dilation': (1, 1), 'groups': 1, 'bias': None, 'padding_mode': 'zeros'}\">\n<path fill=\"#bebada\" stroke=\"#000000\" d=\"M2296,-76C2296,-76 2266,-76 2266,-76 2260,-76 2254,-70 2254,-64 2254,-64 2254,-52 2254,-52 2254,-46 2260,-40 2266,-40 2266,-40 2296,-40 2296,-40 2302,-40 2308,-46 2308,-52 2308,-52 2308,-64 2308,-64 2308,-70 2302,-76 2296,-76\"/>\n<text text-anchor=\"middle\" x=\"2281\" y=\"-54.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">conv1</text>\n</a>\n</g>\n</g>\n<!-- layer2_block1_relu1->layer2_block1_branch_conv1 -->\n<g id=\"edge29\" class=\"edge\">\n<title>layer2_block1_relu1->layer2_block1_branch_conv1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2218.003,-71.9993C2226.1158,-70.1965 2235.1631,-68.186 2243.8131,-66.2638\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2244.7024,-69.6516 2253.705,-64.0655 2243.1839,-62.8183 2244.7024,-69.6516\"/>\n</g>\n<!-- layer2_block1_add -->\n<g id=\"node30\" class=\"node\">\n<title>layer2_block1_add</title>\n<g id=\"a_node30\"><a xlink:title=\"Add {}\">\n<path fill=\"#8dd3c7\" stroke=\"#000000\" d=\"M2656,-96C2656,-96 2626,-96 2626,-96 2620,-96 2614,-90 2614,-84 2614,-84 2614,-72 2614,-72 2614,-66 2620,-60 2626,-60 2626,-60 2656,-60 2656,-60 2662,-60 2668,-66 2668,-72 2668,-72 2668,-84 2668,-84 2668,-90 2662,-96 2656,-96\"/>\n<text text-anchor=\"middle\" x=\"2641\" y=\"-74.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">add</text>\n</a>\n</g>\n</g>\n<!-- layer2_block1_relu1->layer2_block1_add -->\n<g id=\"edge33\" class=\"edge\">\n<title>layer2_block1_relu1->layer2_block1_add</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2215.2203,-96.104C2224.3892,-101.9663 2235.2234,-107.7818 2246,-111 2299.2752,-126.9095 2315.4,-116 2371,-116 2371,-116 2371,-116 2461,-116 2516.6,-116 2532.7248,-126.9095 2586,-111 2593.4089,-108.7875 2600.845,-105.3474 2607.7486,-101.5084\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2609.996,-104.2423 2616.7797,-96.104 2606.4015,-98.2356 2609.996,-104.2423\"/>\n</g>\n<!-- layer2_block1_branch_bn2 -->\n<g id=\"node27\" class=\"node\">\n<title>layer2_block1_branch_bn2</title>\n<g id=\"a_node27\"><a xlink:title=\"BatchNorm2d {'num_features': 128, 'eps': 1e-05, 'momentum': 0.1, 'affine': True, 'track_running_stats': True}\">\n<path fill=\"#ffffb3\" stroke=\"#000000\" d=\"M2386,-76C2386,-76 2356,-76 2356,-76 2350,-76 2344,-70 2344,-64 2344,-64 2344,-52 2344,-52 2344,-46 2350,-40 2356,-40 2356,-40 2386,-40 2386,-40 2392,-40 2398,-46 2398,-52 2398,-52 2398,-64 2398,-64 2398,-70 2392,-76 2386,-76\"/>\n<text text-anchor=\"middle\" x=\"2371\" y=\"-54.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">bn2</text>\n</a>\n</g>\n</g>\n<!-- layer2_block1_branch_conv1->layer2_block1_branch_bn2 -->\n<g id=\"edge30\" class=\"edge\">\n<title>layer2_block1_branch_conv1->layer2_block1_branch_bn2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2308.003,-58C2316.0277,-58 2324.9665,-58 2333.5309,-58\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2333.7051,-61.5001 2343.705,-58 2333.705,-54.5001 2333.7051,-61.5001\"/>\n</g>\n<!-- layer2_block1_branch_relu2 -->\n<g id=\"node28\" class=\"node\">\n<title>layer2_block1_branch_relu2</title>\n<g id=\"a_node28\"><a xlink:title=\"ReLU {'inplace': True}\">\n<path fill=\"#fb8072\" stroke=\"#000000\" d=\"M2476,-76C2476,-76 2446,-76 2446,-76 2440,-76 2434,-70 2434,-64 2434,-64 2434,-52 2434,-52 2434,-46 2440,-40 2446,-40 2446,-40 2476,-40 2476,-40 2482,-40 2488,-46 2488,-52 2488,-52 2488,-64 2488,-64 2488,-70 2482,-76 2476,-76\"/>\n<text text-anchor=\"middle\" x=\"2461\" y=\"-54.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">relu2</text>\n</a>\n</g>\n</g>\n<!-- layer2_block1_branch_bn2->layer2_block1_branch_relu2 -->\n<g id=\"edge31\" class=\"edge\">\n<title>layer2_block1_branch_bn2->layer2_block1_branch_relu2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2398.003,-58C2406.0277,-58 2414.9665,-58 2423.5309,-58\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2423.7051,-61.5001 2433.705,-58 2423.705,-54.5001 2423.7051,-61.5001\"/>\n</g>\n<!-- layer2_block1_branch_conv2 -->\n<g id=\"node29\" class=\"node\">\n<title>layer2_block1_branch_conv2</title>\n<g id=\"a_node29\"><a xlink:title=\"Conv2d {'in_channels': 128, 'out_channels': 128, 'kernel_size': (3, 3), 'stride': (1, 1), 'padding': (1, 1), 'dilation': (1, 1), 'groups': 1, 'bias': None, 'padding_mode': 'zeros'}\">\n<path fill=\"#bebada\" stroke=\"#000000\" d=\"M2566,-76C2566,-76 2536,-76 2536,-76 2530,-76 2524,-70 2524,-64 2524,-64 2524,-52 2524,-52 2524,-46 2530,-40 2536,-40 2536,-40 2566,-40 2566,-40 2572,-40 2578,-46 2578,-52 2578,-52 2578,-64 2578,-64 2578,-70 2572,-76 2566,-76\"/>\n<text text-anchor=\"middle\" x=\"2551\" y=\"-54.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">conv2</text>\n</a>\n</g>\n</g>\n<!-- layer2_block1_branch_relu2->layer2_block1_branch_conv2 -->\n<g id=\"edge32\" class=\"edge\">\n<title>layer2_block1_branch_relu2->layer2_block1_branch_conv2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2488.003,-58C2496.0277,-58 2504.9665,-58 2513.5309,-58\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2513.7051,-61.5001 2523.705,-58 2513.705,-54.5001 2513.7051,-61.5001\"/>\n</g>\n<!-- layer2_block1_branch_conv2->layer2_block1_add -->\n<g id=\"edge34\" class=\"edge\">\n<title>layer2_block1_branch_conv2->layer2_block1_add</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2578.003,-64.0007C2586.1158,-65.8035 2595.1631,-67.814 2603.8131,-69.7362\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2603.1839,-73.1817 2613.705,-71.9345 2604.7024,-66.3484 2603.1839,-73.1817\"/>\n</g>\n<!-- layer3_block0_bn1 -->\n<g id=\"node31\" class=\"node\">\n<title>layer3_block0_bn1</title>\n<g id=\"a_node31\"><a xlink:title=\"BatchNorm2d {'num_features': 128, 'eps': 1e-05, 'momentum': 0.1, 'affine': True, 'track_running_stats': True}\">\n<path fill=\"#ffffb3\" stroke=\"#000000\" d=\"M2750,-96C2750,-96 2720,-96 2720,-96 2714,-96 2708,-90 2708,-84 2708,-84 2708,-72 2708,-72 2708,-66 2714,-60 2720,-60 2720,-60 2750,-60 2750,-60 2756,-60 2762,-66 2762,-72 2762,-72 2762,-84 2762,-84 2762,-90 2756,-96 2750,-96\"/>\n<text text-anchor=\"middle\" x=\"2735\" y=\"-74.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">bn1</text>\n</a>\n</g>\n</g>\n<!-- layer2_block1_add->layer3_block0_bn1 -->\n<g id=\"edge35\" class=\"edge\">\n<title>layer2_block1_add->layer3_block0_bn1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2668.1887,-78C2677.4446,-78 2687.9552,-78 2697.8551,-78\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2697.8724,-81.5001 2707.8724,-78 2697.8724,-74.5001 2697.8724,-81.5001\"/>\n</g>\n<!-- layer3_block0_relu1 -->\n<g id=\"node32\" class=\"node\">\n<title>layer3_block0_relu1</title>\n<g id=\"a_node32\"><a xlink:title=\"ReLU {'inplace': True}\">\n<path fill=\"#fb8072\" stroke=\"#000000\" d=\"M2840,-96C2840,-96 2810,-96 2810,-96 2804,-96 2798,-90 2798,-84 2798,-84 2798,-72 2798,-72 2798,-66 2804,-60 2810,-60 2810,-60 2840,-60 2840,-60 2846,-60 2852,-66 2852,-72 2852,-72 2852,-84 2852,-84 2852,-90 2846,-96 2840,-96\"/>\n<text text-anchor=\"middle\" x=\"2825\" y=\"-74.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">relu1</text>\n</a>\n</g>\n</g>\n<!-- layer3_block0_bn1->layer3_block0_relu1 -->\n<g id=\"edge36\" class=\"edge\">\n<title>layer3_block0_bn1->layer3_block0_relu1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2762.003,-78C2770.0277,-78 2778.9665,-78 2787.5309,-78\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2787.7051,-81.5001 2797.705,-78 2787.705,-74.5001 2787.7051,-81.5001\"/>\n</g>\n<!-- layer3_block0_branch_conv1 -->\n<g id=\"node33\" class=\"node\">\n<title>layer3_block0_branch_conv1</title>\n<g id=\"a_node33\"><a xlink:title=\"Conv2d {'in_channels': 128, 'out_channels': 256, 'kernel_size': (3, 3), 'stride': (2, 2), 'padding': (1, 1), 'dilation': (1, 1), 'groups': 1, 'bias': None, 'padding_mode': 'zeros'}\">\n<path fill=\"#bebada\" stroke=\"#000000\" d=\"M2930,-96C2930,-96 2900,-96 2900,-96 2894,-96 2888,-90 2888,-84 2888,-84 2888,-72 2888,-72 2888,-66 2894,-60 2900,-60 2900,-60 2930,-60 2930,-60 2936,-60 2942,-66 2942,-72 2942,-72 2942,-84 2942,-84 2942,-90 2936,-96 2930,-96\"/>\n<text text-anchor=\"middle\" x=\"2915\" y=\"-74.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">conv1</text>\n</a>\n</g>\n</g>\n<!-- layer3_block0_relu1->layer3_block0_branch_conv1 -->\n<g id=\"edge37\" class=\"edge\">\n<title>layer3_block0_relu1->layer3_block0_branch_conv1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2852.003,-78C2860.0277,-78 2868.9665,-78 2877.5309,-78\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2877.7051,-81.5001 2887.705,-78 2877.705,-74.5001 2877.7051,-81.5001\"/>\n</g>\n<!-- layer3_block0_conv3 -->\n<g id=\"node37\" class=\"node\">\n<title>layer3_block0_conv3</title>\n<g id=\"a_node37\"><a xlink:title=\"Conv2d {'in_channels': 128, 'out_channels': 256, 'kernel_size': (1, 1), 'stride': (2, 2), 'padding': (0, 0), 'dilation': (1, 1), 'groups': 1, 'bias': None, 'padding_mode': 'zeros'}\">\n<path fill=\"#bebada\" stroke=\"#000000\" d=\"M3200,-171C3200,-171 3170,-171 3170,-171 3164,-171 3158,-165 3158,-159 3158,-159 3158,-147 3158,-147 3158,-141 3164,-135 3170,-135 3170,-135 3200,-135 3200,-135 3206,-135 3212,-141 3212,-147 3212,-147 3212,-159 3212,-159 3212,-165 3206,-171 3200,-171\"/>\n<text text-anchor=\"middle\" x=\"3185\" y=\"-149.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">conv3</text>\n</a>\n</g>\n</g>\n<!-- layer3_block0_relu1->layer3_block0_conv3 -->\n<g id=\"edge41\" class=\"edge\">\n<title>layer3_block0_relu1->layer3_block0_conv3</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2838.2001,-96.1273C2848.1851,-108.2974 2863.0445,-123.4395 2880,-131 2969.4229,-170.8742 3088.2975,-164.7143 3147.7782,-158.1531\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3148.3051,-161.6154 3157.8305,-156.9768 3147.4915,-154.6628 3148.3051,-161.6154\"/>\n</g>\n<!-- layer3_block0_branch_bn2 -->\n<g id=\"node34\" class=\"node\">\n<title>layer3_block0_branch_bn2</title>\n<g id=\"a_node34\"><a xlink:title=\"BatchNorm2d {'num_features': 256, 'eps': 1e-05, 'momentum': 0.1, 'affine': True, 'track_running_stats': True}\">\n<path fill=\"#ffffb3\" stroke=\"#000000\" d=\"M3020,-96C3020,-96 2990,-96 2990,-96 2984,-96 2978,-90 2978,-84 2978,-84 2978,-72 2978,-72 2978,-66 2984,-60 2990,-60 2990,-60 3020,-60 3020,-60 3026,-60 3032,-66 3032,-72 3032,-72 3032,-84 3032,-84 3032,-90 3026,-96 3020,-96\"/>\n<text text-anchor=\"middle\" x=\"3005\" y=\"-74.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">bn2</text>\n</a>\n</g>\n</g>\n<!-- layer3_block0_branch_conv1->layer3_block0_branch_bn2 -->\n<g id=\"edge38\" class=\"edge\">\n<title>layer3_block0_branch_conv1->layer3_block0_branch_bn2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M2942.003,-78C2950.0277,-78 2958.9665,-78 2967.5309,-78\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"2967.7051,-81.5001 2977.705,-78 2967.705,-74.5001 2967.7051,-81.5001\"/>\n</g>\n<!-- layer3_block0_branch_relu2 -->\n<g id=\"node35\" class=\"node\">\n<title>layer3_block0_branch_relu2</title>\n<g id=\"a_node35\"><a xlink:title=\"ReLU {'inplace': True}\">\n<path fill=\"#fb8072\" stroke=\"#000000\" d=\"M3110,-96C3110,-96 3080,-96 3080,-96 3074,-96 3068,-90 3068,-84 3068,-84 3068,-72 3068,-72 3068,-66 3074,-60 3080,-60 3080,-60 3110,-60 3110,-60 3116,-60 3122,-66 3122,-72 3122,-72 3122,-84 3122,-84 3122,-90 3116,-96 3110,-96\"/>\n<text text-anchor=\"middle\" x=\"3095\" y=\"-74.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">relu2</text>\n</a>\n</g>\n</g>\n<!-- layer3_block0_branch_bn2->layer3_block0_branch_relu2 -->\n<g id=\"edge39\" class=\"edge\">\n<title>layer3_block0_branch_bn2->layer3_block0_branch_relu2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3032.003,-78C3040.0277,-78 3048.9665,-78 3057.5309,-78\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3057.7051,-81.5001 3067.705,-78 3057.705,-74.5001 3057.7051,-81.5001\"/>\n</g>\n<!-- layer3_block0_branch_conv2 -->\n<g id=\"node36\" class=\"node\">\n<title>layer3_block0_branch_conv2</title>\n<g id=\"a_node36\"><a xlink:title=\"Conv2d {'in_channels': 256, 'out_channels': 256, 'kernel_size': (3, 3), 'stride': (1, 1), 'padding': (1, 1), 'dilation': (1, 1), 'groups': 1, 'bias': None, 'padding_mode': 'zeros'}\">\n<path fill=\"#bebada\" stroke=\"#000000\" d=\"M3200,-96C3200,-96 3170,-96 3170,-96 3164,-96 3158,-90 3158,-84 3158,-84 3158,-72 3158,-72 3158,-66 3164,-60 3170,-60 3170,-60 3200,-60 3200,-60 3206,-60 3212,-66 3212,-72 3212,-72 3212,-84 3212,-84 3212,-90 3206,-96 3200,-96\"/>\n<text text-anchor=\"middle\" x=\"3185\" y=\"-74.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">conv2</text>\n</a>\n</g>\n</g>\n<!-- layer3_block0_branch_relu2->layer3_block0_branch_conv2 -->\n<g id=\"edge40\" class=\"edge\">\n<title>layer3_block0_branch_relu2->layer3_block0_branch_conv2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3122.003,-78C3130.0277,-78 3138.9665,-78 3147.5309,-78\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3147.7051,-81.5001 3157.705,-78 3147.705,-74.5001 3147.7051,-81.5001\"/>\n</g>\n<!-- layer3_block0_add -->\n<g id=\"node38\" class=\"node\">\n<title>layer3_block0_add</title>\n<g id=\"a_node38\"><a xlink:title=\"Add {}\">\n<path fill=\"#8dd3c7\" stroke=\"#000000\" d=\"M3290,-96C3290,-96 3260,-96 3260,-96 3254,-96 3248,-90 3248,-84 3248,-84 3248,-72 3248,-72 3248,-66 3254,-60 3260,-60 3260,-60 3290,-60 3290,-60 3296,-60 3302,-66 3302,-72 3302,-72 3302,-84 3302,-84 3302,-90 3296,-96 3290,-96\"/>\n<text text-anchor=\"middle\" x=\"3275\" y=\"-74.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">add</text>\n</a>\n</g>\n</g>\n<!-- layer3_block0_branch_conv2->layer3_block0_add -->\n<g id=\"edge43\" class=\"edge\">\n<title>layer3_block0_branch_conv2->layer3_block0_add</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3212.003,-78C3220.0277,-78 3228.9665,-78 3237.5309,-78\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3237.7051,-81.5001 3247.705,-78 3237.705,-74.5001 3237.7051,-81.5001\"/>\n</g>\n<!-- layer3_block0_conv3->layer3_block0_add -->\n<g id=\"edge42\" class=\"edge\">\n<title>layer3_block0_conv3->layer3_block0_add</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3212.1371,-136.7304C3214.8471,-134.8733 3217.5131,-132.9462 3220,-131 3230.7122,-122.617 3241.6703,-112.4425 3250.9574,-103.2582\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3253.4462,-105.7192 3258.0106,-96.158 3248.48,-100.7859 3253.4462,-105.7192\"/>\n</g>\n<!-- layer3_block1_bn1 -->\n<g id=\"node39\" class=\"node\">\n<title>layer3_block1_bn1</title>\n<g id=\"a_node39\"><a xlink:title=\"BatchNorm2d {'num_features': 256, 'eps': 1e-05, 'momentum': 0.1, 'affine': True, 'track_running_stats': True}\">\n<path fill=\"#ffffb3\" stroke=\"#000000\" d=\"M3380,-96C3380,-96 3350,-96 3350,-96 3344,-96 3338,-90 3338,-84 3338,-84 3338,-72 3338,-72 3338,-66 3344,-60 3350,-60 3350,-60 3380,-60 3380,-60 3386,-60 3392,-66 3392,-72 3392,-72 3392,-84 3392,-84 3392,-90 3386,-96 3380,-96\"/>\n<text text-anchor=\"middle\" x=\"3365\" y=\"-74.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">bn1</text>\n</a>\n</g>\n</g>\n<!-- layer3_block0_add->layer3_block1_bn1 -->\n<g id=\"edge44\" class=\"edge\">\n<title>layer3_block0_add->layer3_block1_bn1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3302.003,-78C3310.0277,-78 3318.9665,-78 3327.5309,-78\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3327.7051,-81.5001 3337.705,-78 3327.705,-74.5001 3327.7051,-81.5001\"/>\n</g>\n<!-- layer3_block1_relu1 -->\n<g id=\"node40\" class=\"node\">\n<title>layer3_block1_relu1</title>\n<g id=\"a_node40\"><a xlink:title=\"ReLU {'inplace': True}\">\n<path fill=\"#fb8072\" stroke=\"#000000\" d=\"M3470,-96C3470,-96 3440,-96 3440,-96 3434,-96 3428,-90 3428,-84 3428,-84 3428,-72 3428,-72 3428,-66 3434,-60 3440,-60 3440,-60 3470,-60 3470,-60 3476,-60 3482,-66 3482,-72 3482,-72 3482,-84 3482,-84 3482,-90 3476,-96 3470,-96\"/>\n<text text-anchor=\"middle\" x=\"3455\" y=\"-74.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">relu1</text>\n</a>\n</g>\n</g>\n<!-- layer3_block1_bn1->layer3_block1_relu1 -->\n<g id=\"edge45\" class=\"edge\">\n<title>layer3_block1_bn1->layer3_block1_relu1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3392.003,-78C3400.0277,-78 3408.9665,-78 3417.5309,-78\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3417.7051,-81.5001 3427.705,-78 3417.705,-74.5001 3417.7051,-81.5001\"/>\n</g>\n<!-- layer3_block1_branch_conv1 -->\n<g id=\"node41\" class=\"node\">\n<title>layer3_block1_branch_conv1</title>\n<g id=\"a_node41\"><a xlink:title=\"Conv2d {'in_channels': 256, 'out_channels': 256, 'kernel_size': (3, 3), 'stride': (1, 1), 'padding': (1, 1), 'dilation': (1, 1), 'groups': 1, 'bias': None, 'padding_mode': 'zeros'}\">\n<path fill=\"#bebada\" stroke=\"#000000\" d=\"M3560,-96C3560,-96 3530,-96 3530,-96 3524,-96 3518,-90 3518,-84 3518,-84 3518,-72 3518,-72 3518,-66 3524,-60 3530,-60 3530,-60 3560,-60 3560,-60 3566,-60 3572,-66 3572,-72 3572,-72 3572,-84 3572,-84 3572,-90 3566,-96 3560,-96\"/>\n<text text-anchor=\"middle\" x=\"3545\" y=\"-74.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">conv1</text>\n</a>\n</g>\n</g>\n<!-- layer3_block1_relu1->layer3_block1_branch_conv1 -->\n<g id=\"edge46\" class=\"edge\">\n<title>layer3_block1_relu1->layer3_block1_branch_conv1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3482.003,-78C3490.0277,-78 3498.9665,-78 3507.5309,-78\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3507.7051,-81.5001 3517.705,-78 3507.705,-74.5001 3507.7051,-81.5001\"/>\n</g>\n<!-- layer3_block1_add -->\n<g id=\"node45\" class=\"node\">\n<title>layer3_block1_add</title>\n<g id=\"a_node45\"><a xlink:title=\"Add {}\">\n<path fill=\"#8dd3c7\" stroke=\"#000000\" d=\"M3920,-116C3920,-116 3890,-116 3890,-116 3884,-116 3878,-110 3878,-104 3878,-104 3878,-92 3878,-92 3878,-86 3884,-80 3890,-80 3890,-80 3920,-80 3920,-80 3926,-80 3932,-86 3932,-92 3932,-92 3932,-104 3932,-104 3932,-110 3926,-116 3920,-116\"/>\n<text text-anchor=\"middle\" x=\"3905\" y=\"-94.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">add</text>\n</a>\n</g>\n</g>\n<!-- layer3_block1_relu1->layer3_block1_add -->\n<g id=\"edge50\" class=\"edge\">\n<title>layer3_block1_relu1->layer3_block1_add</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3467.9144,-96.0331C3477.8654,-108.3273 3492.8037,-123.6599 3510,-131 3561.1364,-152.8272 3579.4,-136 3635,-136 3635,-136 3635,-136 3725,-136 3780.6,-136 3796.7248,-146.9095 3850,-131 3857.4089,-128.7875 3864.845,-125.3474 3871.7486,-121.5084\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3873.996,-124.2423 3880.7797,-116.104 3870.4015,-118.2356 3873.996,-124.2423\"/>\n</g>\n<!-- layer3_block1_branch_bn2 -->\n<g id=\"node42\" class=\"node\">\n<title>layer3_block1_branch_bn2</title>\n<g id=\"a_node42\"><a xlink:title=\"BatchNorm2d {'num_features': 256, 'eps': 1e-05, 'momentum': 0.1, 'affine': True, 'track_running_stats': True}\">\n<path fill=\"#ffffb3\" stroke=\"#000000\" d=\"M3650,-96C3650,-96 3620,-96 3620,-96 3614,-96 3608,-90 3608,-84 3608,-84 3608,-72 3608,-72 3608,-66 3614,-60 3620,-60 3620,-60 3650,-60 3650,-60 3656,-60 3662,-66 3662,-72 3662,-72 3662,-84 3662,-84 3662,-90 3656,-96 3650,-96\"/>\n<text text-anchor=\"middle\" x=\"3635\" y=\"-74.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">bn2</text>\n</a>\n</g>\n</g>\n<!-- layer3_block1_branch_conv1->layer3_block1_branch_bn2 -->\n<g id=\"edge47\" class=\"edge\">\n<title>layer3_block1_branch_conv1->layer3_block1_branch_bn2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3572.003,-78C3580.0277,-78 3588.9665,-78 3597.5309,-78\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3597.7051,-81.5001 3607.705,-78 3597.705,-74.5001 3597.7051,-81.5001\"/>\n</g>\n<!-- layer3_block1_branch_relu2 -->\n<g id=\"node43\" class=\"node\">\n<title>layer3_block1_branch_relu2</title>\n<g id=\"a_node43\"><a xlink:title=\"ReLU {'inplace': True}\">\n<path fill=\"#fb8072\" stroke=\"#000000\" d=\"M3740,-96C3740,-96 3710,-96 3710,-96 3704,-96 3698,-90 3698,-84 3698,-84 3698,-72 3698,-72 3698,-66 3704,-60 3710,-60 3710,-60 3740,-60 3740,-60 3746,-60 3752,-66 3752,-72 3752,-72 3752,-84 3752,-84 3752,-90 3746,-96 3740,-96\"/>\n<text text-anchor=\"middle\" x=\"3725\" y=\"-74.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">relu2</text>\n</a>\n</g>\n</g>\n<!-- layer3_block1_branch_bn2->layer3_block1_branch_relu2 -->\n<g id=\"edge48\" class=\"edge\">\n<title>layer3_block1_branch_bn2->layer3_block1_branch_relu2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3662.003,-78C3670.0277,-78 3678.9665,-78 3687.5309,-78\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3687.7051,-81.5001 3697.705,-78 3687.705,-74.5001 3687.7051,-81.5001\"/>\n</g>\n<!-- layer3_block1_branch_conv2 -->\n<g id=\"node44\" class=\"node\">\n<title>layer3_block1_branch_conv2</title>\n<g id=\"a_node44\"><a xlink:title=\"Conv2d {'in_channels': 256, 'out_channels': 256, 'kernel_size': (3, 3), 'stride': (1, 1), 'padding': (1, 1), 'dilation': (1, 1), 'groups': 1, 'bias': None, 'padding_mode': 'zeros'}\">\n<path fill=\"#bebada\" stroke=\"#000000\" d=\"M3830,-96C3830,-96 3800,-96 3800,-96 3794,-96 3788,-90 3788,-84 3788,-84 3788,-72 3788,-72 3788,-66 3794,-60 3800,-60 3800,-60 3830,-60 3830,-60 3836,-60 3842,-66 3842,-72 3842,-72 3842,-84 3842,-84 3842,-90 3836,-96 3830,-96\"/>\n<text text-anchor=\"middle\" x=\"3815\" y=\"-74.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">conv2</text>\n</a>\n</g>\n</g>\n<!-- layer3_block1_branch_relu2->layer3_block1_branch_conv2 -->\n<g id=\"edge49\" class=\"edge\">\n<title>layer3_block1_branch_relu2->layer3_block1_branch_conv2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3752.003,-78C3760.0277,-78 3768.9665,-78 3777.5309,-78\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3777.7051,-81.5001 3787.705,-78 3777.705,-74.5001 3777.7051,-81.5001\"/>\n</g>\n<!-- layer3_block1_branch_conv2->layer3_block1_add -->\n<g id=\"edge51\" class=\"edge\">\n<title>layer3_block1_branch_conv2->layer3_block1_add</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3842.003,-84.0007C3850.1158,-85.8035 3859.1631,-87.814 3867.8131,-89.7362\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3867.1839,-93.1817 3877.705,-91.9345 3868.7024,-86.3484 3867.1839,-93.1817\"/>\n</g>\n<!-- layer4_block0_bn1 -->\n<g id=\"node46\" class=\"node\">\n<title>layer4_block0_bn1</title>\n<g id=\"a_node46\"><a xlink:title=\"BatchNorm2d {'num_features': 256, 'eps': 1e-05, 'momentum': 0.1, 'affine': True, 'track_running_stats': True}\">\n<path fill=\"#ffffb3\" stroke=\"#000000\" d=\"M4014,-116C4014,-116 3984,-116 3984,-116 3978,-116 3972,-110 3972,-104 3972,-104 3972,-92 3972,-92 3972,-86 3978,-80 3984,-80 3984,-80 4014,-80 4014,-80 4020,-80 4026,-86 4026,-92 4026,-92 4026,-104 4026,-104 4026,-110 4020,-116 4014,-116\"/>\n<text text-anchor=\"middle\" x=\"3999\" y=\"-94.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">bn1</text>\n</a>\n</g>\n</g>\n<!-- layer3_block1_add->layer4_block0_bn1 -->\n<g id=\"edge52\" class=\"edge\">\n<title>layer3_block1_add->layer4_block0_bn1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M3932.1887,-98C3941.4446,-98 3951.9552,-98 3961.8551,-98\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"3961.8724,-101.5001 3971.8724,-98 3961.8724,-94.5001 3961.8724,-101.5001\"/>\n</g>\n<!-- layer4_block0_relu1 -->\n<g id=\"node47\" class=\"node\">\n<title>layer4_block0_relu1</title>\n<g id=\"a_node47\"><a xlink:title=\"ReLU {'inplace': True}\">\n<path fill=\"#fb8072\" stroke=\"#000000\" d=\"M4104,-116C4104,-116 4074,-116 4074,-116 4068,-116 4062,-110 4062,-104 4062,-104 4062,-92 4062,-92 4062,-86 4068,-80 4074,-80 4074,-80 4104,-80 4104,-80 4110,-80 4116,-86 4116,-92 4116,-92 4116,-104 4116,-104 4116,-110 4110,-116 4104,-116\"/>\n<text text-anchor=\"middle\" x=\"4089\" y=\"-94.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">relu1</text>\n</a>\n</g>\n</g>\n<!-- layer4_block0_bn1->layer4_block0_relu1 -->\n<g id=\"edge53\" class=\"edge\">\n<title>layer4_block0_bn1->layer4_block0_relu1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4026.003,-98C4034.0277,-98 4042.9665,-98 4051.5309,-98\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"4051.7051,-101.5001 4061.705,-98 4051.705,-94.5001 4051.7051,-101.5001\"/>\n</g>\n<!-- layer4_block0_branch_conv1 -->\n<g id=\"node48\" class=\"node\">\n<title>layer4_block0_branch_conv1</title>\n<g id=\"a_node48\"><a xlink:title=\"Conv2d {'in_channels': 256, 'out_channels': 256, 'kernel_size': (3, 3), 'stride': (2, 2), 'padding': (1, 1), 'dilation': (1, 1), 'groups': 1, 'bias': None, 'padding_mode': 'zeros'}\">\n<path fill=\"#bebada\" stroke=\"#000000\" d=\"M4194,-68C4194,-68 4164,-68 4164,-68 4158,-68 4152,-62 4152,-56 4152,-56 4152,-44 4152,-44 4152,-38 4158,-32 4164,-32 4164,-32 4194,-32 4194,-32 4200,-32 4206,-38 4206,-44 4206,-44 4206,-56 4206,-56 4206,-62 4200,-68 4194,-68\"/>\n<text text-anchor=\"middle\" x=\"4179\" y=\"-46.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">conv1</text>\n</a>\n</g>\n</g>\n<!-- layer4_block0_relu1->layer4_block0_branch_conv1 -->\n<g id=\"edge54\" class=\"edge\">\n<title>layer4_block0_relu1->layer4_block0_branch_conv1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4116.003,-83.5984C4124.3804,-79.1305 4133.7541,-74.1311 4142.6579,-69.3824\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"4144.5286,-72.3515 4151.705,-64.5573 4141.2344,-66.175 4144.5286,-72.3515\"/>\n</g>\n<!-- layer4_block0_conv3 -->\n<g id=\"node52\" class=\"node\">\n<title>layer4_block0_conv3</title>\n<g id=\"a_node52\"><a xlink:title=\"Conv2d {'in_channels': 256, 'out_channels': 256, 'kernel_size': (1, 1), 'stride': (2, 2), 'padding': (0, 0), 'dilation': (1, 1), 'groups': 1, 'bias': None, 'padding_mode': 'zeros'}\">\n<path fill=\"#bebada\" stroke=\"#000000\" d=\"M4464,-143C4464,-143 4434,-143 4434,-143 4428,-143 4422,-137 4422,-131 4422,-131 4422,-119 4422,-119 4422,-113 4428,-107 4434,-107 4434,-107 4464,-107 4464,-107 4470,-107 4476,-113 4476,-119 4476,-119 4476,-131 4476,-131 4476,-137 4470,-143 4464,-143\"/>\n<text text-anchor=\"middle\" x=\"4449\" y=\"-121.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">conv3</text>\n</a>\n</g>\n</g>\n<!-- layer4_block0_relu1->layer4_block0_conv3 -->\n<g id=\"edge58\" class=\"edge\">\n<title>layer4_block0_relu1->layer4_block0_conv3</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4116.1269,-100.5673C4125.0069,-101.3806 4134.9215,-102.26 4144,-103 4240.3883,-110.8569 4354.0339,-118.6716 4411.5727,-122.526\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"4411.4357,-126.0246 4421.6467,-123.1987 4411.9022,-119.0401 4411.4357,-126.0246\"/>\n</g>\n<!-- layer4_block0_branch_bn2 -->\n<g id=\"node49\" class=\"node\">\n<title>layer4_block0_branch_bn2</title>\n<g id=\"a_node49\"><a xlink:title=\"BatchNorm2d {'num_features': 256, 'eps': 1e-05, 'momentum': 0.1, 'affine': True, 'track_running_stats': True}\">\n<path fill=\"#ffffb3\" stroke=\"#000000\" d=\"M4284,-68C4284,-68 4254,-68 4254,-68 4248,-68 4242,-62 4242,-56 4242,-56 4242,-44 4242,-44 4242,-38 4248,-32 4254,-32 4254,-32 4284,-32 4284,-32 4290,-32 4296,-38 4296,-44 4296,-44 4296,-56 4296,-56 4296,-62 4290,-68 4284,-68\"/>\n<text text-anchor=\"middle\" x=\"4269\" y=\"-46.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">bn2</text>\n</a>\n</g>\n</g>\n<!-- layer4_block0_branch_conv1->layer4_block0_branch_bn2 -->\n<g id=\"edge55\" class=\"edge\">\n<title>layer4_block0_branch_conv1->layer4_block0_branch_bn2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4206.003,-50C4214.0277,-50 4222.9665,-50 4231.5309,-50\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"4231.7051,-53.5001 4241.705,-50 4231.705,-46.5001 4231.7051,-53.5001\"/>\n</g>\n<!-- layer4_block0_branch_relu2 -->\n<g id=\"node50\" class=\"node\">\n<title>layer4_block0_branch_relu2</title>\n<g id=\"a_node50\"><a xlink:title=\"ReLU {'inplace': True}\">\n<path fill=\"#fb8072\" stroke=\"#000000\" d=\"M4374,-68C4374,-68 4344,-68 4344,-68 4338,-68 4332,-62 4332,-56 4332,-56 4332,-44 4332,-44 4332,-38 4338,-32 4344,-32 4344,-32 4374,-32 4374,-32 4380,-32 4386,-38 4386,-44 4386,-44 4386,-56 4386,-56 4386,-62 4380,-68 4374,-68\"/>\n<text text-anchor=\"middle\" x=\"4359\" y=\"-46.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">relu2</text>\n</a>\n</g>\n</g>\n<!-- layer4_block0_branch_bn2->layer4_block0_branch_relu2 -->\n<g id=\"edge56\" class=\"edge\">\n<title>layer4_block0_branch_bn2->layer4_block0_branch_relu2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4296.003,-50C4304.0277,-50 4312.9665,-50 4321.5309,-50\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"4321.7051,-53.5001 4331.705,-50 4321.705,-46.5001 4321.7051,-53.5001\"/>\n</g>\n<!-- layer4_block0_branch_conv2 -->\n<g id=\"node51\" class=\"node\">\n<title>layer4_block0_branch_conv2</title>\n<g id=\"a_node51\"><a xlink:title=\"Conv2d {'in_channels': 256, 'out_channels': 256, 'kernel_size': (3, 3), 'stride': (1, 1), 'padding': (1, 1), 'dilation': (1, 1), 'groups': 1, 'bias': None, 'padding_mode': 'zeros'}\">\n<path fill=\"#bebada\" stroke=\"#000000\" d=\"M4464,-68C4464,-68 4434,-68 4434,-68 4428,-68 4422,-62 4422,-56 4422,-56 4422,-44 4422,-44 4422,-38 4428,-32 4434,-32 4434,-32 4464,-32 4464,-32 4470,-32 4476,-38 4476,-44 4476,-44 4476,-56 4476,-56 4476,-62 4470,-68 4464,-68\"/>\n<text text-anchor=\"middle\" x=\"4449\" y=\"-46.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">conv2</text>\n</a>\n</g>\n</g>\n<!-- layer4_block0_branch_relu2->layer4_block0_branch_conv2 -->\n<g id=\"edge57\" class=\"edge\">\n<title>layer4_block0_branch_relu2->layer4_block0_branch_conv2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4386.003,-50C4394.0277,-50 4402.9665,-50 4411.5309,-50\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"4411.7051,-53.5001 4421.705,-50 4411.705,-46.5001 4411.7051,-53.5001\"/>\n</g>\n<!-- layer4_block0_add -->\n<g id=\"node53\" class=\"node\">\n<title>layer4_block0_add</title>\n<g id=\"a_node53\"><a xlink:title=\"Add {}\">\n<path fill=\"#8dd3c7\" stroke=\"#000000\" d=\"M4554,-68C4554,-68 4524,-68 4524,-68 4518,-68 4512,-62 4512,-56 4512,-56 4512,-44 4512,-44 4512,-38 4518,-32 4524,-32 4524,-32 4554,-32 4554,-32 4560,-32 4566,-38 4566,-44 4566,-44 4566,-56 4566,-56 4566,-62 4560,-68 4554,-68\"/>\n<text text-anchor=\"middle\" x=\"4539\" y=\"-46.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">add</text>\n</a>\n</g>\n</g>\n<!-- layer4_block0_branch_conv2->layer4_block0_add -->\n<g id=\"edge60\" class=\"edge\">\n<title>layer4_block0_branch_conv2->layer4_block0_add</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4476.003,-50C4484.0277,-50 4492.9665,-50 4501.5309,-50\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"4501.7051,-53.5001 4511.705,-50 4501.705,-46.5001 4501.7051,-53.5001\"/>\n</g>\n<!-- layer4_block0_conv3->layer4_block0_add -->\n<g id=\"edge59\" class=\"edge\">\n<title>layer4_block0_conv3->layer4_block0_add</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4476.1371,-108.7304C4478.8471,-106.8733 4481.5131,-104.9462 4484,-103 4494.7122,-94.617 4505.6703,-84.4425 4514.9574,-75.2582\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"4517.4462,-77.7192 4522.0106,-68.158 4512.48,-72.7859 4517.4462,-77.7192\"/>\n</g>\n<!-- layer4_block1_bn1 -->\n<g id=\"node54\" class=\"node\">\n<title>layer4_block1_bn1</title>\n<g id=\"a_node54\"><a xlink:title=\"BatchNorm2d {'num_features': 256, 'eps': 1e-05, 'momentum': 0.1, 'affine': True, 'track_running_stats': True}\">\n<path fill=\"#ffffb3\" stroke=\"#000000\" d=\"M4644,-68C4644,-68 4614,-68 4614,-68 4608,-68 4602,-62 4602,-56 4602,-56 4602,-44 4602,-44 4602,-38 4608,-32 4614,-32 4614,-32 4644,-32 4644,-32 4650,-32 4656,-38 4656,-44 4656,-44 4656,-56 4656,-56 4656,-62 4650,-68 4644,-68\"/>\n<text text-anchor=\"middle\" x=\"4629\" y=\"-46.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">bn1</text>\n</a>\n</g>\n</g>\n<!-- layer4_block0_add->layer4_block1_bn1 -->\n<g id=\"edge61\" class=\"edge\">\n<title>layer4_block0_add->layer4_block1_bn1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4566.003,-50C4574.0277,-50 4582.9665,-50 4591.5309,-50\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"4591.7051,-53.5001 4601.705,-50 4591.705,-46.5001 4591.7051,-53.5001\"/>\n</g>\n<!-- layer4_block1_relu1 -->\n<g id=\"node55\" class=\"node\">\n<title>layer4_block1_relu1</title>\n<g id=\"a_node55\"><a xlink:title=\"ReLU {'inplace': True}\">\n<path fill=\"#fb8072\" stroke=\"#000000\" d=\"M4734,-68C4734,-68 4704,-68 4704,-68 4698,-68 4692,-62 4692,-56 4692,-56 4692,-44 4692,-44 4692,-38 4698,-32 4704,-32 4704,-32 4734,-32 4734,-32 4740,-32 4746,-38 4746,-44 4746,-44 4746,-56 4746,-56 4746,-62 4740,-68 4734,-68\"/>\n<text text-anchor=\"middle\" x=\"4719\" y=\"-46.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">relu1</text>\n</a>\n</g>\n</g>\n<!-- layer4_block1_bn1->layer4_block1_relu1 -->\n<g id=\"edge62\" class=\"edge\">\n<title>layer4_block1_bn1->layer4_block1_relu1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4656.003,-50C4664.0277,-50 4672.9665,-50 4681.5309,-50\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"4681.7051,-53.5001 4691.705,-50 4681.705,-46.5001 4681.7051,-53.5001\"/>\n</g>\n<!-- layer4_block1_branch_conv1 -->\n<g id=\"node56\" class=\"node\">\n<title>layer4_block1_branch_conv1</title>\n<g id=\"a_node56\"><a xlink:title=\"Conv2d {'in_channels': 256, 'out_channels': 256, 'kernel_size': (3, 3), 'stride': (1, 1), 'padding': (1, 1), 'dilation': (1, 1), 'groups': 1, 'bias': None, 'padding_mode': 'zeros'}\">\n<path fill=\"#bebada\" stroke=\"#000000\" d=\"M4824,-68C4824,-68 4794,-68 4794,-68 4788,-68 4782,-62 4782,-56 4782,-56 4782,-44 4782,-44 4782,-38 4788,-32 4794,-32 4794,-32 4824,-32 4824,-32 4830,-32 4836,-38 4836,-44 4836,-44 4836,-56 4836,-56 4836,-62 4830,-68 4824,-68\"/>\n<text text-anchor=\"middle\" x=\"4809\" y=\"-46.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">conv1</text>\n</a>\n</g>\n</g>\n<!-- layer4_block1_relu1->layer4_block1_branch_conv1 -->\n<g id=\"edge63\" class=\"edge\">\n<title>layer4_block1_relu1->layer4_block1_branch_conv1</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4746.003,-50C4754.0277,-50 4762.9665,-50 4771.5309,-50\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"4771.7051,-53.5001 4781.705,-50 4771.705,-46.5001 4771.7051,-53.5001\"/>\n</g>\n<!-- layer4_block1_add -->\n<g id=\"node60\" class=\"node\">\n<title>layer4_block1_add</title>\n<g id=\"a_node60\"><a xlink:title=\"Add {}\">\n<path fill=\"#8dd3c7\" stroke=\"#000000\" d=\"M5184,-88C5184,-88 5154,-88 5154,-88 5148,-88 5142,-82 5142,-76 5142,-76 5142,-64 5142,-64 5142,-58 5148,-52 5154,-52 5154,-52 5184,-52 5184,-52 5190,-52 5196,-58 5196,-64 5196,-64 5196,-76 5196,-76 5196,-82 5190,-88 5184,-88\"/>\n<text text-anchor=\"middle\" x=\"5169\" y=\"-66.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">add</text>\n</a>\n</g>\n</g>\n<!-- layer4_block1_relu1->layer4_block1_add -->\n<g id=\"edge67\" class=\"edge\">\n<title>layer4_block1_relu1->layer4_block1_add</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4731.9144,-68.0331C4741.8654,-80.3273 4756.8037,-95.6599 4774,-103 4825.1364,-124.8272 4843.4,-108 4899,-108 4899,-108 4899,-108 4989,-108 5044.6,-108 5060.7248,-118.9095 5114,-103 5121.4089,-100.7875 5128.845,-97.3474 5135.7486,-93.5084\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"5137.996,-96.2423 5144.7797,-88.104 5134.4015,-90.2356 5137.996,-96.2423\"/>\n</g>\n<!-- layer4_block1_branch_bn2 -->\n<g id=\"node57\" class=\"node\">\n<title>layer4_block1_branch_bn2</title>\n<g id=\"a_node57\"><a xlink:title=\"BatchNorm2d {'num_features': 256, 'eps': 1e-05, 'momentum': 0.1, 'affine': True, 'track_running_stats': True}\">\n<path fill=\"#ffffb3\" stroke=\"#000000\" d=\"M4914,-68C4914,-68 4884,-68 4884,-68 4878,-68 4872,-62 4872,-56 4872,-56 4872,-44 4872,-44 4872,-38 4878,-32 4884,-32 4884,-32 4914,-32 4914,-32 4920,-32 4926,-38 4926,-44 4926,-44 4926,-56 4926,-56 4926,-62 4920,-68 4914,-68\"/>\n<text text-anchor=\"middle\" x=\"4899\" y=\"-46.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">bn2</text>\n</a>\n</g>\n</g>\n<!-- layer4_block1_branch_conv1->layer4_block1_branch_bn2 -->\n<g id=\"edge64\" class=\"edge\">\n<title>layer4_block1_branch_conv1->layer4_block1_branch_bn2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4836.003,-50C4844.0277,-50 4852.9665,-50 4861.5309,-50\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"4861.7051,-53.5001 4871.705,-50 4861.705,-46.5001 4861.7051,-53.5001\"/>\n</g>\n<!-- layer4_block1_branch_relu2 -->\n<g id=\"node58\" class=\"node\">\n<title>layer4_block1_branch_relu2</title>\n<g id=\"a_node58\"><a xlink:title=\"ReLU {'inplace': True}\">\n<path fill=\"#fb8072\" stroke=\"#000000\" d=\"M5004,-68C5004,-68 4974,-68 4974,-68 4968,-68 4962,-62 4962,-56 4962,-56 4962,-44 4962,-44 4962,-38 4968,-32 4974,-32 4974,-32 5004,-32 5004,-32 5010,-32 5016,-38 5016,-44 5016,-44 5016,-56 5016,-56 5016,-62 5010,-68 5004,-68\"/>\n<text text-anchor=\"middle\" x=\"4989\" y=\"-46.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">relu2</text>\n</a>\n</g>\n</g>\n<!-- layer4_block1_branch_bn2->layer4_block1_branch_relu2 -->\n<g id=\"edge65\" class=\"edge\">\n<title>layer4_block1_branch_bn2->layer4_block1_branch_relu2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M4926.003,-50C4934.0277,-50 4942.9665,-50 4951.5309,-50\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"4951.7051,-53.5001 4961.705,-50 4951.705,-46.5001 4951.7051,-53.5001\"/>\n</g>\n<!-- layer4_block1_branch_conv2 -->\n<g id=\"node59\" class=\"node\">\n<title>layer4_block1_branch_conv2</title>\n<g id=\"a_node59\"><a xlink:title=\"Conv2d {'in_channels': 256, 'out_channels': 256, 'kernel_size': (3, 3), 'stride': (1, 1), 'padding': (1, 1), 'dilation': (1, 1), 'groups': 1, 'bias': None, 'padding_mode': 'zeros'}\">\n<path fill=\"#bebada\" stroke=\"#000000\" d=\"M5094,-68C5094,-68 5064,-68 5064,-68 5058,-68 5052,-62 5052,-56 5052,-56 5052,-44 5052,-44 5052,-38 5058,-32 5064,-32 5064,-32 5094,-32 5094,-32 5100,-32 5106,-38 5106,-44 5106,-44 5106,-56 5106,-56 5106,-62 5100,-68 5094,-68\"/>\n<text text-anchor=\"middle\" x=\"5079\" y=\"-46.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">conv2</text>\n</a>\n</g>\n</g>\n<!-- layer4_block1_branch_relu2->layer4_block1_branch_conv2 -->\n<g id=\"edge66\" class=\"edge\">\n<title>layer4_block1_branch_relu2->layer4_block1_branch_conv2</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M5016.003,-50C5024.0277,-50 5032.9665,-50 5041.5309,-50\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"5041.7051,-53.5001 5051.705,-50 5041.705,-46.5001 5041.7051,-53.5001\"/>\n</g>\n<!-- layer4_block1_branch_conv2->layer4_block1_add -->\n<g id=\"edge68\" class=\"edge\">\n<title>layer4_block1_branch_conv2->layer4_block1_add</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M5106.003,-56.0007C5114.1158,-57.8035 5123.1631,-59.814 5131.8131,-61.7362\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"5131.1839,-65.1817 5141.705,-63.9345 5132.7024,-58.3484 5131.1839,-65.1817\"/>\n</g>\n<!-- final_in -->\n<g id=\"node61\" class=\"node\">\n<title>final_in</title>\n<g id=\"a_node61\"><a xlink:title=\"Identity {}\">\n<path fill=\"#80b1d3\" stroke=\"#000000\" d=\"M5274,-88C5274,-88 5244,-88 5244,-88 5238,-88 5232,-82 5232,-76 5232,-76 5232,-64 5232,-64 5232,-58 5238,-52 5244,-52 5244,-52 5274,-52 5274,-52 5280,-52 5286,-58 5286,-64 5286,-64 5286,-76 5286,-76 5286,-82 5280,-88 5274,-88\"/>\n<text text-anchor=\"middle\" x=\"5259\" y=\"-66.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">in</text>\n</a>\n</g>\n</g>\n<!-- layer4_block1_add->final_in -->\n<g id=\"edge69\" class=\"edge\">\n<title>layer4_block1_add->final_in</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M5196.003,-70C5204.0277,-70 5212.9665,-70 5221.5309,-70\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"5221.7051,-73.5001 5231.705,-70 5221.705,-66.5001 5221.7051,-73.5001\"/>\n</g>\n<!-- final_maxpool -->\n<g id=\"node62\" class=\"node\">\n<title>final_maxpool</title>\n<g id=\"a_node62\"><a xlink:title=\"MaxPool2d {'kernel_size': 4, 'stride': 4, 'padding': 0, 'dilation': 1, 'return_indices': False, 'ceil_mode': False}\">\n<path fill=\"#fdb462\" stroke=\"#000000\" d=\"M5378,-80C5378,-80 5334,-80 5334,-80 5328,-80 5322,-74 5322,-68 5322,-68 5322,-56 5322,-56 5322,-50 5328,-44 5334,-44 5334,-44 5378,-44 5378,-44 5384,-44 5390,-50 5390,-56 5390,-56 5390,-68 5390,-68 5390,-74 5384,-80 5378,-80\"/>\n<text text-anchor=\"middle\" x=\"5356\" y=\"-58.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">maxpool</text>\n</a>\n</g>\n</g>\n<!-- final_in->final_maxpool -->\n<g id=\"edge70\" class=\"edge\">\n<title>final_in->final_maxpool</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M5286.0199,-67.7716C5293.9976,-67.1136 5302.947,-66.3755 5311.7116,-65.6527\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"5312.1677,-69.127 5321.8462,-64.8168 5311.5923,-62.1507 5312.1677,-69.127\"/>\n</g>\n<!-- final_avgpool -->\n<g id=\"node63\" class=\"node\">\n<title>final_avgpool</title>\n<g id=\"a_node63\"><a xlink:title=\"AvgPool2d {'kernel_size': 4, 'stride': 4, 'padding': 0, 'ceil_mode': False, 'count_include_pad': True}\">\n<path fill=\"#b3de69\" stroke=\"#000000\" d=\"M5376,-134C5376,-134 5336,-134 5336,-134 5330,-134 5324,-128 5324,-122 5324,-122 5324,-110 5324,-110 5324,-104 5330,-98 5336,-98 5336,-98 5376,-98 5376,-98 5382,-98 5388,-104 5388,-110 5388,-110 5388,-122 5388,-122 5388,-128 5382,-134 5376,-134\"/>\n<text text-anchor=\"middle\" x=\"5356\" y=\"-112.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">avgpool</text>\n</a>\n</g>\n</g>\n<!-- final_in->final_avgpool -->\n<g id=\"edge71\" class=\"edge\">\n<title>final_in->final_avgpool</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M5286.0199,-82.8136C5294.941,-87.0442 5305.0771,-91.851 5314.8111,-96.4671\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"5313.4324,-99.6869 5323.9676,-100.8094 5316.4319,-93.3621 5313.4324,-99.6869\"/>\n</g>\n<!-- final_concat -->\n<g id=\"node64\" class=\"node\">\n<title>final_concat</title>\n<g id=\"a_node64\"><a xlink:title=\"Concat {}\">\n<path fill=\"#fccde5\" stroke=\"#000000\" d=\"M5468,-107C5468,-107 5438,-107 5438,-107 5432,-107 5426,-101 5426,-95 5426,-95 5426,-83 5426,-83 5426,-77 5432,-71 5438,-71 5438,-71 5468,-71 5468,-71 5474,-71 5480,-77 5480,-83 5480,-83 5480,-95 5480,-95 5480,-101 5474,-107 5468,-107\"/>\n<text text-anchor=\"middle\" x=\"5453\" y=\"-85.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">concat</text>\n</a>\n</g>\n</g>\n<!-- final_maxpool->final_concat -->\n<g id=\"edge72\" class=\"edge\">\n<title>final_maxpool->final_concat</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M5390.1986,-71.5192C5398.5882,-73.8545 5407.6049,-76.3643 5416.1147,-78.733\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"5415.2314,-82.1201 5425.8037,-81.4299 5417.1085,-75.3764 5415.2314,-82.1201\"/>\n</g>\n<!-- final_avgpool->final_concat -->\n<g id=\"edge73\" class=\"edge\">\n<title>final_avgpool->final_concat</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M5388.0303,-107.0844C5397.0269,-104.5801 5406.8815,-101.8371 5416.1355,-99.2613\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"5417.1771,-102.6045 5425.8723,-96.551 5415.3,-95.8608 5417.1771,-102.6045\"/>\n</g>\n<!-- final_flatten -->\n<g id=\"node65\" class=\"node\">\n<title>final_flatten</title>\n<g id=\"a_node65\"><a xlink:title=\"Flatten {}\">\n<path fill=\"#bc80bd\" stroke=\"#000000\" d=\"M5558,-107C5558,-107 5528,-107 5528,-107 5522,-107 5516,-101 5516,-95 5516,-95 5516,-83 5516,-83 5516,-77 5522,-71 5528,-71 5528,-71 5558,-71 5558,-71 5564,-71 5570,-77 5570,-83 5570,-83 5570,-95 5570,-95 5570,-101 5564,-107 5558,-107\"/>\n<text text-anchor=\"middle\" x=\"5543\" y=\"-85.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">flatten</text>\n</a>\n</g>\n</g>\n<!-- final_concat->final_flatten -->\n<g id=\"edge74\" class=\"edge\">\n<title>final_concat->final_flatten</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M5480.003,-89C5488.0277,-89 5496.9665,-89 5505.5309,-89\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"5505.7051,-92.5001 5515.705,-89 5505.705,-85.5001 5505.7051,-92.5001\"/>\n</g>\n<!-- final_linear -->\n<g id=\"node66\" class=\"node\">\n<title>final_linear</title>\n<g id=\"a_node66\"><a xlink:title=\"Linear {'in_features': 512, 'out_features': 10, 'bias': Parameter containing: tensor([ 0.0107,  0.0422,  0.0051,  0.0206, -0.0137,  0.0282,  0.0103,  0.0366,        -0.0066, -0.0154], requires_grad=True)}\">\n<path fill=\"#ccebc5\" stroke=\"#000000\" d=\"M5648,-107C5648,-107 5618,-107 5618,-107 5612,-107 5606,-101 5606,-95 5606,-95 5606,-83 5606,-83 5606,-77 5612,-71 5618,-71 5618,-71 5648,-71 5648,-71 5654,-71 5660,-77 5660,-83 5660,-83 5660,-95 5660,-95 5660,-101 5654,-107 5648,-107\"/>\n<text text-anchor=\"middle\" x=\"5633\" y=\"-85.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">linear</text>\n</a>\n</g>\n</g>\n<!-- final_flatten->final_linear -->\n<g id=\"edge75\" class=\"edge\">\n<title>final_flatten->final_linear</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M5570.003,-89C5578.0277,-89 5586.9665,-89 5595.5309,-89\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"5595.7051,-92.5001 5605.705,-89 5595.705,-85.5001 5595.7051,-92.5001\"/>\n</g>\n<!-- classifier -->\n<g id=\"node67\" class=\"node\">\n<title>classifier</title>\n<g id=\"a_node67\"><a xlink:title=\"Identity {}\">\n<path fill=\"#80b1d3\" stroke=\"#000000\" d=\"M5749,-107C5749,-107 5708,-107 5708,-107 5702,-107 5696,-101 5696,-95 5696,-95 5696,-83 5696,-83 5696,-77 5702,-71 5708,-71 5708,-71 5749,-71 5749,-71 5755,-71 5761,-77 5761,-83 5761,-83 5761,-95 5761,-95 5761,-101 5755,-107 5749,-107\"/>\n<text text-anchor=\"middle\" x=\"5728.5\" y=\"-85.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">classifier</text>\n</a>\n</g>\n</g>\n<!-- final_linear->classifier -->\n<g id=\"edge76\" class=\"edge\">\n<title>final_linear->classifier</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M5660.111,-89C5668.1173,-89 5677.0822,-89 5685.8182,-89\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"5685.8973,-92.5001 5695.8973,-89 5685.8972,-85.5001 5685.8973,-92.5001\"/>\n</g>\n<!-- input -->\n<g id=\"node68\" class=\"node\">\n<title>input</title>\n<path fill=\"#ffffff\" stroke=\"#000000\" d=\"M42,-105C42,-105 12,-105 12,-105 6,-105 0,-99 0,-93 0,-93 0,-81 0,-81 0,-75 6,-69 12,-69 12,-69 42,-69 42,-69 48,-69 54,-75 54,-81 54,-81 54,-93 54,-93 54,-99 48,-105 42,-105\"/>\n<text text-anchor=\"middle\" x=\"27\" y=\"-83.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">input</text>\n</g>\n<!-- input->prep_conv -->\n<g id=\"edge1\" class=\"edge\">\n<title>input->prep_conv</title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M54.003,-87C62.0277,-87 70.9665,-87 79.5309,-87\"/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"79.7051,-90.5001 89.705,-87 79.705,-83.5001 79.7051,-90.5001\"/>\n</g>\n</g>\n</svg>\n" | |
}, | |
"metadata": { | |
"tags": [] | |
} | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "z_GFFhZYQy4x", | |
"colab_type": "code", | |
"colab": {} | |
}, | |
"source": [ | |
"train_set_x = Transform(train_set, [Crop(32, 32), FlipLR()])\n", | |
"opt = SGD(trainable_params(model), momentum=0.9, weight_decay=5e-4*batch_size, nesterov=True)" | |
], | |
"execution_count": 0, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "69vlFZWpRpOT", | |
"colab_type": "code", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 629 | |
}, | |
"outputId": "c509a192-a572-424e-e935-8ae24e78edc9" | |
}, | |
"source": [ | |
"summary=train(model, lr_schedule, opt, train_set_x, test_set, \n", | |
" batch_size=batch_size, num_workers=1)" | |
], | |
"execution_count": 22, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"text": [ | |
" epoch lr train time train loss train acc test time test loss test acc total time\n", | |
" 1 0.0067 69.9930 1.6669 0.3803 4.0853 1.3189 0.5241 74.0783\n", | |
" 2 0.0133 70.6333 1.0037 0.6422 4.0969 0.8593 0.7000 148.8085\n", | |
" 3 0.0200 70.7000 0.7628 0.7346 4.0890 1.2214 0.6107 223.5975\n", | |
" 4 0.0267 70.6757 0.6382 0.7789 4.0930 0.6554 0.7744 298.3662\n", | |
" 5 0.0333 70.6769 0.5598 0.8049 4.0847 0.6127 0.7907 373.1278\n", | |
" 6 0.0400 70.6171 0.5128 0.8222 4.0778 0.5017 0.8262 447.8227\n", | |
" 7 0.0467 70.5683 0.4688 0.8392 4.0815 0.5062 0.8255 522.4725\n", | |
" 8 0.0533 70.6264 0.4397 0.8489 4.0834 0.5103 0.8260 597.1823\n", | |
" 9 0.0600 70.6205 0.4151 0.8565 4.0881 0.4462 0.8499 671.8909\n", | |
" 10 0.0667 70.5929 0.4008 0.8624 4.0826 0.6079 0.8023 746.5664\n", | |
" 11 0.0733 70.6501 0.3878 0.8657 4.0806 0.6968 0.7826 821.2971\n", | |
" 12 0.0800 70.6610 0.3886 0.8671 4.0904 0.4868 0.8365 896.0485\n", | |
" 13 0.0867 70.6660 0.3900 0.8652 4.0853 0.6368 0.8000 970.7999\n", | |
" 14 0.0933 70.5665 0.3874 0.8665 4.0837 0.4599 0.8478 1045.4500\n", | |
" 15 0.1000 70.6026 0.3908 0.8660 4.0884 0.5594 0.8088 1120.1410\n", | |
" 16 0.0937 70.6209 0.3808 0.8693 4.0804 0.5009 0.8325 1194.8423\n", | |
" 17 0.0873 70.5951 0.3542 0.8778 4.0745 0.3985 0.8687 1269.5119\n", | |
" 18 0.0810 70.5654 0.3384 0.8826 4.0743 0.5677 0.8116 1344.1516\n", | |
" 19 0.0747 70.6022 0.3187 0.8896 4.0898 0.3896 0.8641 1418.8437\n", | |
" 20 0.0683 70.6093 0.2992 0.8975 4.0860 0.4497 0.8540 1493.5390\n", | |
" 21 0.0620 70.9694 0.2784 0.9051 4.1360 0.3841 0.8743 1568.6444\n", | |
" 22 0.0557 71.1082 0.2578 0.9113 4.0974 0.3875 0.8746 1643.8500\n", | |
" 23 0.0493 71.0915 0.2392 0.9176 4.1337 0.3785 0.8694 1719.0752\n", | |
" 24 0.0430 71.2790 0.2210 0.9244 4.1351 0.3260 0.8918 1794.4893\n", | |
" 25 0.0367 71.2745 0.1957 0.9314 4.1373 0.3002 0.8980 1869.9011\n", | |
" 26 0.0303 71.3423 0.1706 0.9406 4.1298 0.2942 0.9030 1945.3732\n", | |
" 27 0.0240 71.3367 0.1503 0.9474 4.1326 0.2554 0.9156 2020.8425\n", | |
" 28 0.0177 71.2604 0.1166 0.9590 4.1323 0.2513 0.9178 2096.2353\n", | |
" 29 0.0113 71.2467 0.0861 0.9696 4.1341 0.2401 0.9256 2171.6160\n", | |
" 30 0.0050 71.3229 0.0614 0.9794 4.1413 0.2067 0.9357 2247.0802\n", | |
" 31 0.0040 71.3311 0.0439 0.9859 4.1338 0.2030 0.9379 2322.5451\n", | |
" 32 0.0030 71.3209 0.0362 0.9891 4.1370 0.2016 0.9377 2398.0029\n", | |
" 33 0.0020 71.3418 0.0326 0.9902 4.1295 0.1999 0.9379 2473.4743\n", | |
" 34 0.0010 71.3481 0.0295 0.9912 4.1293 0.1990 0.9388 2548.9517\n", | |
" 35 0.0000 71.3413 0.0294 0.9919 4.1275 0.2005 0.9398 2624.4205\n" | |
], | |
"name": "stdout" | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "V7kAFvwCT7hi", | |
"colab_type": "code", | |
"colab": {} | |
}, | |
"source": [ | |
"" | |
], | |
"execution_count": 0, | |
"outputs": [] | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment