diff --git a/configs/server/server_train_config.yaml b/configs/server/server_train_config.yaml index 721f327..e5451f3 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: "1" + cuda_visible_devices: "0" parallel: False experiment: - name: debug + name: overfit_ab_global_only root_dir: "experiments" use_checkpoint: False epoch: -1 # -1 stands for last epoch @@ -28,50 +28,50 @@ runner: #- OmniObject3d_test - OmniObject3d_val - pipeline: nbv_reconstruction_global_pts_n_num_pipeline + pipeline: nbv_reconstruction_pipeline dataset: OmniObject3d_train: - root_dir: "/home/data/hofee/project/nbv_rec/data/sample_for_training_new" + root_dir: "/data/hofee/nbv_rec_part2_preprocessed" model_dir: "../data/scaled_object_meshes" source: nbv_reconstruction_dataset - split_file: "/home/data/hofee/project/nbv_rec/data/sample.txt" + split_file: "/data/hofee/data/sample.txt" type: train cache: True ratio: 1 - batch_size: 160 + batch_size: 80 num_workers: 16 pts_num: 8192 load_from_preprocess: True OmniObject3d_test: - root_dir: "/home/data/hofee/project/nbv_rec/data/sample_for_training_new" + root_dir: "/data/hofee/nbv_rec_part2_preprocessed" model_dir: "../data/scaled_object_meshes" source: nbv_reconstruction_dataset - split_file: "/home/data/hofee/project/nbv_rec/data/sample.txt" + split_file: "/data/hofee/data/sample.txt" type: test cache: True filter_degree: 75 eval_list: - pose_diff - ratio: 0.05 - batch_size: 160 + ratio: 1 + batch_size: 80 num_workers: 12 pts_num: 8192 load_from_preprocess: True OmniObject3d_val: - root_dir: "/home/data/hofee/project/nbv_rec/data/sample_for_training_new" + root_dir: "/data/hofee/nbv_rec_part2_preprocessed" model_dir: "../data/scaled_object_meshes" source: nbv_reconstruction_dataset - split_file: "/home/data/hofee/project/nbv_rec/data/sample.txt" + split_file: "/data/hofee/data/sample.txt" type: test cache: True filter_degree: 75 eval_list: - pose_diff - ratio: 0.005 - batch_size: 160 + ratio: 1 + batch_size: 80 num_workers: 12 pts_num: 8192 load_from_preprocess: True diff --git a/core/nbv_dataset.py b/core/nbv_dataset.py index d47975a..4bdb89b 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 = 50 self.datalist = self.datalist*scale_ratio if self.cache: expr_root = ConfigManager.get("runner", "experiment", "root_dir") @@ -206,14 +206,9 @@ class NBVReconstructionDataset(BaseDataset): collate_data["combined_scanned_pts"] = torch.stack( [torch.tensor(item["combined_scanned_pts"]) for item in batch] ) - collate_data["scanned_pts_mask"] = torch.stack( - [torch.tensor(item["scanned_pts_mask"]) for item in batch] - ) - for key in batch[0].keys(): if key not in [ "scanned_pts", - "scanned_pts_mask", "scanned_n_to_world_pose_9d", "best_to_world_pose_9d", "combined_scanned_pts", diff --git a/core/pipeline.py b/core/pipeline.py index ce2d755..0fad455 100644 --- a/core/pipeline.py +++ b/core/pipeline.py @@ -20,8 +20,8 @@ class NBVReconstructionPipeline(nn.Module): self.pose_encoder = ComponentFactory.create( namespace.Stereotype.MODULE, self.module_config["pose_encoder"] ) - self.transformer_seq_encoder = ComponentFactory.create( - namespace.Stereotype.MODULE, self.module_config["transformer_seq_encoder"] + self.seq_encoder = ComponentFactory.create( + namespace.Stereotype.MODULE, self.module_config["seq_encoder"] ) self.view_finder = ComponentFactory.create( namespace.Stereotype.MODULE, self.module_config["view_finder"] @@ -107,7 +107,7 @@ class NBVReconstructionPipeline(nn.Module): seq_embedding = pose_feat_seq embedding_list_batch.append(seq_embedding) # List(B): Tensor(S x (Dp)) - seq_feat = self.transformer_seq_encoder.encode_sequence(embedding_list_batch) # Tensor(B x Ds) + seq_feat = self.seq_encoder.encode_sequence(embedding_list_batch) # Tensor(B x Ds) main_feat = torch.cat([seq_feat, global_scanned_feat], dim=-1) # Tensor(B x (Ds+Dg)) if torch.isnan(main_feat).any():