Using your data split and my training code I got these loss curves:

I used the same optimizer hyperparameters as in the blog, i.e. optim.SGD(lr=1e-2, momentum=0.9, nesterov=True). Also I initialized the parameters using xavier_uniform.
Your learning rate might just be too low for the FullyConnected model.