The original mWDN paper used "Residual Classifier Flow" network to ingest multi-scale data after WaveBlock.
The current architecture uses InceptionTime as the base architecture onto which the mWDN 'head' has been grafted.
However, the concat logic is either incorrect, or imo, very confusingly written.
The ternary expression is never evaluated when i != 0, so concat never triggers. The end effect is that out is always set to the output of the first block (the first out_).
If this is intentional, can I find the rationale or documentation for this design choice?
|
for i in range(self.levels): |
|
x, out_ = self.blocks[i](x) |
|
if i == 0: out = out_ if i == 0 else torch.cat((out, out_), dim=-1) |
|
out = self._model(out) |
The original mWDN paper used "Residual Classifier Flow" network to ingest multi-scale data after
WaveBlock.The current architecture uses InceptionTime as the base architecture onto which the mWDN 'head' has been grafted.
However, the concat logic is either incorrect, or imo, very confusingly written.
The ternary expression is never evaluated when
i != 0, so concat never triggers. The end effect is thatoutis always set to the output of the first block (the firstout_).If this is intentional, can I find the rationale or documentation for this design choice?
tsai/tsai/models/mWDN.py
Lines 74 to 77 in bbb6198