2017-11-27 12 views
1

どのように再構成パラメータを解釈するかわかりません。ここではhttp://caffe.berkeleyvision.org/tutorial/layers/reshape.htmlは0はコピーを意味し、-1は推論を意味する。 -1が最後のパラメータでない場合も同じですか?誰も私がそれを理解するのを助けることができる?Caffeの形状変更パラメータを理解し、Kerasで再実装する方法は?

layer { 
    name: "Layer1" 
    type: "Reshape" 
    bottom: "Layer1" 
    top: "Layer2" 
    reshape_param { 
    shape { 
     dim: 0 
     dim: 2 
     dim: -1 
     dim: 0 
} 
} 

私はKerasで同じ層を実装したい場合にも、私はまたのような層の形を変えるKerasを使用してください:

Layer2 = K.reshape(Layer1,(-1,input_dim)) 
+0

「改訂」レイヤについては、[この良いドキュメント](http://caffe.help/manual/layers/reshape.html)を参照してください。 – Shai

答えて

1

これは、考慮がシェイプ(a, b, c, d, e)の入力を持っていることを意味し、あなたの

(a, 2, b * c * e/2, d) 

adが前の層からコピーされ:出力形状を有することになります。値2が強制され、値-1は、入力と同じ数の要素を保持する必要があるかどうかを計算します。 Kerasで

、あなたが最初の次元(バッチサイズ)を変更していないことから、あなただけのバッチサイズを無視し、通常の形状変更層必要があります。ただ、追加、Sequentialモデルで

Reshape((2,-1,youMustKnowThis)) 

をこの層:

newShaped = Reshape((2,-1,youMustKnowThis))(outputOfPreviousLayer) 

sequentialModel.add(Reshape((2,-1,youMustKnowThis)) 

機能API Modelでは、前の層の出力を渡し

関連する問題