使用 Torch 获取元素级最小/最大值

我有两个 Cuda 张量,希望获取它们之间的最小值。

a=torch.randn(3, 3)
b=torch.randn(3, 3)
c=torch.min(a,b)

错误提示: DoubleTensor DoubleTensor 不是有效的参数,期望得到参数为: DoubleTensor | [ _DoubleTensor_] [ _LongTensor_] DoubleTensor 索引

现在我想要得到一个 3x3 矩阵,它包含了 a 和 b 的最小值(最好是针对 Cuda 张量也能用的方式)。

有人知道该如何解决这个问题吗?我查看了 http://pytorch.org/docs/master/torch.html#torch.max

特别是下面这行:'torch.max(input, other, out=None) → Tensor',它表明只需要提供这两个张量就可以工作,但以上的操作会抛出错误。

这个问题出现在基于 Ubuntu 17.04 的 Torch-Cl(Distro-Cl)中。

点赞
用户3754413
用户3754413

函数计算每对值的最大值(最小值)是 cmax(相应的是 cmin)。

尝试

c = torch.cmin(a,b)

更多信息请查看文档 https://github.com/torch/torch7/blob/master/doc/maths.md#res-torchcmaxres-tensor1-tensor2

它也可以与 CudaTensors 一起使用。

2018-02-08 10:00:19