mirror of
https://github.com/nerfstudio-project/nerfstudio.git
synced 2026-11-11 10:34:29 +08:00
Quickstart Guide Fixes (#531)
* key fixes * Update README.md * Update run_eval.py * Better error reporting * lint * Removed rgb fine change * Readme updates * Justify center
This commit is contained in:
parent
297950f7ec
commit
cfff2bb65d
@ -160,7 +160,7 @@ ns-train nerfacto --vis viewer --viewer.zmq-port 8001 --viewer.websocket-port 80
|
||||
|
||||
### 3.x Training a model with the viewer
|
||||
|
||||
Make sure to forward a port for the websocket to localhost. The default port is 7007, which you should be expose to localhost:7007.
|
||||
Make sure to forward a port for the websocket to localhost. The default port is 7007, which you should expose to localhost:7007.
|
||||
|
||||
```bash
|
||||
# with the default port
|
||||
@ -168,6 +168,9 @@ ns-train nerfacto --vis viewer
|
||||
|
||||
# with a specified websocket port
|
||||
ns-train nerfacto --vis viewer --viewer.websocket-port=7008
|
||||
|
||||
# port forward if running on remote
|
||||
ssh -L localhost:7008:localhost:7008 {REMOTE HOST}
|
||||
```
|
||||
|
||||
### 4. Visualizing training runs
|
||||
@ -201,10 +204,10 @@ We support logging to weights and biases. To enable wandb logging, add the flag
|
||||
|
||||
</details>
|
||||
|
||||
## 5. Rendering a trajectories during inference
|
||||
## 5. Rendering a trajectory during inference
|
||||
|
||||
```
|
||||
ns-eval render-trajectory --load-config=outputs/blender_lego/instant_ngp/2022-07-07_230905/config.yml--traj=spiral --output-path=output.mp4
|
||||
ns-eval render-trajectory --load-config=outputs/blender_lego/instant_ngp/{MOST_RECENT_RUN}/config.yml--traj=spiral --output-path=output.mp4
|
||||
```
|
||||
|
||||
## 6. In-depth guide
|
||||
|
||||
@ -194,8 +194,6 @@ class NeRFModel(Model):
|
||||
"fine_psnr": float(fine_psnr),
|
||||
"fine_ssim": float(fine_ssim),
|
||||
"fine_lpips": float(fine_lpips),
|
||||
"ray_loss_coarse": float(torch.mean(outputs["ray_loss_coarse"])),
|
||||
"ray_loss_fine": float(torch.mean(outputs["ray_loss_fine"])),
|
||||
}
|
||||
images_dict = {"img": combined_rgb, "accumulation": combined_acc, "depth": combined_depth}
|
||||
return metrics_dict, images_dict
|
||||
|
||||
@ -8,6 +8,7 @@ import dataclasses
|
||||
import json
|
||||
import logging
|
||||
import os
|
||||
import sys
|
||||
from dataclasses import dataclass
|
||||
from pathlib import Path
|
||||
from typing import Literal, Tuple, Union
|
||||
@ -48,6 +49,14 @@ def _load_checkpoint(config: cfg.TrainerConfig, pipeline: Pipeline) -> Path:
|
||||
if config.load_step is None:
|
||||
console.print("Loading latest checkpoint from load_dir")
|
||||
# NOTE: this is specific to the checkpoint name format
|
||||
if not os.path.exists(config.load_dir):
|
||||
console.rule("Error", style="red")
|
||||
console.print(f"No checkpoint directory found at {config.load_dir}, ", justify="center")
|
||||
console.print(
|
||||
"Please make sure the checkpoint exists, they should be generated periodically during training",
|
||||
justify="center",
|
||||
)
|
||||
sys.exit(1)
|
||||
load_step = sorted(int(x[x.find("-") + 1 : x.find(".")]) for x in os.listdir(config.load_dir))[-1]
|
||||
else:
|
||||
load_step = config.load_step
|
||||
@ -93,6 +102,11 @@ def _render_trajectory_video(
|
||||
camera_ray_bundle = cameras.generate_rays(camera_indices=camera_idx).to(pipeline.device)
|
||||
with torch.no_grad():
|
||||
outputs = pipeline.model.get_outputs_for_camera_ray_bundle(camera_ray_bundle)
|
||||
if rendered_output_name not in outputs:
|
||||
console.rule("Error", style="red")
|
||||
console.print(f"Could not find {rendered_output_name} in the model outputs", justify="center")
|
||||
console.print(f"Please set --rendered_output_name to one of: {outputs.keys()}", justify="center")
|
||||
sys.exit(1)
|
||||
image = outputs[rendered_output_name].cpu().numpy()
|
||||
images.append(image)
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user