首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pytorch:将张量的前10%设置为零

Pytorch:将张量的前10%设置为零
EN

Stack Overflow用户
提问于 2021-12-17 17:35:03
回答 1查看 180关注 0票数 2

我有Pytorch 2d张量,它具有正态分布。是否有一种快速的方法使用Python来取消这个张量的10%的最大值?

我认为这里有两种可能的方法:

使用一些本机it

  • Non-vectorized运算符(for-if)it

  • Non-vectorized对
  1. 平坦的张量到1d进行排序。

但这些看起来都不够快。

那么,将张量的X最大值设置为零的最快方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-17 18:10:25

好吧,Pytorch似乎有一个有用的运算符torch.quantile(),它在这里非常有用。

解(对于一维张量):

代码语言:javascript
复制
import torch

x = torch.randn(100)
y = torch.tensor(0.) #new value to assign 
split_val = torch.quantile(x, 0.9)
x = torch.where(x < split_val, x, y)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70396859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档