megengine.module¶
>>> import megengine.module as M
参见
关于 Module 的使用案例,请参考 使用 Module 定义模型结构 ;
关于如何进行模型量化以及几类 Module 的转换原理,请参考 量化(Quantization) 。
Float Module¶
Containers¶
Module 基类。 |
|
A sequential container. |
Convolution Layers¶
对输入张量进行一维卷积 |
|
对输入张量进行二维卷积 |
|
对输入 tensor 进行三维卷积 |
|
对输入张量进行二维转置卷积。 |
|
Applies a 3D transposed convolution over an input tensor. |
|
Applies a spatial convolution with untied kernels over an groupped channeled input 4D tensor. |
|
可变形卷积 |
|
Apply a sliding window to input tensor and copy content in the window to corresponding output location. |
|
Opposite opration of SlidingWindow, sum over the sliding windows on the corresponding input location. |
Pooling layers¶
对输入数据进行2D平均池化。 |
|
对输入数据进行2D最大值池化(max pooling)。 |
|
对输入数据进行2D平均池化。 |
|
对输入数据进行2D最大池化。 |
|
Padding layers¶
Pad is python warpper for padding opr in megbrain, can padding in random one of the max 7 dimensions. |
Non-linear Activations¶
对每个元素应用函数: |
|
Applies a softmax function. |
|
对每个元素应用函数: |
|
对每个元素应用函数: |
|
对每个元素应用函数: |
|
对每个元素应用函数: |
|
对每个元素应用函数: |
Normalization Layers¶
在2D/3D张量上进行批标准化(batch normalization)。 |
|
在四维张量上进行批标准化(Batch Normalization)。 |
|
对于分布式训练执行组同步Batch Normalization操作。 |
|
对于GroupNorm的简单实现。将Channel方向分Group,然后每个Group内做归一化,算(C//G) Hw的均值;这样与Batchsize无关,不受其约束 |
|
InstanceNorm的简单实现。对Channel内做归一化,算H*W的均值,用在风格化迁移;因为在图像风格化中,生成结果主要依赖于某个图像实例,所以对整个Batch归一化不适合图像风格化中,因而对HW做归一化。可以加速模型收敛,并且保持每个图像实例之间的独立。 |
|
层归一化的简单实现,对于Channel方向做归一化,算CHW的均值,主要对RNN作用明显。 |
Dropout Layers¶
Randomly sets input elements to zeros with the probability \(drop\_prob\) during training. |
Fused operations¶
融合 |
|
融合 |
|
QAT Module¶
Operations¶
支持 QAT 的 |
|
支持 QAT 的 |
|
支持 QAT 的 |
|
支持 QAT 的 |
|
仅返回输入的辅助 |
|
仅返回输入的辅助 |
Quantized Module¶
Operations¶
量化(quantized)版本 |
|
量化(quantized)版本 |
|
量化版本 |
|
量化(quantized)版本 |
|
量化(quantized)版本 |
|
量化(quantized)版本 |
|
量化(quantized)版本 |
|
|
|
量化(quantized)版本 |
|
量化(quantized)版本 |