在keras下实现多个模型的融合方式


Posted in Python onMay 23, 2020

在网上搜过发现关于keras下的模型融合框架其实很简单,奈何网上说了一大堆,这个东西官方文档上就有,自己写了个demo:

# Function:基于keras框架下实现,多个独立任务分类
# Writer: PQF
# Time: 2019/9/29

import numpy as np
from keras.layers import Input, Dense
from keras.models import Model
import tensorflow as tf

# 生成训练集
dataset_size = 128*3
rdm = np.random.RandomState(1)
X = rdm.rand(dataset_size,2)
Y1 = [[int(x1+x2<1)] for (x1,x2) in X]
Y2 = [[int(x1+x2*x2<0.5)] for (x1,x2) in X]

X_train = X[:-2]
Y_train1 = Y1[:-2]
Y_train2 = Y2[:-2]

X_test = X[-2:dataset_size]
Y_test1 = Y1[-2:dataset_size]
Y_test2 = Y2[-2:dataset_size]

#网络一
input = Input(shape=(2,))
x = Dense(units=16,activation='relu')(input)
output = Dense(units=1,activation='sigmoid',name='output1')(x)

#网络二
input2 = Input(shape=(2,))
x2 = Dense(units=16,activation='relu')(input2)
output2 = Dense(units=1,activation='sigmoid',name='output2')(x2)

#模型合并
model = Model(inputs=[input,input2],outputs=[output,output2])
model.summary()

model.compile(optimizer='rmsprop',loss='binary_crossentropy',loss_weights=[1.0,1.0])
model.fit([X_train,X_train],[Y_train1,Y_train2],batch_size=48,epochs=200)

print('x_test is :\n')
print(X_test)
print('y_test1 is :\n')
print(Y_test1)
print('y_test2 is :\n')
print(Y_test2)

predict = model.predict([X_test,X_test])
print('prediction is : \n')
print(predict[0])
print(predict[1])

补充知识:keras的融合层使用理解

最近开始研究U-net网络,其中接触到了融合层的概念,做个笔记。

在keras下实现多个模型的融合方式

上图为U-net网络,其中上采样层(绿色箭头)需要与下采样层池化层(红色箭头)层进行融合,要求每层的图片大小一致,维度依照融合的方式可以不同,融合之后输出的图片相较于没有融合层的网络,边缘处要清晰很多!

这时候就要用到keras的融合层概念(Keras中文文档https://keras.io/zh/)

文档中分别讲述了加减乘除的四中融合方式,这种方式要求两层之间shape必须一致。

重点讲述一下Concatenate(拼接)方式

拼接方式默认依照最后一维也就是通道来进行拼接

在keras下实现多个模型的融合方式

如同上图(128*128*64)与(128*128*128)进行Concatenate之后的shape为128*128*192

ps:

中文文档为老版本,最新版本的keras.layers.merge方法进行了整合

在keras下实现多个模型的融合方式

上图为新版本整合之后的方法,具体使用方法一看就懂,不再赘述。

以上这篇在keras下实现多个模型的融合方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现从订阅源下载图片的方法
Mar 11 Python
Python处理字符串之isspace()方法的使用
May 19 Python
python模块之paramiko实例代码
Jan 31 Python
Python初学者需要注意的事项小结(python2与python3)
Sep 26 Python
详解Python 多线程 Timer定时器/延迟执行、Event事件
Jun 27 Python
python将字典列表导出为Excel文件的方法
Sep 02 Python
python之array赋值技巧分享
Nov 28 Python
python生成特定分布数的实例
Dec 05 Python
pandas实现将日期转换成timestamp
Dec 07 Python
Python实现使用dir获取类的方法列表
Dec 24 Python
TensorFlow tf.nn.max_pool实现池化操作方式
Jan 04 Python
keras model.fit 解决validation_spilt=num 的问题
Jun 19 Python
Keras使用ImageNet上预训练的模型方式
May 23 #Python
使用Keras预训练模型ResNet50进行图像分类方式
May 23 #Python
基于Python中random.sample()的替代方案
May 23 #Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
May 23 #Python
keras中模型训练class_weight,sample_weight区别说明
May 23 #Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
May 23 #Python
Keras实现将两个模型连接到一起
May 23 #Python
You might like
ThinkPHP写第一个模块应用
2012/02/20 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
使用Yii2实现主从数据库设置
2016/11/20 PHP
php微信公众平台开发(三)订阅事件处理
2016/12/06 PHP
php实现购物车功能(以大苹果购物网为例)
2017/03/09 PHP
PHP中number_format()函数的用法讲解
2019/04/08 PHP
基于Laravel 5.2 regex验证的正确写法
2019/09/29 PHP
javascript 正则替换 replace(regExp, function)用法
2010/05/22 Javascript
jQuery Validation插件remote验证方式的Bug解决
2010/07/01 Javascript
JQuery each()函数如何优化循环DOM结构的性能
2012/12/10 Javascript
JS按回车键实现登录的方法
2014/08/25 Javascript
AngularJS HTML编译器介绍
2014/12/06 Javascript
值得学习的bootstrap fileinput文件上传工具
2016/11/08 Javascript
JavaScript实现QQ列表展开收缩扩展功能
2017/10/30 Javascript
深入理解vue中slot与slot-scope的具体使用
2018/01/26 Javascript
vue.js实现带日期星期的数字时钟功能示例
2018/08/28 Javascript
解决vue 界面在苹果手机上滑动点击事件等卡顿问题
2018/11/27 Javascript
javascript实现一款好看的秒表计时器
2020/09/05 Javascript
如何利用nodejs自动定时发送邮件提醒(超实用)
2020/12/01 NodeJs
[02:31]《DAC最前线》之选手酒店现场花絮
2015/01/30 DOTA
[05:08]DOTA2-DPC中国联赛3月6日Recap集锦
2021/03/11 DOTA
python迭代器的使用方法实例
2013/11/21 Python
Python 基础教程之包和类的用法
2017/02/23 Python
python实现TF-IDF算法解析
2018/01/02 Python
django的ORM操作 增加和查询
2019/07/26 Python
后端开发使用pycharm的技巧(推荐)
2020/03/27 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
2020/10/30 Python
HTML5 Canvas图像模糊完美解决办法
2018/02/06 HTML / CSS
摩顿布朗英国官方网上商店:奢华沐浴、身体和头发护理
2016/10/29 全球购物
夏尔巴人登珠峰品牌:Sherpa Adventure Gear
2018/02/08 全球购物
岗位职责的定义
2013/11/10 职场文书
高级技校毕业生自荐信
2013/11/18 职场文书
2015年六一儿童节活动总结
2015/02/11 职场文书
送给客户微信问候语!
2019/07/04 职场文书
Python实现仓库管理系统
2022/05/30 Python
MySQL中dd::columns表结构转table过程及应用详解
2022/09/23 MySQL