immuneML.ml_methods.pytorch_implementations package


immuneML.ml_methods.pytorch_implementations.PyTorchLogisticRegression module

class immuneML.ml_methods.pytorch_implementations.PyTorchLogisticRegression.PyTorchLogisticRegression(in_features: int, zero_abundance_weight_init: bool)[source]

Bases: torch.nn.modules.module.Module


Defines the computation performed at every call.

Should be overridden by all subclasses.


Although the recipe for forward pass needs to be defined within this function, one should call the Module instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.

immuneML.ml_methods.pytorch_implementations.PyTorchReceptorCNN module

class immuneML.ml_methods.pytorch_implementations.PyTorchReceptorCNN.PyTorchReceptorCNN(kernel_count: int, kernel_size, positional_channels: int, sequence_type: immuneML.environment.SequenceType.SequenceType, background_probabilities, chain_names)[source]

Bases: torch.nn.modules.module.Module

This class implements the ReceptorCNN using PyTorch. This is one specific implementation of the architecture proposed in ReceptorCNN.


Implements the forward pass through the network by applying kernels to the one-hot encoded receptors, followed by ReLU activation and max pooling. The obtained output is then concatenated to get the receptor representation. A fully-connected layer is then applied to the representation to predict the class assignment.


x – input data consisting of one-hot encoded immune receptors with optional positional information


predictions of class assignment


Information gain corresponds to Kullback-Leibler divergence between the observed probability p of an option (e.g. amino acid) ond null (or background) probability q of the option:

\[ \begin{align}\begin{aligned}KL(p||q) = \sum_n p_n \, log_2 \, \frac{p_n}{q_n} = \sum_n p_n \, log_2 \, p_n - \sum_n p_n \, log_2 \, q_n = \sum_n p_n \, log_2 \, p_n - log_2 \, q_n\\log_2 \, q_n < 0 \, \, \, (1)\\\sum_n p_n \, log_2 \, p_n < 0 \, \, \, (2)\\(1) \wedge (2) \Rightarrow max(KL(p||q)) = - log_2 \, q_n\end{aligned}\end{align} \]

max information gain given background probabilities


Rescales the weights in the kernels to represent information gain matrices.

Module contents