项目说明
在学习联邦学习时在使用 tff.type_at_clients 函数时报如下错误:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-17-8b22508bfb3f> in <module>
----> 1 federated_float_on_clients = tff.type_at_clients(tf.float32)
AttributeError: module 'tensorflow_federated' has no attribute 'type_at_clients'
问题解决
使用该语句的目的无非是创建一个变量表示联邦数据类型,其数据成员类型为 tf.float32, 数据部署位置在客户端,即 tff.CLIENT。因此,考虑使用 tff.FederatedType 函数创建此变量:
federated_float_on_clients = tff.FederatedType(tf.float32, tff.CLIENTS)
查看其属性:
#完整显示联邦数据类型
print( str(federated_float_on_clients))
#第一个参数表示联邦数据成员类型,第二个参数表示联邦数据部署位置,第三个参数可以查看客户端中的数据类型是否全部相同
print(str(federated_float_on_clients.member))
print(str(federated_float_on_clients.placement))
print(str(federated_float_on_clients.all_equal))
executed in 6ms, finished 09:10:02 2021-04-20
{float32}@CLIENTS
float32
CLIENTS
False