The loss doesn’t seem to blow up, but is decreasing into negative values steadily.
I don’t know which criterion you are using and if a negative loss is expected, but note that you usually want to decrease the loss, so from this point of view your training seems to “work”.
PS: you can post code snippets by wrapping them into three backticks ```, which makes debugging easier.