When I convert it into:
# self.leach = [BasicConv(
        #     deep_out + shallow_out,
        #     self.planes // 2,
        #     kernel_size=(1, 1), stride=(1, 1))] * self.num_levels

It can be trace!!! (simply replace ModuleList with list), But the result is totally wrong!!!
So I am much confused, Why ModuleList replace with list not work and it can be traced???
I want make it same behaviour and can be traced, what should I do???