模型训练时,只要在实例化一个对象中传入对应的参数就可以自动调用forward函数
argparse模块:用于解析命令行参数
import argparse
parser = argparse.ArgumentParser() # 创建一个解析对象
parser.add_argument() # 每一个都对应一个要关注的参数或选项
'''
add_argument()中的参数解释:
第一个为属性名,前面加两条杠"__"表示可选参数
help=""为参数描述
'''
arg = parser.parse_args() # 进行解析
logging模块:用于简单日志说明
'''一些说明
DEBUG:详组信息
INFO:证明事情按预期工作
WARNING:警告提示,但仍正常工作
EMOR:不能执行一些功能
CRITICAL: 严重错误,不能继续运行
Formatter: 格式化, 指明输出日志记录布局,
getloger: 设置日志等级
setlevel:设置日志输出格式,
FileHandler:文件输出
streamHandler:获取处理器
setFormatter: 添加到处理器的日志在前出格式
addHandler: 添加到处理器中
'''
pytorch模块:
torch.cuda.device_count() # 返回GPU的数量
nn.CrossEntropyloss() # 交叉熵损失函数,
nn.ModuleList() # 储存不同module 并将每个moduk的参数添加到网络之中的容器
nn.GRUCell() # 门控循环单元
nn.Sequential() # 将特定神经网络按照在传入构造器的顺序依次添加到计算图中执行
nn.Linear() # 用于设置网络中的主连接层,第一个参数为输入二维张量的大小,
# 第二个参数为输出张量的大小,也表示链接层的神经元个数.
tqdm库
进度条可视化库,监测程序运行的进度,估计运行的时长
from tqdm import trange
for i in tqdm(range(100)):
sleep(0.01)
100%|██████████| 100/100 [00:01<00:00, 98.62it/s]
一些杂乱知识
../data/ # 表示退出当前层,回到上一层
./data/ # 表示当前层
# enumerate()的作用是返回列表中元素的索引号和值。
for id, row in enumerate(data):
# Transformers模块中的RobertaModel
# 他们中的参数一般是模型路径,目的是重新初始化权重
# 一般再下游任务中,用于预测和推理
RobertaModel.from_pretrained()
RobertaTokenizer.from_pretrained()
# 我理解的是以上想法,但是不知道其是否正确,也没有找到更加具体的解释,源码也看不懂
|