title: When using Keras categorical_crossentropy loss, should you use softmax on the last layer?
body: <p>Most examples I've seen implement softmax on the last layer. But I read that Keras <code>categorical_crossentropy</code> automatically applies softmax after the last layer so doing it is redundant and leads to reduced performance. Who is right?</p>