
runner:
  general:
    seed: 0
    device: cpu
    cuda_visible_devices: "0,1,2,3,4,5,6,7"
    
  experiment:
    name: debug
    root_dir: "experiments"
    use_checkpoint: False
    epoch: -1 # -1 stands for last epoch
    max_epochs: 5
    save_checkpoint_interval: 1
    test_first: False  

  train:
    optimizer:
      type: Adam
      lr: 0.0001
    losses: 
      - mse_loss
    dataset: OmniObject3d_train
  test:
    frequency: 3 # test frequency
    dataset_list:
      - OmniObject3d_train

  pipeline: nbv_reconstruction_pipeline
  
datasets:
  OmniObject3d_train:
    root_dir: "C:\\Document\\Local Project\\nbv_rec\\data\\sample"
    split_file: "C:\\Document\\Local Project\\nbv_rec\\data\\OmniObject3d_train.txt"
    ratio: 1.0
    batch_size: 1
    num_workers: 12
    pts_num: 2048

  OmniObject3d_test:
    root_dir: "C:\\Document\\Local Project\\nbv_rec\\data\\sample"
    split_file: "C:\\Document\\Local Project\\nbv_rec\\data\\OmniObject3d_test.txt"
    eval_list:
      - pose_diff
    ratio: 1.0
    batch_size: 1
    num_workers: 1
    pts_num: 2048

module:

  pointnet_encoder:
    in_dim: 3
    out_dim: 1024
    global_feat: True
    feature_transform: False

  transformer_seq_encoder:
    pts_embed_dim: 1024
    pose_embed_dim: 256
    num_heads: 4
    ffn_dim: 256
    num_layers: 3
    max_seq_len: 30
    output_dim: 2048

  gf_view_finder:
    regression_head: Rx_Ry_and_T
    pose_mode: rot_matrix
    per_point_feature: False
    sample_mode: ode
    sampling_steps: 500
    sde_mode: ve

  pose_encoder:
    pose_dim: 9
    output_dim: 256