个人学习笔记

quantization int8

6 分钟阅读

算法 8-bit 与float转换 threshold per-axis 与 per-tensor 算法 8-bit 与float转换 [real_value = (int8_value - zero_point)\times scale] 简写为:$ r = S(q-Z) $ int8_value的weight范围是[-127, 127],zero_point为0;activations/inputs范围是[-128, 127],zero_point范围是[-128, 127] threshold threshold理解为某个tensor的元素最大值,则: [Y = F(X) \text{(float运算)} => y = f(x) \text{(int8运算)}] 其中 $ x = X \times \frac{128}{threshold_x}, Y = y \times \frac{threshold_y}{128} $ per-axis 与 per-tensor per-axis,表示某个维度每一片都有一个scale和zero_point,比如per-channel表示每个channel都有一个scale和zero_point per-tensor,表示整个tensor用一个scale和zero_point

常见算子操作

14 分钟阅读

激活函数 Relu LeakyRelu 激活函数 Relu [f(x) = \begin{cases} x,\quad & if & x \ge 0 0,\quad & if & x \lt 0 \end{cases}] LeakyRelu [f(x) = \begin{cases} x,\quad & if & x \ge 0 x \times negative_slope,\quad & if &x \lt 0 \end{cases}]

Numpy

6 分钟阅读

概述 ndarray 概述 Numpy, Numerical Python, 读作Num Pie 导入import numpy as np ndarray N维数据对象,成员: data,内存地址 shape,各个维度大小的元组 dtype,元素类型 size,元素个数 ndim,维度的数量 strides,各个维度步进字节大小的元组 T,ndarray,对象的转置 flags, 各种属性标志 其他

python

9 分钟阅读

执行方式 注释 执行方式 直接执行,python test.py 交互执行,ipython 注释 #!/usr/bin/python3 # 单行注释 print("hello,world") ''' 多行注释 用\实现多行语句,[]{}()中不需要\ ''' a = 1 + 2 + \ 3 + 4 b = ['a','b', 'c','d']

python调试

1 分钟阅读

python调试 方式一:import pdb python调试 方式一:import pdb import pdb pdb.set_trace() #运行到这里会自动暂停

Markdown

6 分钟阅读

特殊符号 Latex公式 希腊字母 关系运算符 集合运算符 对数运算符 三角运算符 微积分运算符 逻辑运算符 戴帽符号 Mermaid绘图 Jekyll-spaceship 特殊符号 上标:2<sup>n</sup>,效果2n 小标:log<sub>n</sub>,效果logn HTML中的特殊符号 Latex公式 来源:Cmd Markdown公式指导手册 希腊字母 对于大写希腊字母与现有字母相同的,直接输入大写字母即可。 输入 显示 输入 显示 输入 显示 输入 显示 \alpha $\alpha$ A $A$ \beta $\beta$ B $B$ \gamma $\gamma$ \Gamma $\Gamma$ \delta $\delta$ \Delta $\Delta$ \epsilon $\epsilon$ E $E$ \zeta $\zeta$ Z $Z$ \eta $\eta$ H $H$ \theta $\theta$ \Theta $\Theta$ \iota $\iota$ I $I$ \kappa $\kappa$ K $K$ \lambda $\lambda$ \Lambda $\Lambda$ \mu $\mu$ M $M$ \nu $\nu$ N $N$ \xi $\xi$ \Xi $\Xi$ o $o$ O $O$ \pi $\pi$ \Pi $\Pi$ \rho $\rho$ P $P$ \sigma $\sigma$ \Sigma $\Sigma$ \tau $\tau$ T $T$ \upsilon $\upsilon$ \Upsilon $\Upsilon$ \phi $\phi$ \Phi $\Phi$ \chi $\chi$ X $X$ \psi $\psi$ \Psi $\Psi$ \omega $\omega$ \Omega $\Omega$ 关系运算符 输入 显示 输入 显示 输入 显示 输入 显示 \pm $\pm$ \times $\times$ \div $\div$ \mid $\mid$ \nmid $\nmid$ \cdot $\cdot$ \circ $\circ$ \ast $\ast$ \bigodot $\bigodot$ \bigotimes $\bigotimes$ \bigoplus $\bigoplus$ \leq $\leq$ \geq $\geq$ \neq $\neq$ \approx $\approx$ \equiv $\equiv$ \sum $\sum$ \prod $\prod$ \coprod $\coprod$ \backslash $\backslash$ 集合运算符 输入 显示 输入 显示 输入 显示 \emptyset $\emptyset$ \in $\in$ \notin $\notin$ \subset $\subset$ \supset $\supset$ \subseteq $\subseteq$ \supseteq $\supseteq$ \cap $\cap$ \cup $\cup$ \vee $\vee$ \wedge $\wedge$ \uplus $\uplus$ \top $\top$ \bot $\bot$ \complement $\complement$ 对数运算符 输入 显示 输入 显示 输入 显示 \log $\log$ \lg $\lg$ \ln $\ln$ 三角运算符 输入 显示 输入 显示 输入 显示 \backsim $\backsim$ \cong $\cong$ \angle A $\angle A$ \sin $\sin$ \cos $\cos$ \tan $\tan$ \csc $\csc$ \sec $\sec$ \cot $\cot$ 微积分运算符 输入 显示 输入 显示 输入 显示 \int $\int$ \iint $\iint$ \iiint $\iiint$ \partial $\partial$ \oint $\oint$ \prime $\prime$ \lim $\lim$ \infty $\infty$ \nabla $\nabla$ 逻辑运算符 输入 显示 输入 显示 输入 显示 \because $\because$ \therefore $\therefore$ \neg $\neg$ \forall $\forall$ \exists $\exists$ \not\subset $\not\subset$ \not< $\not<$ \not> $\not>$ \not= $\not=$ 戴帽符号 输入 显示 输入 显示 输入 显示 \hat{xy} $\hat{xy}$ \widehat{xyz} $\widehat{xyz}$ \bar{y} $\bar{y}$ \tilde{xy} $\tilde{xy}$ \widetilde{xyz} $\widetilde{xyz}$ \acute{y} $\acute{y}$ \breve{y} $\breve{y}$ \check{y} $\check{y}$ \grave{y} $\grave{y}$ \dot{x} $\dot{x}$ \ddot{x} $\ddot{x}$ \dddot{x} $\dddot{x}$ Mermaid绘图 Markdown中使用mermaid画流程图 Mermaid Jekyll-spaceship Jekyll-spaceship

CMAKE与Ninja

少于 1 分钟阅读

简介 简介 Ninja原意是忍者,Google在编译chrome项目时本来用make方式,但是非常费时间;于是实现Ninja,取代make,加快编译构建。 Ninja官网:Ninja

Linux Event Tracing

3 分钟阅读

Tracepoints添加 1. 添加头文件 Tracepoints添加 参考 Tracepoints 1. 添加头文件 include/trace/events/sample.h #undef TRACE_SYSTEM #define TRACE_SYSTEM sample #if !defined(_TRACE_SUBSYS_H) || defined(TRACE_HEADER_MULTI_READ) #define _TRACE_SUBSYS_H #include <linux/tracepoint.h> DECLARE_TRACE(sample_event, TP_PROTO(int firstarg, struct task_struct *p), TP_ARGS(firstarg, p)); #endif /* _TRACE_SUBSYS_H */ /* This part must be outside protection */ #include <trace/define_trace.h>

卷积运算

7 分钟阅读

基本概念 基本概念 基本卷积形式如下(NHWC格式): 输入为[1,32,32,3],filter为[10, 5, 5, 3],输出为[1, 28, 28, 10]

tensorflow:添加新OP和新设备

13 分钟阅读

REGISTER_OP,注册一个OP,其实也是声明一个OP REGISTER_KERNEL_BUILDER,注册一个Kernel,其实就是对OP的实现 REGISTER_LOCAL_DEVICE_FACTORY,添加设备工厂

vim操作积累

少于 1 分钟阅读

vim控制 vim控制 dd 剪切光标所在行 yy 拷贝光标所在行 p 粘贴到光标所在行 u 撤销上一次操作 ctrl+u 恢复撤销

FlatBuffers反射

9 分钟阅读

概述 概述 基本有三种方式: unpack和pack,可以对某个成员进行操作,可以在多个flatbuffers局部拷贝的时候用到。 parser方式,在做成员细致的修正的时候可以用到 reflection,不推荐使用。