You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法从tensorflow.keras.utils导入HDF5Matrix的报错问题求助

解决无法导入HDF5Matrix的问题

问题原因

HDF5Matrix在TensorFlow 2.10及之后的版本里,已经从tensorflow.keras.utils中移除,要么移到了独立的Keras包,要么官方更建议直接用h5py处理HDF5数据。

可行解决方案

方案1:调整导入路径

如果环境里装了独立的keras包,直接换导入语句:

import h5py
from keras.utils import HDF5Matrix  # 替换原来的tensorflow.keras.utils导入

没装独立Keras的话,先执行安装命令:

pip install keras

方案2:用h5py直接读取(推荐)

代码里本来就有raw_h5分支的h5py读取逻辑,直接复用替代HDF5Matrix,彻底规避版本兼容问题:
修改else分支代码如下:

else:
    def load_xya(in_id, normalize=False):
        # 用h5py直接读取,替代HDF5Matrix
        with h5py.File(_h5_path, 'r') as h5_file:
            feat = h5_file[f"{in_id}/feature"][()]
            labels = h5_file[f"{in_id}/label"][()]
            adj = h5_file[f"{in_id}/adjacency_distance"][()]
            if normalize:
                # 这里补上你的normalized_laplacian处理逻辑
                adj = normalized_laplacian(adj)
            return feat, labels, adj

这种方式不依赖Keras的HDF5Matrix,兼容性更强,数据读取逻辑也更直观。

方案3:回退TensorFlow版本

要是必须用HDF5Matrix,就回退到2.10版本:

pip install tensorflow==2.10

回退后就能正常从tensorflow.keras.utils导入HDF5Matrix。

内容的提问来源于stack exchange,提问作者SwDL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 12:23:22