general { base_exp_dir = exp/CASE_NAME/wmask tag = "train_retargeted_shadow_hand_seq_102_diffhand_model_" recording = [ ./, ./models ] } dataset { data_dir = public_data/CASE_NAME/ render_cameras_name = cameras_sphere.npz object_cameras_name = cameras_sphere.npz obj_idx = 102 } train { learning_rate = 5e-4 # learning_rate = 5e-6 learning_rate_actions = 5e-6 learning_rate_alpha = 0.05 end_iter = 300000 # batch_size = 128 # 64 # batch_size = 4000 # batch_size = 3096 # 64 batch_size = 1024 validate_resolution_level = 4 warm_up_end = 5000 anneal_end = 0 use_white_bkgd = False # save_freq = 10000 save_freq = 10000 val_freq = 20 # 2500 val_mesh_freq = 20 # 5000 report_freq = 10 ### igr weight ### igr_weight = 0.1 mask_weight = 0.1 } model { load_redmax_robot_actions = "" penetrating_depth_penalty = 0.0 train_states = True minn_dist_threshold = 0.000 obj_mass = 100.0 obj_mass = 30.0 # use_mano_hand_for_test = False use_mano_hand_for_test = True # train_residual_friction = False train_residual_friction = True # use_LBFGS = True use_LBFGS = False use_mano_hand_for_test = False train_residual_friction = True extract_delta_mesh = False freeze_weights = True # gt_act_xs_def = True gt_act_xs_def = False use_bending_network = True use_delta_bending = True use_passive_nets = True use_split_network = True n_timesteps = 60 # using_delta_glb_trans = True using_delta_glb_trans = False # train_multi_seqs = True # optimize_with_intermediates = False optimize_with_intermediates = True loss_tangential_diff_coef = 1000 loss_tangential_diff_coef = 0 optimize_active_object = True no_friction_constraint = False optimize_glb_transformations = True sim_model_path = "DiffHand/assets/hand_sphere_only_hand_testt.xml" mano_sim_model_path = "rsc/mano/mano_mean_wcollision_scaled_scaled_0_9507_nroot.urdf" mano_mult_const_after_cent = 1.0 sim_num_steps = 1000000 bending_net_type = "active_force_field_v18" ### try to train the residual friction ? ### train_residual_friction = True optimize_rules = True load_optimized_init_actions = "" use_optimizable_params = True ### grab train seq 224 ### penetration_determining = "sdf_of_canon" train_with_forces_to_active = False loss_scale_coef = 1000.0 # penetration_proj_k_to_robot_friction = 40000000.0 # penetration_proj_k_to_robot_friction = 100000000.0 # as friction coefs here # use_same_contact_spring_k = False # sim_model_path = "/home/xueyi/diffsim/DiffHand/assets/hand_sphere_only_hand_testt.xml" sim_model_path = "rsc/shadow_hand_description/shadowhand_new.urdf" optimize_rules = False penetration_determining = "sdf_of_canon" optimize_rules = False optim_sim_model_params_from_mano = False optimize_rules = False penetration_proj_k_to_robot_friction = 100000000.0 # as friction coefs here # ## confs ## penetration_proj_k_to_robot = 40000000.0 # penetrating_depth_penalty = 1 minn_dist_threshold_robot_to_obj = 0.0 minn_dist_threshold_robot_to_obj = 0.1 optim_sim_model_params_from_mano = False optimize_rules = False optim_sim_model_params_from_mano = True optimize_rules = True minn_dist_threshold_robot_to_obj = 0.0 optim_sim_model_params_from_mano = False optimize_rules = False minn_dist_threshold_robot_to_obj = 0.1 ### kinematics confgs ### obj_sdf_fn = "data/grab/102/102_obj.npy" kinematic_mano_gt_sv_fn = "data/grab/102/102_sv_dict.npy" scaled_obj_mesh_fn = "data/grab/102/102_obj.obj" # ckpt_fn = "" # load_optimized_init_transformations = "" optim_sim_model_params_from_mano = True optimize_rules = True minn_dist_threshold_robot_to_obj = 0.0 optim_sim_model_params_from_mano = False optimize_rules = False optimize_rules = True ckpt_fn = "ckpts/grab/102/retargeted_shadow.pth" load_optimized_init_transformations = "ckpts/grab/102/retargeted_shadow.pth" optimize_rules = False optimize_rules = True ## opt roboto ## opt_robo_glb_trans = True opt_robo_glb_rot = False # opt rot # ## opt rot ## opt_robo_states = True use_multi_stages = False minn_dist_threshold_robot_to_obj = 0.1 penetration_proj_k_to_robot = 40000 penetration_proj_k_to_robot_friction = 100000 drive_robot = "actions" opt_robo_glb_trans = False opt_robo_states = True opt_robo_glb_rot = False train_with_forces_to_active = True load_redmax_robot_actions_fn = "" optimize_rules = False loss_scale_coef = 1.0 use_opt_rigid_translations=True train_def = True optimizable_rigid_translations=True nerf { D = 8, d_in = 4, d_in_view = 3, W = 256, multires = 10, multires_view = 4, output_ch = 4, skips=[4], use_viewdirs=True } sdf_network { d_out = 257, d_in = 3, d_hidden = 256, n_layers = 8, skip_in = [4], multires = 6, bias = 0.5, scale = 1.0, geometric_init = True, weight_norm = True, } variance_network { init_val = 0.3 } rendering_network { d_feature = 256, mode = idr, d_in = 9, d_out = 3, d_hidden = 256, n_layers = 4, weight_norm = True, multires_view = 4, squeeze_out = True, } neus_renderer { n_samples = 64, n_importance = 64, n_outside = 0, up_sample_steps = 4 , perturb = 1.0, } bending_network { multires = 6, bending_latent_size = 32, d_in = 3, rigidity_hidden_dimensions = 64, rigidity_network_depth = 5, use_rigidity_network = False, bending_n_timesteps = 10, } }