Keras实现将两个模型连接到一起_python

来源:脚本之家  责任编辑:小易  

d不可靠的无连接的协议,与tcp相反 UDP是报文方式传输,它的数据百传送不考虑对方是否接收到或接收完整度,也就是说我只管发送我的,你接受你的,万一有什么意外(如网络堵塞等情况)导致数据丢失或数据不知完整,我也不负责。优点是数据传送快,占用网络资源小,缺点是数据传输道质量不保证。TCP是经过“三次握手”的稳定连接,每次数据的发送都要等待上一个信息包的反馈确认,也就是说回只有对方保证收到数据并确保无误情况下才继续答发送数据。这种连接优点是稳定、安全、可靠,缺点是速度没UDP快;www.zgxue.com防采集请勿采集本网。

神经网络玩得越久就越会尝试一些网络结构上的大改动。

TCP/IP 层级模型结构,应用层之间的协议通过逐级调用传输层(Transport layer)、网络层(Network Layer)和物理数据链路层(Physical Data Link)而可以实现应用层的应用程序通信互联。2、数据链路层:

先说意图

如果想实现多个rvt模型合并成一个模型,并且多zd个rvt模型中的构件均可编辑的话。个人感觉用复制功能最好。具体方法如下:①打开revit软件②利用软件将要合并的多个revit模型逐个打开③选择其中

有两个模型:模型A和模型B。模型A的输出可以连接B的输入。将两个小模型连接成一个大模型,A-B,既可以同时训练又可以分离训练。

“MVC”模式即是:“Model-View-一个商务逻辑对着两个显示层的例子是:银行的帐户的商务逻辑层对应ATM和Internet两个显示层。2、通常情况下,每次修改显示层的时候一般并不需要修改商务逻辑层。

流行的算法里经常有这么关系的两个模型,对GAN来说,生成器和判别器就是这样子;对VAE来说,编码器和解码器就是这样子;对目标检测网络来说,backbone和整体也是可以拆分的。所以,应用范围还是挺广的。

几行 Keras 代码就能比原生的 TensorFlow 代码实现更多的功能。你也可以很轻松的实现 CNN 和 RNN,并且让它们运行在 CPU 或者 GPU 上面。框架的“赢者”:Keras 是一个API,运行在别的深度学习框架上面。

实现方法

不同之处在于TCP/IP参考模型的传输层基于网络互连层,网络互连层仅提供无连接网络服务,因此面向连接的功能完全在TCP协议中实现,当然,TCP/IP的传输层还提供UDP等无连接服务;相反,OSI参考模型的传输层

首先说明,我的实现方法不一定是最佳方法。也是实在没有借鉴到比较好的方法,所以才自己手动写了一个。

第一步,我们有现成的两个模型A和B;我们想把A的输出连到B的输入,组成一个整体C。

第二步, 重构新模型C;我的方法是:读出A和B各有哪些layer,然后一层一层重新搭成C。

可以看一个自编码器的代码(本人所编写):

class AE: def __init__(self, dim, img_dim, batch_size): self.dim = dim self.img_dim = img_dim self.batch_size = batch_size self.encoder = self.encoder_construct() self.decoder = self.decoder_construct() def encoder_construct(self): x_in = Input(shape=(self.img_dim, self.img_dim, 3)) x = x_in x = Conv2D(self.dim // 16, kernel_size=(5, 5), strides=(2, 2), padding='SAME')(x) x = BatchNormalization()(x) x = LeakyReLU(0.2)(x) x = Conv2D(self.dim // 8, kernel_size=(5, 5), strides=(2, 2), padding='SAME')(x) x = BatchNormalization()(x) x = LeakyReLU(0.2)(x) x = Conv2D(self.dim // 4, kernel_size=(5, 5), strides=(2, 2), padding='SAME')(x) x = BatchNormalization()(x) x = LeakyReLU(0.2)(x) x = Conv2D(self.dim // 2, kernel_size=(5, 5), strides=(2, 2), padding='SAME')(x) x = BatchNormalization()(x) x = LeakyReLU(0.2)(x) x = Conv2D(self.dim, kernel_size=(5, 5), strides=(2, 2), padding='SAME')(x) x = BatchNormalization()(x) x = LeakyReLU(0.2)(x) x = GlobalAveragePooling2D()(x) encoder = Model(x_in, x) return encoder def decoder_construct(self): map_size = K.int_shape(self.encoder.layers[-2].output)[1:-1] # print(type(map_size)) z_in = Input(shape=K.int_shape(self.encoder.output)[1:]) z = z_in z_dim = self.dim z = Dense(np.prod(map_size) * z_dim)(z) z = Reshape(map_size + (z_dim,))(z) z = Conv2DTranspose(z_dim // 2, kernel_size=(5, 5), strides=(2, 2), padding='SAME')(z) z = BatchNormalization()(z) z = Activation('relu')(z) z = Conv2DTranspose(z_dim // 4, kernel_size=(5, 5), strides=(2, 2), padding='SAME')(z) z = BatchNormalization()(z) z = Activation('relu')(z) z = Conv2DTranspose(z_dim // 8, kernel_size=(5, 5), strides=(2, 2), padding='SAME')(z) z = BatchNormalization()(z) z = Activation('relu')(z) z = Conv2DTranspose(z_dim // 16, kernel_size=(5, 5), strides=(2, 2), padding='SAME')(z) z = BatchNormalization()(z) z = Activation('relu')(z) z = Conv2DTranspose(3, kernel_size=(5, 5), strides=(2, 2), padding='SAME')(z) z = Activation('tanh')(z) decoder = Model(z_in, z) return decoder def build_ae(self): input_x = Input(shape=(self.img_dim, self.img_dim, 3)) x = input_x for i in range(1, len(self.encoder.layers)): x = self.encoder.layers[i](x) for j in range(1, len(self.decoder.layers)): x = self.decoder.layers[j](x) y = x auto_encoder = Model(input_x, y) return auto_encoder

模型A就是这里的encoder,模型B就是这里的decoder。所以,连接的精髓在build_ae()函数,直接用for循环读出各层,然后一层一层重新构造新的模型,从而实现连接效果。因为keras也是基于图的框架,这个操作并不会很费时,因为没有实际地计算。

补充知识:keras得到每层的系数

使用keras搭建好一个模型,训练好,怎么得到每层的系数呢:

weights = np.array(model.get_weights())print(weights)print(weights[0].shape)print(weights[1].shape)

这样系数就被存放到一个np中了。

以上这篇Keras实现将两个模型连接到一起就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持真格学网。

首先你要把两个模型的位置摆放正确,然后要把两个模型“”“附加”“”“在一起,另外你还要确定两个模型想要连接在一起的点它们都处于边缘或者说是”边界“上,如果不是的话就把多余的面移除,比如脖子部分他的底部如果是封底的话你就应该把底部移除。做好以上的步骤后进入修改命令面板再进入点层级在面板下面找到”“”目标焊接“”“命令,然后左键点击它,[[[跟着在模型上选取你想要连接的头部模型上处于颈部边界上的其中一个点,再左键点取身体模型上你想要连接的处于边界的临近你在头部选取的那个点的点(有点绕)。之后重复[[[]]]的步骤直至所有点连接完毕,那么两个模型就连接在一起了。如果其中一个模型上的点不够,可以在他上面插入点,具体方法太长时间没玩了忘记了,好像是选取要插入点的那条边,然后右侧的命令面板你有一个“插入点”或“创建点”的命令,点击它就可以在你选取的那条线上创建一个点了。如果不行的话可以用“切割”命令切一条线出来同样可以整出一个点来,当然你可以再把切出来的线移除,线移除了点会留在模型上。说的有点乱,希望你能看明白!内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • keras 获取某层输出 获取复用层的多次输出实例
  • 给keras层命名,并提取中间层输出值,保存到文档的实例
  • keras小技巧——获取某一个网络层的输出方式
  • keras自定义回调函数查看训练的loss和accuracy方式
  • keras设定gpu使用内存大小方式(tensorflow backend)
  • 关于keras.layers.conv1d的kernel_size参数使用介绍
  • 浅谈keras中的merge层(实现层的相加、相减、相乘实例)
  • python 通过可变参数计算n个数的乘积方法
  • kears+opencv实现简单人脸识别
  • python实现排序算法解析
  • python中的hashlib和base64加密模块使用实例
  • django 忘记管理员或忘记管理员密码 重设登录密码的方法
  • 用实例分析python中method的参数传递过程
  • python获取当前页面内所有链接的四种方法对比分析
  • python k近邻算法的kd树实现
  • 关于tensorflow 模型持久化详解
  • 使用python中的reduce()函数求积的实例
  • 3DSMAX怎么把两个模型的点连接在一起???
  • TCP/IP模型的传输层有两个协议,第一个协议TCP是一种可靠的面向连接的协议,第二个协议UDP是( )。
  • 如何从零开发一个复杂深度学习模型
  • matlab中simulink模型中一个模块只有一个接口,怎么设置两个接口
  • osi七层模型从下到上分为什么?
  • Revit绑定链接模型问题
  • 什么是MVC设计模式
  • 如何在keras或tensorflow卷积模型中使用自定义的矩阵运算
  • 简要说明TCP/IP参考模型五个层次的名称,各层的传输格式和使用的设备是什么
  • osi参考模型的第一、二、 三层分别是什么?各自的功能是什么
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全vbsdos/bathtahtcpythonperl游戏相关vba远程脚本coldfusionruby专题autoitseraphzonepowershelllinux shellluagolangerlang其它首页keras 获取某层输出 获取复用层的多次输出实例给keras层命名,并提取中间层输出值,保存到文档的实例keras小技巧——获取某一个网络层的输出方式keras自定义回调函数查看训练的loss和accuracy方式keras设定gpu使用内存大小方式(tensorflow backend)关于keras.layers.conv1d的kernel_size参数使用介绍浅谈keras中的merge层(实现层的相加、相减、相乘实例)python 通过可变参数计算n个数的乘积方法kears+opencv实现简单人脸识别python实现排序算法解析python中的hashlib和base64加密模块使用实例django 忘记管理员或忘记管理员密码 重设登录密码的方法用实例分析python中method的参数传递过程python获取当前页面内所有链接的四种方法对比分析python k近邻算法的kd树实现关于tensorflow 模型持久化详解使用python中的reduce()函数求积的实例python入门教程 超详细1小时学会python 列表(list)操作方法详解python 元组(tuple)操作详解python 字典(dictionary)操作详解pycharm 使用心得(一)安装和首python strip()函数 介绍python 中文乱码问题深入分析python中使用xlrd、xlwt操作excepython科学计算环境推荐——anacpython逐行读取文件内容的三种方django实现日志按日期分割解决python-docx打包之后找不到default.dtensorflow 获取变量&打印权值的实例讲解python2.7实现复制大量文件及文件夹资料全面理解python中self的用法python生态圈图像格式转换问题(推荐)python 双循环遍历list 变量判断代码widows下安装pycurl并利用pycurl请求httppython中的特殊语法:filter、map、reducpython基于递归解决背包问题详解
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved