問題タブ [keras-layer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Keras は model.fit() の後にレイヤーを削除します
Keras を使用してモデリング作業を行っていますが、特定のレイヤーをインデックスまたは名前で削除することは可能でしょうか? 現在、私model.pop()
はこの作業を行うことができることしか知りませんが、最近追加されたレイヤーを削除するだけです. さらに、layers
は のタイプであり、またはtensorvariable
で実行できる特定の要素を削除する方法がわかりません。ところで、私は Theano バックエンドを使用しています。numpy array
list
keras - Keras:レイヤーごとのトレーニングモデルを実装するより良い方法は?
現在、Keras を使用したレイヤー単位のトレーニング モデルの実装を学習しています。私のソリューションは複雑で時間がかかります。誰かが簡単な方法でそれを行うための提案をしてもらえますか? また、誰かが Keras のトポロジ、特に 間の関係nodes.outbound_layer
、およびそれらがテンソルとnodes.inbound_layer
どのように関連付けられたかを説明できますか? githubのトポロジ ソース コードから、次のことについてかなり混乱しています。input_tensors
output_tensors
input_tensors[i] == inbound_layers[i].inbound_nodes[node_indices[i]].output_tensors[tensor_indices[i]]
inbound_nodes
を含む理由はoutput_tensors
、それらの間の関係について明確ではありません.... の特定の位置にあるレイヤーを削除したい場合、API model
最初に何を削除する必要がありますか? また、ある場所にレイヤーを追加する場合、最初に何をすればよいですか?
これが、レイヤーごとのトレーニング モデルに対する私のソリューションです。私は Sequential モデルでそれを行うことができ、今では実装しようとしていAPI model
ます:
これを行うには、前のトレーニングを終了してから新しいレイヤーを追加し、再コンパイル ( model.compile()
) および再適合 ( model.fit()
) するだけです。
Keras モデルには出力レイヤーが必要なので、常に出力レイヤーを追加します。その結果、新しいレイヤーを追加するたびに、出力レイヤーを削除してから追加し直す必要があります。これは を使用して実行できます。model.pop()
この場合model
、keras.Sequential()
モデルである必要があります。
このSequential()
モデルは、を含む多くの便利な機能をサポートしていますmodel.add(layer)
。ただし、モデル API: を使用してカスタマイズされたモデルの場合model=Model(input=...., output=....)
、それらpop()
またはadd()
関数はサポートされておらず、実装に時間がかかり、不便な場合があります。
keras - Embedding Layer を使用したステートフル LSTM (形状が一致しない)
Keras でステートフル LSTM を構築しようとしていますが、LSTM を実行する前に埋め込みレイヤーを追加する方法がわかりません。問題はstateful
フラグのようです。私のネットがステートフルでない場合、埋め込みレイヤーを追加するのは非常に簡単で機能します。
レイヤーを埋め込まずに動作するステートフル LSTM は、現時点では次のようになります。
Embedding レイヤーを追加するとき、batch_input_shape
パラメーターを Embedding レイヤーに移動します。つまり、形状を知る必要があるのは最初のレイヤーだけですか? このような:
私が知っている例外はException: Input 0 is incompatible with layer lstm_1: expected ndim=3, found ndim=4
だから私は今ここで立ち往生しています。単語の埋め込みをステートフル LSTM に結合するトリックは何ですか?
python - Tensorflow + Keras + Convolution2d: TypeError: 'int' オブジェクトは呼び出し可能ではありません
自分のマシンで CNN に関するコードを実行しましたが、エラー フィードバックが返されました。
私のコードのスニペット:
そして私も試します:
エラーは次のとおりです。
この問題を解決するには?
python - Keras/Theanoでデコンボリューションを実行するには?
Keras でデコンボリューションを実装しようとしています。私のモデル定義は次のとおりです。
最初の畳み込み層、つまりconvolution2d_1
.
最初の畳み込みレイヤーの後にある特徴マップはX
、 9がレイヤーを通過した(9, 32, 32, 32)
次元の画像の数であるとしましょう。Keras の関数32x32
によって得られる最初の層の重み行列。get_weights()
重み行列の次元は です(32, 3, 3, 2)
。
転置畳み込みを実行するために使用しているコードは
しかし、エラーが発生します:
誰が私が間違っているのか教えてもらえますか?
python - Keras - Convolution2D レイヤーを使用した高密度レイヤーの融合
Dense Layer の出力を Convolution2D Layer と融合するカスタム レイヤを作成したいと考えています。
アイデアはこの論文から生まれました。ネットワークは次のとおりです。
融合層は、Convolution2D tensor ( 256x28x28
) を Dense tensor ( ) と融合しようとし256
ます。方程式は次のとおりです。
y_global => Dense layer output with shape 256
y_mid => Convolution2D layer output with shape 256x28x28
Fusion プロセスに関する論文の説明は次のとおりです。
以下のような新しいカスタムレイヤーを作成することになりました。
__init__
メソッドとメソッドは正しいと思いますが、出力が上記の式と同じになるように、レイヤーで (256 次元) を(256x28x28 次元)とbuild
連結する方法がわかりません。y_global
y-mid
call
メソッドでこの方程式をどのように実装できcall
ますか?
本当にありがとう...
更新:これらの2つのレイヤーのデータを正常に統合する他の方法も受け入れられます...ペーパーで言及されている方法である必要はありませんが、少なくとも受け入れ可能な出力を返す必要があります...