在训深层练神经网络时,由于模型参数较多,在数据量不足的情况下,很容易过拟合。Dropout 就是在神经网络中一种缓解过拟合的方法。 我们知道,缓解过拟合的方式就是降低模型的复杂度,而 Dropout 就是通过减少神经元之...
在解决 NLP 任务之前, 首先就要构建自己的词表。词表的作用就是给定语料,将文本中的以字为单位、或者以词为单位转换为整数序号,该序号可用于在词嵌入的 lookup table 中搜索词向量。 接下来,我们介绍下词表的构...
当我们使用 PyTorch 构建神经网络时,经常使用到一些内置的网络层。本篇文章主要介绍下列层的使用: 线性层(Linear) 词嵌入层(Embedding) 循环网络层(RNN、GRU、LSTM) 1. 线性层 in_...
我们经常需要预测一个句子,预测时第 2 个词依赖于前 1 个词,预测第 3 个词时依赖于前面的 2 个词,当预测第 n 个词时依赖于前 n-1 个词,我们需要找到一个这样的词的序列,使得概率值最大,或者至少能够被人接受。...
BP (Back Propagation)算法也叫做误差反向传播算法,它用于求解模型的参数梯度,从而使用梯度下降法来更新网络参数。它的基本工作流程如下: 通过正向传播得到误差,所谓正向传播指的是数据从输入到输出层,经过层...
在 PyTorch 中,使用 torch.utils.data.DataLoader 类可以实现批量的数据集加载,在我们训练模型中非常常用,其功能也确实比较强度大。由于其参数比较多,我们将会对其用法进行详解。 DataL...
在 C++11 标准中引入的 default 关键字,主要用于在类的声明中显式指定编译器生成默认的特殊成员函数实现。这些特殊成员函数包括: 1. 默认构造 https://en.cppreference.com/w/cp...
函数对象有时也叫仿函数,其本质是一个类对象,由于重载函数调用符号,其可以像普通函一样使用。 1. 函数调用符号重载语法 2. 函数对象相对于普通函数的优点 C++中使用函数对象作为函数调用,而不是再使用函数指针。 函数对...
常对象指的是使用 const 关键字修饰的类对象,常函数指的是由 const 关键字修饰的函数。这里需要注意:只有成员函数才可以被 const 关键字修饰,而全局函数无法被 const 关键字修饰。 1. 常函数 在成员...
1. 类对象的默认赋值行为 2. 类对象中深赋值和浅赋值问题 3. 类对象的移动赋值行为 当对象进行赋值的时,并不是所有的对象都需要完整的赋值过程(重新申请内存、数据拷贝)。假设,赋值对象是:右值对象(匿名对象、将亡值对...
1. 委托构造函数的使用场景 缺点:每个构造函数都有重复的成员变量的初始化语句 初始化交给一个普通成员函数,该成员函数无法使用简洁的初始化列表语句,需要额外给类增加一个初始化函数。 2. 委托构造函数语法 C++11 增...
在 C++ 11之后,值的类别有三种:左值(lvalue)、纯右值(prvalue)、将亡值(xvalue)。 1. 左值 在C++中,左值(lvalue)是指表达式结束后仍然存在的持久性对象或函数。左值可以是变量、数组...
移动语义是 C++11 标准引入的一个特性,旨在通过优化资源管理改善 C++ 的效率。移动语义主要涉及通过右值引用(rvalue references)来避免不必要的深拷贝,从而减少资源的分配和释放。 1. 拷贝场景 在...
1. 异常对象的保存 异常对象保存,指的是当异常发生时,我们将其捕获,但是并不马上处理,而是将其存储起来。这样的话,我们可以在程序最后、或者其他的并行任务的进程、线程里处理。 接下来,我们需要了解如何保存异常对象、以及如...
最新评论