Linear 差异对比#

torch.nn.functional.Linear

torch.nn.functional.Linear(
   in_features,
   out_features,
   bias=True
)

更多请查看 torch.nn.functional.Linear.

megengine.module.Linear

megengine.module.Linear(
   in_features,
   out_features,
   bias=True,
   compute_mode='default'
)

更多请查看 megengine.module.Linear.

参数差异#

compute_mode#

MegEngine 中 compute_mode 参数,该参数用于指定计算模式,默认值为 “default”,表示不会对中间结果的精度有特殊要求。MegEngine 中无此参数。

用法相似: .. code-block:: python

import torch import torch.nn.functional as F

# 定义权重矩阵和偏置项 weight = torch.randn(10, 5) # 假设输入有10个特征,输出有5个特征 bias = torch.randn(5) # 偏置项的大小与输出特征的数量相同

# 定义输入数据 input = torch.randn(3, 10) # 假设有3个样本,每个样本有10个特征

# 执行线性变换 output = F.linear(input, weight, bias)

print(output)

import megengine
import megengine.module as M

# 定义权重矩阵和偏置项
weight = megengine.random.normal(size=(10,5))
bias = megengine.random.normal(size=(5))

# 定义输入数据
input = megengine.random.normal(size=(3, 10))  # 假设有3个样本,每个样本有10个特征

# 创建线性层实例
linear_layer = M.Linear(10, 5, bias=True)

# 执行线性变换
output = linear_layer(input)

print(output)