torch.masked_select()和Tensor.masked_scatter()的用法
torch.masked_select()用法
>>> import torch
>>> x=torch.randn(3,2)
>>> mask=x>0
>>> x
tensor([[-1.4701, 0.2248],[-0.5485, 0.4736],[ 0.5431, 0.0294]])
>>> mask
tensor([[False, True],[False, True],[ True, True]])>>> torch.masked_select(x,mask)
tensor([0.2248, 0.4736, 0.5431, 0.0294])
Tensor.masked_scatter()用法
>>> import torch
>>> x=torch.randn(3,4)
>>> mask=torch.randn(3,4)>0
>>> re=torch.randn(3,4)+100>>> x
tensor([[ 1.1707, 1.0754, -0.7924, 0.0886],[-1.6767, -1.6024, 0.7270, -1.8158],[-0.1692, -0.3450, 0.8961, 1.0697]])
>>> mask
tensor([[ True, True, True, True],[ True, False, False, True],[ True, False, False, True]])
>>> re
tensor([[100.6069, 100.8317, 100.3769, 98.5353],[ 99.1745, 99.4091, 100.2879, 100.2621],[ 99.9853, 101.0823, 101.5993, 100.1091]])>>> x.masked_scatter_(mask,re)
tensor([[100.6069, 100.8317, 100.3769, 98.5353],[ 99.1745, -1.6024, 0.7270, 99.4091],[100.2879, -0.3450, 0.8961, 100.2621]])
re根据mask的True位置来赋值x,但要注意,re是按顺序来赋值给x的,re数量小于mask的true数量就会报错。
>>> x=torch.randn([3,2])
>>> mask=x>0
>>> x
tensor([[ 0.4304, -0.4132],[ 0.0061, 0.1836],[-0.8996, -0.7297]])
>>> mask
tensor([[ True, False],[ True, True],[False, False]])>>> re=torch.randn([2])
>>> x.masked_scatter_(mask,re)
Traceback (most recent call last):File "<stdin>", line 1, in <module>
RuntimeError: Number of elements of source < number of ones in mask>>> re =torch.randn([3])
>>> re
tensor([-0.5413, -0.1640, 0.1688])
>>> x.masked_scatter_(mask,re)
tensor([[-0.5413, -0.4132],[-0.1640, 0.1688],[-0.8996, -0.7297]])
torch.masked_select()和Tensor.masked_scatter()的用法相关推荐
- pytorch中mask操作之torch.masked_select
# Copyright 2018 CVTE . All Rights Reserved. # coding: utf-8from __future__ import print_function fr ...
- torch.topk和tensor.topk
https://pytorch.org/docs/stable/generated/torch.topk.html#torch.topk 1. 定义 按照指定的维度进行数值大小的排序,返回top-k个 ...
- tensor torch 构造_TORCH.TENSOR
tensor 是一个由单一数据类型数据组成的多维矩阵 torch 定义了8种 CPU 张量和 GPU张量 tensor可以用torch.tensor(data)创建,data可以是 python li ...
- torch里面的Tensor、as_tensor、tensor以及from_numpy究竟有何区别?
导读 在使用pytorch的时候我们经常会用到将numpy array转为tensor,以及将tensor转为numpy array的情况.pytroch内置了几种不同的方法可以方便我们将numpy ...
- 【Torch笔记】Tensor 简介与创建方法
[Torch笔记]Tensor 1 什么是 Tensor? Tensor,又称张量,它是矩阵向任意维度的推广. [Tensor 与 Variable(目前已弃用,但最好了解一下)] Variable ...
- torch学习笔记--tensor介绍2,对tensor的结构
本章将介绍tensor的结构与函数 torch.Tensor():返回一个空tensor. torch.Tensor(tensor):返回一个拥有相同内存的tensor,类似于指针.不是重新开辟一个内 ...
- pytorch之torch.zeros_like,torch.ones_like和tensor按索引赋值
1. torch.zeros_like 可以生成和括号内变量维度一致的全是0的内容.例如:输入维度为 1 × 8 × 3 × 5 1\times8\times3\times5 1×8×3×5的x,要生 ...
- torch把存放tensor的整个list都转为tensor ValueError}only one element tensors can be converted to Python scal
别用torch.tensor直接转,用下边的 torch.stack(pos_temp)
- PyTorch中Tensor的基本用法与动手学深度学习的预备知识
同个人博客网站 : www.serendipper-x.cn
- PyTorch 笔记(06)— Tensor 索引操作(index_select、masked_select、non_zero、gather)
Tensor 支持与 numpy.ndarray 类似的索引操作,如无特殊说明,索引出来的结果与源 tensor 共享内存,即修改一个,另外一个也会跟着改变. In [65]: a = t.arang ...
最新文章
- 超全的设计模式简介(45种)
- C#Dictionary通过索引查找key和value,非循环方法查询
- 给SAP系统安装联机帮助(事务码SR13)
- 2017-2021年中国大数据产业预测分析及全球市场规模预测
- oracle cube排序,Oracle rollup cube 用法
- 2019第十届蓝桥杯C/C++ B组省赛 —— 第三题:数列求值
- GB2312,GBK,UTF-8的关系
- 细说ReactiveCocoa的冷信号与热信号(三):怎么处理冷信号与热信号
- java8 di_java8 多个list对象用lambda求差集操作
- 安装node.js,CoffeeScript,Express.js,mysql,jade
- 培训ui设计要学编程吗?
- bzoj1831 逆序对 (dp+树状数组)
- javascript 组成
- 全民战“疫”,支付宝智能语音机器人到岗就位
- Echarts 柱形图最全详解
- 怎么查看oracle是多少位的,查看 Oracle 是32位还是64位的方法
- 如何一键重装电脑系统?在家里用电脑重装win10系统步骤
- 详解CSS中的百分号%设置
- Factory模式(工厂模式)
- 以中国南方航空为竞品结构化分析并设计航空购票网页