2017-11-15 5 views
0

オブジェクト検出APIコードでは、ソースコードに多くのロギングステートメントが含まれていましたが、プログラムを実行すると実際には出力されません。Tensorflowログ出力を有効にする方法

私は、これらのログ文がプリントアウトするには、これらのログ・ステートメントを有効にする方法など

import logging 
#do some fancy job here 
logging.info("this is a test") 

として、代わりに彼らはsysmtemログを使用している、tf.loggingを使用していないことがわかりましたか?私は、このような

logger = logging.getLogger() # initialize logging class 
logger.setLevel(logging.DEBUG) # default log level 
format = logging.Formatter("%(asctime)s - %(message)s") # output format 
sh = logging.StreamHandler(stream=sys.stdout) # output to standard output 
sh.setFormatter(format) 
logger.addHandler(sh) 

として、Pythonのソースファイル内のコードの一部を挿入することができます知っている。しかし、これは面倒ですが、私は各ソースファイル内のコードのこの部分を挿入する必要があります。システムロギングステートメントをアクティブにするためのスマートな方法はありますか?

答えて

0

他のすべての機能が動作する前にこのコードを一度実行するだけで済みます(ロギングに静的に格納されるログハンドラが作成され、その後のすべてのロギング関数が呼び出されてこのハンドラが使用されます)。たとえば、メイン関数の先頭にtrain.pyeval.pyというように追加することができます。または、独自のラッパースクリプトを使用することもできます。ラッパースクリプトは、基本的にロガーを作成し、main関数をeval.pytrain.pyから呼び出します。

関連する問題