mindflow.cell.InputScale
- class mindflow.cell.InputScale(input_scale, input_center=None)[源代码]
将输入值缩放到指定的区域。按照 \((x_i - input\_center)*input\_scale\) 变换。
- 参数:
input_scale (list) - 输入的比例因子。
input_center (Union[list, None]) - 坐标转换的中心位置,理解为偏移量。默认值:
None
。
- 输入:
input (Tensor) - shape为 \((*, channels)\) 的Tensor。
- 输出:
shape为 \((*, channels)\) 的Tensor。
- 异常:
TypeError - 如果 input_scale 不是list类型。
TypeError - 如果 input_center 不是list类型或者
None
。
- 支持平台:
Ascend
GPU
样例:
>>> import numpy as np >>> from mindflow.cell import InputScale >>> from mindspore import Tensor >>> inputs = np.random.uniform(size=(16, 3)) + 3.0 >>> inputs = Tensor(inputs.astype(np.float32)) >>> input_scale = [1.0, 2.0, 4.0] >>> input_center = [3.5, 3.5, 3.5] >>> net = InputScale(input_scale, input_center) >>> output = net(inputs).asnumpy() >>> assert np.all(output[:, 0] <= 0.5) and np.all(output[:, 0] >= -0.5) >>> assert np.all(output[:, 1] <= 1.0) and np.all(output[:, 0] >= -1.0) >>> assert np.all(output[:, 2] <= 2.0) and np.all(output[:, 0] >= -2.0)