# -*- coding: utf-8 -*-
# @Time : 2022/2/17 下午6:26
# @Author : lhh
# @File : run.py
import logging
import os
import time
logger = logging.getLogger(__name__)
def logConfig(log_root_path):
"""
用于设置日志格式
:param args: 保存着main函数中的设置参数
"""
logger.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(name)s - %(message)s') # 日志格式
stream_handeler = logging.StreamHandler() # 设置日志输出到屏幕
# stream_handeler.setLevel(logging.WARN)
stream_handeler.setLevel(logging.INFO)
stream_handeler.setFormatter(formatter)
logger.addHandler(stream_handeler)
local_time = time.strftime('%Y.%m.%d %H:%M:%S ', time.localtime(time.time()))
file_handeler = logging.FileHandler(os.path.join(log_root_path, str(local_time) + "_all.log"), mode='w')
file_handeler.setLevel(logging.INFO)
file_handeler.setFormatter(formatter)
logger.addHandler(file_handeler)
if __name__ == '__main__':
sentences, labels = build_dataset(args.data)
tags_vals = ['B', 'I', 'O']
tag2idx = {'B': 0, 'I': 1, 'O': 2}
train_iter,dev_iter = build_iterator(args,sentences, labels,tag2idx)
logConfig('./logs')
train(args,train_iter,dev_iter,model,optimizer,device,tags_vals,logger)