在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函数编程的一些特性
Apr 13 Python
Python文本相似性计算之编辑距离详解
Nov 28 Python
解读! Python在人工智能中的作用
Nov 14 Python
解决python 输出是省略号的问题
Apr 19 Python
Python3导入CSV文件的实例(跟Python2有些许的不同)
Jun 22 Python
PyQt5实现简易计算器
May 30 Python
Django REST framework 分页的实现代码
Jun 19 Python
Python实现直方图均衡基本原理解析
Aug 08 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
Aug 30 Python
Pycharm+django2.2+python3.6+MySQL实现简单的考试报名系统
Sep 05 Python
python ftplib模块使用代码实例
Dec 31 Python
全网首秀之Pycharm十大实用技巧(推荐)
Apr 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执行速度全攻略
2006/10/09 PHP
PHP Zip压缩 在线对文件进行压缩的函数
2010/05/26 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
2014/12/17 PHP
php+xml结合Ajax实现点赞功能完整实例
2015/01/30 PHP
CodeIgniter删除和设置Cookie的方法
2015/04/07 PHP
PHP中把有符号整型转换为无符号整型方法
2015/05/27 PHP
php求数组全排列,元素所有组合的方法
2016/05/05 PHP
PHP生成短网址的思路以及实现方法的详解
2019/03/25 PHP
jQuery操作动态生成的内容的方法
2016/05/28 Javascript
js实现常用排序算法
2016/08/09 Javascript
jQuery用FormData实现文件上传的方法
2016/11/21 Javascript
基于jQuery实现的查看全文功能【实用】
2016/12/11 Javascript
js数字计算 误差问题的快速解决方法
2017/02/28 Javascript
浅谈Vue.js
2017/03/02 Javascript
使用Require.js封装原生js轮播图的实现代码
2017/06/15 Javascript
vue实现简单的MVVM框架
2018/08/05 Javascript
jQuery实现数字自动增加或者减少的动画效果示例
2018/12/11 jQuery
Vuex 模块化使用详解
2019/07/31 Javascript
Webpack中loader打包各种文件的方法实例
2019/09/03 Javascript
JavaScript将数组转换为链表的方法
2020/02/16 Javascript
微信小程序实现首页弹出广告
2020/12/03 Javascript
Python与Java间Socket通信实例代码
2017/03/06 Python
django rest framework之请求与响应(详解)
2017/11/06 Python
使用Python处理Excel表格的简单方法
2018/06/07 Python
Python神奇的内置函数locals的实例讲解
2019/02/22 Python
Python实现AI自动抠图实例解析
2020/03/05 Python
利用 Python ElementTree 生成 xml的实例
2020/03/06 Python
如何卸载python插件
2020/07/08 Python
Lucene推荐的分页方式是什么?
2015/12/07 面试题
浅谈react路由传参的几种方式
2021/03/23 Javascript
品质标语大全
2014/06/21 职场文书
合作协议书格式
2014/08/19 职场文书
2014村书记党建工作汇报材料
2014/11/02 职场文书
《黄道婆》教学反思
2016/02/22 职场文书
Python基础之教你怎么在M1系统上使用pandas
2021/05/08 Python
Html5生成验证码的示例代码
2021/05/10 Javascript