联邦学习框架 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])


浙公网安备 33010602011771号