fl_sim.models#

This module contains built-in simple models.

Convolutional neural networks (CNN)#

CNNMnist(num_classes)

Convolutional neural network using MNIST type input.

CNNFEMnist([num_classes])

Convolutional neural network using FEMnist type input.

CNNFEMnist_Tiny([num_classes])

Tiny version of CNNFEMnist.

CNNCifar(num_classes)

Convolutional neural network using CIFAR type input.

CNNCifar_Small(num_classes)

Convolutional neural network using CIFAR type input.

CNNCifar_Tiny(num_classes)

Convolutional neural network using CIFAR type input.

ResNet18(num_classes[, pretrained])

ResNet18 model for image classification.

ResNet10(num_classes[, pretrained])

ResNet10 model for image classification.

Recurrent neural networks (RNN)#

RNN_OriginalFedAvg([embedding_dim, ...])

Creates a RNN model using LSTM layers for Shakespeare language models (next character prediction task).

RNN_StackOverFlow([vocab_size, ...])

Creates a RNN model using LSTM layers for StackOverFlow (next word prediction task).

RNN_Sent140([latent_size, num_classes, ...])

Stacked LSTM model for sentiment analysis on the Sent140 dataset.

RNN_Sent140_LITE([latent_size, num_classes, ...])

Stacked LSTM model for sentiment analysis on the Sent140 dataset.

Multilayer perceptron (MLP)#

MLP(dim_in, dim_out[, dim_hidden, ...])

Multi-layer perceptron.

FedPDMLP(dim_in, dim_hidden, dim_out[, ndim])

Multi-layer perceptron modified from FedPD/models.py.

Linear models#

LogisticRegression(num_features, num_classes)

Logistic regression model for classification task.

SVC(num_features, num_classes)

Support vector machine classifier.

SVR(num_features)

Support vector machine regressor.

Utilities#

reset_parameters(module)

Reset the parameters of a module and its children.

top_n_accuracy(preds, labels[, n])

Top-n accuracy.

CLFMixin()

Mixin class for classifiers.

REGMixin()

Mixin for regressors.

DiffMixin()

Mixin for differences of two models.