查看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 相关文章推荐
Python3.x和Python2.x的区别介绍
Feb 12 Python
Python实例之wxpython中Frame使用方法
Jun 09 Python
Python中list初始化方法示例
Sep 18 Python
在centos7中分布式部署pyspider
May 03 Python
python 连接sqlite及简单操作
Jun 30 Python
python3下实现搜狗AI API的代码示例
Apr 10 Python
Django如何自定义分页
Sep 25 Python
python 异或加密字符串的实例
Oct 14 Python
python绘制中国大陆人口热力图
Nov 07 Python
python 实现数字字符串左侧补零的方法
Dec 04 Python
浅谈python中统计计数的几种方法和Counter详解
Nov 07 Python
numpy.linalg.eig() 计算矩阵特征向量方式
Nov 29 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跳转页面的几种实现方法详解
2013/06/08 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
2014/05/09 PHP
php利用smtp类实现电子邮件发送
2015/10/30 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
2017/06/11 PHP
写自已的js类库需要的核心代码
2012/07/16 Javascript
浅谈JavaScript Date日期和时间对象
2014/12/29 Javascript
简单学习JavaScript中的for语句循环结构
2015/11/10 Javascript
JQuery移动页面开发之屏幕方向改变与滚屏的实现
2015/12/03 Javascript
jQuery Mobile动态刷新页面样式的实现方法
2016/05/28 Javascript
js对象浅拷贝和深拷贝详解
2016/09/05 Javascript
最全面的百度地图JavaScript离线版开发
2016/09/10 Javascript
使用 NodeJS+Express 开发服务端的简单介绍
2017/04/07 NodeJs
jQuery实现输入框的放大和缩小功能示例
2018/07/21 jQuery
对vue中v-on绑定自定事件的实例讲解
2018/09/06 Javascript
node.js连接mysql与基本用法示例
2019/01/05 Javascript
微信小程序实现的一键连接wifi功能示例
2019/04/24 Javascript
React冒泡和阻止冒泡的应用详解
2020/08/18 Javascript
js获取url页面id,也就是最后的数字文件名
2020/09/25 Javascript
微信小程序实现日历小功能
2020/11/18 Javascript
Python实现输出某区间范围内全部素数的方法
2018/05/02 Python
python 平衡二叉树实现代码示例
2018/07/07 Python
python使用__slots__让你的代码更加节省内存
2018/09/05 Python
python 多线程将大文件分开下载后在合并的实例
2018/11/09 Python
Django 内置权限扩展案例详解
2019/03/04 Python
python面试题小结附答案实例代码
2019/04/11 Python
Python获取好友地区分布及好友性别分布情况代码详解
2019/07/10 Python
Python math库 ln(x)运算的实现及原理
2019/07/17 Python
python 命名规范知识点汇总
2020/02/14 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
2020/05/10 Python
Python使用xpath实现图片爬取
2020/09/16 Python
党的群众路线教育实践活动学习心得体会
2014/03/03 职场文书
日语专业求职信
2014/07/04 职场文书
化学专业毕业生求职信
2014/07/28 职场文书
运动会加油稿30字
2015/07/21 职场文书
财务会计个人原因辞职信
2019/06/21 职场文书
nginx sticky实现基于cookie负载均衡示例详解
2022/12/24 Servers