DeepSDFStruct.deep_sdf.workspace#

Experiment Workspace Management#

This module provides utilities for managing DeepSDF experiment workspaces, including directory structures, file naming conventions, and model loading/saving.

Constants#

The module defines standard subdirectory and file names for organizing experiment artifacts: - Model parameters and checkpoints - Optimizer states - Latent code vectors - Training logs and plots - Reconstructions and evaluations - Dataset samples and normalization parameters

Architecture Registry#

ARCHITECTURES: dict

Maps architecture names to decoder classes, enabling dynamic model instantiation from configuration files.

Functions#

load_experiment_specifications

Load experiment configuration from specs.json file.

load_trained_model

Load a trained decoder network from checkpoint.

load_latent_vectors

Load learned latent codes from checkpoint.

create_experiment_directory

Initialize directory structure for a new experiment.

The workspace utilities ensure consistent organization across experiments and simplify model loading for inference and continued training.

Functions

get_data_source_map_filename(data_dir)

get_default_device()

get_evaluation_dir(experiment_dir, checkpoint)

get_latent_codes_dir(experiment_dir[, ...])

get_model_params_dir(experiment_dir[, ...])

get_normalization_params_filename(data_dir, ...)

get_optimizer_params_dir(experiment_dir[, ...])

get_reconstructed_code_filename(...)

get_reconstructed_mesh_filename(...[, ...])

get_screenshots_dir(experiment_dir[, ...])

init_decoder(experiment_specs, device, ...)

load_experiment_specifications(...)

load_latent_vectors(experiment_directory, ...)

load_model_parameters(experiment_directory, ...)

load_optimizer(experiment_directory, ...)

load_trained_model(experiment_directory, ...)

print_model_specifications(experiment_directory)

save_experiment_summary(...)

Classes

class DeepSDFStruct.deep_sdf.workspace.ExperimentSummary#

Bases: TypedDict

data_dir: str#
device: str#
host_name: str#
loss: float#
num_epochs: int#
timestamp: str#
training_duration: str#
version: str#
DeepSDFStruct.deep_sdf.workspace.get_data_source_map_filename(data_dir)#
DeepSDFStruct.deep_sdf.workspace.get_default_device()#
DeepSDFStruct.deep_sdf.workspace.get_evaluation_dir(experiment_dir, checkpoint, create_if_nonexistent=False)#
DeepSDFStruct.deep_sdf.workspace.get_latent_codes_dir(experiment_dir, create_if_nonexistent=False)#
DeepSDFStruct.deep_sdf.workspace.get_model_params_dir(experiment_dir, create_if_nonexistent=False)#
DeepSDFStruct.deep_sdf.workspace.get_normalization_params_filename(data_dir, dataset_name, class_name, instance_name)#
DeepSDFStruct.deep_sdf.workspace.get_optimizer_params_dir(experiment_dir, create_if_nonexistent=False)#
DeepSDFStruct.deep_sdf.workspace.get_reconstructed_code_filename(experiment_dir, epoch, dataset, class_name, instance_name)#
DeepSDFStruct.deep_sdf.workspace.get_reconstructed_mesh_filename(experiment_dir, epoch, dataset, class_name, instance_name, create_dir=True, filetype='ply')#
DeepSDFStruct.deep_sdf.workspace.get_screenshots_dir(experiment_dir, create_if_nonexistent=True)#
DeepSDFStruct.deep_sdf.workspace.init_decoder(experiment_specs, device, data_parallel)#
DeepSDFStruct.deep_sdf.workspace.load_experiment_specifications(experiment_directory)#
DeepSDFStruct.deep_sdf.workspace.load_latent_vectors(experiment_directory, checkpoint, device)#
DeepSDFStruct.deep_sdf.workspace.load_model_parameters(experiment_directory, checkpoint, decoder, device)#
Parameters:

decoder (torch.nn.modules.module.Module)

DeepSDFStruct.deep_sdf.workspace.load_optimizer(experiment_directory, checkpoint, optimizer, device)#
Parameters:

optimizer (torch.nn.modules.module.Module)

DeepSDFStruct.deep_sdf.workspace.load_trained_model(experiment_directory, checkpoint, device=None, data_parallel=False)#
Parameters:
  • experiment_directory (str)

  • checkpoint (str)

DeepSDFStruct.deep_sdf.workspace.print_model_specifications(experiment_directory)#
Parameters:

experiment_directory (str)

DeepSDFStruct.deep_sdf.workspace.save_experiment_summary(experiment_directory, summary)#
Parameters: