python - AttributeError:模块“tensorflow_federated.python.simulation”没有属性“HDF5ClientData”
问题描述
我有一个写入 h5 文件的数据集,我想将其转换为tff.simulation.datasets.ClientData,也就是说,在预处理后它变成这种形式<tensorflow_federated.python.simulation.datasets.client_data.PreprocessClientData at 0x7f00947f6f50 >。一周前,我可以用这个阅读它
train_path='FederatedClients/dataTrain.h5'
train_data = tff.simulation.HDF5ClientData(train_path)
但是现在,我再次收到此语句的以下错误。
----------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-6-f4c34c62ca50> in <module>
1 train_path='FederatedClients/dataTrain.h5'
2 #train_data=pd.read_hdf(train_path)
----> 3 train_data = tff.simulation.HDF5ClientData(train_path)
4 test_path='FederatedClients/dataTest.h5'
5 test_data=pd.read_hdf(test_path)
AttributeError: module 'tensorflow_federated.python.simulation' has no attribute 'HDF5ClientData'
不知道怎么办了,我用最基本的panda读取H5文件也报错,TAT
train_data=pd.read_hdf(train_path)
----------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-7-151fe098668c> in <module>
1 train_path='FederatedClients/dataTrain.h5'
----> 2 train_data=pd.read_hdf(train_path)
3 train_data = tff.simulation.HDF5ClientData(train_path)
4 test_path='FederatedClients/dataTest.h5'
5 test_data=pd.read_hdf(test_path)
~/anaconda3/envs/tff/lib/python3.7/site-packages/pandas/io/pytables.py in read_hdf(path_or_buf, key, mode, errors, where, start, stop, columns, iterator, chunksize, **kwargs)
437 if len(groups) == 0:
438 raise ValueError(
--> 439 "Dataset(s) incompatible with Pandas data types, "
440 "not table, or no datasets found in HDF5 file."
441 )
ValueError: Dataset(s) incompatible with Pandas data types, not table, or no datasets found in HDF5 file.
如果您能解决我的问题,我将不胜感激
解决方案
0.19.0
删除了TFF 版本tff.simulation.HDF5ClientData
(发行说明)。TFF 数据集现在由 SQLite 而不是 HDF5 支持。
HDF5 实现可以从https://github.com/tensorflow/federated/blob/v0.18.0/tensorflow_federated/python/simulation/hdf5_client_data.py恢复。在本地复制并替换:
client_data.ClientData
与tff.simulation.datasets.ClientData
.- 删除
py_typecheck
和tensor_utils
使用,它们不是必需的。
推荐阅读
- machine-learning - 是否应该将确定性模型训练拆分为训练数据集、测试数据集?
- ios - 将存档发送到 App Store Connect 时出错
- reactjs - material-ui dropzone 文件在验证时拒绝
- node.js - Mongoose 聚合图
- python - 如何合并和求和多索引数据帧
- r - 在 R 中安装“aspace”包
- javascript - 从 HTML 输入添加小计并使用 Javascript 添加它们而不刷新
- php - 下订单后如何清除 WooCommerce 计费电子邮件和计费电话结帐字段?
- android - 列表的第二项未显示
- typescript - TypeScript 复制现有接口但更改一个属性的类型