【实战篇】——keras合并多个模型
以下是基于更新后的keras的写法,其中注释掉的是旧的用法
from keras.layers.core import Dense, Activation, Flatten, Dropout
from keras.layers.convolutional import Convolution2D, MaxPooling1D, Convolution1D, MaxPooling2D, AveragePooling2D
from keras.models import Model, Sequentialdef build(self, vector_dim, ext_feature_dim):#第一个卷积# model=Sequential()# model.add(Convolution2D(100,1,input_shape=(self.num_channel,100,vector_dim),activation='relu'))# model.add(Dropout(0.5))# model.add(MaxPooling2D(pool_size=(1,1)))# model.add(Flatten())# model.add(Dropout(0.5))# model.add(Dense(100,activation='tanh'))# model.add(Dropout(0.5))model1_in = Input(shape=(self.num_channel, 100, 300))model1_out = Convolution2D(100, 1, input_shape=(self.num_channel, 100, vector_dim), activation='relu',padding='same')(model1_in)model1_out = Dropout(0.5)(model1_out)model1_out = MaxPooling2D(pool_size=(1, 1))(model1_out)model1_out = Flatten(name='flatten')(model1_out)model1_out = Dropout(0.5)(model1_out)model1_out = Dense(100, activation='tanh')(model1_out)#第二个前馈# model2=Sequential()# model2.add(Dense(100,input_dim=ext_feature_dim,activation='tanh'))# #model2.add(Flatten())# model2.add(Dropout(0.5))# print(ext_feature_dim)model2_in = Input(shape=(ext_feature_dim,))model2_out = Dense(100, input_dim=ext_feature_dim, activation='tanh')(model2_in)model2_out = Dropout(0.5)(model2_out)#拼接concatenated = concatenate([model1_out, model2_out])out = Dense(self.num_class, activation='softmax')(concatenated)merged_model = Model(inputs=[model1_in, model2_in], outputs=[out])# merged_model= Sequential()# merged_model.add(concatenate([model, model2],axis= 1))# merged_model.add(Dense(self.num_class))# merged_model.add(Activation('softmax'))merged_model.compile(loss='categorical_crossentropy', optimizer='adadelta', metrics=['accuracy'], )self.model = merged_modelself.earlyStopping = EarlyStopping(monitor='val_loss', patience=25, verbose=0, mode='auto')self.checkpoint = ModelCheckpointPlus(filepath='weights.hdf5', monitor='val_loss', verbose_show=20)
需要注意在模型带入的时候,model.fit()中传入的X也应该满足inputs=[model1_in, model2_in]
的形状,不然肯定会报错的。
【实战篇】——keras合并多个模型相关推荐
- 机器学习实战篇:使用贝叶斯模型对鸢尾花数据集分类
1.简介 本文主要讲解朴素贝叶斯及其推理,并实现鸢尾花数据的分类问题 2.算法解释 朴素贝叶斯最初来源于统计科学领域.根据朴素贝叶斯公式: 由于类似然涉及到多个特征的组合求解较为困难.所以为了简化运算 ...
- 实战篇:如何用Keras建立神经网络(附全部代码)
摘要: 机器学习实战篇:用简单的代码打造属于自己的神经网络模型- Keras是目前最受欢迎的深度学习库之一,对人工智能的商业化做出了巨大贡献.它使用起来非常简单,它使你能够通过几行代码就可以构建强大的 ...
- Keras深度学习实战(35)——构建机器翻译模型
Keras深度学习实战(35)--构建机器翻译模型 0. 前言 1. 模型与数据集分析 1.1 模型分析 1.2 数据集分析 2. 实现机器翻译模型 2.1 预处理数据 2.2 传统多对多架构 2.3 ...
- 深度学习实战篇-基于RNN的中文分词探索
深度学习实战篇-基于RNN的中文分词探索 近年来,深度学习在人工智能的多个领域取得了显著成绩.微软使用的152层深度神经网络在ImageNet的比赛上斩获多项第一,同时在图像识别中超过了人类的识别水平 ...
- selenium之 chromedriver与chrome版本映射表_NLP实战篇之tf2训练与评估
本文是基于tensorflow2.2.0版本,介绍了模型的训练与评估.主要介绍了tf.keras的内置训练过程,包括compile.fit,其中compile中包含优化器.loss与metrics的使 ...
- 深度学习系列笔记——贰 (基于Tensorflow2 Keras搭建的猫狗大战模型 三)
深度学习系列笔记--贰 (基于Tensorflow Keras搭建的猫狗大战模型 一) 深度学习系列笔记--贰 (基于Tensorflow Keras搭建的猫狗大战模型 二) 前面两篇博文已经介绍了如 ...
- DDD实战课(3):实战篇上
DDD实战课(3):实战篇上 实战篇:几个实战项目 11 | DDD实践:如何用DDD重构中台业务模型?(略) 构建中台业务模型 自顶向下的策略 自底向上的策略 12 | 领域建模:事件风暴构建领域模 ...
- 零障碍合并两个模型,大型ResNet模型线性连接只需几秒,神经网络启发性新研究...
点击上方"迈微AI研习社",选择"星标★"公众号 重磅干货,第一时间送达 来源:机器之心 这篇论文探讨了置换对称性(permutation symmetry)如 ...
- 前端智能化漫谈 (2) - pix2code实战篇
前端智能化漫谈 (2) - pix2code实战篇 将pix2code跑起来 先来干货介绍将pix2code跑起来的步骤: 1.下载pix2code源代码 git clone https://gith ...
最新文章
- 上升沿_为什么示波器上升时间 Tr=0.35/BW ?
- linux服务器监听服务sid_linux下重启oracle服务:监听器和实例
- fis3 php cgi,FIS3 : 构建
- 08r2系统服务器开索引,SQLSERVER2008R2正确使用索引
- 国货在崛起,八成都做对了这件事
- C语言小游戏(flappy bird),附带源码及素材
- 华为笔记本重装系统步骤
- HEVC之CU、PU、TU分析
- 服务器防火墙的作用是什么?如何设置?
- 很好奇这个背景图片,盯着看能感受到裸眼3D有没有
- JAVA多线程并发之线程实现,4种线程池,终止线程4种方式
- 阿星centos7安装jdk1.8
- 用计算机玩游戏的视频教程,让桌面上同时操作游戏和显示视频的技巧-电脑教程...
- 用PhotoShop快速给证件照排版
- react的ref三种使用方式,获取元素内容
- 关系型数据库第四章笔记---关系数据理论
- 【资讯分享】云帆加速将P2P技术免费,该服务量级已突破1.5T
- 文丘里洗涤除尘器理论应用实训教学QY-HJGC04
- CIO必读:平常心走IT路 吴正宏经历的信息化三十年
- 移植中文TTS(ekho)到ARM linux开发板