在tensorflow中實現遮蔽輸出的log資訊
阿新 • • 發佈:2020-02-04
tensorflow中可以通過配置環境變數 'TF_CPP_MIN_LOG_LEVEL' 的值,控制tensorflow是否遮蔽通知資訊、警告、報錯等輸出資訊。
使用方法:
import os import tensorflow as tf os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3' # or any {'0','1','2'}
TF_CPP_MIN_LOG_LEVEL 取值 0 : 0也是預設值,輸出所有資訊
TF_CPP_MIN_LOG_LEVEL 取值 1 : 遮蔽通知資訊
TF_CPP_MIN_LOG_LEVEL 取值 2 : 遮蔽通知資訊和警告資訊
TF_CPP_MIN_LOG_LEVEL 取值 3 : 遮蔽通知資訊、警告資訊和報錯資訊
測試程式碼:
import tensorflow as tf import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '0' # os.environ['TF_CPP_MIN_LOG_LEVEL'] = '1' # os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' # os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3' v1 = tf.constant([1.0,2.0,3.0],shape=[3],name='v1') v2 = tf.constant([1.0,name='v2') sumV12 = v1 + v2 with tf.Session(config=tf.ConfigProto(log_device_placement=True)) as sess: print sess.run(sumV12)
TF_CPP_MIN_LOG_LEVEL 為 0 的輸出:
2018-04-21 14:59:09.910415: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions,but these are available on your machine and could speed up CPU computations. 2018-04-21 14:59:09.910442: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions,but these are available on your machine and could speed up CPU computations. 2018-04-21 14:59:09.910448: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions,but these are available on your machine and could speed up CPU computations. 2018-04-21 14:59:09.910453: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions,but these are available on your machine and could speed up CPU computations. 2018-04-21 14:59:09.910457: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions,but these are available on your machine and could speed up CPU computations. 2018-04-21 14:59:09.911260: I tensorflow/core/common_runtime/direct_session.cc:300] Device mapping: 2018-04-21 14:59:09.911816: I tensorflow/core/common_runtime/simple_placer.cc:872] add: (Add)/job:localhost/replica:0/task:0/cpu:0 2018-04-21 14:59:09.911835: I tensorflow/core/common_runtime/simple_placer.cc:872] v2: (Const)/job:localhost/replica:0/task:0/cpu:0 2018-04-21 14:59:09.911841: I tensorflow/core/common_runtime/simple_placer.cc:872] v1: (Const)/job:localhost/replica:0/task:0/cpu:0 Device mapping: no known devices. add: (Add): /job:localhost/replica:0/task:0/cpu:0 v2: (Const): /job:localhost/replica:0/task:0/cpu:0 v1: (Const): /job:localhost/replica:0/task:0/cpu:0 [ 2. 4. 6.]
值為0也是預設的輸出,分為三部分,一個是警告資訊說沒有優化加速,二是通知資訊告知操作所用的裝置,三是程式中程式碼指定要輸出的結果資訊
TF_CPP_MIN_LOG_LEVEL 為 1 的輸出,沒有通知資訊了: 2018-04-21 14:59:09.910415: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions,but these are available on your machine and could speed up CPU computations. Device mapping: no known devices. add: (Add): /job:localhost/replica:0/task:0/cpu:0 v2: (Const): /job:localhost/replica:0/task:0/cpu:0 v1: (Const): /job:localhost/replica:0/task:0/cpu:0 [ 2. 4. 6.]
TF_CPP_MIN_LOG_LEVEL 為 2和3 的輸出,設定為2就沒有警告資訊了,設定為3警告和報錯資訊(如果有)就都沒有了:
Device mapping: no known devices. add: (Add): /job:localhost/replica:0/task:0/cpu:0 v2: (Const): /job:localhost/replica:0/task:0/cpu:0 v1: (Const): /job:localhost/replica:0/task:0/cpu:0 [ 2. 4. 6.]
以上這篇在tensorflow中實現遮蔽輸出的log資訊就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。