自动微分(Autograd)模块对张量做了进一步的封装,具有自动求导功能。自动微分模块是构成神经网络训练的必要模块,在神经网络的反向传播过程中,Autograd 模块基于正向计算的结果对当前的参数进行...
PyTorch 为每个张量封装很多实用的计算函数,例如计算均值、平方根、求和等等。 mean 函数用于计算张量均值 sum 函数用于计算张量和 pow 函数用于计算张量平方 sqrt 函数用于计算张量...
STL 中的迭代器有以下几种:输入迭代器、输出迭代器、正向迭代器、双向迭代器、随机访问迭代器。1. 输入迭代器:一次只能读取一个元素,只能向前移动,支持:++、==、!=、(只读) 2. 输出迭代器:...
函数对象适配器主要用于对函数、函数对象进行适配(转换),使得原本不符合接口需求的函数、函数对象变得符合要求。比如:我们有一个 2 个参数的函数对象,但是我们需要 1 个参数的函数对象,此时可以通过函数...
目前业界公认的最好的激活函数是 swish 和 mish 函数,在保持原结构不变的基础上,直接将模型的激活函数换成 HardSwish 或 Mish 函数,都会使得模型的性能有所提升。 下图为 Har...
ReLU(Linear rectification function,修正线性单元)在图像处理任务中使用最广泛的激活函数,它虽然具有一定的优势,但是也存在一些不足,由此出现了一些变种函数,例如:Sof...
vector 容器叫做动态数组,其大小可以随着元素的增长而变化,创建得时候不需要指定大小。vector 容器和 array 容器一样使用一块连续的内存空间来存储。 动态增长原理:1. 当添加元素的时候...
array 是一个数组,对 C-style 的数组的封装(int arr[] = {10, 20, 30}) 为什么C++要对 C 风格的数组进行封装?而不是直接使用C风格数组?array 是对C数组...
什么是链表?链表是由一些列节点组成的,每一个阶段包含数据域、指针域,每个节点的内存都是独立,使用的是非连续的内存。 链表分为:单向链表、双向链表、循环链表单向链表的开销最低,空间只需要一个指针即可,从...
1. 多继承的名字冲突问题 多继承:一个类可以同时继承多个类,但是多继承很容易产生同名冲突(函数、变量)。 对于上述情况,如果由于多继承出现的名字冲突问题,需要通过指定类作用域的方式加以区分。 2. ...
C++ 中的 using 用法有很多种,我们下面剖析下常见几种场景: using 关键字给类型增加别名 using 用于继承中的同名函数 using 关键字用于构造函数 1. using 关键字给类型...