4
0
mirror of https://github.com/nerfstudio-project/nerfstudio.git synced 2026-11-11 02:24:38 +08:00

fixing eval dataloader indices issue (#196)

* added some logic for the indices when none

* forgot to comment out code

* fix linting

* fixed typing
This commit is contained in:
Ethan Weber 2022-07-22 16:29:14 -07:00 committed by GitHub
parent 76c8c178be
commit 6cfccab336
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 3 deletions

View File

@ -17,7 +17,7 @@ Data loader.
"""
import random
from typing import Dict, List, Tuple, Union
from typing import Dict, List, Optional, Tuple, Union
from omegaconf import ListConfig
from torchtyping import TensorType
@ -142,12 +142,20 @@ class FixedIndicesEvalDataloader(EvalDataloader):
intrinsics,
camera_to_world,
num_rays_per_chunk: int,
image_indices: Union[List[int], ListConfig],
image_indices: Optional[Union[List[int], ListConfig]] = None,
device="cpu",
**kwargs,
):
"""
Args:
image_dataset: ImageDataset to load data from
image_indices: List of image indices to load data from. If None, then use all images.
"""
super().__init__(image_dataset, intrinsics, camera_to_world, num_rays_per_chunk, device, **kwargs)
self.image_indices = image_indices
if image_indices is None:
self.image_indices = list(range(len(image_dataset)))
else:
self.image_indices = image_indices
self.num_rays_per_chunk = num_rays_per_chunk
self.count = 0

View File

@ -41,6 +41,7 @@ def _load_best_ckpt(hydra_dir: str, config: DictConfig) -> str:
step = os.path.splitext(latest_ckpt)[0].split("-")[-1]
config.resume_train.load_dir = model_dir
config.resume_train.load_step = int(step)
config.data.dataloader_eval.image_indices = None
return os.path.join(model_dir, latest_ckpt)

View File

@ -184,6 +184,7 @@ def main(
config = compose(config_name, overrides=config_overrides)
config.trainer.resume_train.load_dir = checkpoint_dir
config.data.dataloader_eval.image_indices = None
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
# setup graph and dataset