tensorflow
トレーニング(カスタム定義のグラフ、クローズドソース)を実行すると、警告が出力されます。
2018-10-03 14:29:24.352895:E tensorflow/core/grappler/optimizers/dependency_optimizer.cc:666]反復= 0、メッセージによるトポロジの並べ替えが失敗しました:グラフをトポロジの順序で並べ替えることができませんでした。
どういう意味ですか?この問題の原因となる可能性のあるものと回避方法
更新:レコードの場合、私の場合、tensorflow
はこの警告にもかかわらず正しく動作します。したがって、計算グラフにはtensorflow
が期待するものよりも多くのループがあることを意味していると思いますが、必ずしも無限ループではありません。コードで手動ループを使用するのを避けることでこれを修正しましたが、代わりにテンソル操作(stack, concat, slice, reshape...
)
有向グラフの トポロジカル順序付け は、頂点u
から頂点v
へのエッジがあるときはいつでも、頂点u
は、順序付けで頂点v
の前に来ます。
この種類の順序付けは、すべての有向非周期的グラフで可能ですが、任意のグラフではできません。グラフには、ソートアルゴリズムの成功を妨げる何らかのサイクルがある可能性があります。そのため、実行する方法は、サイクルを検索し、何らかの方法でそれを削除することです。
例として、2つの頂点、u
とv
、および2つのエッジ、u -> v
およびv -> u
。上記の要件に従ってuとvをソートする方法はありません。
コードに関する詳細情報がなければ、何が起こっているのかを正確に言うのは困難です。