{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.12","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[],"dockerImageVersionId":30839,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import torch\nimport torch.nn as nn\nimport torch.optim as optim","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true,"execution":{"iopub.status.busy":"2025-01-27T04:38:07.572313Z","iopub.execute_input":"2025-01-27T04:38:07.572633Z","iopub.status.idle":"2025-01-27T04:38:09.599946Z","shell.execute_reply.started":"2025-01-27T04:38:07.572611Z","shell.execute_reply":"2025-01-27T04:38:09.598820Z"}},"outputs":[],"execution_count":2},{"cell_type":"code","source":"class denseLayer(nn.Module):\n def __init__(self, channels):\n super().__init__()\n\n self.bn1 = nn.BatchNorm2d(channels, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n self.relu1 = nn.ReLU(inplace=True)\n self.conv1 = nn.Conv2d(channels, 128, kernel_size=1 ,stride=1, bias=False)\n self.bn2 = nn.BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n self.relu2 = nn.ReLU(inplace=True)\n self.conv2 = nn.Conv2d(128, 32, kernel_size=3 ,stride=1, padding=1, bias=False)\n\n def forward(self, x):\n x = self.bn1(x)\n x = self.relu1(x)\n x = self.conv1(x)\n x = self.bn2(x)\n x = self.relu2(x)\n out = self.conv2(x)\n\n return out","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-01-27T04:38:09.601466Z","iopub.execute_input":"2025-01-27T04:38:09.601926Z","iopub.status.idle":"2025-01-27T04:38:09.609392Z","shell.execute_reply.started":"2025-01-27T04:38:09.601897Z","shell.execute_reply":"2025-01-27T04:38:09.608199Z"}},"outputs":[],"execution_count":3},{"cell_type":"code","source":"class denseBlock(nn.Module):\n def __init__(self, channels, layer_count):\n super().__init__()\n \n self.layers = nn.ModuleList([denseLayer(channels + i*32) for i in range(layer_count)])\n \n def forward(self, x):\n layer_outputs = [x]\n # layer_outputs.append(x)\n \n for layers in self.layers:\n out = layers(x)\n layer_outputs.append(out)\n \n for output in layer_outputs:\n torch.cat([out, output], axis=1)\n\n x = out\n \n return x","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-01-27T04:38:10.719158Z","iopub.execute_input":"2025-01-27T04:38:10.719478Z","iopub.status.idle":"2025-01-27T04:38:10.725661Z","shell.execute_reply.started":"2025-01-27T04:38:10.719455Z","shell.execute_reply":"2025-01-27T04:38:10.724446Z"}},"outputs":[],"execution_count":4},{"cell_type":"code","source":"class transition(nn.Module):\n def __init__(self, channels):\n super().__init__()\n\n self.bn = nn.BatchNorm2d(channels, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n self.relu = nn.ReLU(inplace=True)\n self.conv = nn.Conv2d(channels, channels//2, kernel_size=1, stride=1, bias=False)\n self.pool = nn.AvgPool2d(kernel_size=2, stride=2, padding=0)\n\n self.structure = nn.ModuleList([self.bn,\n self.relu,\n self.conv,\n self.pool])\n\n def forward(self, x):\n for layers in self.structure:\n x = layers(x)\n\n return x\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-01-27T04:38:11.195944Z","iopub.execute_input":"2025-01-27T04:38:11.196336Z","iopub.status.idle":"2025-01-27T04:38:11.202605Z","shell.execute_reply.started":"2025-01-27T04:38:11.196307Z","shell.execute_reply":"2025-01-27T04:38:11.201377Z"}},"outputs":[],"execution_count":5},{"cell_type":"code","source":"class densenet_121(nn.Module):\n def __init__(self):\n super().__init__()\n\n self.initial = nn.Sequential(\n nn.Conv2d(3, 64, kernel_size=7, stride=2, padding=3, bias=False),\n nn.BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True),\n nn.ReLU(inplace=True),\n nn.MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False),\n )\n \n self.num_layers = 4\n self.layer_count = [6, 12, 24, 16]\n self.channels = [64, 128, 256, 512]\n self.dense_block = nn.ModuleList()\n self.transitions = nn.ModuleList()\n\n for i in range(self.num_layers):\n self.dense_block.append(denseBlock(self.channels[i], self.layer_count[i]))\n if i < self.num_layers - 1:\n self.transitions.append(transition(self.channels[i+1]*2))\n \n\n def forward(self, x):\n x = self.initial(x)\n \n for i in range(self.num_layers):\n x = self.dense_block[i](x)\n if i < self.num_layers - 1:\n x = self.transition[i](x)\n \n return x","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-01-27T04:38:14.676787Z","iopub.execute_input":"2025-01-27T04:38:14.677263Z","iopub.status.idle":"2025-01-27T04:38:14.689786Z","shell.execute_reply.started":"2025-01-27T04:38:14.677226Z","shell.execute_reply":"2025-01-27T04:38:14.688341Z"}},"outputs":[],"execution_count":6},{"cell_type":"code","source":"model = densenet_121()\nprint(model)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-01-27T04:38:14.986377Z","iopub.execute_input":"2025-01-27T04:38:14.986803Z","iopub.status.idle":"2025-01-27T04:38:15.176604Z","shell.execute_reply.started":"2025-01-27T04:38:14.986760Z","shell.execute_reply":"2025-01-27T04:38:15.175386Z"}},"outputs":[{"name":"stdout","text":"densenet_121(\n (initial): Sequential(\n (0): Conv2d(3, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False)\n (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (2): ReLU(inplace=True)\n (3): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)\n )\n (dense_block): ModuleList(\n (0): denseBlock(\n (layers): ModuleList(\n (0): denseLayer(\n (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(64, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (1): denseLayer(\n (bn1): BatchNorm2d(96, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(96, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (2): denseLayer(\n (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (3): denseLayer(\n (bn1): BatchNorm2d(160, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(160, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (4): denseLayer(\n (bn1): BatchNorm2d(192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(192, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (5): denseLayer(\n (bn1): BatchNorm2d(224, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(224, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n )\n )\n (1): denseBlock(\n (layers): ModuleList(\n (0): denseLayer(\n (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (1): denseLayer(\n (bn1): BatchNorm2d(160, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(160, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (2): denseLayer(\n (bn1): BatchNorm2d(192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(192, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (3): denseLayer(\n (bn1): BatchNorm2d(224, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(224, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (4): denseLayer(\n (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (5): denseLayer(\n (bn1): BatchNorm2d(288, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(288, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (6): denseLayer(\n (bn1): BatchNorm2d(320, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(320, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (7): denseLayer(\n (bn1): BatchNorm2d(352, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(352, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (8): denseLayer(\n (bn1): BatchNorm2d(384, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(384, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (9): denseLayer(\n (bn1): BatchNorm2d(416, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(416, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (10): denseLayer(\n (bn1): BatchNorm2d(448, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(448, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (11): denseLayer(\n (bn1): BatchNorm2d(480, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(480, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n )\n )\n (2): denseBlock(\n (layers): ModuleList(\n (0): denseLayer(\n (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (1): denseLayer(\n (bn1): BatchNorm2d(288, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(288, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (2): denseLayer(\n (bn1): BatchNorm2d(320, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(320, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (3): denseLayer(\n (bn1): BatchNorm2d(352, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(352, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (4): denseLayer(\n (bn1): BatchNorm2d(384, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(384, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (5): denseLayer(\n (bn1): BatchNorm2d(416, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(416, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (6): denseLayer(\n (bn1): BatchNorm2d(448, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(448, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (7): denseLayer(\n (bn1): BatchNorm2d(480, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(480, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (8): denseLayer(\n (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (9): denseLayer(\n (bn1): BatchNorm2d(544, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(544, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (10): denseLayer(\n (bn1): BatchNorm2d(576, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(576, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (11): denseLayer(\n (bn1): BatchNorm2d(608, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(608, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (12): denseLayer(\n (bn1): BatchNorm2d(640, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(640, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (13): denseLayer(\n (bn1): BatchNorm2d(672, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(672, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (14): denseLayer(\n (bn1): BatchNorm2d(704, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(704, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (15): denseLayer(\n (bn1): BatchNorm2d(736, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(736, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (16): denseLayer(\n (bn1): BatchNorm2d(768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(768, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (17): denseLayer(\n (bn1): BatchNorm2d(800, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(800, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (18): denseLayer(\n (bn1): BatchNorm2d(832, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(832, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (19): denseLayer(\n (bn1): BatchNorm2d(864, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(864, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (20): denseLayer(\n (bn1): BatchNorm2d(896, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(896, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (21): denseLayer(\n (bn1): BatchNorm2d(928, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(928, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (22): denseLayer(\n (bn1): BatchNorm2d(960, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(960, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (23): denseLayer(\n (bn1): BatchNorm2d(992, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(992, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n )\n )\n (3): denseBlock(\n (layers): ModuleList(\n (0): denseLayer(\n (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (1): denseLayer(\n (bn1): BatchNorm2d(544, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(544, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (2): denseLayer(\n (bn1): BatchNorm2d(576, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(576, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (3): denseLayer(\n (bn1): BatchNorm2d(608, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(608, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (4): denseLayer(\n (bn1): BatchNorm2d(640, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(640, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (5): denseLayer(\n (bn1): BatchNorm2d(672, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(672, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (6): denseLayer(\n (bn1): BatchNorm2d(704, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(704, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (7): denseLayer(\n (bn1): BatchNorm2d(736, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(736, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (8): denseLayer(\n (bn1): BatchNorm2d(768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(768, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (9): denseLayer(\n (bn1): BatchNorm2d(800, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(800, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (10): denseLayer(\n (bn1): BatchNorm2d(832, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(832, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (11): denseLayer(\n (bn1): BatchNorm2d(864, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(864, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (12): denseLayer(\n (bn1): BatchNorm2d(896, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(896, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (13): denseLayer(\n (bn1): BatchNorm2d(928, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(928, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (14): denseLayer(\n (bn1): BatchNorm2d(960, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(960, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n (15): denseLayer(\n (bn1): BatchNorm2d(992, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu1): ReLU(inplace=True)\n (conv1): Conv2d(992, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu2): ReLU(inplace=True)\n (conv2): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n )\n )\n )\n )\n (transitions): ModuleList(\n (0): transition(\n (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu): ReLU(inplace=True)\n (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (pool): AvgPool2d(kernel_size=2, stride=2, padding=0)\n (structure): ModuleList(\n (0): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (1): ReLU(inplace=True)\n (2): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (3): AvgPool2d(kernel_size=2, stride=2, padding=0)\n )\n )\n (1): transition(\n (bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu): ReLU(inplace=True)\n (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (pool): AvgPool2d(kernel_size=2, stride=2, padding=0)\n (structure): ModuleList(\n (0): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (1): ReLU(inplace=True)\n (2): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (3): AvgPool2d(kernel_size=2, stride=2, padding=0)\n )\n )\n (2): transition(\n (bn): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (relu): ReLU(inplace=True)\n (conv): Conv2d(1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (pool): AvgPool2d(kernel_size=2, stride=2, padding=0)\n (structure): ModuleList(\n (0): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n (1): ReLU(inplace=True)\n (2): Conv2d(1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n (3): AvgPool2d(kernel_size=2, stride=2, padding=0)\n )\n )\n )\n)\n","output_type":"stream"}],"execution_count":7},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null}]}