Skip to content

Various small improvements#9

Merged
CedricThebault merged 10 commits into
masterfrom
dev/variousImprov
May 29, 2026
Merged

Various small improvements#9
CedricThebault merged 10 commits into
masterfrom
dev/variousImprov

Conversation

@CedricThebault

Copy link
Copy Markdown
Contributor

This pull request introduces several improvements and new features to the gsplatInterface codebase, focusing on enhanced logging, improved configurability, better training control, and expanded dataset handling. The main changes include switching from print statements to Python's logging module, adding configuration options for masking views and progress bar usage, updating learning rate handling, and refining the training loop for checkpointing and memory management.

Logging and Configuration Improvements:

  • Replaced all print statements with logging for more flexible and standardized output, and set up a customizable logging format in trainer.py and related modules. [1] [2] [3] [4] [5] [6] [7]
  • Added new configuration options to the Config dataclass: mask_views for excluding specific views from training, use_progress_bar for toggling progress bar display, retrieve_optimizer_state for controlling checkpoint loading, and use_scheduler for learning rate scheduling. [1] [2] [3]

Training Loop and Checkpoint Handling:

  • Improved checkpoint loading: now restores optimizer and strategy state when resuming, and properly sets the training step. Added support for resuming with custom numpy dtypes.
  • Integrated learning rate schedulers for MCMC strategy and controlled their activation via config.
  • Refined the training loop to update the loss accumulation, handle step counting correctly when resuming, and manage CUDA memory more aggressively with torch.cuda.empty_cache(). [1] [2] [3] [4]

Progress Bar and Masked Views Support:

  • Updated the ProgressBar utility to allow toggling progress bar usage and improved its integration with training. [1] [2]
  • Added support for masking specific view IDs in dataset parsing and training, enabling exclusion of problematic or unwanted data during training. [1] [2] [3]

Learning Rate Handling:

  • Adjusted learning rate scaling for the means parameter depending on the optimization strategy, and added factors for other parameters for better control and consistency. [1] [2] [3]

Miscellaneous:

  • Minor fixes such as typo corrections and improved comments for clarity. [1] [2] [3]

These changes collectively improve the usability, flexibility, and robustness of the training pipeline and associated utilities.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR makes incremental improvements to the Gaussian splatting training workflow, including logging updates, new training configuration options, checkpoint resume enhancements, and support for excluding selected SfM views.

Changes:

  • Adds trainer options for masked views, progress-bar usage, scheduler usage, and optimizer-state restoration.
  • Moves checkpoint loading into the training loop and stores optimizer/strategy state in checkpoints.
  • Replaces several print calls with logging and updates Meshroom node parameters to expose new options.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
meshroom/mrGSplat/GaussianSplattingOptim.py Exposes new Meshroom controls for masked views, progress bars, and optimizer-state resume behavior.
gsplatInterface/viewer.py Allows loading richer checkpoints by registering NumPy safe globals.
gsplatInterface/trainer.py Adds new config fields, logging setup, resume-state handling, scheduler changes, and training-loop updates.
gsplatInterface/datasets/sfm/sceneManager.py Adds masked-view filtering and converts parser status output to logging.
gsplatInterface/datasets/sfm/interface.py Converts SfM file read status output to logging.
gsplatInterface/common.py Adds optional progress-bar suppression support.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread gsplatInterface/trainer.py
Comment thread gsplatInterface/trainer.py Outdated
Comment thread gsplatInterface/datasets/sfm/sceneManager.py
Comment thread gsplatInterface/trainer.py

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.

Comment thread gsplatInterface/trainer.py
Comment thread gsplatInterface/trainer.py
Comment thread gsplatInterface/trainer.py

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.

Comment thread gsplatInterface/trainer.py
Comment thread gsplatInterface/trainer.py
@CedricThebault CedricThebault merged commit 2116a04 into master May 29, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants