在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变量与常量
Jun 02 Python
python利用正则表达式提取字符串
Dec 08 Python
Python OpenCV 直方图的计算与显示的方法示例
Feb 08 Python
python3+PyQt5实现自定义窗口部件Counters
Apr 20 Python
python中字符串内置函数的用法总结
Sep 13 Python
Python实现将Excel转换成为image的方法
Oct 23 Python
python实现简单名片管理系统
Nov 30 Python
pycharm的console输入实现换行的方法
Jan 16 Python
windows上安装python3教程以及环境变量配置详解
Jul 18 Python
python如何停止递归
Sep 09 Python
python解压zip包中文乱码解决方法
Nov 27 Python
PyTorch 实现L2正则化以及Dropout的操作
May 27 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容易忘记的知识点分享
2013/04/30 PHP
phpmyadmin打开很慢的解决方法
2014/04/21 PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
2015/04/26 PHP
yii gridview实现时间段筛选功能
2017/08/15 PHP
php intval函数用法总结
2019/04/14 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
2013/01/29 Javascript
jquery获取特定name所有选中的checkbox,支持IE9标准模式
2013/03/18 Javascript
探讨js中的双感叹号判断
2013/11/11 Javascript
javascript比较两个日期的先后示例代码
2014/12/31 Javascript
js对象的复制继承实例
2015/01/10 Javascript
jquery获取多个checkbox的值异步提交给php
2015/07/07 Javascript
javascript数组随机排序实例分析
2015/07/22 Javascript
JavaScript动态生成二维码图片
2016/04/20 Javascript
AngularJS入门教程之REST和定制服务详解
2016/08/19 Javascript
JS匿名函数类生成方式实例分析
2016/11/26 Javascript
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
2017/07/12 Javascript
Vue.js实现实例搜索应用功能详细代码
2017/08/24 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
2019/01/23 Javascript
详解vuex持久化插件解决浏览器刷新数据消失问题
2019/04/15 Javascript
js单线程的本质 Event Loop解析
2019/10/29 Javascript
element-ui中按需引入的实现
2019/12/25 Javascript
Python 编码处理-str与Unicode的区别
2016/09/06 Python
Python使用装饰器进行django开发实例代码
2018/02/06 Python
python 执行shell命令并将结果保存的实例
2018/05/11 Python
详解python算法之冒泡排序
2019/03/05 Python
numpy和pandas中数组的合并、拉直和重塑实例
2019/06/28 Python
Python占用的内存优化教程
2019/07/28 Python
opencv 查找连通区域 最大面积实例
2020/06/04 Python
css3的图形3d翻转效果应用示例
2014/04/08 HTML / CSS
巴西最大的体育用品商城:Netshoes巴西
2016/11/29 全球购物
维德科技C#面试题笔试题
2015/12/09 面试题
师德学习感言
2014/01/31 职场文书
老师对学生的寄语
2014/04/09 职场文书
Canvas三种动态画圆实现方法说明(小结)
2021/04/16 Javascript
Python循环之while无限迭代
2022/04/30 Python