2016-03-10 16 views
51

情報をデバッグすると、私の端末にロードされたライブラリやPythonのエラーなどではなく、TensorFlowがどのようなライブラリを見つけたのかを知ることができます。Tensorflowのデバッグ情報を無効にする

I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally 
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcudnn.so locally 
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft.so locally 
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcuda.so.1 locally 
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcurand.so locally 
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:900] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 
I tensorflow/core/common_runtime/gpu/gpu_init.cc:102] Found device 0 with properties: 
name: Graphics Device 
major: 5 minor: 2 memoryClockRate (GHz) 1.0885 
pciBusID 0000:04:00.0 
Total memory: 12.00GiB 
Free memory: 11.83GiB 
I tensorflow/core/common_runtime/gpu/gpu_init.cc:126] DMA: 0 
I tensorflow/core/common_runtime/gpu/gpu_init.cc:136] 0: Y 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:717] Creating TensorFlow device (/gpu:0) -> (device: 0, name: Graphics Device, pci bus id: 0000:04:00.0) 
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:51] Creating bin of max chunk size 1.0KiB 
... 
+3

追跡問題:https://github.com/tensorflow/tensorflow/issues/1258 –

答えて

36

1.0アップデート(5/20/17): TensorFlow 0.12+で

、このissueごとに、あなたが今TF_CPP_MIN_LOG_LEVELと呼ばれる環境変数を経由してログを制御することができます。デフォルトでは0(すべてのログが表示されます)が設定されますが、ログにはINFOログを除外するために1、ログにはさらにWARNINGのログを除外するために2、さらにログにはERRORを除外するために3に設定できます。パイソンを使用して、次の一般的なOSの例を参照してください。

import os 
import tensorflow as tf 

os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3' # or any {'0', '1', '2'} 

前TensorFlowのバージョンまたはTF-学びログについては、以下を参照してください。

はTensorFlowログの詳細については、下のページを表示します。新しいアップデートでは、ログの冗長性をDEBUG,INFOWARNERROR、またはFATALのいずれかに設定できます。例:

tf.logging.set_verbosity(tf.logging.ERROR) 

さらに、TF-Learnモデルで使用できるモニターをページオーバーします。 Here is the page

はすべてのログをブロックしません(TF-Learnのみ)。私には2つの解決策があります。 1つは「技術的に正しい」ソリューション(Linux)で、もう1つはTensorFlowを再構築することです。その他については

script -c 'python [FILENAME].py' | grep -v 'I tensorflow/' 

、ソースを変更し、TensorFlowを再構築する必要どのthis answerを参照してください。

4

私はこの問題も(tensorflow-0.10.0rc0に)も持っていましたが、提案された回答によって過剰な鼻検査の問題を修正できませんでした。

私はテンソルフローロガーに直接探査することでこれを解決することができました。最もフィックスの正しいが、素晴らしい作品とのみ直接的または間接的にtensorflowをインポートテストファイルは汚染なし:

# Place this before directly or indirectly importing tensorflow 
import logging 
logging.getLogger("tensorflow").setLevel(logging.WARNING) 
+0

これはTF_CPP_MIN_LOG_LEVELソリューションはなかったが、私のために働いたTF 0.11 – Davidmh

+0

のために動作するようには思えません。いい考え! –

66

あなたはos.environを使用して、すべてのデバッグログを無効にすることができます

TF 0.12でテスト
import os 
import tensorflow as tf 
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3' 

1.0

+1

これは私にとってそれを解決しました。私はTF 1.0を使用しています。 –

+0

は私のためには機能しません。 tf 1.0 – thang

+1

tfでの作業1.2.0 –

関連する問題