我们从Python开源项目中,提取了以下6个代码示例,用于说明如何使用tensorflow.acos()。
def K(self, X, X2=None, presliced=False): if not presliced: X, X2 = self._slice(X, X2) X_denominator = tf.sqrt(self._weighted_product(X)) if X2 is None: X2 = X X2_denominator = X_denominator else: X2_denominator = tf.sqrt(self._weighted_product(X2)) numerator = self._weighted_product(X, X2) cos_theta = numerator / X_denominator[:, None] / X2_denominator[None, :] jitter = 1e-15 theta = tf.acos(jitter + (1 - 2 * jitter) * cos_theta) return self.variance * (1. / np.pi) * self._J(theta) * \ X_denominator[:, None] ** self.order * \ X2_denominator[None, :] ** self.order
def angularErrorTotal(pred, gt, weight, ss, outputChannels=2): with tf.name_scope("angular_error"): pred = tf.reshape(pred, (-1, outputChannels)) gt = tf.to_float(tf.reshape(gt, (-1, outputChannels))) weight = tf.to_float(tf.reshape(weight, (-1, 1))) ss = tf.to_float(tf.reshape(ss, (-1, 1))) pred = tf.nn.l2_normalize(pred, 1) * 0.999999 gt = tf.nn.l2_normalize(gt, 1) * 0.999999 errorAngles = tf.acos(tf.reduce_sum(pred * gt, reduction_indices=[1], keep_dims=True)) lossAngleTotal = tf.reduce_sum((tf.abs(errorAngles*errorAngles))*ss*weight) return lossAngleTotal
def exceedingAngleThreshold(pred, gt, ss, threshold, outputChannels=2): with tf.name_scope("angular_error"): pred = tf.reshape(pred, (-1, outputChannels)) gt = tf.to_float(tf.reshape(gt, (-1, outputChannels))) ss = tf.to_float(tf.reshape(ss, (-1, 1))) pred = tf.nn.l2_normalize(pred, 1) * 0.999999 gt = tf.nn.l2_normalize(gt, 1) * 0.999999 errorAngles = tf.acos(tf.reduce_sum(pred * gt, reduction_indices=[1], keep_dims=True)) * ss exceedCount = tf.reduce_sum(tf.to_float(tf.less(threshold/180*3.14159, errorAngles))) return exceedCount
def setUp(self): super(CoreUnaryOpsTest, self).setUp() self.ops = [ ('abs', operator.abs, tf.abs, core.abs_function), ('neg', operator.neg, tf.neg, core.neg), # TODO(shoyer): add unary + to core TensorFlow ('pos', None, None, None), ('sign', None, tf.sign, core.sign), ('reciprocal', None, tf.reciprocal, core.reciprocal), ('square', None, tf.square, core.square), ('round', None, tf.round, core.round_function), ('sqrt', None, tf.sqrt, core.sqrt), ('rsqrt', None, tf.rsqrt, core.rsqrt), ('log', None, tf.log, core.log), ('exp', None, tf.exp, core.exp), ('log', None, tf.log, core.log), ('ceil', None, tf.ceil, core.ceil), ('floor', None, tf.floor, core.floor), ('cos', None, tf.cos, core.cos), ('sin', None, tf.sin, core.sin), ('tan', None, tf.tan, core.tan), ('acos', None, tf.acos, core.acos), ('asin', None, tf.asin, core.asin), ('atan', None, tf.atan, core.atan), ('lgamma', None, tf.lgamma, core.lgamma), ('digamma', None, tf.digamma, core.digamma), ('erf', None, tf.erf, core.erf), ('erfc', None, tf.erfc, core.erfc), ('lgamma', None, tf.lgamma, core.lgamma), ] total_size = np.prod([v.size for v in self.original_lt.axes.values()]) self.test_lt = core.LabeledTensor( tf.cast(self.original_lt, tf.float32) / total_size, self.original_lt.axes)
def angular_func(self, cos_angles): angles = tf.acos(cos_angles) sin_angles = tf.sin(angles) pi_diff = np.pi - angles if self.degree == 0: return pi_diff elif self.degree == 1: return sin_angles + pi_diff * cos_angles elif self.degree == 2: return 3 * sin_angles * cos_angles + pi_diff * (1 + 2 * cos_angles ** 2) else: assert False
def test_Acos(self): t = tf.acos(self.random(4, 3)) self.check(t)