p2pfl.learning.frameworks.pytorch.lightning_model moduleΒΆ

Convolutional Neural Network (for MNIST) with PyTorch Lightning.

class p2pfl.learning.frameworks.pytorch.lightning_model.LightningModel(model, params=None, num_samples=None, contributors=None, additional_info=None, compression=None)[source]ΒΆ

Bases: P2PFLModel

P2PFL model abstraction for PyTorch Lightning.

Parameters:
  • model (LightningModule) – The model to encapsulate.

  • params (list[ndarray] | bytes | None) – The parameters of the model.

  • num_samples (int | None) – The number of samples.

  • contributors (list[str] | None) – The contributors of the model.

  • additional_info (dict[str, Any] | None) – Additional information.

  • compression (dict[str, dict[str, Any]] | None) – Optional dictionary for compression settings.

get_framework()[source]ΒΆ

Retrieve the model framework name.

Return type:

str

Returns:

The name of the model framework.

get_parameters()[source]ΒΆ

Get the parameters of the model.

Return type:

list[ndarray]

Returns:

The parameters of the model

set_parameters(params)[source]ΒΆ

Set the parameters of the model.

Parameters:

params (list[ndarray] | bytes) – The parameters of the model.

Raises:

ModelNotMatchingError – If parameters don’t match the model.

Return type:

None