Tensorflowのスカラー/ヒストグラム/画像サマリー関数はテンソルボードで表示するためのデータを記録するのに非常に便利です。しかし、私はその情報をコンソールにも表示したいと思います(例えば、私がデスクトップ環境を持たない狂った人なら)。コンソールで要約を出力する
現在、を呼び出す前に、フェッチリストに関心のある情報を追加していますが、これはすでにマージされた要約をフェッチしているため、冗長なようです。マージされた要約を取得するとprotobufが返されるので、一般的なpython protobufライブラリを使用してそれを掻き集めることができると思いますが、これは簡単な方法が必要な一般的な使用例のようです。
ここでの主な動機はカプセル化です。モデルとトレーニングのスクリプトを別のファイルに保存しておこう。私のモデルは、ログに役立つ情報のためにtf.scalar_summaryへの一連の呼び出しを持っています。理想的には、モデルファイルを変更せずに、トレーニングスクリプトで何かを変更することで、この情報をコンソールに追加印刷するかどうかを指定することができます。現在、私は有用な情報をすべて訓練スクリプトに渡すので(私はそれらを取得することができます)、またはへの呼び出しでモデルファイルをペーストします。tf.Print
tf.Printは何をしますか? https://www.tensorflow.org/versions/r0.9/api_docs/python/control_flow_ops.html#Print (そのセマンティクスに注意してください - データが呼び出されるためにデータが流れていなければなりません) – dga
ええ、私はそれを使っていますが、デバッグのためだけです。 tf.Print()やtf.scalar_summary()などで、何を何回ログに記録するか指定する必要があるので、適切な解決策ではないと思います。 tf.Printは、定期的に印刷する場合(たとえば、10エポック毎の損失など)には面倒です。 – zergylord
コンサルタント - 明確にしてくれてありがとうございました。目標を何点か拡大しようとしました。 (私はまだウィッシュリストにprint(every_n = ..)を持っています。いつか)私はあなたが望むことをする方法を考えることはできませんが、ここでは要約の一部の著者に指摘します。 – dga