数组 – Torch / Lua,如何选择数组或张量的子集?

前端之家收集整理的这篇文章主要介绍了数组 – Torch / Lua,如何选择数组或张量的子集?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用火炬/ Lua,并拥有10个元素的阵列数据集.
dataset = {11,12,13,14,15,16,17,18,19,20}

如果我写数据集[1],我可以读取数组的第1个元素的结构.

th> dataset[1]
11

我只需要选择所有10中的3个元素,但是我不知道使用哪个命令.
如果我在Matlab上工作,我会写:dataset [1:3],但这里不行.

你有什么建议吗?

解决方法

在火炬
th> x = torch.Tensor{1,2,3,4,5,6,7,8,9,10}

要选择一个范围,像前三个,使用the index operator

th> x[{{1,3}}]
1
2
3

其中1是’start’索引,3是’end’索引.

使用Tensor.sub和Tensor.narrow查看更多替代方案Extracting Sub-tensors

在Lua 5.2以内

Lua表,如您的数据集变量,没有选择子范围的方法.

function subrange(t,first,last)
  local sub = {}
  for i=first,last do
    sub[#sub + 1] = t[i]
  end
  return sub
end

dataset = {11,20}

sub = subrange(dataset,1,3)
print(unpack(sub))

打印

11    12   13

在Lua 5.3

在Lua 5.3中,您可以使用table.move.

function subrange(t,last)
     return table.move(t,last,{})
end

猜你在找的Lua相关文章