【发布时间】:2021-10-27 12:48:44
【问题描述】:
大家:
我尝试在联合进程中加载'/root/.tff/emnist_all.sqlite'。进我能找到的例子,只看到本地模拟。
print('### CLIENT_DATA')
database_path = '/root/.tff/emnist_all.sqlite'
client_data = sql_client_data.SqlClientData(database_path, 'digits_only_train').preprocess(_add_proto_parsing).datasets
但这只是加载服务器数据(模拟客户端数据)。
我认为有必要使用federated_map 来加载客户端的每个数据集。我有点迷茫。
请大家帮帮我好吗?
剩下的代码(总结)是:
print('### GET CHANNELS')
# set up the remote executors
channels = get_channels(list_host)
tff.backends.native.set_remote_execution_context(channels)
print('### TRAINER')
trainer = tff.learning.build_federated_averaging_process(model_fn, client_optimizer_fn=lambda: tf.keras.optimizers.SGD(learning_rate=0.01))
print('### EVALUATE')
evaluate(trainer, preprocessed_data_for_clients)
【问题讨论】: