1

ラザニアを使用して CNN を構築しようとしていますが、119 個の機能変数があります。Lasagne を使用して MLP を正常に構築できましたが、次のコードを使用して (1D 畳み込みを使用して) 畳み込みレイヤーを追加しようとすると、エラーが発生します。私は何か間違ったことをしていますか?Lasagne の 1D 畳み込みはテストされましたか?

def build_custom_mlp(input_var, depth, width):
    network = lasagne.layers.InputLayer(shape=(None, 119), input_var=input_var)
    network = lasagne.layers.Conv1DLayer(network, num_filters=20, filter_size=10,
              stride=1, pad=1, nonlinearity=lasagne.nonlinearities.rectify)
    network = lasagne.layers.Pool1DLayer(network, pool_size=2)
    nonlin = lasagne.nonlinearities.rectify
    network = lasagne.layers.DenseLayer(network, width, nonlinearity=nonlin)
    # Output layer:
    relu = lasagne.nonlinearities.rectify
    network = lasagne.layers.DenseLayer(network, 60, nonlinearity=relu)
    return network

ファイル "/Users/adityanagarajan/anaconda/lib/python2.7/site-packages/lasagne/layers/dense.py"、63 行目、__init__ super(DenseLayer, self).__init__(incoming, **kwargs) ファイル" /Users/adityanagarajan/anaconda/lib/python2.7/site-packages/lasagne/layers/base.py"、35 行目、__init__ self.input_shape = incoming.output_shape ファイル"/Users/adityanagarajan/anaconda/lib/python2 .7/site-packages/lasagne/layers/base.py", line 49, in output_shape return self.get_output_shape_for(self.input_shape) File "/Users/adityanagarajan/anaconda/lib/python2.7/site-packages/lasagne /layers/conv.py"、237 行目、get_output_shape_for output_length = conv_output_length(input_shape[2]、IndexError: タプル インデックスが範囲外です

4

1 に答える 1

2

エラーはあなたに答えを伝えています:

行 237、get_output_shape_for output_length = conv_output_length(input_shape[2]、IndexError: タプル インデックスが範囲外です

sourceを確認すると、237 行目で、要素が 3 つ含まれていないタプルにインデックスを付けようとしています。(None, 1, 119)データを再形成すると、エラーが解決するはずです。入力として試してください。

于 2015-11-02T05:58:38.913 に答える