I have a really basic conv net training on MNIST.  just conv2d->relu->conv2d->relu->CrossEntropyLoss.  When I initialize the Conv2d with bias=True it will train over many epochs through the dataset while remaining at chance accuracy (10%).  However when bias=False it achieves 90% accuracy after 5 epochs.  Can anyone explain why this might be happening?  If it matters the last conv2d is really a linear layer, kernel size is same as input size.