scxpand.autoencoders.ae_models#

Functions

create_ae_model(data_format, prm, device)

load_ae_model(model_path, device)

Load a trained autoencoder model using unified loading utilities.

Classes

AutoencoderModel(data_format, latent_dim, ...)

ForkAutoencoder(data_format, latent_dim, ...)

class scxpand.autoencoders.ae_models.AutoencoderModel(data_format, latent_dim, encoder_hidden_dims, decoder_hidden_dims, classifier_hidden_dims, dropout_rate, needs_pi=True, needs_theta=True)#
__init__(data_format, latent_dim, encoder_hidden_dims, decoder_hidden_dims, classifier_hidden_dims, dropout_rate, needs_pi=True, needs_theta=True)#

Initialize internal Module state, shared by both nn.Module and ScriptModule.

decode(latent_vec)#

Decode latent representation.

Parameters:

latent_vec (Tensor) – Latent vector, shape [batch_size, latent_dim]

Returns:

  • mu: Mean parameter after inverse transforms to match row-normalized target scale, shape [batch_size, n_genes], non-negative

  • pi: Zero-inflation parameter, shape [batch_size, n_genes] (None if not needed, in [0, 1])

  • theta: Dispersion parameter, shape [batch_size, n_genes] (None if not needed, positive values)

Return type:

DecoderOutput containing

encode(x)#

Encode input data to latent representation.

Parameters:

x (Tensor) – Input data tensor, shape [batch_size, n_genes]

Returns:

Latent representation, shape [batch_size, latent_dim]

Return type:

latent_vec

class scxpand.autoencoders.ae_models.ForkAutoencoder(data_format, latent_dim, encoder_hidden_dims, decoder_hidden_dims, classifier_hidden_dims, dropout_rate, needs_pi=True, needs_theta=True)#
__init__(data_format, latent_dim, encoder_hidden_dims, decoder_hidden_dims, classifier_hidden_dims, dropout_rate, needs_pi=True, needs_theta=True)#

The fork autoencoder has separate decoder paths for mean, dispersion, and dropout probability.

decode(latent_vec)#

Decode latent representation.

Return type:

DecoderOutput

Returns:#

DecoderOutput

Contains: - mu: Mean parameter after inverse normalization to match row-normalized target scale - pi: Dropout probability (None if not needed) - theta: Dispersion parameter (None if not needed, positive values)

encode(x)#

Encode input data to latent representation.

Parameters:

x (Tensor) – Input data tensor, shape [batch_size, n_genes]

Returns:

Latent representation, shape [batch_size, latent_dim]

Return type:

latent_vec

scxpand.autoencoders.ae_models.create_ae_model(data_format, prm, device)#
Return type:

BaseAutoencoder

scxpand.autoencoders.ae_models.load_ae_model(model_path, device)#

Load a trained autoencoder model using unified loading utilities.

Parameters:
  • model_path (Path) – Path to directory containing model files

  • device (str | device) – Device to load model on (‘cuda’, ‘mps’, or ‘cpu’)

Return type:

BaseAutoencoder

Returns:

Loaded autoencoder model ready for inference or embedding generation

Raises: