0.参考文献
https://blog.csdn.net/Mr_Zing/article/details/100051535
1.安装 anaconda 3
2.在conda环境下
2.1 安装tf-fed
conda create -n tf-fed python=3.7 tensorflow --yes
2.2 激活环境
conda activate tf-fed
2.3 安装tff 0.8.0
pip install tensorflow_federated==0.8.0
2.4 验证安装成功
python -c "import tensorflow_federated as tff; print(tff.federated_computation(lambda: 'Hello World')())"
3.官方的demo
from __future__ import absolute_import, division, print_function
import collections
import numpy as np
from six.moves import range
import tensorflow as tf
import tensorflow_federated as tff
tf.compat.v1.enable_v2_behavior()
#下载数据集
mnist_train, mnist_test = tf.keras.datasets.mnist.load_data()
#每个用户1000个样本
NUM_EXAMPLES_PER_USER = 1000
BATCH_SIZE = 100
def get_data_for_digit(source, digit):
output_sequence = []
all_samples = [i for i, d in enumerate(source[1]) if d == digit]
for i in range(0, min(len(all_samples), NUM_EXAMPLES_PER_USER),
BATCH_SIZE):
batch_samples = all_samples[i:i + BATCH_SIZE]
output_sequence.append({
'x':
np.array(
[source[0][i].flatten() / 255.0 for i in