在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 ip正则式
May 07 Python
Python多线程结合队列下载百度音乐的方法
Jul 27 Python
python3 实现验证码图片切割的方法
Dec 07 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
Jan 15 Python
python中pygame安装过程(超级详细)
Aug 04 Python
Pandas DataFrame中的tuple元素遍历的实现
Oct 23 Python
python的pyecharts绘制各种图表详细(附代码)
Nov 11 Python
Python笔记之facade模式
Nov 20 Python
Django+Celery实现动态配置定时任务的方法示例
May 26 Python
python3中TQDM库安装及使用详解
Nov 18 Python
如何基于Python和Flask编写Prometheus监控
Nov 25 Python
Python进行区间取值案例讲解
Aug 02 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
基于Windows下Apache PHP5.3.1安装教程
2010/01/08 PHP
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
2012/01/15 Javascript
javascript获取设置div的高度和宽度兼容任何浏览器
2013/09/22 Javascript
Javascript浅谈之this
2013/12/17 Javascript
可自定义速度的js图片无缝滚动示例分享
2014/01/20 Javascript
jQuery 插件开发指南
2014/11/14 Javascript
nodejs URL模块操作URL相关方法介绍
2015/03/03 NodeJs
javascript实现Table间隔色以及选择高亮(和动态切换数据)的方法
2015/05/14 Javascript
nodejs实现遍历文件夹并统计文件大小
2015/05/28 NodeJs
js 判断附件后缀的简单实现方法
2016/10/11 Javascript
图片上传之FileAPI与NodeJs
2017/01/24 NodeJs
vue.js删除动态绑定的radio的指定项
2017/06/02 Javascript
js学习总结之DOM2兼容处理顺序问题的解决方法
2017/07/27 Javascript
jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例
2017/12/18 jQuery
Java设计中的Builder模式的介绍
2018/03/22 Javascript
微信小程序获取音频时长与实时获取播放进度问题
2018/08/28 Javascript
理顺8个版本vue的区别(小结)
2018/09/17 Javascript
vue两组件间值传递 $router.push实现方法
2019/05/15 Javascript
node.js express框架简介与实现
2019/07/23 Javascript
浅谈JS for循环中使用break和continue的区别
2020/07/21 Javascript
python 异常处理总结
2016/10/18 Python
Python实现的插入排序算法原理与用法实例分析
2017/11/22 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
2018/09/13 Python
python print输出延时,让其立刻输出的方法
2019/01/07 Python
Python 下载Bing壁纸的示例
2020/09/29 Python
python调用win32接口进行截图的示例
2020/11/11 Python
HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例
2017/08/18 HTML / CSS
意大利网上书店:LaFeltrinelli
2020/06/12 全球购物
澳大利亚最受欢迎的超级商场每日优惠:Catch
2020/11/17 全球购物
C#面试问题
2016/07/29 面试题
人力资源专员自我评价怎么写
2013/09/19 职场文书
《小石潭记》教学反思
2014/02/13 职场文书
研修第一天随笔感言
2014/02/15 职场文书
教师工作决心书
2015/02/04 职场文书
企业管理不到位检讨书
2019/06/27 职场文书
python3.7.2 tkinter entry框限定输入数字的操作
2021/05/22 Python