查看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中使用smtplib和email模块发送邮件实例
Apr 22 Python
python通过scapy获取局域网所有主机mac地址示例
May 04 Python
python通过文件头判断文件类型
Oct 30 Python
Python 由字符串函数名得到对应的函数(实例讲解)
Aug 10 Python
对python的文件内注释 help注释方法
May 23 Python
Python OS模块实例详解
Apr 15 Python
详解Python下载图片并保存本地的两种方式
May 15 Python
Python散点图与折线图绘制过程解析
Nov 30 Python
使用python实现多维数据降维操作
Feb 24 Python
通过实例解析Python文件操作实现步骤
Sep 21 Python
Pytorch如何切换 cpu和gpu的使用详解
Mar 01 Python
详解Golang如何实现支持随机删除元素的堆
Sep 23 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中hashtable实现示例分享
2014/02/13 PHP
php导出word文档与excel电子表格的简单示例代码
2014/03/08 PHP
php数组查找函数总结
2014/11/18 PHP
cakephp2.X多表联合查询join及使用分页查询的方法
2017/02/23 PHP
php函数式编程简单示例
2019/08/08 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
用jQuery实现检测浏览器及版本的脚本代码
2008/01/22 Javascript
原生js 秒表实现代码
2012/07/24 Javascript
js图片延迟技术一般的思路与示例
2014/03/20 Javascript
jQuery中:submit选择器用法实例
2015/01/03 Javascript
Node.js Addons翻译(C/C++扩展)
2016/06/12 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
2016/12/29 Javascript
vue中使用heatmapjs的示例代码(结合百度地图)
2018/09/05 Javascript
Vue 中使用富文本编译器wangEditor3的方法
2019/09/26 Javascript
微信小程序:报错(in promise) MiniProgramError
2020/10/30 Javascript
[05:08]DOTA2-DPC中国联赛3月6日Recap集锦
2021/03/11 DOTA
Python中条件判断语句的简单使用方法
2015/08/21 Python
python如何实现远程控制电脑(结合微信)
2015/12/21 Python
Python松散正则表达式用法分析
2016/04/29 Python
python正则实现计算器功能
2017/12/14 Python
python获取酷狗音乐top500的下载地址 MP3格式
2018/04/17 Python
对python中的高效迭代器函数详解
2018/10/18 Python
opencv实现图片模糊和锐化操作
2018/11/19 Python
python实现电子词典
2020/03/03 Python
Python代码注释规范代码实例解析
2020/08/14 Python
Martinelli官方商店:西班牙皮鞋和高跟鞋品牌
2019/07/30 全球购物
P/Invoke是什么
2015/07/31 面试题
WSDL的操作类型主要有几种
2013/07/19 面试题
2014年学校国庆主题活动方案
2014/09/16 职场文书
2015年度党员个人总结
2015/02/14 职场文书
岗位职责范本大全
2015/02/26 职场文书
《蚂蚁和蝈蝈》教学反思
2016/02/22 职场文书
个人向公司借款协议书
2016/03/19 职场文书
pyqt5蒙版遮罩mask,setmask的使用
2021/06/11 Python
详解如何用Python实现感知器算法
2021/06/18 Python