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))
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]])
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'))
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]])
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]])