def compute_squared_l2_sigmoid_matching_distances(lhs, rhs):
     """Computes squared L2 sigmoid matching probability distances."""
     inner_distances = l2_distance_computer(lhs, rhs, squared=True)
     return distance_utils.compute_sigmoid_matching_probabilities(
         inner_distances,
         a=distance_kernel_kwargs.get(distance_kernel + '_a', None),
         b=distance_kernel_kwargs.get(distance_kernel + '_b', None))
Esempio n. 2
0
    def test_compute_sigmoid_matching_probabilities(self):
        inner_distances = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])
        matching_probabilities = (
            distance_utils.compute_sigmoid_matching_probabilities(
                inner_distances, a=0.01, b=1.0))

        self.assertAllClose(matching_probabilities,
                            [[0.70617913, 0.704397395, 0.702607548],
                             [0.700809625, 0.69900366, 0.697189692]])
Esempio n. 3
0
 def compute_l2_sigmoid_matching_distances(lhs, rhs):
     """Computes L2 sigmoid matching probability distances."""
     inner_distances = l2_distance_computer(lhs, rhs, squared=False)
     return distance_utils.compute_sigmoid_matching_probabilities(
         inner_distances,
         a_initializer=distance_kernel_kwargs.get(
             (distance_kernel + '_a_initializer'), None),
         b_initializer=distance_kernel_kwargs.get(
             (distance_kernel + '_b_initializer'), None),
         name=distance_kernel_kwargs.get(
             (distance_kernel + '_name'), 'MatchingSigmoid'))
Esempio n. 4
0
    def test_compute_sigmoid_matching_probabilities(self):
        inner_distances = [[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]
        matching_probabilities = distance_utils.compute_sigmoid_matching_probabilities(
            inner_distances,
            raw_a_initializer=tf.initializers.constant(-4.60517018599),
            b_initializer=tf.initializers.ones())

        with self.session() as sess:
            sess.run(tf.global_variables_initializer())
            matching_probabilities_result = sess.run(matching_probabilities)

        self.assertAllClose(matching_probabilities_result,
                            [[0.70617913, 0.704397395, 0.702607548],
                             [0.700809625, 0.69900366, 0.697189692]])
Esempio n. 5
0
    def test_compute_sigmoid_matching_probabilities_with_clamping(self):
        inner_distances = [[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]
        matching_probabilities = (
            distance_utils.compute_sigmoid_matching_probabilities(
                inner_distances,
                raw_a_initializer=tf.initializers.constant(10.0),
                b_initializer=tf.initializers.constant(0.0),
                a_range=(None, 0.01),
                b_range=(1.0, None)))

        with self.session() as sess:
            sess.run(tf.global_variables_initializer())
            matching_probabilities_result = sess.run(matching_probabilities)

        self.assertAllClose(matching_probabilities_result,
                            [[0.70617913, 0.704397395, 0.702607548],
                             [0.700809625, 0.69900366, 0.697189692]])