这篇文章记录了keras中常用的四种模型保存和加载,包括h5(常用)、json和yaml、pb(这种模式我知道的在tensorflow和 opencv中可以直接读取)。
keras可以保存的模型种类
- h5:此格式需要python提前安装h5py库,
sudo pip install h5py
- json
- yaml
- pb
几种文件格式的区别
h5
我们可以将网络结构和权重一起保存为.h5文件,另外还包括模型训练时的配置(包括损失函数、优化器等),以及优化器的状态,比如优化器中变化的参数的状态等,优点是:操作非常方便,代码很少,缺点是:占用空间较大
1 |
|
当然,我们也可以单独将网络的权重保存为.h5文件,并不保存结构。
1 |
|
json和yaml
一般只保存网络的结构,并不保存权重,配合save_weights
和load_weights
使用
1 |
|
1 |
|
pb
pb格式的文件里是保存了网络的结构和权重的,方便tensorflow和opencv调用。
1 |
|