정보를 디버깅한다는 것은 TensorFlow가 터미널에로드 된 라이브러리 및 Python 오류가 아닌 장치 등을 발견 한 것을 의미합니다.
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
...
답변
다음을 사용하여 모든 디버깅 로그를 비활성화 할 수 있습니다 os.environ
.
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
import tensorflow as tf
tf 0.12 및 1.0에서 테스트
자세한 내용은
0 = all messages are logged (default behavior)
1 = INFO messages are not printed
2 = INFO and WARNING messages are not printed
3 = INFO, WARNING, and ERROR messages are not printed
답변
2.0 업데이트 (10/8/19)
설정 TF_CPP_MIN_LOG_LEVEL
이 계속 작동하지만 (v0.12 + 업데이트에서 아래 참조) 현재 문제가 있습니다 ( 문제 # 31870 참조 ). 설정 TF_CPP_MIN_LOG_LEVEL
이 작동하지 않는 경우 (다시 참조) 다음을 수행하여 로그 수준을 설정하십시오.
import tensorflow as tf
tf.get_logger().setLevel('INFO')
또한 tf.autograph.set_verbosity
오토 그래프 로그 메시지의 세부 정보를 설정 하는 설명서를 참조하십시오 ( 예 :
# Can also be set using the AUTOGRAPH_VERBOSITY environment variable
tf.autograph.set_verbosity(1)
TF 2.0 이상을 통한 v0.12 + 업데이트 (5/20/17) :
TensorFlow 0.12+에서는이 문제 에 따라 환경 변수를 통해 로깅을 제어 할 수 있습니다 TF_CPP_MIN_LOG_LEVEL
. 기본값은 0 (모든 로그 표시)이지만 Level
열 아래에서 다음 값 중 하나로 설정할 수 있습니다 .
Level | Level for Humans | Level Description
-------|------------------|------------------------------------
0 | DEBUG | [Default] Print all messages
1 | INFO | Filter out INFO messages
2 | WARNING | Filter out INFO & WARNING messages
3 | ERROR | Filter out all messages
Python을 사용하는 다음 일반 OS 예제를 참조하십시오.
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3' # or any {'0', '1', '2'}
import tensorflow as tf
철저하게 tf_logging
말하면, 요약 ops, tensorboard, 다양한 추정기 등에서 사용되는 Python 모듈 의 레벨을 설정하십시오 .
# append to lines above
tf.logging.set_verbosity(tf.logging.ERROR) # or any {DEBUG, INFO, WARN, ERROR, FATAL}
1.14의 경우 다음과 같이 v1 API 사용을 변경하지 않으면 경고가 표시됩니다.
# append to lines above
tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR) # or any {DEBUG, INFO, WARN, ERROR, FATAL}
TensorFlow 또는 TF-Learn 로깅의 이전 버전 (v0.11.x 이하)의 경우 :
TensorFlow 로깅에 대한 정보는 아래 페이지를보십시오. 새 업데이트와 함께, 당신은 하나에 로깅 상세를 설정할 수있어 DEBUG
, INFO
, WARN
, ERROR
, 또는 FATAL
. 예를 들면 다음과 같습니다.
tf.logging.set_verbosity(tf.logging.ERROR)
이 페이지는 TF-Learn 모델과 함께 사용할 수있는 모니터를 추가로 검토합니다. 여기에 페이지가 있습니다.
이것은 하지 않습니다 (단 TF는-알아보기)하지만, 모든 로깅을 차단합니다. 두 가지 해결책이 있습니다. 하나는 ‘기술적으로 올바른’솔루션 (Linux)이고 다른 하나는 TensorFlow 재 구축과 관련이 있습니다.
script -c 'python [FILENAME].py' | grep -v 'I tensorflow/'
다른 방법 은 소스 수정 및 TensorFlow 재 구축과 관련된 이 답변 을 참조하십시오 .
답변
나는 (on tensorflow-0.10.0rc0
) 이 문제를 겪었 지만 제안 된 답변을 통해 과도한 코 테스트 로깅 문제를 해결할 수는 없습니다.
나는 tensorflow 로거로 직접 조사 하여이 문제를 해결했습니다. 가장 정확한 수정은 아니지만 훌륭하게 작동하며 tensorflow를 직접 또는 간접적으로 가져 오는 테스트 파일 만 오염시킵니다.
# Place this before directly or indirectly importing tensorflow
import logging
logging.getLogger("tensorflow").setLevel(logging.WARNING)
답변
대한 Tensorflow 2.0과의 호환성 , 당신은 사용할 수 있습니다tf.get_logger
import logging
tf.get_logger().setLevel(logging.ERROR)
답변
으로는 TF_CPP_MIN_LOG_LEVEL
당신이 시도 할 수 있습니다 나를 위해 작동하지 않았다 :
tf.logging.set_verbosity(tf.logging.WARN)
tensorflow v1.6.0에서 나를 위해 일했습니다.
답변
일반적인 python3 로그 관리자는 tensorflow == 1.11.0으로 작동합니다.
import logging
logging.getLogger('tensorflow').setLevel(logging.INFO)
답변
이 게시물로 해결했습니다. 모든 경고 # 27045를 제거 할 수 없으며 해결책은 다음과 같습니다.
import logging
logging.getLogger('tensorflow').disabled = True