Skip to content

Models

Table of Contents

models.model

Abstract class for models

Model Objects

class Model(ABC)

train

@abstractmethod
def train(trainloader: DataLoader,
          client_name: str,
          epochs: int,
          verbose: bool = False) -> Dict

Method for running a training round

Arguments:

  • trainloader: Data loader for training data
  • client_name: Name of the current client
  • epochs: Number of epochs to train
  • verbose: Whether to print verbose output

test

@abstractmethod
def test(testloader: DataLoader,
         client_name: str,
         verbose: bool = False) -> Tuple[float, float, dict]

Method for running a test round

Arguments:

  • testloader: Data loader for test data
  • client_name: Name of the current client
  • verbose: Whether to print verbose output

get_net

@abstractmethod
def get_net()

Returns the current deep network

get_size

@abstractmethod
def get_size()

Returns the size of the current deep network

models.resnet18

Resnet18 model for federated learning

Resnet18 Objects

class Resnet18(Model)

Resnet18 model for federated learning

get_net

def get_net() -> nn.Module

Returns the current deep network

Returns:

The current deep network

get_size

def get_size() -> float

Returns the size of the current deep network

Returns:

The size of the current deep network

train

def train(trainloader: DataLoader,
          client_name: str,
          epochs: int,
          verbose: bool = False) -> Dict

Method for running a training round using cross entropy loss

Arguments:

  • trainloader: Data loader for training data
  • client_name: Name of the current client
  • epochs: Number of epochs to train
  • verbose: Whether to print verbose output

Returns:

Metrics of the training round

test

def test(testloader: DataLoader,
         client_name: str,
         verbose: bool = False) -> Tuple[float, float, dict]

Method for running a test round

Arguments:

  • testloader: Data loader for test data
  • client_name: Name of the current client
  • verbose: Whether to print verbose output

Returns:

Metrics of the test round