Kerasメモ

Kerasメモ

plot_model

Keras.utils.plot_modelを使うとpydotだけインポートしようとし、pydotplusのインポートはトライしないのでtensorflow配下のものを使う(pydotは開発停止していてpython3.5以降では使えないらしいのでpydotplusを使っている)。

ひとつはまった点。graphvizへパスを通したあと、開発環境(PyCharm)を再起動しないとパスが有効にならずエラーが解消されなかった。

LSTMの状態について

layers.SimpleRNNの場合、状態イコール出力のため、return_state=Trueにする意味はないと思う。

LSTMもそうだと誤解していたが、LSTMの状態はふたつある。状態h(=出力)と状態c。長短記憶ということから、たぶん状態hが短期の記憶で、状態cが長期の記憶なんだと思う。

return_state=Trueを指定することで、最後の状態hとcを得ることができる。状態hは出力とおなじ。

return_sequences=Trueとすると、最後の出力と状態hが等しいことが確認できる。

initial_stateを指定するには、LSTMの場合はSimpleRNNとちがって状態hと状態cをセットで渡さなければならない。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする