それで、昨日公開された Google のTensorflowライブラリをいじっていたところ、私を悩ませ続ける厄介なバグに遭遇しました。
私が行ったことは、通常どおり Python ロギング関数をセットアップすることでした。その結果、tensorflow ライブラリをインポートすると、コンソール内のすべてのメッセージが 2 倍になり始めました。興味深いことに、関数を使用するだけでは、これは発生しませんlogging.warn/info/..()
。
メッセージを 2 倍にしないコードの例:
import tensorflow as tf
import logging
logging.warn('test')
すべてのメッセージを 2 倍にするコードの例:
import tensorflow as tf
import logging
logger = logging.getLogger('TEST')
ch = logging.StreamHandler()
logger.addHandler(ch)
logger.warn('test')
今、私は単純な男です。の機能が気に入ってlogging
使っています。logger
オブジェクトと a の追加のセットアップは、StreamHandler
他の人がこれをどのように行ったかを見て拾ったものですが、それはそれが意図された使用方法に適合しているように見えます. ただし、ログ ライブラリは常に機能しているだけなので、ログ ライブラリについての詳細な知識はありません。
そのため、メッセージが 2 倍になる理由を説明するヘルプが最も役立ちます。
Python 2.7.6 で Ubuntu 14.04.3 LTS を使用していますが、試したすべての Python 2.7 バージョンでエラーが発生します。