mindflow.loss.WaveletTransformLoss
- class mindflow.loss.WaveletTransformLoss(wave_level=2, regroup=False)[源代码]
多级小波变换损失。
- 参数:
wave_level (int) - 小波变换级数,应为正整数。默认值:
2
。regroup (bool) - 小波变换损失的regroup误差组合形式。默认值:
False
。
- 输入:
input - 张量构成的tuple。Tensor的shape为 \((B*H*W/(P*P), P*P*C)\) ,其中B表示批次大小。H、W分别表示图像的高度和宽度。P表示补丁大小。C表示特征通道。
- 输出:
Tensor。小波变换损失函数输出。
- 异常:
TypeError - 如果 wave_level 不是int。
TypeError - 如果 regroup bool。
- 支持平台:
Ascend
GPU
样例:
>>> import numpy as np >>> from mindflow.loss import WaveletTransformLoss >>> import mindspore >>> from mindspore import Tensor >>> net = WaveletTransformLoss(wave_level=2) >>> input1 = Tensor(np.ones((32, 288, 768)), mstype.float32) >>> input2 = Tensor(np.ones((32, 288, 768)), mstype.float32) >>> output = net((input1, input2)) >>> print(output) 2.0794415