mindflow.cell.ResBlock
- class mindflow.cell.ResBlock(in_channels, out_channels, weight_init='normal', bias_init='zeros', has_bias=True, activation=None, weight_norm=False)[源代码]
密集层的残差模块。
- 参数:
in_channels (int) - 输入中的通道数。
out_channels (int) - 输出中的通道数。
weight_init (Union[Tensor, str, Initializer, numbers.Number]) - 可训练的初始权重值。数据类型与输入 input 相同。str的值引用函数 initializer 。默认值:
"normal"
。bias_init (Union[Tensor, str, Initializer, numbers.Number]) - 可训练的初始偏差值。数据类型与输入 input 相同。str的值引用函数 initializer 。默认值:
"zeros"
。has_bias (bool) - 指定图层是否使用偏置向量。默认值:
True
。activation (Union[str, Cell, Primitive, None]) - 应用于密集层输出的激活函数。默认值:
None
。weight_norm (bool) - 是否计算权重的平方和。默认值:
False
。
- 输入:
input (Tensor) - shape为 \((*, in\_channels)\) 的Tensor。
- 输出:
shape为 \((*, out\_channels)\) 的Tensor。
- 异常:
ValueError - 如果 in_channels 不等于 out_channels 。
TypeError - 如果 activation 类型不是str或者Cell或者Primitive。
- 支持平台:
Ascend
GPU
样例:
>>> import numpy as np >>> from mindflow.cell import ResBlock >>> from mindspore import Tensor >>> input = Tensor(np.array([[180, 234, 154], [244, 48, 247]], np.float32)) >>> net = ResBlock(3, 3) >>> output = net(input) >>> print(output.shape) (2, 3)