在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里对list中的整数求平均并排序
Sep 12 Python
在Python的Django框架中为代码添加注释的方法
Jul 16 Python
matplotlib设置legend图例代码示例
Dec 19 Python
Python基于最小二乘法实现曲线拟合示例
Jun 14 Python
Pycharm新建模板默认添加个人信息的实例
Jul 15 Python
Python3离线安装Requests模块问题
Oct 13 Python
解决Keyerror ''acc'' KeyError: ''val_acc''问题
Jun 18 Python
Python生成器传参数及返回值原理解析
Jul 22 Python
Python连接mysql方法及常用参数
Sep 01 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
Nov 28 Python
深入理解python多线程编程
Apr 18 Python
Python Matplotlib绘制等高线图与渐变色扇形图
Apr 14 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实现维护文件代码
2007/06/14 PHP
php插入中文到sqlserver 2008里出现乱码的解决办法分享
2012/07/19 PHP
PHP入门经历和学习过程分享
2014/04/11 PHP
详解WordPress中分类函数wp_list_categories的使用
2016/01/04 PHP
yii2 commands模式以及配置crontab定时任务的方法
2017/08/19 PHP
table行随鼠标移动变色示例
2014/05/07 Javascript
javascript倒计时效果实现
2015/11/12 Javascript
Jquery基础之事件操作详解
2016/06/14 Javascript
Bootstrap Table使用方法解析
2016/10/19 Javascript
bootstrap实现图片自动轮播
2016/12/21 Javascript
nodejs操作mysql实现增删改查的实例
2017/05/28 NodeJs
浅谈JavaScript中的属性:如何遍历属性
2017/09/14 Javascript
使用vue中的v-for遍历二维数组的方法
2018/03/07 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
2018/09/27 Javascript
layui 表格操作列按钮动态显示的实现方法
2019/09/06 Javascript
微信小程序 函数防抖 解决重复点击消耗性能问题实现代码
2019/09/12 Javascript
移动端JS实现拖拽两种方法解析
2020/10/12 Javascript
基于VUE实现简单的学生信息管理系统
2021/01/13 Vue.js
在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
2015/05/02 Python
Python 错误和异常代码详解
2018/01/29 Python
python微信跳一跳系列之棋子定位像素遍历
2018/02/26 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
python for 循环获取index索引的方法
2019/02/01 Python
Python实现直播推流效果
2019/11/26 Python
Python日志处理模块logging用法解析
2020/05/19 Python
PyCharm上安装Package的实现(以pandas为例)
2020/09/18 Python
Python学习工具jupyter notebook安装及用法解析
2020/10/23 Python
基于CSS3实现的漂亮Menu菜单效果代码
2015/09/10 HTML / CSS
Linux面试经常问的文件系统操作命令
2015/11/05 面试题
艺人经纪人岗位职责
2014/04/15 职场文书
财务管理专业求职信
2014/06/11 职场文书
群众路线领导班子整改方案
2014/10/25 职场文书
2015年学校安全工作总结
2015/04/22 职场文书
养成教育工作总结
2015/08/13 职场文书
看看如何用Python绘制小米新版天价logo
2021/04/20 Python
win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法
2022/06/25 Servers