个人学习笔记

ONNX

5 分钟阅读

概述 概述 ONNX,Open Neural Network Exchange。由于神经网络架构很多,如caffe、tensorflow、pytorch、mxnet等等,模型结构各式各样,onnx旨在将模型结构统一起来。 官方代码:ONNX 算子操作:Operators 环境要求:pip install onnx onnxruntime onnx-simplifier netron

常见神经网络特征

2 分钟阅读

VGG16 VGG16 13层卷积+3层全连接,穿插pooling和relu 其中卷积的kernel均采用3x3

统计距离

5 分钟阅读

熵 信息量 信息熵 熵 Entropy, [ˈentrəpi], 熵,无序状态 信息量 信息不确定性越大,信息量越大。 假定X是随机事件集合,其中$ p(x_0) $表示事件$ x_0 $的概率,那么事件$ x_0 $的信息量定义为 $ h(x_0) = - \log_2p(x_0) $。 信息熵 [H(X) = -\sum^{n}_{i=1}{p(x_i)log_2p(x_i)}] 信息熵用来衡量事物的不确定性,信息熵越大,事物越具有不确定性。

浮点型存储格式

2 分钟阅读

FP32 FP32 float共32bit:1bit符号位,8bit指数位,23bit底数位。如下表示: S E8 M23 浮点与二进制转换公式如下: $ Y = (-1)^{s} \times 2^{e} \times m,其中m = 1.M23,e = E8 - 127 $

RNN/LSTM/GRU

10 分钟阅读

RNN RNN RNN:Recurrent Neural Networks,循环神经网络,能够应用于空间或时间先后相关的场景,比如文字解析、语音识别。 RNN模型结构简单描述,如下图: 其中X0、X1、……、Xt,可以理解成多个输入,或者对单个输入拆分成的多个输入,比如一张图片的多个字符拆分、语音的拆分等等;h0、h1、…、ht可以理解成多个输出,通常也可能最终被concat到一起,做为一个输入。 上图是单向的,也就是h1会受h0的影响,h2会受h1、h0的影响,…,但反过来不会。RNN网络也会有双向的情况,使前后互相影响。

Macbook操作

1 分钟阅读

快捷键 快捷键 文本 文件 其他 Command-C 拷贝Command-V 粘贴Command-X 剪切Command-Z 撤销Command-A 全选command-S 保存Command-F 查找 Command <- 删除文件Command c 拷贝文件Command v 粘贴文件Command option v 移动文件 Command Shift 4 选取截图Command Shift 3 全屏截图Control 空格 切换输入法

时间复杂度

少于 1 分钟阅读

概述 概述 时间复杂度通常用大O符号表示,不考虑低阶项和系数,主要考察算法中元素个数N趋于无穷时的情况。 另外时间复杂度也有最好情况表示Ω,和平均情况表示Θ。大O是最坏情况表示。

SSD网络

4 分钟阅读

概述 概述 目标检测目前主要有种方法: two-stage: R-CNN和Faster R-CNN系列为代表,先生成region proposal(预选框),再经过CNN网络进行分类 one-stage: ssd和yolo为代表,边提取特征边分类 论文地址[2016]:SSD: Single Shot MultiBox Detector

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

常见算子操作

15 分钟阅读

激活函数 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']