Keras之h5模型(一)

一、.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文件

https://github.com/amir-abdi/keras_to_tensorflow

你可能感兴趣的:(tensorflow)