发布时间:2022-05-05 09:53:39 人气:305 作者:多测师
比序贯模型要复杂,但是效果很好,可以同时/分阶段输入变量,分阶段输出想要的模型。
所以说,只要你的模型不是类似VGG一样
1,应用函数式模型的基本步骤
1,model.layers() 添加层
2,model.compile() 模型训练的BP模式设置
3,model.fit() 模型训练参数设置+训练
4,evaluate() 模型评估
5,predict() 模型预测
2,常用Model属性
model.layers:组成模型图的各个层
model.inputs:模型的输入张量列表
model.outputs:模型的输出张量列表
1model = Model(inputs=, outputs = )
3,指定输入数据的shape
1inputs = Input(shape = (20, ))
4,编译,训练,评估,预测等步骤与序贯式模型相同(这里不再赘述)
1compile(self, optimizer, loss, metrics=None, loss_weights=None, sample_weight_mode=None)
本函数按batch计算在某些输入数据上模型的误差,其参数有:
x:输入数据,与fit一样,是numpy array或者numpy array的list
y:标签,numpy array
batch_size:整数,含义同fit的同名函数
verbose:含义与fit的同名函数,但是只能取0或者1
sample_weight:numpy array,含义同fit的同名函数
本函数编译模型以供训练,参数有:
1evaluate(self, x, y, batch_size=32, verbose=1, sample_weight=None)
序贯模型和函数模型共同的API
model.summary():打印出模型的概况,它实际调用的是keras.utils.print_summary
model.get_config():返回包含模型配置信息的Python字典,模型也可以从config中重构回去。
config = model.get_config()
model = Model.from_config(config)
model = Sequential.from_config(config)
上面是分别对序贯模型和函数式模型载入config
model.get_layer():依据层名或下标获得层对象
model.get_weights():返回模型权重张量的列表,类型为numpy.array
model.set_weights():从numpy array里载入给模型,要求数组与model.get_weights()一样
model.to_json():返回代表模型的JSON字符串,仅仅包含网络结构,不包含权重,可以从JSON字符串中重构模型
以上内容为大家介绍了python 的 Keras函数式模型,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/