The super-resolution example given in:

  
      
      GitHub
  
  
    

pytorch/examples 4

A set of examples around pytorch in Vision, Text, Reinforcement Learning, etc. - pytorch/examples


  
  
    
    
  
  


just works on a single color channel.  I tried to adapt it to work on RGB images, w/ the following changes to the network structure:
...
        self.conv1 = nn.Conv2d(3, 64, (5, 5), (1, 1), (2, 2))
        self.conv2 = nn.Conv2d(64, 64, (3, 3), (1, 1), (1, 1))
        self.conv3 = nn.Conv2d(64, 32, (3, 3), (1, 1), (1, 1))
        self.conv4 = nn.Conv2d(32, 3 * upscale_factor ** 2, (3, 3), (1, 1), (1, 1))
...

but I’m getting extreme artifacts, so something’s clearly wrong here:

Original on left, SR on right.
Anyone have any ideas?
Thanks
Ben
EDIT: On closer inspection, it looks like there are checkerboard issues even in greyscale – so maybe the fix for the artifacts is independent of the color issue?