def _VerifyGradientsNew(self, src_z, src_q, src_t, des_z, des_q, des_t,
     in_pos, n_src_cube, n_des_cube, batch_size):
   with self.test_session():
     sz = constant_op.constant(src_z, shape=[batch_size, 3*n_src_cube])
     sq = constant_op.constant(src_q, shape=[batch_size, 4*n_src_cube])
     st = constant_op.constant(src_t, shape=[batch_size, 3*n_src_cube])
     dz = constant_op.constant(des_z, shape=[batch_size, 3*n_des_cube])
     dq = constant_op.constant(des_q, shape=[batch_size, 4*n_des_cube])
     dt = constant_op.constant(des_t, shape=[batch_size, 3*n_des_cube])
     pos = constant_op.constant(in_pos)
     points_index = primitive_group_points_v3(sz, sq, st, pos)
     data_out = primitive_cube_coverage_loss_v3(dz, dq, dt, pos, points_index,
         n_src_cube=n_src_cube)
     ret = gradient_checker.compute_gradient(
         [dz, dq, dt],
         [[batch_size, 3*n_des_cube], [batch_size, 4*n_des_cube], [batch_size, 3*n_des_cube]],
         data_out,
         [1],
         x_init_value=[np.asfarray(des_z).reshape([batch_size, 3*n_des_cube]),
                       np.asfarray(des_q).reshape([batch_size, 4*n_des_cube]),
                       np.asfarray(des_t).reshape([batch_size, 3*n_des_cube])]
         )
     # print(ret)
     self.assertAllClose(ret[0][0], ret[0][1], atol=5e-5)
     self.assertAllClose(ret[1][0], ret[1][1], atol=5e-5)
     self.assertAllClose(ret[2][0], ret[2][1], atol=5e-5)
 def _VerifyValuesNew(self, in_z, in_q, in_t, in_pos, expected):
   with self.test_session() as sess:
     z = constant_op.constant(in_z)
     q = constant_op.constant(in_q)
     t = constant_op.constant(in_t)
     pos = constant_op.constant(in_pos)
     data_out = primitive_group_points_v3(z, q, t, pos)
     actual = sess.run(data_out)
   self.assertAllEqual(expected, actual.flatten())
def cube_coverage_loss_v6(src_latent_code, des_latent_code, n_src_cube,
    node_position):
  with tf.name_scope('cube_coverage'):
    points_index = primitive_group_points_v3(src_latent_code[0],
        src_latent_code[1], src_latent_code[2], node_position)
    _, relation = primitive_cube_coverage_loss_v4(des_latent_code[0],
        des_latent_code[1], des_latent_code[2], node_position, points_index,
        n_src_cube=n_src_cube)
  return relation
def cube_coverage_loss_v5(src_cube_params, des_cube_params, n_src_cube,
    node_position):
  with tf.name_scope('cube_coverage'):
    points_index = primitive_group_points_v3(src_cube_params[0],
        src_cube_params[1], src_cube_params[2], node_position)
    volume = primitive_cube_volume_v2(des_cube_params[0])
    volume = tf.reduce_sum(volume)
    distance = primitive_cube_coverage_loss_v3(des_cube_params[0],
        des_cube_params[1], des_cube_params[2], node_position, points_index,
        n_src_cube=n_src_cube)
    distance = tf.reduce_sum(distance)
  return distance, volume
 def _VerifyValuesNew(self, src_z, src_q, src_t, des_z, des_q, des_t, in_pos,
     n_src_cube, expected):
   with self.test_session() as sess:
     sz = constant_op.constant(src_z)
     sq = constant_op.constant(src_q)
     st = constant_op.constant(src_t)
     dz = constant_op.constant(des_z)
     dq = constant_op.constant(des_q)
     dt = constant_op.constant(des_t)
     pos = constant_op.constant(in_pos)
     points_index = primitive_group_points_v3(sz, sq, st, pos)
     data_out = primitive_cube_coverage_loss_v3(dz, dq, dt, pos, points_index,
         n_src_cube=n_src_cube)
     [actual, pi] = sess.run([data_out, points_index])
     # print("points_index: ", pi)
   self.assertAllClose(expected, actual.flatten(), atol=1e-8)