做深度學習訓練記錄log檔案

2021-10-03 14:50:52 字數 1758 閱讀 8692

import logging

import time

# 建立乙個logger

logger = logging.getlogger('mylogger')

logger.setlevel(logging.debug)

# 建立乙個handler,用於寫入日誌檔案

timestamp = str(int(time.time()))

fh = logging.filehandler('./log/log_' + timestamp +'.txt')

fh.setlevel(logging.debug)

# 再建立乙個handler,用於輸出到控制台

ch = logging.streamhandler()

ch.setlevel(logging.debug)

# 定義handler的輸出格式

formatter = logging.formatter('[%(asctime)s][%(levelname)s] ## %(message)s')

fh.setformatter(formatter)

ch.setformatter(formatter)

# 給logger新增handler

logger.addhandler(fh)

logger.addhandler(ch)

# 將print函式改為logger.info函式就可以將輸出資訊儲存到日誌檔案中

logger.info('load data')

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

深度學習 如何訓練網路

目的 快速 有效地擬合。手段 隨機批處理 學習率 批規範化 模型優化演算法 遷移學習。隨機批處理,mini batch,一種在模型每輪 epoch 訓練進行前將訓練資料集隨機打亂 shuffle 的 訓練機制。可以防止被模型猜到 出樣本順序 作用 防過擬合。學習率,learning rate,控制模...

深度學習之訓練trick

1 google研究員ilya sutskever 成功訓練ldnn的13點建議 本文由ilya sutskever google研究員 深度學習泰斗geoffrey hinton的學生 dnnresearch聯合創始人 所寫,講述了有關深度學習的見解及實用建議,包括深度學習為什麼強大,如何強大,以...

深度學習學習記錄一

我這裡的規劃是,李巨集毅的深度學習課程,然後林軒田的機器學習基石,機器學習技法,最後我們蘇老師的計算機視覺。後面就讀 復現程式了。競賽,作業平台 讓機器自己學習來生產複雜的程式。如語音識別,影象分類等。regression 輸出乙個數值的程式 classification 從設定好的資訊中,選擇乙個...