Пример #1
0
    def test_crossentropy(self):
        scaled_crossent = new_scaled_crossentropy(index=2, scaling=5)

        targets = np.array([[0, 1, 2]])
        logits = np.array([[[.3, .2, .1], [.3, .2, .1], [.3, .2, .1]]])

        loss = scaled_crossent(targets, logits)
        self.assertAlmostEqual(2.3705523014068604, float(loss))

        scaled_crossent = new_scaled_crossentropy(index=2, scaling=1)
        loss = scaled_crossent(targets, logits)
        self.assertAlmostEqual(0.7679619193077087, float(loss))

        loss = masked_crossentropy(targets, logits)
        self.assertAlmostEqual(0.7679619193077087, float(loss))
Пример #2
0
 def _compile(self, stop_scaling, optimizer):
     self.loss_weights = [1., 1., 1.]
     self.compile(loss=[masked_mean_absolute_error,
                        new_scaled_crossentropy(index=2, scaling=stop_scaling),
                        masked_mean_absolute_error],
                  loss_weights=self.loss_weights,
                  optimizer=optimizer)