code: def test_make_mean_squared_loss_fn(self):
      scores = [[0.2, 0.5, 0.3], [0.2, 0.3, 0.5]]
      labels = [[0.0, 0.0, 1.0], [0.0, 0.0, 1.0]]
      weights = [[2.0], [1.0]]
      weights_feature_name = "weights"
      features = {weights_feature_name: weights}
      loss_fn_simple = ranking_losses.make_loss_fn(
          ranking_losses.RankingLossKey.MEAN_SQUARED_LOSS
      )
      self.assertAlmostEqual(
          loss_fn_simple(labels, scores, features).numpy(),
          (
              _mean_squared_error(labels[0], scores[0])
              + _mean_squared_error(labels[1], scores[1])
          )
          / 6.0,
          places=5,
      )
  
      loss_fn_weighted = ranking_losses.make_loss_fn(
          ranking_losses.RankingLossKey.MEAN_SQUARED_LOSS,
          weights_feature_name=weights_feature_name,
      )
      self.assertAlmostEqual(
          loss_fn_weighted(labels, scores, features).numpy(),
          (
              _mean_squared_error(labels[0], scores[0]) * 2.0
              + _mean_squared_error(labels[1], scores[1])
          )
          / 6.0,
          places=5,
      )
  
      # Test loss reduction method.
      # Two reduction methods should return different loss values.
      loss_fn_1 = ranking_losses.make_loss_fn(
          ranking_losses.RankingLossKey.MEAN_SQUARED_LOSS,
          reduction=tf.compat.v1.losses.Reduction.SUM,
      )
      loss_fn_2 = ranking_losses.make_loss_fn(
          ranking_losses.RankingLossKey.MEAN_SQUARED_LOSS,
          reduction=tf.compat.v1.losses.Reduction.MEAN,
      )
      self.assertNotAlmostEqual(
          loss_fn_1(labels, scores, features).numpy(),
          loss_fn_2(labels, scores, features).numpy(),
      )
  
imports: import math
  import tensorflow
  from tensorflow_ranking.python import losses
  from tensorflow_ranking.python import losses_impl
label_desc: Use image node_id 13 for calling the LossesTest obj's underlying member method code with example usage: obj.test_make_mean_squared_loss_fn() without return types