The parameters (if applicable) in the shortcut path are trainable.
Actual implementation of shortcut path in ResNet is here:
  
      github.com
  
  
    pytorch/vision/blob/master/torchvision/models/resnet.py#L213-L217 9

if stride != 1 or self.inplanes != planes * block.expansion:    downsample = nn.Sequential(        conv1x1(self.inplanes, planes * block.expansion, stride),        norm_layer(planes * block.expansion),    )