网页设计与网站建设书籍,如何创建小程序商店,公众号开发用什么语言,南宁的公司有哪些1 训练数据
在本任务的训练数据中#xff0c;我选择了金庸的15本小说#xff0c;全部都是txt文件 数据打开后的样子
数据预处理需要做的事情就是使用huggingface的transformers包的tokenizer模块#xff0c;将文本转化为token 最后生成的文件就是train_novel.pkl文件我选择了金庸的15本小说全部都是txt文件 数据打开后的样子
数据预处理需要做的事情就是使用huggingface的transformers包的tokenizer模块将文本转化为token 最后生成的文件就是train_novel.pkl文件就不用在训练的时候读txt文件了
数据预处理preprocess.py
2 设置参数
import argparse
from utils import set_logger
from transformers import CpmTokenizer
import os
import pickle
from tqdm import tqdm
parser argparse.ArgumentParser()
parser.add_argument(--vocab_file, defaultvocab/chinese_vocab.model, typestr, requiredFalse,help词表路径)
parser.add_argument(--log_path, defaultlog/preprocess.log, typestr, requiredFalse, help日志存放位置)
parser.add_argument(--data_path, defaultdata/novel, typestr, requiredFalse, help数据集存放位置)
parser.add_argument(--save_path, defaultdata/train.pkl, typestr, requiredFalse,help对训练数据集进行tokenize之后的数据存放位置)
parser.add_argument(--win_size, default200, typeint, requiredFalse,help滑动窗口的大小相当于每条数据的最大长度)
parser.add_argument(--step, default200, typeint, requiredFalse, help滑动窗口的滑动步幅)
args parser.parse_args()参数包本项目utils.py中初始化参数函数chinese pre-trained model Tokenizer包系统包pickle包用于将 python 对象序列化serialization为字节流或者将字节流反序列化为 Python 对象进度条包创建一个用于解析命令行参数的 ArgumentParser 对象处理中文文本的变成token的预训练模型的模型文件存放位置运行日志文件存放位置数据集存放位置对训练数据集进行tokenize之后的数据存放位置滑动窗口的大小相当于每条数据的最大长度滑动窗口的滑动步幅
3 初始化日志对象
logger set_logger(args.log_path)
def set_logger(log_path):logger logging.getLogger(__name__)logger.setLevel(logging.INFO)formatter logging.Formatter(%(asctime)s - %(levelname)s - %(message)s)file_handler logging.FileHandler(filenamelog_path)file_handler.setFormatter(formatter)file_handler.setLevel(logging.INFO)logger.addHandler(file_handler)console logging.StreamHandler()console.setLevel(logging.DEBUG)console.setFormatter(formatter)logger.addHandler(console)return logger选择日志路径调用日志函数创建 logger 对象设置日志级别为’logging.INFO’创建格式化器 formatter创建文件处理器file_handler并指定了日志文件的路径为log_path设置处理器的日志级别为 logging.INFO添加文件处理器 file_handler 到创建的 logger 对象中创建控制台处理器 console用 logging.StreamHandler() 创建一个将日志输出到控制台的处理器设置其日志级别为 logging.DEBUG将格式化器 formatter 应用到这个控制台处理器上控制台处理器 console 添加到 logger 对象中返回了这个配置好的 logger 对象