LightningSDE_FixedPotential_RegularizedVelocityRatio#

class scdiffeq.core.lightning_models._lightning_sde_fixed_potential_regularized_velocity_ratio.LightningSDE_FixedPotential_RegularizedVelocityRatio(latent_dim: int = 50, velocity_ratio_params: ~typing.Dict[str, float | bool] = {'enforce': 0, 'method': 'square', 'target': 1}, name: str | None = None, mu_hidden: ~typing.List[int] | int = [2000, 2000], sigma_hidden: ~typing.List[int] | int = [800, 800], mu_activation: str | ~typing.List[str] = 'LeakyReLU', sigma_activation: str | ~typing.List[str] = 'LeakyReLU', mu_dropout: float | ~typing.List[float] = 0.1, sigma_dropout: float | ~typing.List[float] = 0.1, mu_bias: bool = True, sigma_bias: ~typing.List[bool] = True, mu_output_bias: bool = True, sigma_output_bias: bool = True, mu_n_augment: int = 0, sigma_n_augment: int = 0, sde_type: str = 'ito', noise_type: str = 'general', brownian_dim: int = 1, coef_drift: float = 1.0, coef_diffusion: float = 1.0, train_lr: float = 0.0001, train_optimizer: ~torch.optim.optimizer.Optimizer = <class 'torch.optim.rmsprop.RMSprop'>, train_scheduler: ~torch.optim.lr_scheduler._LRScheduler = <class 'torch.optim.lr_scheduler.StepLR'>, train_step_size: int = 10, dt: float = 0.1, adjoint: bool = False, backend: str = 'auto', loading_existing: bool = False, *args, **kwargs)[source]#

Bases: PotentialMixIn, RegularizedVelocityRatioMixIn, BaseLightningDiffEq

LightningSDE-FixedPotential-RegularizedVelocityRatio

LightningSDE-FixedPotential-RegularizedVelocityRatio model accessed as model.DiffEq

Parameters:
  • latent_dim (int, optional) – Number of latent dimensions over which SDE should be parameterized. Default is 50.

  • velocity_ratio_params (Dict[str, Union[float, bool]], optional) – Parameters for the velocity ratio regularization. Default is {“target”: 1, “enforce”: 0, “method”: “square”}.

  • name (Optional[str], optional) – Model name used during project saving. Default is None.

  • mu_hidden (Union[List[int], int], optional) – Hidden layer sizes for the drift function. Default is [2000, 2000].

  • sigma_hidden (Union[List[int], int], optional) – Hidden layer sizes for the diffusion function. Default is [800, 800].

  • mu_activation (Union[str, List[str]], optional) – Activation function for the drift function. Default is “LeakyReLU”.

  • sigma_activation (Union[str, List[str]], optional) – Activation function for the diffusion function. Default is “LeakyReLU”.

  • mu_dropout (Union[float, List[float]], optional) – Dropout rate for the drift function. Default is 0.1.

  • sigma_dropout (Union[float, List[float]], optional) – Dropout rate for the diffusion function. Default is 0.1.

  • mu_bias (bool, optional) – Whether to use bias in the drift function. Default is True.

  • sigma_bias (List[bool], optional) – Whether to use bias in the diffusion function. Default is True.

  • mu_output_bias (bool, optional) – Whether to use bias in the output layer of the drift function. Default is True.

  • sigma_output_bias (bool, optional) – Whether to use bias in the output layer of the diffusion function. Default is True.

  • mu_n_augment (int, optional) – Number of augmented dimensions for the drift function. Default is 0.

  • sigma_n_augment (int, optional) – Number of augmented dimensions for the diffusion function. Default is 0.

  • sde_type (str, optional) – Type of SDE (e.g., “ito” or “stratonovich”). Default is “ito”.

  • noise_type (str, optional) – Type of noise (e.g., “general” or “diagonal”). Default is “general”.

  • brownian_dim (int, optional) – Dimension of the Brownian motion. Default is 1.

  • coef_drift (float, optional) – Coefficient for the drift term. Default is 1.0.

  • coef_diffusion (float, optional) – Coefficient for the diffusion term. Default is 1.0.

  • train_lr (float, optional) – Learning rate for training. Default is 1e-4.

  • train_optimizer (Optimizer, optional) – Optimizer for training. Default is torch.optim.RMSprop.

  • train_scheduler (torch.optim.lr_scheduler._LRScheduler, optional) – Learning rate scheduler for training. Default is torch.optim.lr_scheduler.StepLR.

  • train_step_size (int, optional) – Step size for the learning rate scheduler. Default is 10.

  • dt (float, optional) – Time step for the SDE solver. Default is 0.1.

  • adjoint (bool, optional) – Whether to use the adjoint method for backpropagation. Default is False.

  • backend (str, optional) – Backend to use for the SDE solver. Default is “auto”.

  • loading_existing (bool, optional) – Whether to load an existing model. Default is False.

Return type:

None

__init__(latent_dim: int = 50, velocity_ratio_params: ~typing.Dict[str, float | bool] = {'enforce': 0, 'method': 'square', 'target': 1}, name: str | None = None, mu_hidden: ~typing.List[int] | int = [2000, 2000], sigma_hidden: ~typing.List[int] | int = [800, 800], mu_activation: str | ~typing.List[str] = 'LeakyReLU', sigma_activation: str | ~typing.List[str] = 'LeakyReLU', mu_dropout: float | ~typing.List[float] = 0.1, sigma_dropout: float | ~typing.List[float] = 0.1, mu_bias: bool = True, sigma_bias: ~typing.List[bool] = True, mu_output_bias: bool = True, sigma_output_bias: bool = True, mu_n_augment: int = 0, sigma_n_augment: int = 0, sde_type: str = 'ito', noise_type: str = 'general', brownian_dim: int = 1, coef_drift: float = 1.0, coef_diffusion: float = 1.0, train_lr: float = 0.0001, train_optimizer: ~torch.optim.optimizer.Optimizer = <class 'torch.optim.rmsprop.RMSprop'>, train_scheduler: ~torch.optim.lr_scheduler._LRScheduler = <class 'torch.optim.lr_scheduler.StepLR'>, train_step_size: int = 10, dt: float = 0.1, adjoint: bool = False, backend: str = 'auto', loading_existing: bool = False, *args, **kwargs) None[source]#

LightningSDE-FixedPotential-RegularizedVelocityRatio model accessed as model.DiffEq

Parameters:
  • latent_dim (int, optional) – Number of latent dimensions over which SDE should be parameterized. Default is 50.

  • velocity_ratio_params (Dict[str, Union[float, bool]], optional) – Parameters for the velocity ratio regularization. Default is {“target”: 1, “enforce”: 0, “method”: “square”}.

  • name (Optional[str], optional) – Model name used during project saving. Default is None.

  • mu_hidden (Union[List[int], int], optional) – Hidden layer sizes for the drift function. Default is [2000, 2000].

  • sigma_hidden (Union[List[int], int], optional) – Hidden layer sizes for the diffusion function. Default is [800, 800].

  • mu_activation (Union[str, List[str]], optional) – Activation function for the drift function. Default is “LeakyReLU”.

  • sigma_activation (Union[str, List[str]], optional) – Activation function for the diffusion function. Default is “LeakyReLU”.

  • mu_dropout (Union[float, List[float]], optional) – Dropout rate for the drift function. Default is 0.1.

  • sigma_dropout (Union[float, List[float]], optional) – Dropout rate for the diffusion function. Default is 0.1.

  • mu_bias (bool, optional) – Whether to use bias in the drift function. Default is True.

  • sigma_bias (List[bool], optional) – Whether to use bias in the diffusion function. Default is True.

  • mu_output_bias (bool, optional) – Whether to use bias in the output layer of the drift function. Default is True.

  • sigma_output_bias (bool, optional) – Whether to use bias in the output layer of the diffusion function. Default is True.

  • mu_n_augment (int, optional) – Number of augmented dimensions for the drift function. Default is 0.

  • sigma_n_augment (int, optional) – Number of augmented dimensions for the diffusion function. Default is 0.

  • sde_type (str, optional) – Type of SDE (e.g., “ito” or “stratonovich”). Default is “ito”.

  • noise_type (str, optional) – Type of noise (e.g., “general” or “diagonal”). Default is “general”.

  • brownian_dim (int, optional) – Dimension of the Brownian motion. Default is 1.

  • coef_drift (float, optional) – Coefficient for the drift term. Default is 1.0.

  • coef_diffusion (float, optional) – Coefficient for the diffusion term. Default is 1.0.

  • train_lr (float, optional) – Learning rate for training. Default is 1e-4.

  • train_optimizer (Optimizer, optional) – Optimizer for training. Default is torch.optim.RMSprop.

  • train_scheduler (torch.optim.lr_scheduler._LRScheduler, optional) – Learning rate scheduler for training. Default is torch.optim.lr_scheduler.StepLR.

  • train_step_size (int, optional) – Step size for the learning rate scheduler. Default is 10.

  • dt (float, optional) – Time step for the SDE solver. Default is 0.1.

  • adjoint (bool, optional) – Whether to use the adjoint method for backpropagation. Default is False.

  • backend (str, optional) – Backend to use for the SDE solver. Default is “auto”.

  • loading_existing (bool, optional) – Whether to load an existing model. Default is False.

Return type:

None