#python #tensorflow #kaggle
Вопрос:
Я работаю над записной книжкой Kaggle, и всякий раз, когда я запускаю ячейку, которая вообще ссылается на модуль TensorFlow, она выводит огромное предупреждение о каких-то настройках, но все равно работает. Я посмотрел, как подавлять предупреждения от TensorFlow, и все, что я нашел, говорило о том, чтобы сделать следующее:
import os os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2" # Or "3", either one should work and I've tried both
Я пытался сделать это как до, так и после импорта TensorFlow, но безрезультатно. Сообщение все еще распечатывается. Это сообщение, которое я получаю:
User settings: KMP_AFFINITY=granularity=fine,verbose,compact,1,0 KMP_BLOCKTIME=0 KMP_SETTINGS=1 KMP_WARNINGS=0 Effective settings: KMP_ABORT_DELAY=0 KMP_ADAPTIVE_LOCK_PROPS='1,1024' KMP_ALIGN_ALLOC=64 KMP_ALL_THREADPRIVATE=128 KMP_ATOMIC_MODE=2 KMP_BLOCKTIME=0 KMP_CPUINFO_FILE: value is not defined KMP_DETERMINISTIC_REDUCTION=false KMP_DEVICE_THREAD_LIMIT=2147483647 KMP_DISP_NUM_BUFFERS=7 KMP_DUPLICATE_LIB_OK=false KMP_ENABLE_TASK_THROTTLING=true KMP_FORCE_REDUCTION: value is not defined KMP_FOREIGN_THREADS_THREADPRIVATE=true KMP_FORKJOIN_BARRIER='2,2' KMP_FORKJOIN_BARRIER_PATTERN='hyper,hyper' KMP_GTID_MODE=3 KMP_HANDLE_SIGNALS=false KMP_HOT_TEAMS_MAX_LEVEL=1 KMP_HOT_TEAMS_MODE=0 KMP_INIT_AT_FORK=true KMP_LIBRARY=throughput KMP_LOCK_KIND=queuing KMP_MALLOC_POOL_INCR=1M KMP_NUM_LOCKS_IN_BLOCK=1 KMP_PLAIN_BARRIER='2,2' KMP_PLAIN_BARRIER_PATTERN='hyper,hyper' KMP_REDUCTION_BARRIER='1,1' KMP_REDUCTION_BARRIER_PATTERN='hyper,hyper' KMP_SCHEDULE='static,balanced;guided,iterative' KMP_SETTINGS=true KMP_SPIN_BACKOFF_PARAMS='4096,100' KMP_STACKOFFSET=64 KMP_STACKPAD=0 KMP_STACKSIZE=8M KMP_STORAGE_MAP=false KMP_TASKING=2 KMP_TASKLOOP_MIN_TASKS=0 KMP_TASK_STEALING_CONSTRAINT=1 KMP_TEAMS_THREAD_LIMIT=4 KMP_TOPOLOGY_METHOD=all KMP_USE_YIELD=1 KMP_VERSION=false KMP_WARNINGS=false OMP_AFFINITY_FORMAT='OMP: pid %P tid %i thread %n bound to OS proc set {%A}' OMP_ALLOCATOR=omp_default_mem_alloc OMP_CANCELLATION=false OMP_DEFAULT_DEVICE=0 OMP_DISPLAY_AFFINITY=false OMP_DISPLAY_ENV=false OMP_DYNAMIC=false OMP_MAX_ACTIVE_LEVELS=1 OMP_MAX_TASK_PRIORITY=0 OMP_NESTED: deprecated; max-active-levels-var=1 OMP_NUM_THREADS: value is not defined OMP_PLACES: value is not defined OMP_PROC_BIND='intel' OMP_SCHEDULE='static' OMP_STACKSIZE=8M OMP_TARGET_OFFLOAD=DEFAULT OMP_THREAD_LIMIT=2147483647 OMP_WAIT_POLICY=PASSIVE KMP_AFFINITY='verbose,warnings,respect,granularity=fine,compact,1,0'
Есть ли какой-нибудь способ остановить эту печать?
ИЗМЕНИТЬ: Код для воспроизведения этого сообщения:
import tensorflow as tf tf.constant(())
ИЗМЕНИТЬ: Вывод env
:
{'SHELL': '/bin/bash', 'KMP_WARNINGS': '0', 'DL_ANACONDA_HOME': '/opt/conda', 'KAGGLE_DATA_PROXY_TOKEN': 'lt;hiddengt;', 'KAGGLE_URL_BASE': 'https://www.kaggle.com', 'KAGGLE_KERNEL_INTEGRATIONS': '', 'CONTAINER_NAME': 'tf2-cpu/2-6', 'PWD': '/kaggle/working', 'TESSERACT_PATH': '/usr/bin/tesseract', 'TENSORFLOW_VERSION': '2.6.0', 'HOME': '/root', 'LANG': 'C.UTF-8', 'KMP_SETTINGS': '1', 'JAX_VERSION': '0.2.19', 'CONTAINER_URL': 'gcr.io/deeplearning-platform-release/tf-cpu.2-6:nightly-2021-11-17', 'ANACONDA_PYTHON_VERSION': '3.7', 'PYTHONPATH': '/kaggle/lib/kagglegym:/kaggle/lib:/kaggle/input/tensorflow-great-barrier-reef', 'KMP_BLOCKTIME': '0', 'KAGGLE_DATA_PROXY_PROJECT': 'kaggle-161607', 'KAGGLE_USER_SECRETS_TOKEN': 'lt;hiddengt;', 'SHLVL': '1', 'KAGGLE_KERNEL_RUN_TYPE': 'Interactive', 'PROJ_LIB': '/opt/conda/share/proj', 'MPLBACKEND': 'agg', 'LD_LIBRARY_PATH': '/usr/local/cuda/lib64:/usr/local/cuda/lib:/usr/local/lib/x86_64-linux-gnu:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:', 'KMP_AFFINITY': 'granularity=fine,verbose,compact,1,0', 'MKL_THREADING_LAYER': 'GNU', 'LC_ALL': 'C.UTF-8', 'PATH': '/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'PYTHONUSERBASE': '/root/.local', 'KAGGLE_DATA_PROXY_URL': 'https://dp.kaggle.net', '_': '/opt/conda/bin/jupyter', 'GIT_PYTHON_REFRESH': 'quiet', 'PYDEVD_USE_FRAME_EVAL': 'NO', 'JPY_PARENT_PID': '9', 'TERM': 'xterm-color', 'CLICOLOR': '1', 'PAGER': 'cat', 'GIT_PAGER': 'cat', 'TF_CPP_MIN_LOG_LEVEL': '2', 'TF2_BEHAVIOR': '1'}
Комментарии:
1. мне это не кажется журналом тензорного потока. можете ли вы вставить код, который может воспроизвести это сообщение?
2. спасибо за обновление вашего кода. я все еще не могу воспроизвести это поведение с tensorflow 2.7.0. какую версию tensorflow вы используете? как вы установили tensorflow? каковы ваши текущие переменные среды (т. е. выходные
env
данные )?3. Похоже, это Intel MKL, где вы устанавливаете KMP_AFFINITY для включения «подробного» ?
4. Я использую ноутбук Kaggle, который автоматически имеет версию TF 2.6.0. Я никогда не устанавливал kmp_anything, я даже не знаю, что такое kmp…
Ответ №1:
Таким образом, мне удалось решить проблему со следующей строкой:
os.environ["KMP_SETTINGS"] = "false"