This may seem like an extremely stupid question, but I was curious about something:

In other implementations of VGG, the last layer is always put through softmax; however, in the torchvision implementation here 142, the last layer is the following:

nn.Linear(4096, num_classes),
There is no softmax layer after this and the VGG documentation https://gist.githubusercontent.com/ksimonyan/211839e770f7b538e2d8/raw/0067c9b32f60362c74f4c445a080beed06b07eb3/VGG_ILSVRC_16_layers_deploy.prototxt 151 also states that the last layer “prob” is a softmax layer.
I was wondering how this was possible and why this works. I realize this might be a more general math question, but I couldn’t think of anywhere else to post it, so I posted here.
Thanks!