在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实现复杂对象转JSON的方法示例
Jun 22 Python
python中matplotlib实现最小二乘法拟合的过程详解
Jul 11 Python
scrapy爬虫完整实例
Jan 25 Python
pycharm远程linux开发和调试代码的方法
Jul 17 Python
Python OpenCV对本地视频文件进行分帧保存的实例
Jan 08 Python
python基于SMTP协议发送邮件
May 31 Python
python爬虫之自制英汉字典
Jun 24 Python
python getopt模块使用实例解析
Dec 18 Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
Jan 15 Python
浅谈Python中range与Numpy中arange的比较
Mar 11 Python
Python selenium自动化测试模型图解
Apr 15 Python
python opencv肤色检测的实现示例
Dec 21 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使用GD库输出汉字的方法【测试可用】
2016/11/10 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
基于jQuery的输入框无值自动显示指定数据的实现代码
2011/01/24 Javascript
jQuery移动和复制dom节点实用DOM操作案例
2012/12/17 Javascript
为指定的元素添加遮罩层的示例代码
2014/01/15 Javascript
捕获和分析JavaScript Error的方法
2014/03/25 Javascript
jQuery对指定元素中指定字符串进行替换的方法
2015/03/17 Javascript
跟我学习javascript的for循环和for...in循环
2015/11/18 Javascript
每天一篇javascript学习小结(面向对象编程)
2015/11/20 Javascript
跨域请求的完美解决方法(JSONP, CORS)
2016/06/12 Javascript
8 行 Node.js 代码实现代理服务器
2016/12/05 Javascript
jQuery zTree树插件简单使用教程
2017/01/10 Javascript
JavaScript实现弹窗效果代码分析
2017/03/09 Javascript
Angular2 之 路由与导航详细介绍
2017/05/26 Javascript
javascript  数组排序与对象排序的实例
2017/07/17 Javascript
webpack打包js文件及部署的实现方法
2017/12/18 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
angularJs中$scope数据序列化的实例
2018/09/30 Javascript
Koa 使用小技巧(小结)
2018/10/22 Javascript
node.js ws模块搭建websocket服务端的方法示例
2019/04/25 Javascript
webpack HappyPack实战详解
2019/10/08 Javascript
Vue+Node服务器查询Mongo数据库及页面数据传递操作实例分析
2019/12/20 Javascript
[43:43]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第一场 11.22
2020/11/24 DOTA
[36:16]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.19
2020/12/24 DOTA
Python 文件操作实现代码
2009/10/07 Python
django使用xlwt导出excel文件实例代码
2018/02/06 Python
Python 数据处理库 pandas 入门教程基本操作
2018/04/19 Python
pandas 按照特定顺序输出的实现代码
2018/07/10 Python
python实现RabbitMQ的消息队列的示例代码
2018/11/08 Python
利用python在excel中画图的实现方法
2020/03/17 Python
pyautogui自动化控制鼠标和键盘操作的步骤
2020/04/01 Python
牛津在线药房:Oxford Online Pharmacy
2020/11/16 全球购物
三孔导游词
2015/02/05 职场文书
2022年显卡天梯图(6月更新)
2022/06/17 数码科技