pytorch中scatter()、scatter_()详解

article/2025/11/10 18:59:20

scatter()、scatter_()

scatter() 和 scatter_() 的作用一样。

不同之处在于 scatter() 不会直接修改原来的 Tensor,而 scatter_() 会在原来的基础上对Tensor进行修改。

torch.scatter()官方文档

scatter(dim, index, src)src中数据根据index中的索引按照dim的方向进行填充。

dim=0

# 填充规则(dim=0)
self[ index[i][j] ] [j] = src[i][j]

在这里插入图片描述
在这里插入图片描述

dim=1

# 填充规则(dim=1)
self [i] [ index[i][j] ] = src[i][j]

在这里插入图片描述
在这里插入图片描述

注:index必须是torch.LongTensor类型

index行数必须和src行数相同,且下标不能超过output的列数。
index列数不受限制

src列数必须要小于等于进行填充的tensor列数(或者只是一个标量也可以)。
在这里插入图片描述

scatter() 用于 one-hot 编码

这就是一个典型的用标量来修改张量的一个例子。

class_num = 10
batch_size = 4
label = torch.LongTensor(batch_size, 1).random_() % class_num
#tensor([[6],
#        [0],
#        [3],
#        [2]])
torch.zeros(batch_size, class_num).scatter_(1, label, 1)
#tensor([[0., 0., 0., 0., 0., 0., 1., 0., 0., 0.],
#        [1., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
#        [0., 0., 0., 1., 0., 0., 0., 0., 0., 0.],
#        [0., 0., 1., 0., 0., 0., 0., 0., 0., 0.]])

http://chatgpt.dhexx.cn/article/AGYrGxxM.shtml

相关文章

torch_scatter.scatter()的使用方法详解

目录 1. 参数2. 示例2.1 简单示例2.2 顺序问题2.3 维度问题 1. 参数 具体来讲,scatter函数的作用就是将index中相同索引对应位置的src元素进行某种方式的操作,例如sum、mean等,然后将这些操作结果按照索引顺序进行拼接。下面我用具体的例子来…

torch.scatter

本文目录 一、函数简介二、二维举例三、详解执行过程1. 第一步2. 第二步3. 第三步4. 问题 一、函数简介 torch.scatter(input, dim, index, src) dim ([int]) – the axis along which to indexindex (LongTensor) – the indices of elements to scatter, can be either emp…

Python中的scatter

假设X与Y,其中X是5X2矩阵 关于X_demo[Y_demo0 , 0],是一种获取子矩阵的方式 因为Y_demo取值只是0与1,可以看做一个布尔数组, 在X_demo[取Y_demo中为0的行,只取第0列] 正好对应 而在scatter(横坐标,纵坐标) 现在已经…

scatter python_Python中scatter()函数--转载

原博文 2017-05-13 20:46 − 原博地址:http://blog.csdn.net/anneqiqi/article/details/64125186 最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下: 1、scatter函数原型 2、其中散点的形状参数marker如下:... 相关推荐 …

scatter python_python中的scatter()方法

1、scatter函数原型 2、其中散点的形状参数marker如下: 3、其中颜色参数c如下: 4、基本的使用方法如下: #导入必要的模块 importnumpy as np importmatplotlib.pyplot as plt #产生测试数据 x np.arange(1,10) y x fig plt.figure() ax1 fig.a…

scatter python_Python的散点图绘制 scatter

python能画的图种类非常多,而且看上去都很好看,具体种类部分可参看:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.figure.html#matplotlib.pyplot.figure 这里主要是探索下散点图绘制。 1. 首先是导入包,创建数据 imp…

scatter python_Python scatter详解

函数原型:matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None,vmin=None, vmax=None, alpha=None, linewidths=None,verts=None, edgecolors=None, hold=None, data=None,**kwargs) 参数作用如下: x, y位置。 s大小。 c颜色,可能的情况…

scatter

scatter 散点图 全页折叠 语法 scatter(x,y) scatter(x,y,sz) scatter(x,y,sz,c) scatter(___,filled) scatter(___,mkr) scatter(___,Name,Value) scatter(ax,___) s scatter(___) 说明 示例 scatter(x,y) 在向量 x 和 y 指定的位置创建一个包含圆形的散点图。该类型的图形也…

py使用scatter画散点/气泡图

本博文源于《python数据可视化》(黑马程序员编著)。旨在讲解python如何使用scatter函数进行绘画散点图和气泡图。先讲解scatter函数参数如何使用,然后再演示两个例子进行绘画散点图和气泡图 scatter函数参数讲解 scatter(x,y,sNone,cNone,m…

ComposeOptions.kotlinCompilerVersion is deprecated

我为我的 Compose 工程升级 AGP 后 (7.0.0 > 7.0.2)重新编译发生下面错误 ComposeOptions.kotlinCompilerVersion is deprecated. Compose now uses the kotlin compiler defined in your buildscript. 以前需要通过该 composeOptions 指定 Kotlin 版…

比 Java 更强大的 kotlin.Deprecated

我们都知道 Java 有一个java.lang.Deprecated注解,用来将一个 API 标记为“废弃”,或者说“不建议使用”。比如 String 类就有一个被标记为 Deprecated的构造函数: Deprecated public String(byte ascii[], int hibyte) {this(ascii, hibyte…

Android IntentService deprecated|笔记

先回顾一下, 面试一般都喜欢问IntentService 原理, 个人觉的啥是原理,不就是源码吗? 就下面几行源码,就能出滋生出来,几道面试题: 什么IntentService继承service阿,自带looper阿&…

java 注解 @Deprecated

目录 一 笔记二 Deprecated 源码三 定义一个已过时的类 AnnotationTest03_User.java四 使用自定义的过时注解类 一 笔记 Deprecated 可以标注很多元素:类、接口、方法、属性。。。。。。 这个注解也是给编译器看的,也是做编译检查的;被这个…

JAVA后台开发提升注解篇 @Deprecated

前期说明 先说明下,这个注解不加,对代码没有任何影响。 加了的话,会让调用端的人觉得你比较上道。 这是为什么呢? 我们先来简单聊下 Deprecated这个注解。 Deprecated注解 作用域:类、方法或者属性上 格式如下 …

@Deprecated注解

刚学到一个注解 Deprecated 表示这个方法下个版本可能会被弃用 看个东西 /** deprecated */Deprecatedpublic static boolean isEmpty(Nullable Object str) {return str null || "".equals(str);}这是 springframework 下的一个方法 StringUtils.isEmpty() 然后…

deprecated注释 原因

Deprecated 标记下线接口或者属性的时候,希望能够说明下线原因及新的方法地址 可以使用注释 /*** deprecated 我为什么要下线这个字段或者方法,替代的字段或者方法是 {link com.example.demo.SimpleCache.CacheObj#longData}*/Deprecatedprivate BigDe…

deprecated的用法

deprecated的用法:在java中用deprecated标志该方法过时 实例:有如下方法 public Collection getUserPropList(String userId, String systemId,String valueType) throws Exception ... { .... String filter ""; filter "USER_ID" userId …

【Java】Deprecated 注解

1. Deprecated 注解 Deprecated: 用于表示某个程序元素(类,方法等)已过时如果使用 Deprecated 去修饰一个类,表示这个类已经过时了,但过时不代表不能用了,即不推荐使用,仍然可以使用 public class Deprecated_ {publ…

Linux命令之grep命令

一、命令介绍 grep命令是文本搜索命令,它可以正则表达式搜索文本,也可从一个文件中的内容作为搜索关键字。grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字…

grep与egrep

个人觉得egrep比较好用,感觉改良了grep的一些不可以直接操作的东西,但是总体来说还是没太大区别的,都是一个过滤工具。 grep 和 egrep 都要通过 正则表达式来筛选我们想要的东西,只能筛选文本内容,不能对目录筛选&…