PyTorch中是否存在与Tensorflow的tf.contrib.distributions.percentile
相同的功能?
答案 0 :(得分:1)
有趣的是,似乎PyTorch并没有为此单独提供任何运算符,至少根据its search function而言。
不过,幸运的是,PyTorch张量可以轻松地与NumPy函数一起使用,因此您可以简单地调用<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="https://www.google.com" id='link_one'>This is Google333!</a>
,请参见以下示例:
numpy.percentile
答案 1 :(得分:0)
实际上,icdf
函数给出的是逆累积密度函数值,即百分位数的值。
import torch
from torch.distributions import Normal
dist = Normal(torch.tensor([0.0]), torch.tensor([1.0]))
dist.icdf(torch.tensor([0.95])).data.numpy()
产生
array([1.6449], dtype=float32)
答案 2 :(得分:0)
我不了解优缺点, 但是有一种方法可以将cupy与pytorch dlpack一起使用:
(cupy不直接支持pytorch张量,CuPy函数不接受火炬张量。)
import torch
from torch.utils.dlpack import to_dlpack
from torch.utils.dlpack import from_dlpack
import cupy
x = torch.Tensor([1, 2, 3]).cuda()
dx = to_dlpack(x)
cx = cupy.fromDlpack(dx)
print(cupy.percentile(cx, 30)) # 30-th percentile of x
# 1.5999999642372131