Python 寫入訓練日誌檔案並控制台輸出

2022-03-18 06:02:30 字數 1570 閱讀 9257

1. 背景

在深度學習的任務中,通常需要比較長時間的訓練,因此我們會選擇離開電腦。筆者在跟蹤模型表現,

觀察模型accuracy 以及 loss 的時候,比較傳統的方法是在控制台print輸出或者直接使用tensorboard。

但如果是你需要遠端觀察模型表現,那乙個時刻記錄的log 檔案就非常重要。

(如果你希望不在實驗室,遠端通過訪問正在訓練網路的伺服器的jupyter notebook ,實時檢視實驗進度。請參考——遠端連線伺服器端jupyter notebook)

2. logging 函式

建立 .log 檔案並將一些資料在控制台輸出可以通過logging 函式實現。

廢話不多,直接貼**:一下函式可以在你想要儲存日誌檔案的路徑——output_dir下生成乙個.log 檔案,檔名以年.月.日.時.分命名,以免重複。

import

logging

import

time

import

osdef

log_creater(output_dir):

ifnot

os.path.exists(output_dir):

os.makedirs(output_dir)

log_name = '

{}.log

'.format(time.strftime('

%y-%m-%d-%h-%m'))

final_log_file =os.path.join(output_dir,log_name)

#creat a log

log = logging.getlogger('

train_log')

log.setlevel(logging.debug)

#filehandler

file =logging.filehandler(final_log_file)

file.setlevel(logging.debug)

#streamhandler

stream =logging.streamhandler()

stream.setlevel(logging.debug)

#formatter

formatter =logging.formatter(

'[%(asctime)s][line: %(lineno)d] ==> %(message)s')

#setformatter

file.setformatter(formatter)

stream.setformatter(formatter)

#addhandler

log.addhandler(file)

log.addhandler(stream)

log.info(

'creating {}

'.format(final_log_file))

return log

3. 結果

儲存後的日誌檔案差不多就是這樣:

ACM訓練日誌

今天的比賽我們隊倆大佬出了倆題,後來過了時間又補了f題,總的來說我覺得今天訓練不簡單,被d題整的心態有點炸,後來于衡a掉了,貪心字首和,仔細看了隊友的 還是很有啟發的,附上原題和隊友的 原題 ac include using namespace std const int maxn 4e5 10 t...

訓練日誌 2018 10 11

昨天晚上打比賽,感覺手好生,題意看了半天,才看懂,然後就是tle,這回還好一點,馬上想到了,修改的演算法,但是細節沒處理好,wa了,找了好一會才發現 的錯誤,第二題就更艱辛了,一開始就跑偏了方向,以為是乙個找規律的事關鍵是以為自己找到了規律,開始麻煩的敲 敲完了才發現,有好多錯誤情況不在規律內,無奈...

4 27訓練日誌

關於三分法的一些知識總結 三分法主要用於求解乙個函式在某個區間內的極大 極小 值點首先對於乙個凹函式y f x 我們要求它的極小值點。首先確定它的極小值點所在的區間為 l,r 計算出兩個三分點 mid l r 2 mid2 mid r 2 其實這兩個點的位置是靈活的 此時 l mid f mid2 ...