查看keras各种网络结构各层的名字方式


Posted in Python onJune 11, 2020

举例

base_model = ResNet50(weights=‘imagenet', include_top=True)
print(base_model.summary())

得到这个结果

查看keras各种网络结构各层的名字方式

补充知识:使用keras,在load_model()时,出现NameError: name '***' is not defined

是因为在构造模型是,使用了自定义的层,如Lambda()

# 文本相似度评估方式
def exponent_neg_manhattan_distance(sent_left, sent_middle, sent_right):
  '''基于曼哈顿空间距离计算两个字符串语义空间表示相似度计算'''
  return ((K.exp(-K.sum(K.abs(sent_left - sent_middle), axis=1, keepdims=True)) - K.exp(-K.sum(K.abs(sent_left - sent_right), axis=1, keepdims=True))) + 1) / 2
 
def bilstm_siamese_model():
  '''搭建孪生网络'''
  #可以在这里调参
  embedding_layer = Embedding(VOCAB_SIZE + 1,
                EMBEDDING_DIM,
                weights=[embedding_matrix],
                input_length=MAX_LENGTH,
                trainable=True, #原本为False
                mask_zero=True)
  #输入层
  left_input = Input(shape=(MAX_LENGTH,), dtype='float32', name="left_x") #(?, 25)
  middle_input = Input(shape=(MAX_LENGTH,), dtype='float32', name="middle_x") #(?, 25)
  right_input = Input(shape=(MAX_LENGTH,), dtype='float32', name='right_x')
  #嵌入层
  encoded_left = embedding_layer(left_input) #(?, 25, 300)
  encoded_middle = embedding_layer(middle_input) #(?, 25, 300)
  encoded_right = embedding_layer(right_input)
  # print(encoded_left)
  #孪生网络
  shared_lstm = create_base_network(input_shape=(MAX_LENGTH, EMBEDDING_DIM))
  left_output = shared_lstm(encoded_left)
  middle_output = shared_lstm(encoded_middle)
  right_output = shared_lstm(encoded_right)
 
  # 文本相似度评估方式
  distance = Lambda(lambda x: exponent_neg_manhattan_distance(x[0], x[1], x[2]),output_shape=lambda x: (x[0][0], 1))([left_output, middle_output, right_output]) #第二个lambda函数的输入参数不清楚,x[0][0]
  print('distance',distance)
  model = Model([left_input, middle_input, right_input], distance)
  model.compile(loss='binary_crossentropy',
         optimizer='nadam',
         metrics=['accuracy'])
  model.summary()
  return model

虽然之前已经定义好了exponent_neg_manhattan_distance(),但是在load_model()依然会报NameError: name 'exponent_neg_manhattan_distance' is not defined

解决办法:

查看keras各种网络结构各层的名字方式

在load_model的时候,加一个custom_objects参数就可以了,即

model = load_model(model_path,custom_objects={'exponent_neg_manhattan_distance': exponent_neg_manhattan_distance}) #对自定义层一定要说明

注:用Google搜bug比用baidu搜质量会高不少。

以上这篇查看keras各种网络结构各层的名字方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中enumerate函数用法实例分析
May 20 Python
Python安装官方whl包和tar.gz包的方法(推荐)
Jun 04 Python
Python实现的爬虫功能代码
Jun 24 Python
python pandas dataframe 按列或者按行合并的方法
Apr 12 Python
Python3实现购物车功能
Apr 18 Python
python实现Flappy Bird源码
Dec 24 Python
Django中使用极验Geetest滑动验证码过程解析
Jul 31 Python
python str字符串转uuid实例
Mar 03 Python
Pycharm激活码激活两种快速方式(附最新激活码和插件)
Mar 12 Python
Python getsizeof()和getsize()区分详解
Nov 20 Python
python selenium 获取接口数据的实现
Dec 07 Python
Python中itertools库的四个函数介绍
Apr 06 Python
python datetime时间格式的相互转换问题
Jun 11 #Python
完美解决keras保存好的model不能成功加载问题
Jun 11 #Python
keras load model时出现Missing Layer错误的解决方式
Jun 11 #Python
Pyinstaller加密打包应用的示例代码
Jun 11 #Python
解决keras加入lambda层时shape的问题
Jun 11 #Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
Jun 11 #Python
keras slice layer 层实现方式
Jun 11 #Python
You might like
是否存在第一台收音机的说法
2021/03/01 无线电
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
2008/12/06 PHP
php操作excel文件 基于phpexcel
2010/07/02 PHP
php教程 插件机制在PHP中实现方案
2012/11/02 PHP
用PHP编写和读取XML的几种方式
2013/01/12 PHP
解析argc argv在php中的应用
2013/06/24 PHP
ThinkPHP的MVC开发机制实例解析
2014/08/23 PHP
项目中应用Redis+Php的场景
2016/05/22 PHP
Laravel实现通过blade模板引擎渲染视图
2019/10/25 PHP
[原创]网络复制内容时常用的正则+editplus
2006/11/30 Javascript
jQuery带箭头提示框tooltips插件集锦
2014/11/17 Javascript
浅述Javascript的外部对象
2016/12/07 Javascript
浅谈JavaScript中的apply/call/bind和this的使用
2017/02/26 Javascript
Windows下Node.js安装及环境配置方法
2017/09/18 Javascript
Node.JS使用Sequelize操作MySQL的示例代码
2017/10/09 Javascript
vue+iview+less+echarts实战项目总结
2018/02/22 Javascript
vue axios登录请求拦截器
2018/04/02 Javascript
详解JavaScript事件循环机制
2018/09/07 Javascript
vue 的点击事件获取当前点击的元素方法
2018/09/15 Javascript
vue中如何实现后台管理系统的权限控制的方法示例
2018/09/19 Javascript
使用 node.js 模仿 Apache 小部分功能
2019/07/07 Javascript
vue+AI智能机器人回复功能实现
2020/07/16 Javascript
解决echarts图表使用v-show控制图表显示不全的问题
2020/07/19 Javascript
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
利用标准库fractions模块让Python支持分数类型的方法详解
2017/08/11 Python
详解Python判定IP地址合法性的三种方法
2018/03/06 Python
Python3爬虫教程之利用Python实现发送天气预报邮件
2018/12/16 Python
关于tf.matmul() 和tf.multiply() 的区别说明
2020/06/18 Python
使用TensorBoard进行超参数优化的实现
2020/07/06 Python
基于html5绘制圆形多角图案
2016/04/21 HTML / CSS
印尼美容产品购物网站:PerfectBeauty.id
2017/12/01 全球购物
法人授权委托书
2014/04/03 职场文书
2014年调度员工作总结
2014/11/19 职场文书
Python异常类型以及处理方法汇总
2021/06/05 Python
Python可变集合和不可变集合的构造方法大全
2021/12/06 Python
Vue如何清空对象
2022/03/03 Vue.js