gpt4 book ai didi

python - 联邦学习 : convert my own image dataset into tff simulation Clientdata

转载 作者:行者123 更新时间:2023-12-04 10:45:03 24 4
gpt4 key购买 nike

这是我的联邦学习测试的代码

from __future__ import absolute_import, division, print_function
import os
import collections
import warnings
from six.moves import range
import numpy as np
import six
import tensorflow as tf
import tensorflow_federated as tff
from tensorflow.keras.callbacks import EarlyStopping, ReduceLROnPlateau, ModelCheckpoint
import PIL


#pretrain

train_datagen1 = tf.keras.preprocessing.image.ImageDataGenerator(vertical_flip=True)
training_set1= train_datagen1.flow_from_directory('folder1/train',target_size=(200, 200), batch_size=32)



)





现在,当我想像 tensorflow federtaed for image classification 中的教程一样创建 sample_batch 时

我写了这一行,它发现了这个错误
example_dataset = training_set1.create_tf_dataset_for_client(training_set1.client_ids[0])

错误

TypeError Traceback(最近一次调用最后一次)

1 training_set1.element_type_structure
----> 2 example_dataset = training_set1.create_tf_dataset_for_client(training_set1.client_ids[0])

TypeError: 'abstractproperty' 对象不支持索引

你能告诉我我必须如何创建 dummy_batch 以便将 keras 模型转换为 tff.learning.from_compiled_keras_model(model, dummy_batch)

最佳答案

感谢您对 TFF 的关注!

通常,TFF 旨在摄取 tf.data.Dataset 对象,所以上面的例子需要一些额外的预处理。

好消息是,有一个 existing tutorial展示了一个这样做的例子。在上面,类似下面的内容应该可以工作:

ds = tf.data.Dataset.from_generator(
img_gen.flow_from_directory, args=[<your_directory>],
output_types=<your_types>,
output_shapes=<your_shapes>
)

一般来说,可以考虑 ClientData对象是花哨的 dict将客户端 ID 映射到 tf.data.Datasets . ClientData本身是一个抽象类,不能直接实例化,提供了类方法来构造 ClientData的真正实例化。 .一种应该在这里工作的类方法是 tff.simulation.ClientData.from_clients_and_fn .在这里,如果你传递一个列表 client_ids以及在给定客户端 ID 时返回适当数据集的函数,您将拥有一个功能齐全的 ClientData .

我想在这里,定义您可能使用的函数的一种方法是构造一个 Python dict将客户端 ID 映射到 tf.data.Dataset对象——然后你可以定义一个函数,它接受一个客户端 ID,在字典中查找数据集,并返回数据集。

希望这会有所帮助!

关于python - 联邦学习 : convert my own image dataset into tff simulation Clientdata,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59741397/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com