在 Torch/Lua 中,我可以像流经网络一样拆分/连接张量吗?
2017-11-21 18:20:23
收藏:0
阅读:73
评论:1
我是一名 Lua/Torch 初学者。我有一个包括最大池化层的现有模型。我想将该层的输入拆分成几块,并将每块馈入新的最大池化层。
我编写了一个独立的 Lua 脚本,可以将一个张量拆分成两个部分,并将这两个部分转发到具有两个最大池化层的网络中。
但是,尝试将其集成回现有模型时,我无法弯曲数据“中流而过”,以执行张量分裂。我已阅读文档,但找不到在某个地方将张量拆分为两个部分,并分别将每个部分转发的函数或架构示例。
有什么想法吗?谢谢!
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的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 代码?

如果您想要自定义一个层,如下所示,如果您的层输入只有一个维度:
CSplit,parent = torch.class('nn.CSplit','nn.Module') function CSplit:__init(firstCount) self.firstCount = firstCount parent.__init(自我) end function CSplit:updateOutput(输入) local inputSize = input:size()[1] local firstCount = self.firstCount local secondCount = inputSize - firstCount local first = torch.Tensor(self.firstCount) local second = torch.Tensor(secondCount) for i = 1,inputSize do if i <= firstCount then first [i] = input [i] 其他 second [i - firstCount] = 输入[i] end end self.output = {first,second} 返回 self.output end function CSplit:updateGradInput(输入,gradOutput) local inputSize = input :size()[1] self.gradInput = torch.Tensor(input) for i = 1,inputSize do if i <= self.firstCount then self.gradInput [i] = gradOutput [1] [i] 其他 self.gradInput [i] = gradOutput [2] [i - self.firstCount] end end 返回 self.gradInput end如何使用?您需要像下面的代码一样指定第一个块的大小。
testNet = nn.CSplit(4) input = torch.randn(10) output = testNet:forward(input) print(input) print(output [1]) print(output [2]) testNet:backward(input,{torch.randn(4),torch.randn(6)})您可以在这里看到可运行的iTorch笔记本代码。