使用链表实现LRU缓存淘汰算法 本文为数据结构与算法之美-王争的学习笔记,如需查看完整内容,请参考链接。 所谓缓存,是一种提高数据读取性能的技术,在硬件设计、软件开发中有着非常广泛的应用,如CPU缓存、数据库缓存和浏览器缓存等。 当缓存被用满时,就需要对数据进行清理。这时常用的清理策略有以下三种: ...
最好、最坏、平均和均摊时间复杂度
最好、最坏、平均和均摊时间复杂度本文为数据结构与算法之美-王争的学习笔记,如需查看完整内容,请参考链接。 不同情况下具有不同的时间复杂度考虑如下代码: // n 表示数组 array 的长度int find(int[] array, int n, int x) { int i = 0; ...
神经网络中的优化方法
神经网络的优化我们在使用神经网络时会面临一些难点,这些难点主要可分为以下两大类: 优化问题:神经网络模型是一个非凸函数,再加上在深度网络中的梯度消失问题,很难进行优化;另外,深层神经网络模型一般参数比较多,训练数据也比较大,会导致训练的效率比较低 。 泛化问题:神经网络具有很强的拟合能力,因而很容 ...
神经网络中的归一化操作
神经网络中的归一化操作内部协变量偏移(Internal Covariate Shift)在介绍归一化操作之前,我们需要了解什么是内部协变量偏移。首先,协变量偏移是数据分布不一致性的一种表现。已知贝叶斯公式: p(\mathbf{x}, y)=p(\mathbf{x} | y) p(y)=p(y | ...
模型剪枝-基于损失变化的泰勒展开近似的卷积核重要性度量准则
Pruning Convolutional Neural Networks For Resource Efficient Inference 作者:Pavlo Molchanov, Stephen Tyree, Tero Karras, Timo Aila, Jan Kautz 机构:Nvidia ...
C++基础-变量和基本类型
变量和基本类型1 复合类型 一条声明语句由一个基本数据类型(base type)和紧随其后的一个声明符(declarator)列表组成。 基本数据类型:int、double等;声明符:变量名、引用&、指针*(引用和指针又称为类型修饰符,为声明符的一部分)等。 2 引用 引用并非对象,只是为 ...
C++基础-模板和泛型编程
模板和泛型编程模板是c++泛型编程的基础。 定义模板函数模板template <typename T>int compare(const T &v1, const T &v2){4if (v1 < v2) return -1;4if (v1 > v2 ...
C++基础-面向对象程序设计
面向对象程序设计[TOC] 面向对象程序设计的核心思想 数据抽象 继承 动态绑定 使用数据抽象将类的接口和实现分离。 继承通过继承联系在一起的类构成一种层次关系。层次关系的根部有一个基类,其他类则直接或间接地从基类继承而来,这些继承而来的类成为派生类。 基类负责定义在层次关系中所有类共同拥有的成员 ...
八角卷积-一种高效的卷积方式
Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convolution作者Yunpeng Chen 摘要在自然图像中包含高频和低频两部分,其中高频通常编码细节信息、低频通 ...