From b47fe9da86a02a496947c0a2fcfb2ebafd7599de Mon Sep 17 00:00:00 2001 From: walsvid Date: Tue, 17 Jul 2018 22:09:11 +0800 Subject: [PATCH] remove ues of duplicated pytorch Variable --- CoordConv.ipynb | 68 +++++++++++++++++++++++-------------------------- 1 file changed, 32 insertions(+), 36 deletions(-) diff --git a/CoordConv.ipynb b/CoordConv.ipynb index 15e6956..77ebb9a 100644 --- a/CoordConv.ipynb +++ b/CoordConv.ipynb @@ -33,9 +33,8 @@ " self.with_r = with_r\n", "\n", " def forward(self, input_tensor):\n", - " r\"\"\"\n", - " input_tensor: (N, C_in,H,W)\n", - " :param input_tensor:\n", + " \"\"\"\n", + " :param input_tensor: shape (N, C_in, H, W)\n", " :return:\n", " \"\"\"\n", " if self.rank == 1:\n", @@ -149,10 +148,10 @@ " kernel_size, stride, padding, dilation, groups, bias)\n", "\n", " def forward(self, input_tensor):\n", - " r\"\"\"\n", - " 输入的尺度是(N, C_in,H,W),输出尺度(N,C_out,H_out,W_out)\n", - " :param input_tensor:\n", - " :return:\n", + " \"\"\"\n", + " input_tensor_shape: (N, C_in,H,W)\n", + " output_tensor_shape: N,C_out,H_out,W_out)\n", + " :return: CoordConv2d Result\n", " \"\"\"\n", " out = self.addcoords(input_tensor)\n", " out = self.conv(out)\n", @@ -175,7 +174,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 3, @@ -293,7 +292,6 @@ "name": "stdout", "output_type": "stream", "text": [ - "Train set : (2508, 2, 1, 1)\n", "Train set : (2508, 2, 64, 64) 0.93650794 0.06349207\n", "Test set : (628, 2, 64, 64) 0.93650794 0.06349207\n" ] @@ -345,7 +343,6 @@ " test_set[i, 0, 0, 0] = x\n", " test_set[i, 1, 0, 0] = y\n", "\n", - " print('Train set : ', train_set.shape)\n", " train_set = np.tile(train_set, [1, 1, 64, 64])\n", " test_set = np.tile(test_set, [1, 1, 64, 64])\n", "\n", @@ -406,7 +403,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -416,16 +413,16 @@ "----------------------------------------------------------------\n", " Layer (type) Output Shape Param #\n", "================================================================\n", - " AddCoords-1 [-1, 4, 64, 64] 0\n", - " Conv2d-2 [-1, 32, 64, 64] 160\n", + " AddCoords-1 [-1, 5, 64, 64] 0\n", + " Conv2d-2 [-1, 32, 64, 64] 192\n", " CoordConv2d-3 [-1, 32, 64, 64] 96\n", " Conv2d-4 [-1, 64, 64, 64] 2,112\n", " Conv2d-5 [-1, 64, 64, 64] 4,160\n", " Conv2d-6 [-1, 1, 64, 64] 65\n", " Conv2d-7 [-1, 1, 64, 64] 2\n", "================================================================\n", - "Total params: 6,595\n", - "Trainable params: 6,595\n", + "Total params: 6,627\n", + "Trainable params: 6,627\n", "Non-trainable params: 0\n", "----------------------------------------------------------------\n" ] @@ -437,7 +434,7 @@ "class Net(nn.Module):\n", " def __init__(self):\n", " super(Net, self).__init__()\n", - " self.coordconv = CoordConv2d(2, 32, 1, with_r=False)\n", + " self.coordconv = CoordConv2d(2, 32, 1, with_r=True)\n", " self.conv1 = nn.Conv2d(32, 64, 1)\n", " self.conv2 = nn.Conv2d(64, 64, 1)\n", " self.conv3 = nn.Conv2d(64, 1, 1)\n", @@ -467,7 +464,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -486,7 +483,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -500,7 +497,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -524,23 +521,23 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Train Epoch: 1 [2508/2508 (100%)] Loss: 7.840931\n", - "Train Epoch: 2 [2508/2508 (100%)] Loss: 4.514653\n", - "Train Epoch: 3 [2508/2508 (100%)] Loss: 2.307229\n", - "Train Epoch: 4 [2508/2508 (100%)] Loss: 1.239156\n", - "Train Epoch: 5 [2508/2508 (100%)] Loss: 0.567990\n", - "Train Epoch: 6 [2508/2508 (100%)] Loss: 0.292752\n", - "Train Epoch: 7 [2508/2508 (100%)] Loss: 0.160531\n", - "Train Epoch: 8 [2508/2508 (100%)] Loss: 0.101639\n", - "Train Epoch: 9 [2508/2508 (100%)] Loss: 0.069184\n", - "Train Epoch: 10 [2508/2508 (100%)] Loss: 0.050106\n" + "Train Epoch: 1 [2508/2508 (100%)] Loss: 7.504136\n", + "Train Epoch: 2 [2508/2508 (100%)] Loss: 3.982084\n", + "Train Epoch: 3 [2508/2508 (100%)] Loss: 2.029564\n", + "Train Epoch: 4 [2508/2508 (100%)] Loss: 1.004488\n", + "Train Epoch: 5 [2508/2508 (100%)] Loss: 0.479378\n", + "Train Epoch: 6 [2508/2508 (100%)] Loss: 0.232863\n", + "Train Epoch: 7 [2508/2508 (100%)] Loss: 0.139097\n", + "Train Epoch: 8 [2508/2508 (100%)] Loss: 0.088399\n", + "Train Epoch: 9 [2508/2508 (100%)] Loss: 0.061213\n", + "Train Epoch: 10 [2508/2508 (100%)] Loss: 0.045467\n" ] } ], @@ -551,7 +548,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -562,8 +559,7 @@ " pred_logits = torch.tensor([])\n", " for data, target in test_loader:\n", " with torch.no_grad():\n", - " data, target = Variable(data), Variable(target)\n", - " data, target = data.to(device), target.to(device)\n", + " data, target = data.to(device), target.to(device)\n", " output = net(data)\n", " logits = F.softmax(output, dim=1)\n", " pred_logits = torch.cat((pred_logits, logits.cpu()), dim=0)\n", @@ -584,7 +580,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -592,13 +588,13 @@ "output_type": "stream", "text": [ "\n", - "Test set: Average loss: 0.0523, Accuracy: 628/628 (100%)\n", + "Test set: Average loss: 0.0449, Accuracy: 628/628 (100%)\n", "\n" ] }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ]