查看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实现的一个火车票转让信息采集器
Jul 09 Python
python实现二叉树的遍历
Dec 11 Python
python删除某个字符
Mar 19 Python
django搭建项目配置环境和创建表过程详解
Jul 22 Python
python多进程下实现日志记录按时间分割
Jul 22 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
Dec 20 Python
Python 读取有公式cell的结果内容实例方法
Feb 17 Python
python实现俄罗斯方块游戏(改进版)
Mar 13 Python
python用opencv完成图像分割并进行目标物的提取
May 25 Python
解决keras加入lambda层时shape的问题
Jun 11 Python
基于Python中Remove函数的用法讨论
Dec 11 Python
python中time、datetime模块的使用
Dec 14 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
解析func_num_args与func_get_args函数的使用
2013/06/24 PHP
PHP函数in_array()使用详解
2014/08/20 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
PHP对象相关知识总结
2017/04/09 PHP
PHP数据库操作四:mongodb用法分析
2017/08/16 PHP
学习ExtJS(一) 之基础前提
2009/10/07 Javascript
JavaScript 拾漏补遗
2009/12/27 Javascript
经典海量jQuery插件 大家可以收藏一下
2010/02/07 Javascript
js中匿名函数的N种写法
2010/09/08 Javascript
在JavaScript中监听IME键盘输入事件
2011/05/29 Javascript
用jQuery中的ajax分页实现代码
2011/09/20 Javascript
js文件Cookie存取值示例代码
2014/02/20 Javascript
jquery中change()用法实例分析
2015/02/06 Javascript
javascript实现的简单计时器
2015/07/19 Javascript
jquery attr()设置和获取属性值实例教程
2016/09/25 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
2016/11/01 Javascript
Jquery 整理元素选取、常用方法一览表
2016/11/26 Javascript
[03:16]DOTA2完美大师赛主赛事首日集锦
2017/11/23 DOTA
Python中使用pprint函数进行格式化输出的教程
2015/04/07 Python
python与sqlite3实现解密chrome cookie实例代码
2018/01/20 Python
PyCharm设置SSH远程调试的方法
2018/07/17 Python
python中struct模块之字节型数据的处理方法
2019/08/27 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
2019/12/13 Python
PyTorch里面的torch.nn.Parameter()详解
2020/01/03 Python
爱游人:Travelliker
2017/09/05 全球购物
Chicco婴儿用品美国官网:汽车座椅、婴儿推车、高脚椅等
2018/11/05 全球购物
HOTEL INFO英国:搜索全球酒店
2019/08/08 全球购物
自我推荐信范文
2014/05/09 职场文书
技术股份合作协议书
2014/10/05 职场文书
2014年安置帮教工作总结
2014/12/11 职场文书
企业转让协议书(范文2篇)
2019/08/15 职场文书
2019入党申请书范文3篇
2019/08/21 职场文书
掌握这项技巧,一年阅读300本书不是梦
2019/09/12 职场文书
vue实现无缝轮播效果(跑马灯)
2021/05/14 Vue.js
Go语言基础切片的创建及初始化示例详解
2021/11/17 Golang
如何利用React实现图片识别App
2022/02/18 Javascript