Keras模型加载之通过json文件

导入图

  • model_from_json

导入权重

  • load_weights
  • Note: load_weights没有返回值,千万不要model=model.load_weights(path)

代码示例

import numpy as np
from keras.models import Model, load_model
from keras.models import model_from_json
import json

json_file = '/path/to/model.json'
with open(json_file, 'r') as f:
    json_str = f.read()

## NOTE: 因为模型中有自定义的模块,所以导入json的时候需要添加一个参数custom_objects,一般情况下是不用加的
model = model_from_json(json_str, custom_objects={'BilinearUpSampling2D': BilinearUpSampling2D})
print(type(model))

## NOTE:注意可以只加载weights中有的一些权重,没有的就跳过,可以通过by_name参数实现
model.load_weights(
    '/path/to/AtrousFCN_Resnet50_16sweights.01-0.74.hdf5',
    by_name=True)
print("Load model sucess *****")

你可能感兴趣的:(python进阶知识,Keras)