ReUseX  0.0.5
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
reusex::gsplat::TrainResult Struct Reference

#include <train.hpp>

Collaboration diagram for reusex::gsplat::TrainResult:

Public Attributes

GaussianCloud gaussians
std::vector< TrainMetricshistory
std::vector< EvalMetricsevals
 Held-out evaluations, empty when TrainOptions::holdout_every is 0.
double seconds = 0
std::size_t final_count = 0
double final_psnr = 0
 mean PSNR over the last logged window
double final_holdout_psnr = 0
 Held-out PSNR at the last evaluation, 0 when there was no split.
double final_holdout_ssim = 0
std::size_t relocated = 0
 cumulative MCMC relocations
std::size_t added = 0
 cumulative MCMC growth
std::vector< std::size_t > trained_views
 The view indices the optimizer actually drew during the run, sorted and deduplicated, and the ones reserved for evaluation.
std::vector< std::size_t > holdout_view_indices
std::vector< std::filesystem::path > renders
 PNGs written by the render_iterations schedule, in write order.
std::vector< std::filesystem::path > checkpoints
 Intermediate .ply files from the checkpoint_every schedule that are still on disk, oldest first.
int final_sh_degree = 0
 The highest SH degree the warm-up schedule actually unlocked, which is not always gaussians.sh_degree: a run shorter than sh_degree_interval * sh_degree stops part-way up the ladder, and the bands it never reached are still zero in the saved model.
bool cancelled = false
 True when the run stopped early on a cancel request rather than by reaching TrainOptions::iterations.
int iterations_run = 0
 The last iteration actually executed.

Detailed Description

Definition at line 239 of file train.hpp.

Member Data Documentation

◆ added

std::size_t reusex::gsplat::TrainResult::added = 0

cumulative MCMC growth

Definition at line 252 of file train.hpp.

◆ cancelled

bool reusex::gsplat::TrainResult::cancelled = false

True when the run stopped early on a cancel request rather than by reaching TrainOptions::iterations.

The model and metrics are real, they are just from fewer iterations — check this before comparing two runs.

Definition at line 286 of file train.hpp.

◆ checkpoints

std::vector<std::filesystem::path> reusex::gsplat::TrainResult::checkpoints

Intermediate .ply files from the checkpoint_every schedule that are still on disk, oldest first.

Files already deleted by checkpoint_keep retention are dropped from this list as they go, so every entry names a file a caller can actually open.

Definition at line 273 of file train.hpp.

◆ evals

std::vector<EvalMetrics> reusex::gsplat::TrainResult::evals

Held-out evaluations, empty when TrainOptions::holdout_every is 0.

Definition at line 243 of file train.hpp.

◆ final_count

std::size_t reusex::gsplat::TrainResult::final_count = 0

Definition at line 245 of file train.hpp.

◆ final_holdout_psnr

double reusex::gsplat::TrainResult::final_holdout_psnr = 0

Held-out PSNR at the last evaluation, 0 when there was no split.

This is the honest quality number; final_psnr is a training-view number.

Definition at line 249 of file train.hpp.

◆ final_holdout_ssim

double reusex::gsplat::TrainResult::final_holdout_ssim = 0

Definition at line 250 of file train.hpp.

◆ final_psnr

double reusex::gsplat::TrainResult::final_psnr = 0

mean PSNR over the last logged window

Definition at line 246 of file train.hpp.

◆ final_sh_degree

int reusex::gsplat::TrainResult::final_sh_degree = 0

The highest SH degree the warm-up schedule actually unlocked, which is not always gaussians.sh_degree: a run shorter than sh_degree_interval * sh_degree stops part-way up the ladder, and the bands it never reached are still zero in the saved model.

Recorded so a caller comparing two runs can see that one of them trained a smaller model than its --sh-degree suggests.

Definition at line 281 of file train.hpp.

◆ gaussians

GaussianCloud reusex::gsplat::TrainResult::gaussians

Definition at line 240 of file train.hpp.

◆ history

std::vector<TrainMetrics> reusex::gsplat::TrainResult::history

Definition at line 241 of file train.hpp.

◆ holdout_view_indices

std::vector<std::size_t> reusex::gsplat::TrainResult::holdout_view_indices

Definition at line 263 of file train.hpp.

◆ iterations_run

int reusex::gsplat::TrainResult::iterations_run = 0

The last iteration actually executed.

Equals TrainOptions::iterations for a run that finished.

Definition at line 289 of file train.hpp.

◆ relocated

std::size_t reusex::gsplat::TrainResult::relocated = 0

cumulative MCMC relocations

Definition at line 251 of file train.hpp.

◆ renders

std::vector<std::filesystem::path> reusex::gsplat::TrainResult::renders

PNGs written by the render_iterations schedule, in write order.

A scheduled render whose write failed is absent — the list is what is on disk, not what was attempted.

Definition at line 267 of file train.hpp.

◆ seconds

double reusex::gsplat::TrainResult::seconds = 0

Definition at line 244 of file train.hpp.

◆ trained_views

std::vector<std::size_t> reusex::gsplat::TrainResult::trained_views

The view indices the optimizer actually drew during the run, sorted and deduplicated, and the ones reserved for evaluation.

These are recorded rather than merely intended: "held out" is only a real claim if nothing ever backpropagated through those views, and that is a property of the draw loop, not of the split. Keeping the observed draws makes the separation checkable by a caller (and by a test) instead of having to be taken on trust.

Definition at line 262 of file train.hpp.


The documentation for this struct was generated from the following file: