连接远程服务器
ssh c14204 -X -Y
ssh -X -Y c14204
ssh szc-aigpu01 -X -Y
-X -Y 显示图形界面
source ~/.cshrc
~/.cshrc是脚本文件
Quantization量化
32位的 float IR转为8位 int
(以下内容全凭记忆。。)
不同层不同的scale系数,针对weights和feature map
针对op进行快速算法或查表操作(LUT)
插入更多的稀疏数据(使用map遮盖稀疏数据进行计算可以得到更好的效果)
混合精度网络
通过graph来简化网络
Quantizer Design
- Uniform Affine Quantizer
通过改变variable with range(xmin, xmax) to (0,Nlevels-1) - Uniform symmetric quantizer
xQ = clamp(-(Nlevels/2 - 1),Nlevels/2 - 1, xint) if signed
xQ = clamp(0;Nlevels /2; xint) if un-signed
clamp函数用于界定范围 - Stochastic quantizer
Determining Quantizer parameters
- TensorRT: minimizes the KL divergence between the original and quantized distributions to determine the step size
- weights
- activations(激活)
- post train quantization to improve the accuracy
Granularity of quantization(量化粒度)
We can specify a single quantizer (defined by the scale and zero-point) for an entire tensor, referred to as per-layer quantization.
量化中的OP转化
Relu 层后加法
BN层
- 对每层的输出做正则化
- 减少层与层之间的联系(Internal Covariate Shift:每一层的输入分布发生变化)
- 消除training和inference之间的mismatch(jitter)
Git基本知识
工作区
git add [文件名] #加入某个文件到暂存区
或
git add . # . 不可省略, 默认为将修改操作的文件和未跟踪新添加的文件添加到git系统的暂存区,注意不包括删除
git add -A . #-A 表示将所有的已跟踪的文件的修改与删除和新增的未跟踪的文件都添加到暂存区
git checkout -- [文件名] #将工作区文件状态恢复成最新的一次commit或者add的状态(取决于最后一次操作)
git checkout -- . #撤销对所有文件的更改
如果我们已经把更改暂存甚至提交了,可以用reset命令回退到工作区,然后再使用checkout撤销更改
git reset HEAD [文件名] #将某个文件回退到最近一次提交,记得吧,HEAD表示当前版本
git reset HEAD #省略文件名表示回退所有文件
建立分支
git branch [分支名] #新建分支
git checkout [分支名] #切换到某一分支,注意撤销操作是checkout --,不加--就是切换分支
git switch [分支名] #等价于上一条,建议用switch,更好理解
合并分支
git merge dev #将dev合并到当前分支上,这里的dev可以是任意分支名
显示工作区暂存区状态
git status
显示文件的更改记录
git log [<options>] [<revision range>] [[\--] <path>…]
git log --file #track change history of a file
git log -p #show the detail of the changes.
比较差异
git diff <file> # 比较当前文件和暂存区文件差异
git diff <id1><id1><id2> # 比较两次提交之间的差异
git diff <branch1> <branch2> # 在两个分支之间比较
git diff --staged # 比较暂存区和版本库差异
git diff --cached # 比较暂存区和版本库差异
git diff --stat # 仅仅比较统计信息
to be continued…