Loading

摘要: 本文介绍一些避免transformers的OOM以及训练等流程太漫长的方法,主要参考了kaggle notebook Optimization approaches for Transformers | Kaggle,其中梯度累积Gradient Accumulation,冻结Freezing已经在 阅读全文
posted @ 2022-07-19 22:26 MapleTx 阅读(2) 评论(0) 推荐(0) 编辑
摘要: Intro 对于同样的数值计算任务,使用numpy比直接编写python代码实现 优点: 代码更简洁: numpy直接以数组、矩阵为粒度计算并且支持大量的数学函数,而python需要用for循环从底层实现; 性能更高效: numpy的数组存储效率和输入输出计算性能,比python使用list好很多, 阅读全文
posted @ 2022-07-19 17:07 MapleTx 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 模型定义常用函数 利用nn.Parameter()设计新的层 import torch from torch import nn class MyLinear(nn.Module): def __init__(self, in_features, out_features): super().__i 阅读全文
posted @ 2022-05-29 16:16 MapleTx 阅读(61) 评论(0) 推荐(0) 编辑
摘要: argparse是深度学习项目调参时常用的python标准库,使用argparse后,我们在命令行输入的参数就可以以这种形式python filename.py --lr 1e-4 --batch_size 32来完成对常见超参数的设置。,一般使用时可以归纳为以下三个步骤 使用步骤: 创建Argum 阅读全文
posted @ 2022-05-27 21:16 MapleTx 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 衡量运行时间 很多时候你需要计算某段代码执行所需的时间,可以使用 time 模块来实现这个功能。 import time startTime = time.time() # write your code or functions calls endTime = time.time() totalT 阅读全文
posted @ 2022-05-21 00:01 MapleTx 阅读(55) 评论(0) 推荐(0) 编辑
摘要: tmux在连接远程服务器做实验时很有帮助,可以为每一个项目设置一个Session,在Session中设置不同的Window同时跑多个实验,Window本身还可以分割为多个Pane,在一个视野内利用多个Pane可以更方便地地做对比实验,或者一边实验同时能监视系统的显存占用,进程信息等状态。 tmux采 阅读全文
posted @ 2022-05-20 23:09 MapleTx 阅读(37) 评论(0) 推荐(0) 编辑
摘要: einsum函数说明 pytorch文档说明:\(torch.einsum(equation, **operands)\) 使用基于爱因斯坦求和约定的符号,将输入operands的元素沿指定的维数求和。einsum允许计算许多常见的多维线性代数阵列运算,方法是基于爱因斯坦求和约定以简写格式表示它们。 阅读全文
posted @ 2022-05-08 11:50 MapleTx 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 梯度裁剪(Gradient Clipping) 在训练比较深或者循环神经网络模型的过程中,我们有可能发生梯度爆炸的情况,这样会导致我们模型训练无法收敛。 我们可以采取一个简单的策略来避免梯度的爆炸,那就是梯度截断 Clip, 将梯度约束在某一个区间之内,在训练的过程中,在优化器更新之前进行梯度截断操 阅读全文
posted @ 2022-05-07 17:15 MapleTx 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 模型结构演进 本文以演进方向和目的为线索梳理了一些我常见到但不是很熟悉的预训练语言模型,首先来看看“完全版的BERT”:**RoBERTa: A Robustly Optimized BERT Pretraining Approach(2019)**可看成是完全体的BERT,主要3方面改进,首先采用 阅读全文
posted @ 2022-04-11 21:25 MapleTx 阅读(131) 评论(0) 推荐(0) 编辑