联邦学习框架 Tensorflow Federated (tff)

1.安装

pip install tensorflow-federated

可通过以下方式检查已安装成功,

import tensorflow_federated as tff

print(tff.federated_computation(lambda: 'Hello World')())

理想输出,

2.数据

tff.simulation.datasets

tff.simulation下的一个模块,主要包含tff进行模拟联邦学习训练的数据集,具体含有以下数据集:

  • celeba
  • cifar100
  • emnist
  • flair
  • gldv2
  • inaturalist
  • shakespeare
  • stackoverflow

选择其一emnist加载数据集,

emnist_train, emnist_test = tff.simulation.datasets.emnist.load_data()

为N个客户端分别构建本地训练数据集,

for i in range(N):
  client_dataset = emnist_train.create_tf_dataset_for_client(
      emnist_train.client_ids[i])

其中构建过程自动含有数据非独立同分布特征,可如下示例可视化非独立同分布数分布特点,

  for example in client_dataset:
      # Append counts individually per label to make plots
      # more colorful instead of one color per plot.
      label = example['label'].numpy()
      plot_data[label].append(label)
    plt.subplot(2, 5, i+1)
    plt.title('Client {}'.format(i))
    for j in range(10):
      plt.hist(
          plot_data[j],
          density=False,
          bins=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

posted @ 2023-09-25 21:36  ZerekGe  阅读(350)  评论(0)    收藏  举报