Skip to content

Pytorch implementation of "An intriguing failing of convolutional neural networks and the CoordConv solution" - https://arxiv.org/abs/1807.03247

License

Notifications You must be signed in to change notification settings

walsvid/CoordConv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CoordConv

Pytorch implementation of CoordConv for N-D ConvLayers, and the experiments.

Reference from the paper: An intriguing failing of convolutional neural networks and the CoordConv solution

Extends the CoordinateChannel concatenation from 2D to 1D and 3D tensors.

Requirements

  • pytorch 0.4.0
  • torchvision 0.2.1
  • torchsummary 1.3
  • sklearn 0.19.1

Usage

from coordconv import CoordConv1d, CoordConv2d, CoordConv3d

class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.coordconv = CoordConv2d(2, 32, 1, with_r=True)
        self.conv1 = nn.Conv2d(32, 64, 1)
        self.conv2 = nn.Conv2d(64, 64, 1)
        self.conv3 = nn.Conv2d(64,  1, 1)
        self.conv4 = nn.Conv2d( 1,  1, 1)

    def forward(self, x):
        x = self.coordconv(x)
        x = F.relu(self.conv1(x))
        x = F.relu(self.conv2(x))
        x = F.relu(self.conv3(x))
        x = self.conv4(x)
        x = x.view(-1, 64*64)
        return x

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
net = Net().to(device)

Experiments

Implement experiments from origin paper.

Coordinate Classification

Use experiments/generate_data.py to generate Uniform and Quadrant datasets for Coordinate Classification task.

Use experiments/train_and_test.py to train and test neural network model.

Uniform Datasets

Train Test Predictions

Quadrant Datasets

Train Test Predictions

About

Pytorch implementation of "An intriguing failing of convolutional neural networks and the CoordConv solution" - https://arxiv.org/abs/1807.03247

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published