Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua torch只需将最后一个输出构建为前一层的输出倍增_Lua_Neural Network_Torch_Cudnn - Fatal编程技术网

Lua torch只需将最后一个输出构建为前一层的输出倍增

Lua torch只需将最后一个输出构建为前一层的输出倍增,lua,neural-network,torch,cudnn,Lua,Neural Network,Torch,Cudnn,我的网络有N层,我希望最后一层简单地构造最后一个输出,就像前面几层的输出乘法一样,如下所示。假设我的N-1层有一个3-d输出,最后一层有一个2-d输出。最后一个_输出[1]=上一个_输出[1]*上一个_输出[2],最后一个_输出[2]=上一个_输出[3]。我想在这个2-d最后的输出上使用CrossEntropyCriterion。现在,我通过构造N-1网络模型来实现这一点,并得到如下最后输出: local last_output = torch.ones(previous_output:size

我的网络有N层,我希望最后一层简单地构造最后一个输出,就像前面几层的输出乘法一样,如下所示。假设我的N-1层有一个3-d输出,最后一层有一个2-d输出。最后一个_输出[1]=上一个_输出[1]*上一个_输出[2],最后一个_输出[2]=上一个_输出[3]。我想在这个2-d最后的输出上使用CrossEntropyCriterion。现在,我通过构造N-1网络模型来实现这一点,并得到如下最后输出:

local last_output = torch.ones(previous_output:size()[1], 2)
last_output[{{}, {1}}] = torch.cmul(previous_output[{{},{1}}], previous_output[{{},{2}}])
last_output[{{}, {2}}] = previous_output[{{}, {3}}]
因此,最后一层不在模型中,只需运行

loss = criterion:forward(last_output, target)
发生错误。
有什么技巧可以达到这个目的吗?

最好的方法是编写一个自定义层。有关详细信息,请参阅。

发生错误没有多大帮助。请阅读并改进您的帖子