MIT 6.5940 EfficientML Lab 1 实验笔记

实验准备 Python 环境 需要用到如下 Python 环境: PyTorch GPU 版本 jupyter notebook tqdm matplotlib torchprofile 数据集准备 Lab 1 中用到了 CIFAR-10 数据集,可以使用 https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz 直接下载,并将整个 cifar-10-batched-py 文件夹解压到 data/cifar10 文件夹内。 Part 1: Fine-grained Pruning Question 1 除最后一层分类头外,其它层均服从均值为 0 的无偏正态分布,这意味着占很大比例的参数是可以被移除的,这为模型压缩留下了很大的空间。 ...

发表于11月27日 · 更新于2月12日 · 共2209字

MIT 6.5940 EfficientML 第五讲学习笔记

本讲开始介绍量化技术,首先介绍各种数据表示格式,然后介绍了两种量化技术:K-means和线性量化,最后提到了模型压缩的流水线。 数值数据类型 课程第一部分介绍了整型、定点小数、浮点数的数据表示格式,属于计算机组成原理的基本知识,此处不再赘述。 ...

发表于11月18日 · 更新于2月17日 · 共1672字

MIT 6.5940 EfficientML 第四讲学习笔记

本讲延续上一讲继续介绍了两种确定剪枝比例的算法:灵敏度分析和强化学习。此外还介绍了为稀疏网络提供支持的硬件加速器,包括 EIE、NVIDIA Tensor Core、TorchSparse 等。 ...

发表于11月11日 · 更新于11月12日 · 共2293字

MIT 6.5940 EfficientML 第三讲学习笔记

MIT 6.5940 EfficientML 第三讲学习笔记,主要介绍剪枝的定义、效果和粗细程度,并详细介绍了多种剪枝标准。 Lecture 3: Pruning and sparsity 剪枝和稀疏性 剪枝的动机 在上一讲提到,内存操作的代价相当昂贵,因此为了加速模型的运行,一个思路就是减少模型中一切内存的占用,包括减小模型大小、减小激活层大小和数量。 ...

发表于11月9日 · 更新于11月10日 · 共1622字

MIT 6.5940 EfficientML 第二讲学习笔记

如无另外说明,本文图片截取自 EfficientML 课程幻灯片。 Lecture 2: Basics of neural networks 神经网络基础 神经网络 基本术语 如下图所示,我们使用术语 Synapses(突触?)、权重、参数来指代网络中的参数,使用术语神经元、特征、激活层来指代网络中每一层的计算结果。 模型的宽度指的是隐藏层的维度,对于相同的参数量,宽而浅的模型相比窄而深的模型计算效率更高,因为其核函数调用次数更少,并且能够充分进行并行计算。然而后者在准确率上往往表现得更好,这需要进行折中。 ...

发表于11月5日 · 更新于11月10日 · 共952字