DeepSDFStruct.pretrained_models#

Pretrained DeepSDF Models#

This module provides access to pretrained DeepSDF neural network models for common microstructure geometries. These models can be used directly for geometry generation or as starting points for transfer learning.

Available Models#

ChiAndCross

Chi-shaped and cross-shaped lattice structures, commonly used in mechanical metamaterials.

AnalyticRoundCross

Round cross-section variations with analytical parameterization, useful for smooth stress distribution.

RoundCross

Standard round cross structures with various connectivity patterns.

Primitives

Basic 3D geometric primitives (spheres, cylinders, cubes, etc.) for building more complex structures.

Primitives2D

2D geometric primitives for planar structures and cross-sections.

Functions#

get_model(model, checkpoint=’latest’, device=None)

Load a pretrained model by name or enum value. Returns a DeepSDFModel ready for inference.

list_available_models()

Get a list of all available pretrained models.

The pretrained models are stored within the package and loaded on demand, enabling quick prototyping and exploration without requiring training.

Examples

Load and use a pretrained model:

from DeepSDFStruct.pretrained_models import get_model, PretrainedModels
import torch

# Load a model
model = get_model(PretrainedModels.RoundCross)

# Generate geometry with latent code
latent_code = torch.zeros(256)  # Use learned latent vector
points = torch.rand(1000, 3)
sdf_values = model(points, latent_code)

List available models:

from DeepSDFStruct.pretrained_models import list_available_models

models = list_available_models()
for model in models:
    print(f"Available model: {model.value}")

Functions

get_model(model[, checkpoint, device])

Load a pretrained model by name or enum.

list_available_models()

Classes

PretrainedModels(*values)

class DeepSDFStruct.pretrained_models.PretrainedModels(*values)#

Bases: enum.Enum

AnalyticRoundCross = 'analytic_round_cross'#
ChiAndCross = 'chi_and_cross'#
Primitives = 'primitives'#
Primitives2D = 'primitives_2d'#
RoundCross = 'round_cross'#
DeepSDFStruct.pretrained_models.get_model(model, checkpoint='latest', device=None)#

Load a pretrained model by name or enum.

Parameters:
  • model (str | PretrainedModels) – model identifier

  • checkpoint (str) – checkpoint file name (default: ‘latest’)

Return type:

DeepSDFModel

Returns:

Trained PyTorch model

DeepSDFStruct.pretrained_models.list_available_models()#