Tensorflow 如何访问序列类型中的值?

Tensorflow 如何访问序列类型中的值?,tensorflow,tensorflow-federated,Tensorflow,Tensorflow Federated,client\u输出中有以下属性 weights_delta = attr.ib() client_weight = attr.ib() model_output = attr.ib() client_loss = attr.ib() 之后,我以序列的形式通过 a=tff.federated\u collect(客户端输出)和round\u model\u delta=tff.federated\u map(在中选择\u fn,a)。我宣布 ` 在。在服务器上求平均值的过程中,我希望通过选择

client\u输出中有以下属性

weights_delta = attr.ib()
client_weight = attr.ib()
model_output = attr.ib()
client_loss = attr.ib() 
之后,我以序列的形式通过
a=tff.federated\u collect(客户端输出)
round\u model\u delta=tff.federated\u map(在中选择\u fn,a)
。我宣布 `


在。在服务器上求平均值的过程中,我希望通过选择一些损失值较小的客户端来求
权重_delta
的平均值。因此,我尝试通过
a.weights\u delta
访问它,但它不起作用。

tff.federated\u collect
返回一个
tff.SequenceType
放在
tff.SERVER
上,您可以用与客户端数据集相同的方式处理,通常使用
tff.tf\u计算
修饰的方法

请注意,您必须在
tff.federated\u计算
的范围内使用
tff.federated\u collect
运算符。您可能想要做的[*]是使用
tff.federated\u map
操作符将其传递到
tff.tf\u计算中。一旦进入
tff.tf_计算
,您就可以将其视为
tf.data.Dataset
对象,
tf.data
模块中的所有内容都可用


我在猜。更详细地解释您希望实现的目标会有所帮助。

谢谢您的回答。我更新了我的问题的更多细节。有没有办法找出每个客户的
体重增量
损失金额
??我想根据为每个客户生成的
损失总额
选择客户,并使用所选客户的
权重增量
进行
tff.联邦平均值
。是否有任何方法可以仅为部分客户找到
权重增量
的平均值?我不确定如何提供更多帮助,因为你指的是问题中没有的对象。什么是重量增量<代码>损失金额
?花点时间准备一个小的、自成一体的、误差可再现的例子会有所帮助。如果还不熟悉,阅读tf网站上的
tf.data
指南也会有所帮助。
@tff.tf_computation()  # append
def selecting_fn(a):
    #TODO
    return round_model_delta