MCPcopy Create free account
hub / github.com/BorealisAI/scaleformer / __init__

Method __init__

layers/MultiWaveletCorrelation.py:307–343  ·  view source on GitHub ↗
(self,
                 k=3, alpha=64,
                 L=0, c=1,
                 base='legendre',
                 initializer=None,
                 **kwargs)

Source from the content-addressed store, hash-verified

305# ##
306class MWT_CZ1d(nn.Module):
307 def __init__(self,
308 k=3, alpha=64,
309 L=0, c=1,
310 base='legendre',
311 initializer=None,
312 **kwargs):
313 super(MWT_CZ1d, self).__init__()
314
315 self.k = k
316 self.L = L
317 H0, H1, G0, G1, PHI0, PHI1 = get_filter(base, k)
318 H0r = H0 @ PHI0
319 G0r = G0 @ PHI0
320 H1r = H1 @ PHI1
321 G1r = G1 @ PHI1
322
323 H0r[np.abs(H0r) < 1e-8] = 0
324 H1r[np.abs(H1r) < 1e-8] = 0
325 G0r[np.abs(G0r) < 1e-8] = 0
326 G1r[np.abs(G1r) < 1e-8] = 0
327 self.max_item = 3
328
329 self.A = sparseKernelFT1d(k, alpha, c)
330 self.B = sparseKernelFT1d(k, alpha, c)
331 self.C = sparseKernelFT1d(k, alpha, c)
332
333 self.T0 = nn.Linear(k, k)
334
335 self.register_buffer('ec_s', torch.Tensor(
336 np.concatenate((H0.T, H1.T), axis=0)))
337 self.register_buffer('ec_d', torch.Tensor(
338 np.concatenate((G0.T, G1.T), axis=0)))
339
340 self.register_buffer('rc_e', torch.Tensor(
341 np.concatenate((H0r, G0r), axis=0)))
342 self.register_buffer('rc_o', torch.Tensor(
343 np.concatenate((H1r, G1r), axis=0)))
344
345 def forward(self, x):
346 B, N, c, k = x.shape # (B, N, k)

Callers 4

__init__Method · 0.45
__init__Method · 0.45
__init__Method · 0.45
__init__Method · 0.45

Calls 3

get_filterFunction · 0.90
sparseKernelFT1dClass · 0.85
absMethod · 0.80

Tested by

no test coverage detected