本篇文章為大家展示了TensorFlow中怎么設(shè)置日志級別,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供合水企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、HTML5、小程序制作等業(yè)務(wù)。10年已為合水眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。1. 通過設(shè)置環(huán)境變量控制log級別
可以通過環(huán)境變量TF_CPP_MIN_LOG_LEVEL進行設(shè)置,TF_CPP_MIN_LOG_LEVEL的不同值的含義分別如下:
0DEBUGall messages are logged (Default)1INFOINFO messages are not printed2WARNINGINFO and WARNING messages are not printed3ERRORINFO, WARNING, and ERROR messages are not printed
設(shè)置TF_CPP_MIN_LOG_LEVEL的值,屏蔽該級別以及更低級別的日志,如:設(shè)置為1,表示屏蔽自己級別的INFO和更低級別的DEBUG日志。
設(shè)置環(huán)境變量,有兩種方式,一種是永久設(shè)置,一種臨時性設(shè)置。
永久設(shè)置
修改環(huán)境變量:將export TF_CPP_MIN_LOG_LEVEL=1加入到Linux的 ~/.bashrc、~/.zshrc或/etc/profile配置文件中,其中加入到/etc/profile文件是對所有用戶都有效??梢栽谂渲梦募性O(shè)置為1或者2,不建議設(shè)置為更高級別的3.
臨時性設(shè)置
終端中輸入export TF_CPP_MIN_LOG_LEVEL="1"
python代碼實現(xiàn)方法
import osos.environ['TF_CPP_MIN_LOG_LEVEL'] = "1"
ps:os.environ是一個mapping,一系列的鍵、值對存儲在該mapping中,系統(tǒng)環(huán)境信息全部存儲在該mapping中。如果是print(os.environ['HOME'])這樣輸出信息,調(diào)用的是getenv("HOME")函數(shù),如果環(huán)境變量被改變,將會調(diào)用putenv()函數(shù)進行修改。
python代碼中一種錯誤的設(shè)置方法:
os.system("export TF_CPP_MIN_LOG_LEVEL=1") – 錯誤用法
不能使用的原因 — 不能通過shell的子進程改變shell的環(huán)境變量 — 具體可以參考 stackoverflow alex的回答。
2.通過 tf.logging 模塊進行設(shè)置 – 推薦
python代碼中可以添加如下部分代碼進行設(shè)置。
import tensorflow as tftf.logging.set_verbosity(tf.logging.ERROR)
tf.logging.ERROR可以換成 {DEBUG, INFO, WARN, ERROR, FATAL} 中的任何一個。
這里有所不同,設(shè)置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級別日志。
上述內(nèi)容就是TensorFlow中怎么設(shè)置日志級別,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。