查看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 相关文章推荐
使用FastCGI部署Python的Django应用的教程
Jul 22 Python
Python在Windows和在Linux下调用动态链接库的教程
Aug 18 Python
Python基于回溯法子集树模板解决数字组合问题实例
Sep 02 Python
Numpy 改变数组维度的几种方法小结
Aug 02 Python
python中如何使用分步式进程计算详解
Mar 22 Python
python实现弹窗祝福效果
Apr 07 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
Jul 15 Python
基于matplotlib中ion()和ioff()的使用详解
Jun 16 Python
解决python运行效率不高的问题
Jul 20 Python
Python实现疫情地图可视化
Feb 05 Python
python+selenium小米商城红米K40手机自动抢购的示例代码
Mar 24 Python
Python之Matplotlib绘制热力图和面积图
Apr 13 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
php array_intersect()函数使用代码
2009/01/14 PHP
PHP SPL标准库之数据结构栈(SplStack)介绍
2015/05/12 PHP
php中 ob_start等函数截取标准输出的方法
2015/06/22 PHP
jQuery 学习第五课 Ajax 使用说明
2010/05/17 Javascript
jqgrid 表格数据导出实例
2013/11/21 Javascript
js的匿名函数使用介绍
2013/12/11 Javascript
JQuery实现鼠标移动到图片上显示边框效果
2014/01/09 Javascript
ExtJS 刷新后如何默认选中刷新前最后一次选中的节点
2014/04/03 Javascript
IE6 hack for js 集锦
2014/09/23 Javascript
AngularJS HTML编译器介绍
2014/12/06 Javascript
JavaScript调用传递变量参数的相关问题及解决办法
2015/11/01 Javascript
纯JS实现表单验证实例
2016/12/24 Javascript
nodejs中安装ghost出错的原因及解决方法
2017/10/23 NodeJs
ionic grid(栅格)九宫格制作详解
2018/06/30 Javascript
vue项目中使用vue-i18n报错的解决方法
2019/01/13 Javascript
基于vue与element实现创建试卷相关功能(实例代码)
2020/12/07 Vue.js
Python简单调用MySQL存储过程并获得返回值的方法
2015/07/20 Python
快速入手Python字符编码
2016/08/03 Python
asyncio 的 coroutine对象 与 Future对象使用指南
2016/09/11 Python
Python3实现发送QQ邮件功能(附件)
2020/12/23 Python
python利用requests库模拟post请求时json的使用教程
2018/12/07 Python
python实现给scatter设置颜色渐变条colorbar的方法
2018/12/13 Python
Django实现发送邮件功能
2019/07/18 Python
浅析python中的del用法
2020/09/02 Python
Python离线安装各种库及pip的方法
2020/11/28 Python
详解pandas赋值失败问题解决
2020/11/29 Python
纽约复古灵感的现代珠宝品牌:Lulu Frost
2018/03/03 全球购物
社会调查研究计划书
2014/05/01 职场文书
单位消防安全责任书
2014/07/23 职场文书
合作意向协议书
2015/01/29 职场文书
2015年预算员工作总结
2015/05/14 职场文书
小学生法制教育心得体会
2016/01/14 职场文书
导游词之广州陈家祠
2019/10/21 职场文书
导游词之南迦巴瓦峰
2019/11/19 职场文书
Python实现PIL图像处理库绘制国际象棋棋盘
2021/07/16 Python
nginx结合openssl实现https的方法
2021/07/25 Servers