def testErfInvIntegerInput(self): with self.test_session(): with self.assertRaises(TypeError): x = np.array([1, 2, 3]).astype(np.int32) special_math.erfinv(x) with self.assertRaises(TypeError): x = np.array([1, 2, 3]).astype(np.int64) special_math.erfinv(x)
def testErfInvValues(self): with self.test_session(): if not special: return x = np.linspace(0., 1.0, 50).astype(np.float64) expected_x = special.erfinv(x) x = special_math.erfinv(x) self.assertAllClose(expected_x, x.eval(), atol=0.)
def diff(self, j): ''' @return format [batch_size] ''' t1 = tf.norm(self.pred_mean_pl - self.output_pl) t3 = tf.sqrt(2.0) t4 = erfinv(j) return tf.cast( tf.reduce_mean(t1 - tf.sqrt(self.pred_var_pl) * t3 * t4), tf.float32)
def acc(self, j): ''' @return format [batch_size] ''' t1 = tf.norm(self.pred_mean_pl - self.output_pl) t2 = tf.sqrt(self.pred_var_pl) * tf.sqrt(2.0) * erfinv(j) t = t1 < t2 s = tf.count_nonzero(t) b_size = tf.size(t) b_size = tf.cast(b_size, tf.int64) return tf.cast(s / b_size, tf.float32)
def _quantile(self, p): return np.sqrt(2.0) * self.scale * special_math.erfinv(p)
def erfinv(y: TfExpressionEx) -> TfExpression: """Inverse of the error function.""" # pylint: disable=no-name-in-module from tensorflow.python.ops.distributions import special_math return special_math.erfinv(y)