在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中利用Into包整洁地进行数据迁移的教程
Mar 30 Python
Python使用multiprocessing实现一个最简单的分布式作业调度系统
Mar 14 Python
使用 Python 实现微信公众号粉丝迁移流程
Jan 03 Python
python中字符串变二维数组的实例讲解
Apr 03 Python
pandas 获取季度,月度,年度首尾日期的方法
Apr 11 Python
Python实现正弦信号的时域波形和频谱图示例【基于matplotlib】
May 04 Python
numpy.linspace函数具体使用详解
May 27 Python
Tensorflow的梯度异步更新示例
Jan 23 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
May 19 Python
keras读取训练好的模型参数并把参数赋值给其它模型详解
Jun 15 Python
Python操作Word批量生成合同的实现示例
Aug 28 Python
Python如何使用循环结构和分支结构
Apr 13 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
PHP的FTP学习(三)
2006/10/09 PHP
基于Jquery的回车成tab焦点切换效果代码(Enter To Tab )
2010/11/14 Javascript
JQuery防止退格键网页后退的实现代码
2012/03/23 Javascript
javascript不可用的问题探究
2013/10/01 Javascript
jQuery中odd选择器的定义和用法
2014/12/23 Javascript
百度地图API之本地搜索与范围搜索
2015/07/30 Javascript
JS+CSS实现带有碰撞缓冲效果的竖向导航条代码
2015/09/15 Javascript
javascript动态获取登录时间和在线时长
2016/02/25 Javascript
Bootstrap导航简单实现代码
2017/03/06 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
2017/03/15 Javascript
利用js将ajax获取到的后台数据动态加载至网页中的方法
2018/08/08 Javascript
Vue-component全局注册实例
2018/09/06 Javascript
详解如何用VUE写一个多用模态框组件模版
2018/09/27 Javascript
微信公众号平台接口开发 获取access_token过程解析
2019/08/14 Javascript
vue-cli和v-charts实现可视化图表过程解析
2019/10/08 Javascript
JS如何实现动态添加的元素绑定事件
2019/11/12 Javascript
Python中atexit模块的基本使用示例
2015/07/08 Python
Python 爬虫的工具列表大全
2016/01/31 Python
浅析python中的分片与截断序列
2016/08/09 Python
基于python 字符编码的理解
2017/09/02 Python
TensorFlow实现非线性支持向量机的实现方法
2018/04/28 Python
Selenium元素的常用操作方法分析
2018/08/10 Python
python tkinter图形界面代码统计工具
2019/09/18 Python
浅谈Python的方法解析顺序(MRO)
2020/03/05 Python
用python实现一个简单的验证码
2020/12/09 Python
Html5移动端获奖无缝滚动动画实现示例
2018/06/25 HTML / CSS
蒂娜商店:Tiina the Store
2019/12/07 全球购物
波兰最大的电商平台:Allegro.pl
2021/02/06 全球购物
置业顾问岗位职责
2014/03/02 职场文书
旅游安全协议书
2014/04/21 职场文书
大学中国梦演讲稿
2014/04/23 职场文书
学校师德承诺书
2014/05/23 职场文书
古诗之爱国古诗5首
2019/09/20 职场文书
小学四年级作文之最感动的一件事
2019/11/01 职场文书
如何利用python和DOS获取wifi密码
2021/03/31 Python
CentOS7设置ssh服务以及端口修改方式
2022/12/24 Servers