def testToScalar(self):
   self.assertEqual(1, metric_util.to_scalar(np.array([1])))
   self.assertEqual(1.0, metric_util.to_scalar(np.array(1.0)))
   self.assertEqual('string', metric_util.to_scalar(np.array([['string']])))
   sparse_tensor = tf.compat.v1.SparseTensorValue(
       indices=np.array([0]), values=np.array([1]), dense_shape=(1,))
   self.assertEqual(1, metric_util.to_scalar(sparse_tensor))
 def key_by_query_key(extracts: types.Extracts,
                      query_key: Text) -> Tuple[Text, types.Extracts]:
     """Extract the query key from the extract and key by that."""
     value = metric_util.to_scalar(util.get_by_keys(
         extracts, [constants.FEATURES_KEY, query_key], optional=True),
                                   tensor_name=query_key)
     if value is None:
         missing_query_key_counter.inc()
         return ('', extracts)
     return ('{}'.format(value), extracts)
Ejemplo n.º 3
0
 def _gain(self, i: metric_types.StandardMetricInputs) -> float:
   gain = util.get_by_keys(i.features, [self._gain_key])
   if gain.size == 1:
     scalar = metric_util.to_scalar(gain)
     if scalar is not None:
       return scalar
   raise ValueError('expected {} to be scalar, but instead it has size = {}: '
                    'value={}, metric_keys={}, '
                    'StandardMetricInputs={}'.format(self._gain_key, gain.size,
                                                     gain, self._metric_keys,
                                                     i))
Ejemplo n.º 4
0
 def _query(
     self, i: metric_types.StandardMetricInputs
 ) -> Optional[Union[float, int, Text]]:
   return metric_util.to_scalar(
       util.get_by_keys(i.features, [self._query_key]))