日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python 寫入訓練日志文件并控制臺輸出解析

系統 2182 0

1. 背景

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

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

但如果是你需要遠程觀察模型表現,那一個時刻記錄的log 文件就非常重要。

(如果你希望不在實驗室,遠程通過訪問正在訓練網絡的服務器的Jupyter Notebook ,實時查看實驗進度。請參考――遠程連接服務器端Jupyter Notebook)

2. logging 函數

創建 .log 文件并將一些數據在控制臺輸出可以通過logging 函數實現。

廢話不多,直接貼代碼:一下函數可以在你想要保存日志文件的路徑――output_dir下生成一個.log 文件,文件名以年.月.日.時.分命名,以免重復。

            
import logging
import time
import os
def log_creater(output_dir):
  if not 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. 結果

保存后的日志文件差不多就是這樣:

Python 寫入訓練日志文件并控制臺輸出解析_第1張圖片

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 开化县| 资中县| 盐池县| 金平| 蓝田县| 襄樊市| 榆林市| 临城县| 绩溪县| 连山| 休宁县| 兰西县| 大余县| 洞口县| 阿拉善右旗| 江川县| 新巴尔虎右旗| 当阳市| 成安县| 安化县| 东丽区| 石楼县| 区。| 新安县| 光泽县| 天门市| 宁陵县| 无极县| 开原市| 镇巴县| 唐山市| 双柏县| 牡丹江市| 汝州市| 都安| 大悟县| 玛纳斯县| 井陉县| 比如县| 桓台县| 监利县|