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 從設定好的資訊中,選擇乙個...