Help protect the Great Barrier Reef with TensorFlow on Kaggle

# tf.keras.backend.categorical_crossentropy

Categorical crossentropy between an output tensor and a target tensor.

`target` A tensor of the same shape as `output`.
`output` A tensor resulting from a softmax (unless `from_logits` is True, in which case `output` is expected to be the logits).
`from_logits` Boolean, whether `output` is the result of a softmax, or is a tensor of logits.
`axis` Int specifying the channels axis. `axis=-1` corresponds to data format `channels_last', and`axis=1`corresponds to data format`channels_first`.

Output tensor.

`ValueError` if `axis` is neither -1 nor one of the axes of `output`.

#### Example:

````a = tf.constant([1., 0., 0., 0., 1., 0., 0., 0., 1.], shape=[3,3])`
`print(a)`
`tf.Tensor(`
`  [[1. 0. 0.]`
`   [0. 1. 0.]`
`   [0. 0. 1.]], shape=(3, 3), dtype=float32)`
`b = tf.constant([.9, .05, .05, .5, .89, .6, .05, .01, .94], shape=[3,3])`
`print(b)`
`tf.Tensor(`
`  [[0.9  0.05 0.05]`
`   [0.5  0.89 0.6 ]`
`   [0.05 0.01 0.94]], shape=(3, 3), dtype=float32)`
`loss = tf.keras.backend.categorical_crossentropy(a, b)`
`print(loss)`
`tf.Tensor([0.10536055 0.8046684  0.06187541], shape=(3,), dtype=float32)`
`loss = tf.keras.backend.categorical_crossentropy(a, a)`
`print(loss)`
`tf.Tensor([1.1920929e-07 1.1920929e-07 1.19...e-07], shape=(3,),`
`dtype=float32)`
```
[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples / code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }]
[{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }]