pytorch nearest upsample整数型tensor
在用 torch.nn.Upsample 给分割 label 上采样时报错:RuntimeError: "upsample_nearest2d_out_frame" not implemented for 'Long'。
参考 [1-3],用 [3] 给出的实现。稍微扩展一下,支持 h、w 用不同的 scale factor,并测试其与 PyTorch 的几个 upsample 类的异同,验证 [3] 的实现用 nearest 插值。
Code
linear要 3D 输入、trilinear要 5D 输入,故此两种插值法没比。
import torch
import torch.nn as nnclass UpsampleDeterministic(nn.Module):"""deterministic upsample with `nearest` interpolation"""def __init__(self, scale_factor=2):"""Input:scale_factor: int or (int, int), ratio to scale (along heigth & width)"""super(UpsampleDeterministic, self).__init__()if isinstance(scale_factor, (tuple, list)):assert len(scale_factor) == 2self.scale_h, self.scale_w = scale_factorelse:self.scale_h = self.scale_w = scale_factorassert isinstance(self.scale_h, int) and isinstance(self.scale_w, int)def forward(self, x):"""Input:x: [n, c, h, w], torch.TensorOutput:upsampled x': [n, c, h * scale_h, w * scale_w]"""return x[:, :, :, None, :, None].expand(-1, -1, -1, self.scale_h, -1, self.scale_w).reshape(x.size(0), x.size(1), x.size(2) * self.scale_h, x.size(3) * self.scale_w)# 随机数据
x = torch.rand(2, 3, 4, 4) # [n, c, h, w]
# [3] 的实现
us_det = UpsampleDeterministic((2, 3))
# pytorch 自带的几种实现
us_list = {mode: nn.Upsample(scale_factor=(2, 3), mode=mode)for mode in ('nearest', 'bilinear', 'bicubic')}
# linear: 3D
# trilinear: 5Dy_det = us_det(x)
print(y_det.size())
for us_name, us in us_list.items():y = us(x)print(us_name, y.size(), (y_det != y).sum())
输出:
torch.Size([2, 3, 8, 12])
nearest torch.Size([2, 3, 8, 12]) tensor(0)
bilinear torch.Size([2, 3, 8, 12]) tensor(507)
bicubic torch.Size([2, 3, 8, 12]) tensor(576)
可见 [3] 的实现与 nearest 结果一致。
References
- 请慎用torch.nn.Upsample
- PyTorch中模型的可复现性
- Non Deterministic Behaviour even after cudnn.deterministic = True and cudnn.benchmark=False #12207
相关文章:
pytorch nearest upsample整数型tensor
在用 torch.nn.Upsample 给分割 label 上采样时报错:RuntimeError: "upsample_nearest2d_out_frame" not implemented for Long。 参考 [1-3],用 [3] 给出的实现。稍微扩展一下,支持 h、w 用不同的 scale factor,并测试…...
MySQL的SQL MODE
目录 举例: --常见SQL mode --mysql8 sql_mode 官方文档 https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html --查看全局的SQL MODE select global.sql_mode; --查看当前会话的SQL MODE select session.sql_mode; --运行时修改全局的SQL mode set gl…...
GO EASY 框架 之 NET 05
目录 1、Overview 2、Agent接口源码 3、收发消息 4、AgentHandle接收函数 5、conns.Conn接口 1、Overview 名称:agent.Agent 网络链接 接口; DESC:网络链接,服务端与客户端通信媒介; 封装:进一步封…...
【教程】谈一谈 IPA 上传到 App Store Connect 的几种方法
【教程】谈一谈 IPA 上传到 App Store Connect 的几种方法 引言 在应用开发过程中,将应用程序上传到 App Store Connect 是一个关键的环节。本文将探讨几种常见的 IPA 文件上传方法,包括 Xcode、Application Loader、altool、Appuploader以及Transport…...
面试经典 150 题 -- 滑动窗口 (总结)
面试经典150题链接 面试经典 150 题 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台 209 . 长度最小的子数组 思路 : 滑动窗口的思想,取ij0,向后遍历j,记录前缀和[l,r]为s,如果s>target,那么左端点向右移动,直到s…...
JDK8对List对象根据属性排序
文章目录 JDK8对List对象根据属性排序1. 被排序字段为null或者空时候报错2. 使用Stream流排序2.1 根据name升序2.2 根据name升序,score降序 3. 使用Collections排序3.1 根据name升序3.2 根据name升序,score降序 4. 完整的demo JDK8对List对象根据属性排序…...
【2024美国大学生数学建模竞赛】2024美赛C题网球运动中的势头,网球教练4.0没人比我更懂这个题了!!!
【2023美国大学生数学建模竞赛】2024美赛C题 问题分析、数学模型、实现代码、完整论文 引言 本人是计算机博士,拥有10年网球球龄,2023年的温网决赛,熬夜到半夜全称观看完了直播,对于网球规则、比赛的数据非常熟悉,这个…...
python的Flask生产环境部署说明照做成功
最近刚好在我的Linux服务器上部署一个Web服务, 使用了python的Flask框架, 因此本文主要介绍flask在linux环境上的部署。 Flask 是一个轻量级的 Python Web 框架,非常适合快速开发小型到中型的 Web 应用。然而,Flask 自带的服务器通常是用于开发目的&…...
EXCEL VBA调用百度api识别身份证
EXCEL VBA调用百度api识别身份证 Sub BC_识别身份证()Dim SHD, SHX As WorksheetDim AppKey, SecretKey, Token, PathY As StringDim jSon, JSonA, WithHttp As ObjectDim Pic, oDom, oW, jsCode, paramsDim ARX, BRX, DRX, ERX, ZADDim StrText, StrUrl As StringDim StrA, S…...
【每日一题】7.LeetCode——合并两个有序链表
📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》|《数据结构与算法》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 🙏小杨水平有限,欢…...
【零基础学习CAPL】——CAN报文的发送(按下按钮同时周期性发送)
🙋♂️【零基础学习CAPL】系列💁♂️点击跳转 文章目录 1.概述2.面板创建3.系统变量创建4.CAPL实现4.1.函数展示4.2.全量报文展示5.效果1.概述 本章主要介绍使用CAPL和Panel在按下按钮时发送周期性CAN报文。 本章主要在“【零基础学习CAPL】——CAN报文的发送(配合P…...
六、Nacos源码系列:Nacos健康检查
目录 一、简介 二、健康检查流程 2.1、健康检查 2.2、客户端释放连接事件 2.3、客户端断开连接事件 2.4、小结 2.5、总结图 三、服务剔除 一、简介 Nacos作为注册中心不止提供了服务注册和服务发现的功能,还提供了服务可用性检测的功能,在Nacos…...
2024美赛C题思路/代码:网球中的动量
美赛直播b站,提前关注:川川菜鸟 美赛辅导预定:美赛服务 去年美赛C题:2023美赛C题 题目翻译 背景 在2023年温布尔登男子单打决赛中,20岁的西班牙新星阿尔卡拉兹击败了36岁的诺瓦克德约科维奇。这是德约科维奇自201…...
ConcurrentHashMap原理详解(太细了)
一、什么是ConcurrentHashMap ConcurrentHashMap和HashMap一样,是一个存放键值对的容器。使用hash算法来获取值的地址,因此时间复杂度是O(1)。查询非常快。 同时,ConcurrentHashMap是线程安全的HashMap。专门用于多线程环境。 二、Concurre…...
EasyExcel根据对应的实体类模板完成多个sheet的写入与读取
1.展示模板一的实体类 import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.HeadRowH…...
在企业数字化转型过程中,IT运维发挥着怎样的价值?
IT运维软件在企业数字化转型中发挥着重要的价值。从效率、稳定性、安全性和资源利用率以及数据分析决策支持都有巨大的提升。 提高效率 利用自动化巡检功能,实时或定时进行系统巡检,减少人力巡检的繁琐和低效,避免手动操作的失误,…...
01-工厂模式 ( Factory Pattern )
工厂模式 Factory Pattern 摘要实现范例 工厂模式(Factory Pattern)提供了一种创建对象的最佳方式 工厂模式在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象 工厂模式属于创建型模式 摘要 1. 意图 …...
【LeetCode】每日一题 2024_2_2 石子游戏 VI(排序、贪心)
文章目录 LeetCode?启动!!!题目:石子游戏 VI题目描述代码与解题思路 LeetCode?启动!!! 题目:石子游戏 VI 题目链接:1686. 石子游戏 VI 题目描述…...
一站式在线协作开源办公软件ONLYOFFICE,协作更安全更便捷
1、ONLYOFFICE是什么? ONLYOFFICE是一款功能强大的在线协作办公软件,可以创建编辑Word文档、Excel电子表格,PowerPoint(PPT)演示文稿、Forms表单等多种文件。ONLYOFFICE支持多个平台,无论使用的是 Windows、…...
Java进击框架:Spring-综合(十)
Java进击框架:Spring-综合(十) 前言Rest ClientsWebClientRestTemplateHTTP接口 JMS (Java消息服务)使用Spring JMS发送消息接收消息注释驱动的侦听器端点 JMXEmail任务执行和调度Spring TaskExecutor 抽象Spring TaskScheduler 抽象支持调度…...
CANN-ATB多卡推理-昇腾NPU上Llama70B怎么切到8张卡
CANN-ATB多卡推理-昇腾NPU上Llama70B怎么切到8张卡 Llama2-70B 的权重 140GB,单张 Atlas 800I A2 的 64GB 显存放不下。ATB 的多卡推理用 Tensor Parallel 把模型切到多张 NPU 上,每张卡只存 1/N 的权重和 KV Cache。 Tensor Parallel 的切法 Llama2-70B…...
Sixpack Redis数据存储策略:高效管理A/B测试数据的10个技巧
Sixpack Redis数据存储策略:高效管理A/B测试数据的10个技巧 【免费下载链接】sixpack Sixpack is a language-agnostic a/b-testing framework 项目地址: https://gitcode.com/gh_mirrors/si/sixpack Sixpack是一个语言无关的A/B测试框架,它通过R…...
feh主题系统完全指南:如何自定义界面外观和风格
feh主题系统完全指南:如何自定义界面外观和风格 【免费下载链接】feh a fast and light image viewer 项目地址: https://gitcode.com/gh_mirrors/fe/feh feh是一款轻量级图片查看器,以其高效和简洁著称。本文将详细介绍如何通过feh的主题系统自定…...
编译和链接+预处理
编译(compile)和链接(link)在以前我们提到过,C语言是一门编译型的计算机语言,C语言的源代码都是文本文件,文本文件本身无法运行,电脑不能执行C语言代码,计算机能够执行的…...
【K8s】解惑:K8s 与 Docker 的关系
目录 引言:一个绕不开的问题 一句话说清K8s与Docker的关系 澄清三个误解 从命令的角度,直观对比 引言:一个绕不开的问题 在学习云原生技术的路上,几乎每个人都会遇到这样一个困惑: “有了 Kubernetes(…...
H3CSE 高性能园区网:VRRP 技术详解
H3CSE 高性能园区网:VRRP 技术详解VRRP 技术详解一、VRRP 简介1.1 VRRP 技术背景与定义1.1.1 技术背景1.1.2 VRRP 核心定义1.2 VRRP 核心原理与关键概念1.2.1 主备切换工作流程1.2.2 关键概念解析1.2.3 免费ARP工作原理二、VRRP 核心工作原理2.1 VRRP 基础运行原理概…...
【轴承故障诊断】一种用于轴承故障诊断的稀疏贝叶斯学习(SBL),两种群稀疏学习算法来提取故障脉冲,第一种仅利用故障脉冲的群稀疏性,第二种则利用故障脉冲的额外周期性行为(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
【限时公开】盐印相风格Prompt工程黑箱:3类被官方隐藏的--stylize权重阈值,97%用户从未触发过第3级胶片响应
更多请点击: https://codechina.net 第一章:盐印相风格Prompt工程的视觉本质解构 盐印相(Salted Paper Print)作为19世纪早期摄影工艺的代表,其视觉特征——柔和的颗粒质感、低对比度过渡、泛暖棕褐基调与微妙的纸基纤…...
Unity哥特UI资源包:SDF字体与Shader Graph工程化实践
1. 为什么哥特UI在游戏开发中长期被低估,又为何现在必须认真对待“哥特UI”这个词,很多Unity开发者第一反应是:不就是黑底、尖角、浮雕字、带玫瑰纹样的按钮吗?配个暗红渐变完事。我2019年接手一个中世纪黑暗奇幻RPG时也这么想——…...
AI大模型核心:Prompt、Tool、Skill、Agent,一篇彻底搞懂它们之间的区别与实战应用!
如果你最近在用AI大模型,一定会被这四个词绕晕:Prompt、Tool、Skill、Agent。 这篇文章用最通俗的语言,一次性讲透四个概念的本质、核心区别。一、讲清楚每个概念到底是什么? 1、Prompt 本质上是人类给大模型的单次文本指令&#…...
