megengine.module¶
>>> import megengine.module as M
参见
关于 Module 的使用案例,请参考 使用 Module 定义模型结构 ;
关于如何进行模型量化以及几类 Module 的转换原理,请参考 量化(Quantization) 。
浮点模块¶
容器¶
Module 基类。 |
|
一种序列化容器。 |
一般操作¶
进行 |
|
卷积层¶
对输入张量进行一维卷积 |
|
对输入张量进行二维卷积 |
|
对输入 tensor 进行三维卷积 |
|
对输入张量进行二维转置卷积。 |
|
在一个input tensor上使用3D转置卷积。 |
|
对4D输入tensor进行通道分组并应用非统一kernel的空间卷积操作。 |
|
可变形卷积 |
|
对输入tensor连续应用滑窗操作,每次拷贝滑窗内数据作为输出对应位置的数据。 |
|
滑窗操作的反向操作,对输入滑窗内数据求和作为输出。 |
池化层¶
对输入数据进行2D平均池化。 |
|
对输入数据进行2D最大值池化(max pooling)。 |
|
对输入数据进行2D平均池化。 |
|
对输入数据进行2D最大池化。 |
|
Padding层¶
填充输入张量。 |
非线性激活层¶
对每个元素应用函数: |
|
应用softmax函数。 |
|
对每个元素应用函数: |
|
对每个元素应用函数: |
|
对每个元素应用函数: |
|
对每个元素应用函数: |
|
对每个元素应用函数: |
归一化层¶
在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作用明显。 |
|
对输入 Tensor 做 Local Response 正则化 |
Recurrent Layers¶
Applies a multi-layer Elman RNN with \(\tanh\) or \(\text{ReLU}\) non-linearity to an input sequence. |
|
An Elman RNN cell with tanh or ReLU non-linearity. |
|
Applies a multi-layer long short-term memory LSTM to an input sequence. |
|
A long short-term memory (LSTM) cell. |
线性变化层¶
恒等占位符,输出和输入相等 |
|
Applies a linear transformation to the input. |
Dropout Layers¶
Randomly sets input elements to zeros with the probability \(drop\_prob\) during training. |
Sparse Layers¶
一个简单的查询表,存储具有固定大小的词向量(embedding)于固定的词典中。 |
Vision Layers¶
将形状为(, C x r^2, H, W)的向量中的元素重新排列为形状为(, C, H x r, W x r) 的向量,其中 r 是一个上采样因子,其中*是零或 batch 的维度。 |
Fused operations¶
融合 |
|
融合 |
|
Quantization¶
仅负责返回输入的辅助 |
|
仅负责返回输入的辅助 |
QAT Module¶
容器¶
浮点数量化相关 |
Operations¶
支持 QAT 的 |
|
支持 QAT 的 |
|
支持 QAT 的 |
|
A |
|
支持 QAT 的 |
|
仅返回输入的辅助 |
|
仅返回输入的辅助 |
Quantized Module¶
Operations¶
量化(quantized)版本 |
|
量化(quantized)版本 |
|
量化版本 |
|
量化(quantized)版本 |
|
量化(quantized)版本 |
|
量化(quantized)版本 |
|
量化(quantized)版本 |
|
Quantized version of |
|
|
|
量化(quantized)版本 |
|
量化(quantized)版本 |
External Layers¶
导入一个序列化的 外部 Opr 子图。 |
|
导入一个序列化的 Tensorrt 运行时子图。 |
|
导入一个序列化的 Cambricon 运行时子图。 |
|
导入一个序列化的 Atlas 运行时子图。 |
|
导入一个序列化的 MagicMind 运行时子图。 |