web-dev-qa-db-ja.com

Keras-Tensorboardでモデルの重みとバイアスを表示できますか

Kerasを使い始めて、Qラーニングのサンプルプログラムを作成しました。テンソルボードコールバックを作成し、model.fitの呼び出しに含めましたが、TensorBoardに表示されるのは、損失のスカラーサマリーとネットワークグラフのみです。興味深いことに、グラフの密集したレイヤーを開くと、「bias_0」というラベルの付いた小さな要約アイコンと「kernel_0」というラベルの付いたアイコンが表示されますが、TensorBoardの分布またはヒストグラムのタブには表示されません純粋なテンソルフローでモデルを作成しました。

Tensorboardでこれらを有効にするために他に何かする必要がありますか? Kerasが生成するモデルの詳細を調べて、独自のtensor_summary()呼び出しを追加する必要がありますか?

13
Ocie Mitchell

.get_weights()を使用すると、レイヤーごとおよびモデル全体の重みとバイアスを取得できます。

たとえば、モデルの最初のレイヤーが重みとバイアスを持ちたい密なレイヤーである場合、次の方法で取得できます。

weights, biases = model.layers[0].get_weights()
12

これをデバッグすると、fit()を呼び出したときに検証データを提供していなかったことが問題であることがわかりました。 TensorBoardコールバックは、検証データが提供された場合にのみ重みについて報告します。それは少し制限されているように見えますが、少なくとも機能するものがあります。

1
Ocie Mitchell