mindflow.cell.SNO1D

View Source On Gitee
class mindflow.cell.SNO1D(in_channels, out_channels, hidden_channels=64, num_sno_layers=3, data_format='channels_first', transforms=None, kernel_size=5, activation='gelu', compute_dtype=mstype.float32)[source]

The 1D SNO, which contains a lifting layer (encoder), multiple spectral transform layers and a projection layer (decoder). See documentation for base class, mindflow.cell.SNO.

Examples

>>> import numpy as np
>>> from mindspore import Tensor
>>> import mindspore.common.dtype as mstype
>>> from mindflow.cell import SNO1D
>>> resolution, modes = 100, 12
>>> matr = Tensor(np.random.rand(modes, resolution), mstype.float32)
>>> inv_matr = Tensor(np.random.rand(resolution, modes), mstype.float32)
>>> net = SNO1D(in_channels=3, out_channels=7, transforms=[[matr, inv_matr]])
>>> x = Tensor(np.random.rand(5, 3, resolution), mstype.float32)
>>> y = net(x)
>>> print(x.shape, y.shape)
(5, 3, 100) (5, 7, 100)