您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關TensorFlow設置日志級別的方法有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
TensorFlow中的log共有INFO、WARN、ERROR、FATAL 4種級別。有以下幾種設置方式。
1. 通過設置環境變量控制log級別
可以通過環境變量TF_CPP_MIN_LOG_LEVEL進行設置,TF_CPP_MIN_LOG_LEVEL的不同值的含義分別如下:
Level | Level for Humans | Level Description |
---|---|---|
0 | DEBUG | all messages are logged (Default) |
1 | INFO | INFO messages are not printed |
2 | WARNING | INFO and WARNING messages are not printed |
3 | ERROR | INFO, WARNING, and ERROR messages are not printed |
設置TF_CPP_MIN_LOG_LEVEL的值,屏蔽該級別以及更低級別的日志,如:設置為1,表示屏蔽自己級別的INFO和更低級別的DEBUG日志。
設置環境變量,有兩種方式,一種是永久設置,一種臨時性設置。
永久設置
修改環境變量:將export TF_CPP_MIN_LOG_LEVEL=1加入到Linux的 ~/.bashrc、~/.zshrc或/etc/profile配置文件中,其中加入到/etc/profile文件是對所有用戶都有效。可以在配置文件中設置為1或者2,不建議設置為更高級別的3.
臨時性設置
終端中輸入export TF_CPP_MIN_LOG_LEVEL="1"
python代碼實現方法
import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = "1"
ps:os.environ是一個mapping,一系列的鍵、值對存儲在該mapping中,系統環境信息全部存儲在該mapping中。如果是print(os.environ['HOME'])這樣輸出信息,調用的是getenv("HOME")函數,如果環境變量被改變,將會調用putenv()函數進行修改。
python代碼中一種錯誤的設置方法:
os.system("export TF_CPP_MIN_LOG_LEVEL=1") – 錯誤用法
不能使用的原因 — 不能通過shell的子進程改變shell的環境變量 — 具體可以參考 stackoverflow alex的回答。
2.通過 tf.logging 模塊進行設置 – 推薦
python代碼中可以添加如下部分代碼進行設置。
import tensorflow as tf tf.logging.set_verbosity(tf.logging.ERROR)
tf.logging.ERROR可以換成 {DEBUG, INFO, WARN, ERROR, FATAL} 中的任何一個。
這里有所不同,設置ERROR,將輸出ERROR、FATAL級別日志。
代碼測試:
def main(self): tf.logging.set_verbosity(tf.logging.ERROR) tf.logging.debug("debug") tf.logging.info("info") tf.logging.warning("warning") tf.logging.error("error") tf.logging.fatal("fatal") if __name__ == '__main__': tf.app.run()
運行上述代碼,可以獲得ERROR、FATAL級別日志。
感謝各位的閱讀!關于“TensorFlow設置日志級別的方法有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。