在keras里实现自定义上采样层


Posted in Python onJune 28, 2020

Keras里的UpSampling2D层不是中的双线性内插,而是简单的重复图像。这点和pytorch不一样,pytorch默认使用的是双线性内插。

同样:这里仍然使用的是keras而不是tf.keras.

keras里UpSampling2D的部分定义说明如下:

class UpSampling2D(Layer):
  """Upsampling layer for 2D inputs.
  Repeats the rows and columns of the data
  by size[0] and size[1] respectively.

可以看出,这里的上采样确实只是简单的图像重复。

要想使用双线性或者最近邻或者双三次插值上采样,则需要在tf的tf.image.resize_images函数基础上进行包装,代码如下:

####定义:
def my_upsampling(x,img_w,img_h,method=0):
  """0:双线性差值。1:最近邻居法。2:双三次插值法。3:面积插值法"""
  return tf.image.resize_images(x,(img_w,img_h),0)
 
###调用:
Lambda(my_upsampling,arguments={'img_w':self.img_w,'img_h':self.img_h})(output_6)
 
###load_model时注意加上tf:
model = keras.models.load_model('my_model.h5', custom_objects={'tf': tf})

补充知识:keras中使用内置模型语义分割上采样维度不匹配

1.卷积时要使用padding=same因此要修改原来的padding=valid

x = conv2d_bn(img_input, 32, 3, strides=2, padding='same')

2.池化时卷积核大小修改为2而不是原来的3

branch_pool = layers.MaxPooling2D(2, strides=2, padding='same')(x)

以上这篇在keras里实现自定义上采样层就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中的sort方法使用详解
Jul 25 Python
python 调用c语言函数的方法
Sep 29 Python
用python编写第一个IDA插件的实例
May 29 Python
python保存网页图片到本地的方法
Jul 24 Python
pandas pivot_table() 按日期分多列数据的方法
Nov 16 Python
Python 3.x基于Xml数据的Http请求方法
Dec 28 Python
python异步编程 使用yield from过程解析
Sep 25 Python
Django数据库操作之save与update的使用
Apr 01 Python
Jupyter notebook无法导入第三方模块的解决方式
Apr 15 Python
python+flask编写一个简单的登录接口
Nov 13 Python
python读写数据读写csv文件(pandas用法)
Dec 14 Python
Python万能模板案例之matplotlib绘制直方图的基本配置
Apr 13 Python
Python如何对XML 解析
Jun 28 #Python
keras 自定义loss层+接受输入实例
Jun 28 #Python
python批量处理多DNS多域名的nslookup解析实现
Jun 28 #Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
Jun 28 #Python
Keras: model实现固定部分layer,训练部分layer操作
Jun 28 #Python
sklearn的predict_proba使用说明
Jun 28 #Python
基于python实现ROC曲线绘制广场解析
Jun 28 #Python
You might like
在laravel中使用with实现动态添加where条件
2019/10/10 PHP
WebGame《逆转裁判》完整版 代码下载(1月24日更新)
2007/01/29 Javascript
js操作Xml(向服务器发送Xml,处理服务器返回的Xml)(IE下有效)
2009/01/30 Javascript
JS的location.href跳出框架打开新页面的方法
2014/09/04 Javascript
BootStrap select2 动态改变值的方法
2017/02/10 Javascript
Vue.js 单页面多路由区域操作的实例详解
2017/07/17 Javascript
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
2017/12/06 Javascript
Vue+Flask实现简单的登录验证跳转的示例代码
2018/01/13 Javascript
Postman的下载及安装教程详解
2018/10/16 Javascript
jQuery实现高级检索功能
2019/05/28 jQuery
Vue + Elementui实现多标签页共存的方法
2019/06/12 Javascript
详解Node.js使用token进行认证的简单示例
2020/05/25 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
2020/10/09 jQuery
浅谈vant组件Picker 选择器选单选问题
2020/11/04 Javascript
python文件比较示例分享
2014/01/10 Python
python实现BackPropagation算法
2017/12/14 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
2018/02/21 Python
Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例
2018/03/15 Python
使用selenium模拟登录解决滑块验证问题的实现
2019/05/10 Python
Python队列RabbitMQ 使用方法实例记录
2019/08/05 Python
python try except返回异常的信息字符串代码实例
2019/08/15 Python
用python生成与调用cntk模型代码演示方法
2019/08/26 Python
Linux下通过python获取本机ip方法示例
2019/09/06 Python
Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式
2020/03/11 Python
python如何快速生成时间戳
2020/07/21 Python
JMS中Topic和Queue有什么区别
2013/05/15 面试题
小学教师的个人自我鉴定
2013/10/24 职场文书
计算机应用专业应届毕业生中文求职信范文
2013/11/29 职场文书
劳动竞赛口号
2014/06/16 职场文书
合同审查法律意见书
2015/06/04 职场文书
实习感想范文
2015/08/10 职场文书
幼儿园2016年圣诞活动总结
2016/03/31 职场文书
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/04/22 无线电
Django操作cookie的实现
2021/05/26 Python
解决SpringBoot跨域的三种方式
2021/06/26 Java/Android
MySQL 5.7常见数据类型
2021/07/15 MySQL