0

こんにちは、私は torch/luaの初心者で、オックスフォード機械学習コースの実用的な5 を行っています。

私が実装しようとしているのは単純なレイヤーです: m = x1 + x2 cmul linear(x3) ここで、cmul は要素の乗算であり、linear は単なる線形レイヤーです。

私のコードは次のようになります:

-- params for the linear layer
params = {
    x3_size1 = 10,
    x3_size2 = 30
}
-- dummy nodes to take input data as nodes in graph
x1 = nn.Identity()()
x2 = nn.Identity()()
x3 = nn.Identity()()

-- modeling output = x1 + x2 cmul linear(x3)
l3 = nn.Linear(params.x3_size1, params.x3_size2)(x1)
m23 = nn.CMulTable()({x2,l3})
add = nn.CAddTable()({x1, m23})

-- specify the inputs and outputs of the graph
m = nn.gModule({x1,x2,x3}, {add})

graph.dot(mlp.fg, "mlp")

ただし、エラーメッセージが表示されました:

  /Users/yiranzhang/torch/install/bin/luajit: /Users/yiranzhang/torch/install/share/lua/5.1/nn/Linear.lua:36: attempt to index local 'input' (a nil value)
stack traceback:
    /Users/yiranzhang/torch/install/share/lua/5.1/nn/Linear.lua:36: in function 'forward'
    /Users/yiranzhang/torch/install/share/lua/5.1/nn/Module.lua:232: in function </Users/yiranzhang/torch/install/share/lua/5.1/nn/Module.lua:231>
    [C]: at 0x0156d0d0
    practical5.lua:32: in main chunk
    [C]: in function 'dofile'
    ...hang/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:131: in main chunk
    [C]: at 0x01013242e0

そして、 aa = nn.Linear(10,20)() のみが必要な場合

上記と同じエラーが発生しました。

トーチ githubのに従っても:

同じエラーが発生しました。

更新および解決済み:

パッケージのインポートに失敗しました。nngraphコードではとのnn両方を参照していnnますが、実際には異なるパッケージです。

すべき

require 'nngraph'

そして、私はしただけです

require 'nn'
4

1 に答える 1

0

この行の最後の引数は、x1 ではなく x3 にする必要があります。

l3 = nn.Linear(params.x3_size1, params.x3_size2)(x3)
于 2016-09-04T06:36:28.430 に答える