스택큐힙리스트

텐서플로 디버깅 정보 비활성화하기 본문

카테고리 없음

텐서플로 디버깅 정보 비활성화하기

스택큐힙리스트 2023. 4. 28. 08:38
반응형

디버깅 정보란 Python 오류가 아닌 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

...

답변 1

os.environ을 사용하여 모든 디버깅 로그를 비활성화할 수 있습니다.

import os

os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'

import tensorflow as 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

TensorFlow 디버깅 정보 비활성화하기

TensorFlow는 인공지능 분야에서 가장 인기있는 프레임 워크 중 하나입니다. 그러나 대규모의 디버깅 정보가 프로그램 실행 속도를 느리게 만들 수 있습니다. 이러한 문제를 해결하기 위해 TensorFlow 디버깅 정보를 비활성화하는 것이 좋습니다. 이 글에서는 TensorFlow 디버깅 정보를 비활성화하는 방법을 설명하겠습니다.

첫째, TensorFlow 디버깅 정보를 비활성화하려면 TF_CPP_MIN_LOG_LEVEL 변수를 변경해야 합니다. 이 변수는 TensorFlow에서 로그 레벨을 지정하는 데 사용되며 기본값은 0입니다. 이 변수를 변경하여 TensorFlow 로그 레벨을 조절할 수 있습니다. 디버깅 정보를 비활성화하려면 이 변수를 3으로 설정해야 합니다.

둘째, TensorFlow 디버깅 정보를 비활성화하기 위해 tf.logging.set_verbosity(tf.logging.ERROR)와 같은 코드를 추가할 수 있습니다. 이 코드는 TensorFlow에서 발생하는 로그 메시지 수준을 조절하는 데 사용됩니다. 이 코드를 추가하면 에러 메시지 이외의 로그 메시지가 출력되지 않습니다.

셋째, TensorFlow 디버깅 정보를 비활성화하기 위해 tf.Session(config=tf.ConfigProto(log_device_placement=False))와 같은 코드를 사용할 수 있습니다. 이 코드는 장치 배치 정보를 로깅하지 않도록 설정합니다. 이렇게 하면 디버깅 정보가 많은 TensorFlow 프로그램의 실행 속도를 상당히 높일 수 있습니다.

따라서, TensorFlow 디버깅 정보를 비활성화하는 것은 TensorFlow 프로그램의 실행 속도를 높이는 데 큰 도움이 됩니다. 이를 위해 위에서 설명한 방법 중 하나를 사용하면 TensorFlow 프로그램의 성능을 개선할 수 있습니다. 이러한 방법을 사용하여 TensorFlow로 더욱 효과적인 프로그램을 작성해 보세요.

반응형
Comments