require 'torch'
data = torch.Tensor({1,2,3,4,505,6,7,8,9,10,11,12})
idx = 1
max = data[1]
for i=1,data:size()[1] do
if data[i]>max then
max=data[i]
idx=i
end
end
print(idx,max)
> t = torch.Tensor{9, 1, 8, 2, 7, 3, 6, 4, 5}
obtain the 3 smallest elements
> res = t:topk(3)
> print(res)
1
2
3
[torch.DoubleTensor of size 3]
you can also get the indices in addition
> res, ind = t:topk(3)
> print(ind)
2
4
6
[torch.LongTensor of size 3]
alternatively you can obtain the k largest elements as follow
(see the API documentation for more details)
> res = t:topk(3, true)
> print(res)
9
8
7
[torch.DoubleTensor of size 3]
只需循环使用张量并进行比较:
编辑 响应您的编辑:使用此处记录的torch.max操作:https://github.com/torch/torch7/blob/master/doc/maths.md#torchmaxresval-resind-x-dim
您可以使用topk函数
例如:
结果是:
从pull请求#496起,Torch现在包括一个名为^{} 的内置API。例如:
在编写本文时,CPU实现遵循sort and narrow approach(有计划在将来改进它)。也就是说,目前正在为cutorch优化GPU实现
相关问题 更多 >
编程相关推荐