我认为这些信息在开始的时候真的很重要,但是后来就没有用了。它实际上使读取和调试的情况变得更糟。
I tensorflow/流执行器/dso加载器。cc:128]已成功打开CUDA库libcublas。所以8.0本地I tensorflow/流执行器/dso加载器。抄送:119]无法打开CUDA库libcudnn。所以LD_库路径:I tensorflow/stream_executor/cuda/cuda_dnn。cc:3459]无法加载cuDNN DSO I tensorflow/stream_executor/DSO_loader。cc:128]已成功打开CUDA库libcuft。所以8.0本地I tensorflow/流执行器/dso加载器。cc:128]已成功打开CUDA库libcuda。所以1个本地I tensorflow/流执行器/dso加载器。cc:128]已成功打开CUDA库libcurand。所以本地8.0
有没有办法压制那些只说成功的人?
从Tensorflow v1开始。14(是的,包括2.x版)您可以使用本机日志记录模块使Tensorflow静音:
import logging
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3' # FATAL
logging.getLogger('tensorflow').setLevel(logging.FATAL)
我个人在我的项目中使用这个:
def set_tf_loglevel(level):
if level >= logging.FATAL:
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
if level >= logging.ERROR:
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
if level >= logging.WARNING:
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '1'
else:
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '0'
logging.getLogger('tensorflow').setLevel(level)
这样我就可以通过运行禁用tf日志记录:
set_tf_loglevel(logging.FATAL)
我可以重新启用
set_tf_loglevel(logging.INFO)
您可以使用设置TensorFlow日志的详细级别
tf.logging.set_verbosity(tf.logging.ERROR)
其中错误
可以是调试
,信息
,警告
,错误
,或致命
。请参阅日志模块。
但是,将此设置为ERROR
并不总是完全阻止所有INFO
日志,在我看来,要完全阻止它们,您有两个主要选择。
grep
输出所有以I tensorflow/
开头的输出字符串
如果您使用的是TensorFlow版本1(1.X),那么可以使用
tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR)
更新(超越1.14):在这里看到我更全面的答案(这是一个愚弄的问题):https://stackoverflow.com/a/38645250/6557588
除了Wintro的回答之外,您还可以从C端禁用/禁止TensorFlow日志(即以单个字符开头的较丑的日志:I、E等)。);关于日志记录的公开问题已经更新,声明您现在可以通过环境控制日志记录变量。现在,您可以通过设置名为TF_CPP_MIN_LOG_LEVEL
的环境变量来更改级别;它默认为0(显示所有日志),但可以设置为1来过滤掉INFO
日志,2来另外过滤掉警告
日志,和3额外过滤掉ERROR
日志。它现在似乎是主版本,很可能是未来版本的一部分(即r0.11之后的版本)。有关更多信息,请参阅此页面。下面是使用Python更改详细程度的示例:
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3' # or any {'0', '1', '2'}
import tensorflow as tf
可以在运行脚本的环境中设置此环境变量。例如,对于bash,这可以在文件~/中。bashrc
,/etc/environment
,/etc/profile
,或在实际shell中作为:
TF_CPP_MIN_LOG_LEVEL=2 python my_tf_script.py
我一直在用java写一个作业,但当我试图写任何阿姆哈拉语字符时,它们会变成方框 例如,当我尝试在IntelliJ或net bean上打印这个阿姆哈拉字符 (አማርኛ) 时,它会显示为小盒子 如果有人熟悉这个请看看,提前谢谢。
问题内容: 我知道您可以通过执行 node.requestFocus(); 来将焦点集中在javafx中的一个节点上 。 但是有没有办法从javafx中的节点上夺走焦点或阻止对某个对象的焦点? 问题答案: 我不认为有任何保证将始终有效,但是您可以尝试将焦点设置为本质上不接受键盘输入的内容(例如布局窗格):
假设kafka消息生产者向一个主题发送一条事件消息。然后一个消费者处理这个事件消息。但是,这个消费者进程因为业务错误而抛出异常,所以他想让消息生产者知道它并再次怨恨。 有什么解决办法吗?
我正在编写一个JavaFractal Explorer,分形计算是多线程完成的。以前,我只是创建了一堆线程(系统有多少处理器内核就有多少)并将它们保存在一个数组中,但这会导致一些问题,而且不是很优雅,现在我想切换到执行器。 我需要的功能是: 用户可以随时选择要放大的分形图像的新区域,因此应该可以随时取消计算,并立即重新插入新任务 我的问题是Java ExecutorService(我使用Execu
这个程序应该输出 但是如果我输入的大小是4,我只输入这些值,但是如果我写的大小是4。。。它不需要我提供4个参数,而是需要3个参数并打印('',1,2,3) 请帮帮忙
我想在应用GROUPBY条件后取消对数据帧的分组。我一组一组地用熊猫 现在我想将数据解组。列名是由下划线连接的列的组合。例如:Amt\u 8\u red\u 17:列名是(Amount、Count、Color、Id)输出的样子 有没有更快的办法?