fl_sim.models#

本模块包含内置的简单模型。

卷积神经网络(CNN)#

CNNMnist(num_classes)

使用 MNIST 类型输入的卷积神经网络。

CNNFEMnist([num_classes])

使用 FEMnist 类型输入的卷积神经网络。

CNNFEMnist_Tiny([num_classes])

CNNFEMnist 的tiny 版本。

CNNCifar(num_classes)

使用 CIFAR 类型输入的卷积神经网络。

CNNCifar_Small(num_classes)

使用 CIFAR 类型输入的卷积神经网络。

CNNCifar_Tiny(num_classes)

使用 CIFAR 类型输入的卷积神经网络。

ResNet18(num_classes[, pretrained])

用于图像分类的 ResNet18 模型。

ResNet10(num_classes[, pretrained])

用于图像分类的 ResNet10 模型。

ShrinkedResNet(layers[, num_classes])

ResNet 的缩减版本,宏块(macro block)数量可以自定义。

循环神经网络(RNN)#

RNN_OriginalFedAvg([embedding_dim, ...])

为莎士比亚语言模型(下一个字符预测任务)创建的、使用 LSTM 层的 RNN 模型。

RNN_StackOverFlow([vocab_size, ...])

为 StackOverFlow(下一个词预测任务)创建的、使用 LSTM 层的 RNN 模型。

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

用于 Sent140 情感分析的堆叠 LSTM 模型。

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

用于 Sent140 情感分析的堆叠 LSTM 模型。

多层感知机(MLP)#

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

多层感知机。

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

由 FedPD/models.py 修改而来的多层感知机。

线性模型#

LogisticRegression(num_features, num_classes)

用于分类任务的逻辑回归模型。

SVC(num_features, num_classes)

支持向量机分类器。

SVR(num_features)

支持向量机回归器。

工具函数#

reset_parameters(module)

重置一个模块及其子模块的参数。

top_n_accuracy(preds, labels[, n])

Top-n 准确率。

CLFMixin()

用于分类器的 Mixin 类。

REGMixin()

用于回归器的 Mixin 类。

DiffMixin()

用于计算两个模型之差的 Mixin 类。