pyprobound.layers.module.ModuleSpec

class ModuleSpec(alphabet, module, name='')

Bases: LayerSpec

Specification for any torch.nn.Module.

The forward implementation of the module must take a sequence tensor of shape \((\text{minibatch},\text{in_channels},\text{in_length})\) and return a tensor of shape \((\text{minibatch},1,1)\).

__init__(alphabet, module, name='')

Initializes the Module specification.

Parameters:
  • alphabet (Alphabet) – The alphabet used to encode sequences into tensors.

  • module (Module) – The module used for scoring.

  • name (str) – A string used to describe the Module specification.

Methods

check_length_consistency()

Checks that input lengths of Binding components are consistent.

components()

Iterator of child components.

forward()

Define the computation performed at every call.

freeze()

Turns off gradient calculation for all parameters.

in_len(length[, mode])

Calculates the receptive field.

max_embedding_size()

The maximum number of bytes needed to encode a sequence.

optim_procedure([ancestry, current_order])

The sequential optimization procedure for all Binding components.

out_len(length[, mode])

Calculates the number of elements in the output length dimension.

reload(checkpoint)

Loads the model from a checkpoint file.

reload_from_state_dict(state_dict)

Loads the model from a state dict.

save(checkpoint[, flank_lengths])

Saves the model to a file with "state_dict" and "metadata" fields.

unfreeze([parameter])

Turns on gradient calculation for the specified parameter.

update_binding_optim(binding_optim)

Updates a BindingOptim with the specification's optimization steps.

Attributes

in_channels

The number of input channels.

out_channels

The number of output channels.

unfreezable

alias of Literal['all']

Non-Inherited Members

unfreeze(parameter='all')

Turns on gradient calculation for the specified parameter.

Parameters:

parameter (Literal['all']) – Parameter to be unfrozen, defaults to all parameters.

Return type:

None

out_len(length, mode='shape')

Calculates the number of elements in the output length dimension.

Parameters:
  • length (TypeVar(T, int, Tensor)) – The input length.

  • mode (Literal['min', 'max', 'shape']) – Either shape, which returns the number of elements, or min or max, which return the minimum or maximum number of finite elements.

Return type:

TypeVar(T, int, Tensor)

Returns:

The number of elements in the output length dimension, according to the specified mode.

in_len(length, mode='max')

Calculates the receptive field.

Parameters:
  • length (TypeVar(T, int, Tensor)) – The output length.

  • mode (Literal['min', 'max']) – Either min or max, representing the minimum or maximum number of positions contributing to the output length.

Return type:

Optional[TypeVar(T, int, Tensor)]

Returns:

The number of input positions that contribute to the values of the corresponding number of output positions. Outputs None if the max receptive field is undefined.