From 92250aeb62626942666ee64b5b12fd36d6e95e49 Mon Sep 17 00:00:00 2001 From: hofee Date: Fri, 27 Sep 2024 08:06:49 +0000 Subject: [PATCH 1/2] debug pose_diff --- configs/server/server_train_config.yaml | 16 ++++++++-------- core/evaluation.py | 3 ++- core/nbv_dataset.py | 3 +-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/configs/server/server_train_config.yaml b/configs/server/server_train_config.yaml index 662c017..6e44234 100644 --- a/configs/server/server_train_config.yaml +++ b/configs/server/server_train_config.yaml @@ -3,11 +3,11 @@ runner: general: seed: 0 device: cuda - cuda_visible_devices: "0" + cuda_visible_devices: "1" parallel: False experiment: - name: overfit_w_global_feat_wo_local_pts_feat_small + name: full_w_global_feat_wo_local_pts_feat root_dir: "experiments" use_checkpoint: False epoch: -1 # -1 stands for last epoch @@ -25,7 +25,7 @@ runner: test: frequency: 3 # test frequency dataset_list: - #- OmniObject3d_test + - OmniObject3d_test - OmniObject3d_val pipeline: nbv_reconstruction_global_pts_pipeline @@ -35,7 +35,7 @@ dataset: root_dir: "/home/data/hofee/project/nbv_rec/data/nbv_rec_data_512_preproc_npy" model_dir: "../data/scaled_object_meshes" source: nbv_reconstruction_dataset - split_file: "/home/data/hofee/project/nbv_rec/data/OmniObject3d_sample.txt" + split_file: "/home/data/hofee/project/nbv_rec/data/OmniObject3d_train.txt" type: train cache: True ratio: 1 @@ -55,7 +55,7 @@ dataset: eval_list: - pose_diff ratio: 0.05 - batch_size: 1 + batch_size: 160 num_workers: 12 pts_num: 4096 load_from_preprocess: True @@ -64,14 +64,14 @@ dataset: root_dir: "/home/data/hofee/project/nbv_rec/data/nbv_rec_data_512_preproc_npy" model_dir: "../data/scaled_object_meshes" source: nbv_reconstruction_dataset - split_file: "/home/data/hofee/project/nbv_rec/data/OmniObject3d_sample.txt" + split_file: "/home/data/hofee/project/nbv_rec/data/OmniObject3d_train.txt" type: test cache: True filter_degree: 75 eval_list: - pose_diff - ratio: 1 - batch_size: 1 + ratio: 0.005 + batch_size: 160 num_workers: 12 pts_num: 4096 load_from_preprocess: True diff --git a/core/evaluation.py b/core/evaluation.py index 4ad1c8e..e46f67e 100644 --- a/core/evaluation.py +++ b/core/evaluation.py @@ -29,8 +29,9 @@ class PoseDiff: gt_rot_mat = PoseUtil.rotation_6d_to_matrix_tensor_batch(gt_rot_6d) pred_rot_mat = PoseUtil.rotation_6d_to_matrix_tensor_batch(pred_rot_6d) rotation_angles = PoseUtil.rotation_angle_distance(gt_rot_mat, pred_rot_mat) + rot_angle_list.extend(list(rotation_angles)) - trans_dist = torch.norm(gt_trans-pred_trans) + trans_dist = torch.norm(gt_trans-pred_trans, dim=1).mean().item() trans_dist_list.append(trans_dist) diff --git a/core/nbv_dataset.py b/core/nbv_dataset.py index 269da83..3af7b92 100644 --- a/core/nbv_dataset.py +++ b/core/nbv_dataset.py @@ -34,7 +34,7 @@ class NBVReconstructionDataset(BaseDataset): self.model_dir = config["model_dir"] self.filter_degree = config["filter_degree"] if self.type == namespace.Mode.TRAIN: - scale_ratio = 100 + scale_ratio = 1 self.datalist = self.datalist*scale_ratio if self.cache: expr_root = ConfigManager.get("runner", "experiment", "root_dir") @@ -83,7 +83,6 @@ class NBVReconstructionDataset(BaseDataset): "label_idx": seq_idx, "scene_max_coverage_rate": scene_max_coverage_rate }) - break # TODO: for small version debug return datalist def preprocess_cache(self): From 41c8c060ca0f6781e935190c376e7a0f17fa3ee9 Mon Sep 17 00:00:00 2001 From: hofee Date: Fri, 4 Oct 2024 16:25:24 +0000 Subject: [PATCH 2/2] server merge --- configs/server/server_inference_config.yaml | 92 +++++++++++++++++++++ core/seq_dataset.py | 11 +-- 2 files changed, 98 insertions(+), 5 deletions(-) create mode 100644 configs/server/server_inference_config.yaml diff --git a/configs/server/server_inference_config.yaml b/configs/server/server_inference_config.yaml new file mode 100644 index 0000000..5a11e5d --- /dev/null +++ b/configs/server/server_inference_config.yaml @@ -0,0 +1,92 @@ + +runner: + general: + seed: 1 + device: cuda + cuda_visible_devices: "0,1,2,3,4,5,6,7" + + experiment: + name: w_gf_wo_lf_full_debug + root_dir: "experiments" + epoch: 1 # -1 stands for last epoch + + test: + dataset_list: + - OmniObject3d_train + + blender_script_path: "" + output_dir: "" + pipeline: nbv_reconstruction_global_pts_pipeline + +dataset: + OmniObject3d_train: + root_dir: "/home/data/hofee/project/nbv_rec/data/nbv_rec_data_512_preproc_npy" + model_dir: "/home/data/hofee/project/nbv_rec/data/scaled_object_meshes" + source: seq_nbv_reconstruction_dataset + split_file: "/home/data/hofee/project/nbv_rec/data/OmniObject3d_train.txt" + type: test + filter_degree: 75 + ratio: 1 + batch_size: 1 + num_workers: 12 + pts_num: 4096 + load_from_preprocess: True + +pipeline: + nbv_reconstruction_local_pts_pipeline: + modules: + pts_encoder: pointnet_encoder + seq_encoder: transformer_seq_encoder + pose_encoder: pose_encoder + view_finder: gf_view_finder + eps: 1e-5 + global_scanned_feat: False + + nbv_reconstruction_global_pts_pipeline: + modules: + pts_encoder: pointnet_encoder + pose_seq_encoder: transformer_pose_seq_encoder + pose_encoder: pose_encoder + view_finder: gf_view_finder + eps: 1e-5 + global_scanned_feat: True + + + +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 + output_dim: 2048 + + transformer_pose_seq_encoder: + pose_embed_dim: 256 + num_heads: 4 + ffn_dim: 256 + num_layers: 3 + output_dim: 1024 + + gf_view_finder: + t_feat_dim: 128 + pose_feat_dim: 256 + main_feat_dim: 2048 + 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 + out_dim: 256 diff --git a/core/seq_dataset.py b/core/seq_dataset.py index f2f7bc3..df4104c 100644 --- a/core/seq_dataset.py +++ b/core/seq_dataset.py @@ -6,7 +6,7 @@ from PytorchBoot.utils.log_util import Log import torch import os import sys -sys.path.append(r"/media/hofee/data/project/python/nbv_reconstruction/nbv_reconstruction") +sys.path.append(r"/home/data/hofee/project/nbv_rec/nbv_reconstruction") from utils.data_load import DataLoadUtil from utils.pose import PoseUtil @@ -140,15 +140,16 @@ if __name__ == "__main__": torch.manual_seed(seed) np.random.seed(seed) config = { - "root_dir": "/media/hofee/data/project/python/nbv_reconstruction/sample_for_training/scenes", - "split_file": "/media/hofee/data/project/python/nbv_reconstruction/sample_for_training/OmniObject3d_train.txt", - "model_dir": "/media/hofee/data/data/scaled_object_meshes", - "ratio": 0.5, + "root_dir": "/home/data/hofee/project/nbv_rec/data/nbv_rec_data_512_preproc_npy", + "split_file": "/home/data/hofee/project/nbv_rec/data/OmniObject3d_train.txt", + "model_dir": "/home/data/hofee/project/nbv_rec/data/scaled_object_meshes", + "ratio": 0.005, "batch_size": 2, "filter_degree": 75, "num_workers": 0, "pts_num": 32684, "type": namespace.Mode.TEST, + "load_from_preprocess": True } ds = SeqNBVReconstructionDataset(config) print(len(ds))