在FATE-1.10中,整个NN框架被重新设计用于高度可定制的机器学习。使用此框架,您可以创建自己的模型、数据集、培训器和聚合器,以满足您的特定需求。本教程向您介绍我们的全新框架。通过下面的链接,您可以一步一步地学习如何使用我们的Homo&Hetero(水平和垂直)NN。请注意,本教程基于独立版本,如果您使用的是集群版本,则可能需要分别在每一方部署代码/数据。
1.快速入门
为了熟悉FATE-NN和管道,我们建议您完成这两个快速入门教程。如果您使用的是表格数据,并且不需要任何自定义,那么这些教程应该足以满足您的需要
2.Homo-NN定制
2.1数据集
在PyTorch中自定义数据集类似于使用内置的PyTorch数据集类。在本章中,我们将使用一个简单的图像分类任务-MNIST手写识别数据集-作为示例,演示如何在FATE中自定义和使用自己的数据集。
2.2损失函数
在本节中,我们将向您展示如何自定义损失函数
2.3模型
在FATE 1.10中,您可以通过子类nn.Module创建PyTorch模型。使用上一章中的示例,我们将演示如何在FATE中开发、部署和使用更复杂的模型。
2.4培训师(Trainer)
为了向您展示如何开发自己的Trainer,这里我们尝试开发一个简单的Trainer来实现FedProx算法(这只是一个示例,请不要将其用于生产)。此外,我们还将向您展示如何使用TrainerBase附带的界面来保存模型、设置检查点、输出预测结果,以及使用该界面在FateBoard上显示一些数据。
2.5聚合器
3.Hetero-NN定制
3.1数据集
3.2顶部模型、底部模型和交互层&损失
4.高级示例
这里我们提供了一些使用FATE-NN框架的高级示例。