Can someone help solving it i am newbie dont know how to handle weight of size [128, 300, 3, 3], expected input[2, 128, 28, 28] to have 300 channels, but got 128 channels instead

The error is raised in an nn.Conv2d layer, which uses in_channels=300, while the incoming activation has only 128 channels, so you would have to change the in_channels argument of this layer.