查看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 相关文章推荐
详解Django中的权限和组以及消息
Jul 23 Python
举例详解Python中yield生成器的用法
Aug 05 Python
python文件特定行插入和替换实例详解
Jul 12 Python
几种实用的pythonic语法实例代码
Feb 24 Python
Python中property函数用法实例分析
Jun 04 Python
Python实现带参数的用户验证功能装饰器示例
Dec 14 Python
关于Python中的向量相加和numpy中的向量相加效率对比
Aug 26 Python
python下载库的步骤方法
Oct 12 Python
django使用JWT保存用户登录信息
Apr 22 Python
Python读入mnist二进制图像文件并显示实例
Apr 24 Python
Python读取ini配置文件传参的简单示例
Jan 05 Python
Django操作cookie的实现
May 26 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/03 新手入门
让你的PHP同时支持GIF、png、JPEG
2006/10/09 PHP
一个图形显示IP的PHP程序代码
2007/10/19 PHP
国外PHP程序员的13个好习惯小结
2012/02/20 PHP
PHP编写登录验证码功能 附调用方法
2016/05/19 PHP
php实现学生管理系统
2020/03/21 PHP
php-fpm开启状态统计的方法详解
2017/06/23 PHP
PHP调用全国天气预报数据接口查询天气示例
2019/02/20 PHP
使用JQuery进行跨域请求
2010/01/25 Javascript
js实现幻灯片播放图片示例代码
2013/11/07 Javascript
超级简单的jquery操作表格方法
2014/12/15 Javascript
浅谈javascript中的DOM方法
2015/07/16 Javascript
jQuery获取DOM节点实例分析(2种方式)
2015/12/15 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
2016/05/31 Javascript
React实现点击删除列表中对应项
2017/01/10 Javascript
vue.js 微信支付前端代码分享
2018/02/10 Javascript
JavaScript实现数组全排列、去重及求最大值算法示例
2018/07/30 Javascript
解决vue项目使用font-awesome,build后路径的问题
2018/09/01 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
2018/10/01 Javascript
解决layer.open弹出框不能获取input框的值为空的问题
2019/09/10 Javascript
JavaScript的变量声明与声明提前用法实例分析
2019/11/26 Javascript
Quasar Input:type="number" 去掉上下小箭头 实现加减按钮样式功能
2020/04/09 Javascript
nuxt 每个页面head标签内容设置方式
2020/11/05 Javascript
Python的lambda匿名函数的简单介绍
2013/04/25 Python
基于Python闭包及其作用域详解
2017/08/28 Python
在python中利用opencv简单做图片比对的方法
2019/01/24 Python
python中metaclass原理与用法详解
2019/06/25 Python
python单向循环链表原理与实现方法示例
2019/12/03 Python
在ipython notebook中使用argparse方式
2020/04/20 Python
python argparse模块通过后台传递参数实例
2020/04/20 Python
Canvas 文字碰撞检测并抽稀的方法
2019/05/27 HTML / CSS
HTML5 embed标签定义和用法详解
2014/05/09 HTML / CSS
百思买美国官网:Best Buy
2016/07/28 全球购物
新西兰最大、占有率最高的综合性药房:PharmacyDirect药房中文网
2020/11/03 全球购物
高校十八大报告感想
2014/01/27 职场文书
windows安装python超详细图文教程
2021/05/21 Python