By default F.dropout will be activated.
Since you most likely don’t want to use it during evaluation, you would have to disable it by passing the self.training attribute to it.
Could you use a small subset of your dataset (e.g. just 10 samples) and try to overfit your model on it?
If that doesn’t work, i.e. if the loss is not decreasing towards zero, you might have a bug in your code, so that we might need to dig a bit deeper.