I might have overlooked some issues.
You are currently initializing the linear layer as:
self.fc1 = nn.Linear(50,64, 32)

which will use in_features=50, out_features=64 and set bias=64, which will result in bias=True.
You don’t have to set the batch size in the layers, as it will be automatically used as the first dimension of your input.
Also, nn.BatchNorm2d should get the number of output channels of the preceding conv layer, which would be 1 for bn1.