时序卷积网络(Temporal Convolutional Networks)是一种简单的卷积结构。它在许多任务中,性能比循环神经网络例(例如:LSTM)要表现的更好。 因果卷积(Causal Convolutions)...
Conv2D 主要用在图像特征提取,而对于文本数据我们一般用 Conv1D。怎么去理解 1D 和 2D? 首先,我们可以把 Conv2D 中的 channel 理解为 Conv1D 中的 length。 Conv2D 输...
PaddleNLP 中封装了一些 Encoder,可以帮助我们 sequence 中的多 token 向量转换为 sequence vector,主要方法有: BoWEncoder CNNEncoder GRUEncod...
PaddleNLP 提供多个开源的预训练词向量模型,使用非常便捷。接下来结合官方给出的详细文档总结下主要的内容。 https://paddlenlp.readthedocs.io/zh/latest/model_zoo/...
我们通常用模型包含的参数量和计算量来衡量一个模型的复杂度。参数量指的是模型学习参数数量,它决定了模型的大小,以及内存资源的占用,当然,在训练过程中,模型的实际内存使用量并不仅仅由参数量来决定 模型的计算量指的是浮点数运算...
Tansformer-based 的模型都是基于自注意力机制,我们知道自注意力机制擅长捕捉输入 Token 内部相关性,并以此能够建立对 Token 的表征。但是自注意力机制随着输入序列长度的增加,所需的计算量也变得很大...
创建 autograd.Function 的子类,需要实现两个静态的方法 forward 和 backward。应用该 op 时,调用 apply 方法,不要直接调用 forward 方法。 forward 静态方法中第...
叶子张量是 PyTorch 计算图中的一个重要概念,叶子张量指的就是我们的模型参数,而模型参数一般都是我们自己创建的 requires_grad=True 的张量。它位于整个计算图的开始位置,比如下面这个例子: 程序输出...
我们一直使用 PyTorch 进行模型训练,有时会出现显存不足的情况。除了找到对应的解决办法,比如:累加梯度、使用自动混合精度,还应该了解训练时,显存究竟在哪些环节被大量占用。主要有以下四个环节: CUDA 运行内存 模...
Gradient Checkpoint 是一种能够节省内存的技术。什么时候需要节省内存呢?比如:模型太大,无法放到西有限的显存中训练。或者模型能够放到显存中,但是只能使用较小的 batch size, 我们知道有时候使用...
在分类问题中,会碰到样本类别不均衡的情况。此时,模型为了能够降低损失,会去尽量学习多数样本,导致对少数类别样本的学习减弱。 举个不太恰当的例子,我们有数学和语文两个科目,其中数学的学习资料特别多,而语文的学习资料特别少。...
协同过滤推荐(Collaborative Filtering Recommendation):该算法的核心是分析用户的兴趣和行为,利用共同行为习惯的群体有相似喜好的原则,推荐用户感兴趣的信息。 基于用户的协同过滤:找到和...