mindflow.cell.SNO3D
- class mindflow.cell.SNO3D(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 3D 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 SNO3D >>> grid_size, grid_size_z, modes = 64, 40, 12 >>> matr = Tensor(np.random.rand(modes, grid_size), mstype.float32) >>> inv_matr = Tensor(np.random.rand(grid_size, modes), mstype.float32) >>> matr_1 = Tensor(np.random.rand(modes, grid_size_z), mstype.float32) >>> inv_matr_1 = Tensor(np.random.rand(grid_size_z, modes), mstype.float32) >>> net = SNO3D(in_channels=10, out_channels=1, >>> transforms=[[matr, inv_matr]] * 2 + [[matr_1, inv_matr_1]]) >>> x = Tensor(np.random.rand(10, 10, resolution, resolution, grid_size_z), mstype.float32) >>> y = net(x) >>> print(x.shape, y.shape) (10, 10, 64, 64, 40) (10, 1, 64, 64, 40)