down_channels = [model_channels * i for i in down_sample_mult]
up_channels = down_channels[::-1]
其中 up_channels 实现对列表 down_channels 反转后赋值。
downBlock_chanNum = [num_res_blocks + 1] * (len(down_sample_mult) - 1)
downBlock_chanNum 是新创建的列表,每个元素为num_res_blocks,列表长度为 len(down_sample_mult) - 1。
downBlock_chanNum.append(num_res_blocks)
将残差块数量 num_res_blocks 添加到列表 downBlock_chanNum 的末尾。
self.downBlock_chanNum_cumsum = np.cumsum(downBlock_chanNum)
使用 numpy.cumsum() 累积和 (cumulative sum),对列表 downBlock_chanNum 中所有元素求和,然后存储在 self.downBlock_chanNum_cumsum。
self.upBlock_chanNum_cumsum = np.cumsum(upBlock_chanNum)[:-1]
计算列表元素累积和并去掉最后一个元素。