如何在Torch / Lua中选择数组或张量的子集?
2015-7-8 22:7:11
收藏:0
阅读:69
评论:1
我正在处理Torch/Lua,有一个包含10个元素的数组dataset。
dataset = {11,12,13,14,15,16,17,18,19,20}
如果我写dataset[1],我可以读取数组中第一个元素的结构。
th> dataset[1]
11
我需要仅选择所有10个元素中的3个元素,但我不知道要使用哪个命令。
如果我使用Matlab,我会写:dataset[1:3],但这里不起作用。
你有什么建议吗?
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
在 Torch 中:
th> x = torch.Tensor{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}要选择一个范围,比如前三个,可以使用索引运算符:
th> x[{{1,3}}] 1 2 3其中1是“开始”索引,3是“结束”索引。
更多使用 Tensor.sub 和 Tensor.narrow 的可选项请参见提取子张量
在 Lua 5.2 或更低版本中
Lua 表,例如您的
dataset变量,没有选择子范围的方法。function subrange(t, first, last) local sub = {} for i=first,last do sub[#sub + 1] = t[i] end return sub end dataset = {11,12,13,14,15,16,17,18,19,20} sub = subrange(dataset, 1, 3) print(unpack(sub))它会打印出:
在 Lua 5.3 中
在 Lua 5.3 中,您可以使用
table.move。function subrange(t, first, last) return table.move(t, first, last, 1, {}) end