神经网络的训练有时需要几天、几周、甚至几个月,为了在每次使用模型时避免高代价的重复训练,我们就需要将模型序列化到磁盘中,使用的时候反序列化到内存中。 PyTorch 提供了两种保存模型的方法: 直接序...
Transformer 是谷歌在 2017 年的论文 《Attention Is All you Need》中提出的一种新架构,它在多项 NLP 任务上效果很不错,训练速度也比 RNN 更快。目前 T...
PyTorch 提供了两种损失函数的使用方法:函数形式、模块形式,函数形式的损失函数定义在 torch.nn.functional 库中,使用时传入神经网络的预测值和目标值来计算损失,模型形式是通过构...
1. pad_sequence pad_sequence 函数通过填充的方式,将同一个 batch 中的 sequences 通过默认填充 0 的方式,变成最长 sequence 的长度,如下所示: ...
在 NLP 任务中主要处理带有序列关系的文本数据,这就需要了解循环(递归)神经网络。下图是一个简单的循环神经网络: 网络中包含一个神经元,但是它具有不同的时间步,能够提取出句子的顺序信息,将其展开如下...
https://docs.python.org/3.8/c-api/ 导出函数: setup.py 文件: Python 调用文件: 程序运行结果:
我们简单介绍下,C/C++ 编写的扩展函数,导入到 Python 中使用。步骤如下: 编写使用 Python/C API 编写 C/C++ 函数 编写 setup.py 文件 编译安装 C/C++ 扩...
在 Python 中使用 ctypes 模块可以很轻松定义 C 类型的变量,以及调用 C/C++ 函数. 1. 基础类型变量 程序输出结果: 2. 指针类型变量 程序输出结果: 3. Python 调...
传统的梯度下降优化算法中,可能会碰到以下情况: 碰到平缓区域,梯度值较小,参数优化变慢 碰到 “鞍点” ,梯度为 0,参数无法优化 碰到局部最小值 对于这些问题, 出现了一些对...
PGN 网络可用于文本生成,文本生成任务是从序列到序列的模型,马上就想到了 Seq2Seq 架构的模型。当我们要实现一个文本摘要的文本生成任务时,基本思路是什么样的呢? 输入一串文本到编码器,提取句子...
池化层(Pooling Layer)是卷积神经网络(CNN)中的一种层结构,主要用于对特征图进行降采样,以减小数据的空间尺寸,降低模型的计算量和参数数量,从而在一定程度上防止过拟合。池化层的主要作用包...
卷积核(Convolution Kernel)是卷积神经网络(CNN)中的核心组件之一,通常用于图像处理和深度学习模型中。它是一个小的矩阵,用于对输入图像进行卷积操作,从而提取图像中的特征。卷积核通过...