TransWikia.com

SparseCategoricalCrosstentropy vs sparse_categorical_crossentropy

Data Science Asked by Hitesh Somani on May 17, 2021

What is the difference between SparseCategoricalCrosstentropy and sparse_categorical_crossentropy ?

SparseCategoricalCrossentropy: Computes the crossentropy loss between the labels and predictions.

sparse_categorical_crossentropy: Computes the sparse categorical crossentropy loss.

But I am still not sure. Any loss will always be calculates between labels and predictions. SO how are these two different ?

2 Answers

SparseCategoricalCrossentropy is a class. So you have to define a object first then you can compute the loss using it.

scce = tf.keras.losses.SparseCategoricalCrossentropy()
scce(y_true, y_pred).numpy()

While sparse_categorical_crossentropy is merely a function which can be directly used to compute cost.

loss = tf.keras.losses.sparse_categorical_crossentropy(y_true, y_pred)

If you are to pass the loss to a Sequential API then you must pass the object ,not the function.

model.compile('sgd', loss=tf.keras.losses.SparseCategoricalCrossentropy())

Correct answer by SrJ on May 17, 2021

SparseCategoricalCrossentropy is a class while sparse_categorical_crossentropy is a function.

SparseCategoricalCrossentropy -> You create an instance of this class and then pass the true values and predicted values.

sparse_categorical_crossentropy -> You pass the true and predicted values just as you would do with any other function.

Answered by Vishnu on May 17, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP