在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和pyqt实现360的CLable控件
Feb 21 Python
python自动化测试之从命令行运行测试用例with verbosity
Sep 28 Python
Python兔子毒药问题实例分析
Mar 05 Python
python验证码识别教程之利用投影法、连通域法分割图片
Jun 04 Python
Python切片操作深入详解
Jul 27 Python
详解Python字典小结
Oct 20 Python
Python实现繁?转为简体的方法示例
Dec 18 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
Jun 19 Python
python循环输出三角形图案的例子
Nov 22 Python
python 实现turtle画图并导出图片格式的文件
Dec 07 Python
通过Python实现Payload分离免杀过程详解
Jul 13 Python
最简单的matplotlib安装教程(小白)
Jul 28 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
php foreach、while性能比较
2009/10/15 PHP
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
2010/10/12 PHP
Ajax+PHP快速上手及简单应用说明
2013/07/24 PHP
jQuery创建插件的代码分析
2011/04/14 Javascript
jquery实现奇偶行赋值不同css值
2012/02/17 Javascript
解决JS浮点数运算出现Bug的方法
2013/03/12 Javascript
解决jquery1.9不支持browser对象的问题
2013/11/13 Javascript
Javascript排序算法之合并排序(归并排序)的2个例子
2014/04/04 Javascript
javascript 动态创建表格
2015/01/08 Javascript
基于jquery实现动态竖向柱状条特效
2016/02/12 Javascript
js以及jquery实现手风琴效果
2020/04/17 Javascript
浅析vue component 组件使用
2017/03/06 Javascript
JavaScript算法教程之sku(库存量单位)详解
2017/06/29 Javascript
NodeJs之word文件生成与解析的实现代码
2019/04/01 NodeJs
Vue项目打包部署到iis服务器的配置方法
2019/10/14 Javascript
[02:00]DOTA2英雄COSPLAY闹市街头巡游助威2015国际邀请赛
2015/08/02 DOTA
用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
2014/07/14 Python
Django的URLconf中使用缺省视图参数的方法
2015/07/18 Python
浅谈pandas中shift和diff函数关系
2018/04/08 Python
pyinstaller打包单个exe后无法执行错误的解决方法
2019/06/21 Python
将Pytorch模型从CPU转换成GPU的实现方法
2019/08/19 Python
关于Python3 lambda函数的深入浅出
2019/11/27 Python
如何在python中执行另一个py文件
2020/04/30 Python
利用python 下载bilibili视频
2020/11/13 Python
详解Python Celery和RabbitMQ实战教程
2021/01/20 Python
HTML5 embed 标签使用方法介绍
2013/08/13 HTML / CSS
小米乌克兰网上商店:Xiaomi.UA
2019/10/29 全球购物
运动会通讯稿400字
2014/01/28 职场文书
空中乘务员岗位职责
2014/03/08 职场文书
房产代理公证处委托书
2014/04/04 职场文书
《美丽的南沙群岛》教学反思
2014/04/27 职场文书
学校党员对照检查材料
2014/08/28 职场文书
2014老师三严三实对照检查材料思想汇报
2014/09/18 职场文书
2015年为民办实事工作总结
2015/05/26 职场文书
2015年教导处教学工作总结
2015/07/22 职场文书
如何避免mysql启动时错误及sock文件作用分析
2022/01/22 MySQL