数组 – Torch / Lua,如何选择数组或张量的子集?
发布时间:2020-12-15 00:27:14 所属栏目:大数据 来源:网络整理
导读:我正在使用火炬/ Lua,并拥有10个元素的阵列数据集. dataset = {11,12,13,14,15,16,17,18,19,20} 如果我写数据集[1],我可以读取数组的第1个元素的结构. th dataset[1]11 我只需要选择所有10中的3个元素,但是我不知道使用哪个命令. 如果我在Matlab上工作,我会
我正在使用火炬/ Lua,并拥有10个元素的阵列数据集.
dataset = {11,12,13,14,15,16,17,18,19,20} 如果我写数据集[1],我可以读取数组的第1个元素的结构. th> dataset[1] 11 我只需要选择所有10中的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中,您可以使用 function subrange(t,last) return table.move(t,last,{}) end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |