mindelec.architecture.LinearBlock
- class mindelec.architecture.LinearBlock(in_channels, out_channels, weight_init='normal', bias_init='zeros', has_bias=True, activation=None)[源代码]
线性模块。对输入数据进行线性变换。
- 参数:
in_channels (int) - 输入空间中的通道数。
out_channels (int) - 输出空间中的通道数。
weight_init (Union[Tensor, str, Initializer, numbers.Number]) - 可训练的初始权重值。dtype与输入 input 相同。str的值可参考函数 mindspore.common.initializer。默认值:”normal”。
bias_init (Union[Tensor, str, Initializer, numbers.Number]) - 可训练的初始偏差值。dtype为与输入 input 相同。str的值可参考函数 mindspore.common.initializer。默认值:”zeros”。
has_bias (bool) - 指定图层是否使用偏置矢量。默认值:True。
activation (Union[str, Cell, Primitive, None]) - 应用于全连接输出的激活函数层。默认值:None。
- 输入:
input (Tensor) - shape为 \((*, in\_channels)\) 的Tensor。
- 输出:
shape为 \((*, out\_channels)\) 的Tensor。
- 支持平台:
Ascend
样例:
>>> import numpy as np >>> from mindelec.architecture import LinearBlock >>> from mindspore import Tensor >>> input = Tensor(np.array([[180, 234, 154], [244, 48, 247]], np.float32)) >>> net = LinearBlock(3, 4) >>> output = net(input) >>> print(output.shape) (2, 4)