一、.h5文件介绍
Hierarchical Data Format分层数据格式,二进制文件格式,表示多维数据集和图像的通用格式,HDF 版本 5与早期不兼容。用来存储,管理,交互数据。h5是HDF5文件格式的后缀。h5文件对于存储大量数据而言拥有极大的优势,使用h5文件来存储数据效率高。h5文件是一个将‘group’和‘dataset‘合起来的容器,group像是文件夹,dataset是具体数据,文件,文件夹下可以创建子文件夹,子文件下可以放文件。
python 对.h5的操作依赖h5py包,keras可以通过load直接加载.h5文件。
https://reference.wolfram.com/language/ref/format/HDF5.html
https://blog.csdn.net/buchidanhuang/article/details/89716252
二、.h5文件读取
数据通过字典的方式获取或创建;
h5py下的Dataset, Group, File,
打开:h5py.File('xx.h5',"r"),h5py.File('xx.h5',"a") ,h5py.File('xx.h5',"w") as f
创建:f.create_dataset('name_xx',data=np.array(["num".encode(),"age".encode()]))
f.create_group("son") #
http://docs.h5py.org/en/stable/quick.html
三、keras中的.h5文件
model.save_weights(filepath)
将模型权重存储为 HDF5 文件。model.load_weights(filepath, by_name=False)
: 从 HDF5 文件(由save_weights
创建)中加载权重。默认情况下,模型的结构应该是不变的。 如果想将权重载入不同的模型(部分层相同), 设置by_name=True
来载入那些名字相同的层的权重。- model.save('xx.h5') #保存权重和图等
- model = load_model('xx.h5')#加载模型和图等
- keras.models.load_model() 读取网络、权重
- keras.models.load_weights() 仅读取权重
四、.h5文件转.pb文件