Module auton_survival.models.dsm.dsm_torch
Torch model definitons for the Deep Survival Machines model
This includes definitons for the Torch Deep Survival Machines module. The main interface is the DeepSurvivalMachines class which inherits from torch.nn.Module.
Note: NOT DESIGNED TO BE CALLED DIRECTLY!!!
Functions
def create_representation(inputdim, layers, activation, bias=False)

Helper function to generate the representation function for DSM.
Deep Survival Machines learns a representation (\ Phi(X) ) for the input data. This representation is parameterized using a Non Linear Multilayer Perceptron (
torch.nn.Module
). This is a helper function designed to instantiate the representation for Deep Survival Machines.Warning
Not designed to be used directly.
Parameters
inputdim
:int
 Dimensionality of the input features.
layers
:list
 A list consisting of the number of neurons in each hidden layer.
activation
:str
 Choice of activation function: One of 'ReLU6', 'ReLU' or 'SeLU'.
Returns
an MLP with torch.nn.Module with the specfied structure.
def create_conv_representation(inputdim, hidden, typ='ConvNet', add_linear=True)

Helper function to generate the representation function for DSM.
Deep Survival Machines learns a representation (\ Phi(X) ) for the input data. This representation is parameterized using a Convolutional Neural Network (
torch.nn.Module
). This is a helper function designed to instantiate the representation for Deep Survival Machines.Warning
Not designed to be used directly.
Parameters
inputdim
:tuple
 Dimensionality of the input image.
hidden
:int
 The number of neurons in each hidden layer.
typ
:str
 Choice of convolutional neural network: One of 'ConvNet'
Returns
an ConvNet with torch.nn.Module with the specfied structure.
Classes
class DeepSurvivalMachinesTorch (inputdim, k, layers=None, dist='Weibull', temp=1000.0, discount=1.0, optimizer='Adam', risks=1)

A Torch implementation of Deep Survival Machines model.
This is an implementation of Deep Survival Machines model in torch. It inherits from the torch.nn.Module class and includes references to the representation learning MLP, the parameters of the underlying distributions and the forward function which is called whenver data is passed to the module. Each of the parameters are nn.Parameters and torch automatically keeps track and computes gradients for them.
Warning
Not designed to be used directly. Please use the API inferface
dsm.DeepSurvivalMachines
!!!Parameters
inputdim
:int
 Dimensionality of the input features.
k
:int
 The number of underlying parametric distributions.
layers
:list
 A list of integers consisting of the number of neurons in each hidden layer.
init
:tuple
 A tuple for initialization of the parameters for the underlying distributions. (shape, scale).
activation
:str
 Choice of activation function for the MLP representation. One of 'ReLU6', 'ReLU' or 'SeLU'. Default is 'ReLU6'.
dist
:str
 Choice of the underlying survival distributions. One of 'Weibull', 'LogNormal'. Default is 'Weibull'.
temp
:float
 The logits for the gate are rescaled with this value. Default is 1000.
discount
:float
 a float in [0,1] that determines how to discount the tail bias from the uncensored instances. Default is 1.
Initializes internal Module state, shared by both nn.Module and ScriptModule.
Methods
def forward(self, x, risk='1') ‑> Callable[..., Any]

The forward function that is called when data is passed through DSM.
Args
x: a torch.tensor of the input features.
def get_shape_scale(self, risk='1')
class DeepRecurrentSurvivalMachinesTorch (inputdim, k, typ='LSTM', layers=1, hidden=None, dist='Weibull', temp=1000.0, discount=1.0, optimizer='Adam', risks=1)

A Torch implementation of Deep Recurrent Survival Machines model.
This is an implementation of Deep Recurrent Survival Machines model in torch. It inherits from
DeepSurvivalMachinesTorch
and replaces the input representation learning MLP with an LSTM or RNN, the parameters of the underlying distributions and the forward function which is called whenever data is passed to the module. Each of the parameters are nn.Parameters and torch automatically keeps track and computes gradients for them.Warning
Not designed to be used directly. Please use the API inferface
dsm.DeepRecurrentSurvivalMachines
!!Parameters
inputdim
:int
 Dimensionality of the input features.
k
:int
 The number of underlying parametric distributions.
layers
:int
 The number of hidden layers in the LSTM or RNN cell.
hidden
:int
 The number of neurons in each hidden layer.
init
:tuple
 A tuple for initialization of the parameters for the underlying distributions. (shape, scale).
dist
:str
 Choice of the underlying survival distributions. One of 'Weibull', 'LogNormal'. Default is 'Weibull'.
temp
:float
 The logits for the gate are rescaled with this value. Default is 1000.
discount
:float
 a float in [0,1] that determines how to discount the tail bias from the uncensored instances. Default is 1.
Initializes internal Module state, shared by both nn.Module and ScriptModule.
Methods
def forward(self, x, risk='1') ‑> Callable[..., Any]

The forward function that is called when data is passed through DSM.
Note: As compared to DSM, the input data for DRSM is a tensor. The forward function involves unpacking the tensor inorder to directly use the DSM loss functions.
Args
x: a torch.tensor of the input features.
def get_shape_scale(self, risk='1')
class DeepConvolutionalSurvivalMachinesTorch (inputdim, k, embedding=None, hidden=None, dist='Weibull', temp=1000.0, discount=1.0, optimizer='Adam', risks=1)

A Torch implementation of Deep Convolutional Survival Machines model.
This is an implementation of Deep Convolutional Survival Machines model in torch. It inherits from
DeepSurvivalMachinesTorch
and replaces the input representation learning MLP with an simple convnet, the parameters of the underlying distributions and the forward function which is called whenever data is passed to the module. Each of the parameters are nn.Parameters and torch automatically keeps track and computes gradients for them.Warning
Not designed to be used directly. Please use the API inferface
dsm.DeepConvolutionalSurvivalMachines
!!Parameters
inputdim
:tuple
 Dimensionality of the input features. A tuple (height, width).
k
:int
 The number of underlying parametric distributions.
embedding
:torch.nn.Module
 A torch CNN to obtain the representation of the input data.
hidden
:int
 The number of neurons in each hidden layer.
dist
:str
 Choice of the underlying survival distributions. One of 'Weibull', 'LogNormal'. Default is 'Weibull'.
temp
:float
 The logits for the gate are rescaled with this value. Default is 1000.
discount
:float
 a float in [0,1] that determines how to discount the tail bias from the uncensored instances. Default is 1.
Initializes internal Module state, shared by both nn.Module and ScriptModule.
Class variables
var dump_patches : bool

Inherited from:
DeepSurvivalMachinesTorch
.dump_patches
dummy
var training : bool

Inherited from:
DeepSurvivalMachinesTorch
.training
dummy
Methods
def forward(self, x, risk='1') ‑> Callable[..., Any]

Inherited from:
DeepSurvivalMachinesTorch
.forward
The forward function that is called when data is passed through DSM.
Args
x: a torch.tensor of the input features.
def get_shape_scale(self, risk='1')
class DeepCNNRNNSurvivalMachinesTorch (inputdim, k, typ='LSTM', layers=1, hidden=None, dist='Weibull', temp=1000.0, discount=1.0, optimizer='Adam', risks=1)

A Torch implementation of Deep CNN Recurrent Survival Machines model.
This is an implementation of Deep Recurrent Survival Machines model in torch. It inherits from
DeepSurvivalMachinesTorch
and replaces the input representation learning MLP with an LSTM or RNN, the parameters of the underlying distributions and the forward function which is called whenever data is passed to the module. Each of the parameters are nn.Parameters and torch automatically keeps track and computes gradients for them.Warning
Not designed to be used directly. Please use the API inferface
dsm.DeepCNNRNNSurvivalMachines
!!Parameters
inputdim
:tuple
 Dimensionality of the input features. (height, width)
k
:int
 The number of underlying parametric distributions.
layers
:int
 The number of hidden layers in the LSTM or RNN cell.
hidden
:int
 The number of neurons in each hidden layer.
init
:tuple
 A tuple for initialization of the parameters for the underlying distributions. (shape, scale).
dist
:str
 Choice of the underlying survival distributions. One of 'Weibull', 'LogNormal'. Default is 'Weibull'.
temp
:float
 The logits for the gate are rescaled with this value. Default is 1000.
discount
:float
 a float in [0,1] that determines how to discount the tail bias from the uncensored instances. Default is 1.
Initializes internal Module state, shared by both nn.Module and ScriptModule.
Class variables
var dump_patches : bool

Inherited from:
DeepRecurrentSurvivalMachinesTorch
.dump_patches
dummy
var training : bool

Inherited from:
DeepRecurrentSurvivalMachinesTorch
.training
dummy
Methods
def forward(self, x, risk='1') ‑> Callable[..., Any]

The forward function that is called when data is passed through DSM.
Note: As compared to DSM, the input data for DCRSM is a tensor. The forward function involves unpacking the tensor inorder to directly use the DSM loss functions.
Args
x: a torch.tensor of the input features.
def get_shape_scale(self, risk='1')