加载ECANet参数

文章:ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks

因为最近想用这个文章的模型,但是不想把整个模型的参数加载到我的网络,想要把layer1和layer2等模块的参数逐个加载进我的模型中,因此苦苦摸索了一个比较笨的方法,大神勿喷。首先先查看ECA-Net中各个层的编号:

import torch
res_eca=torch.load('./eca_resnet50_k3557.pth.tar')
for i in range(len(list(res_eca['state_dict'].items()))):
    print('i: ',i,' 1 list(res_eca.items())[i][1].data[:]:',list(res_eca['state_dict'].items())[i][0])

输出ECANet的各个层的名称及编号如下:

i:  0  1 list(res_eca.items())[i][1].data[:]: module.conv1.weight
i:  1  1 list(res_eca.items())[i][1].data[:]: module.bn1.weight
i:  2  1 list(res_eca.items())[i][1].data[:]: module.bn1.bias
i:  3  1 list(res_eca.items())[i][1].data[:]: module.bn1.running_mean
i:  4  1 list(res_eca.items())[i][1].data[:]: module.bn1.running_var
i:  5  1 list(res_eca.items())[i][1].data[:]: module.bn1.num_batches_tracked
i:  6  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.conv1.weight
i:  7  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.bn1.weight
i:  8  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.bn1.bias
i:  9  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.bn1.running_mean
i:  10  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.bn1.running_var
i:  11  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.bn1.num_batches_tracked
i:  12  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.conv2.weight
i:  13  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.bn2.weight
i:  14  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.bn2.bias
i:  15  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.bn2.running_mean
i:  16  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.bn2.running_var
i:  17  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.bn2.num_batches_tracked
i:  18  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.conv3.weight
i:  19  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.bn3.weight
i:  20  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.bn3.bias
i:  21  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.bn3.running_mean
i:  22  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.bn3.running_var
i:  23  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.bn3.num_batches_tracked
i:  24  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.eca.conv.weight
i:  25  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.downsample.0.weight
i:  26  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.downsample.1.weight
i:  27  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.downsample.1.bias
i:  28  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.downsample.1.running_mean
i:  29  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.downsample.1.running_var
i:  30  1 list(res_eca.items())[i][1].data[:]: module.layer1.0.downsample.1.num_batches_tracked
i:  31  1 list(res_eca.items())[i][1].data[:]: module.layer1.1.conv1.weight
i:  32  1 list(res_eca.items())[i][1].data[:]: module.layer1.1.bn1.weight
i:  33  1 list(res_eca.items())[i][1].data[:]: module.layer1.1.bn1.bias
i:  34  1 list(res_eca.items())[i][1].data[:]: module.layer1.1.bn1.running_mean
i:  35  1 list(res_eca.items())[i][1].data[:]: module.layer1.1.bn1.running_var
i:  36  1 list(res_eca.items())[i][1].data[:]: module.layer1.1.bn1.num_batches_tracked
i:  37  1 list(res_eca.items())[i][1].data[:]: module.layer1.1.conv2.weight
i:  38  1 list(res_eca.items())[i][1].data[:]: module.layer1.1.bn2.weight
i:  39  1 list(res_eca.items())[i][1].data[:]: module.layer1.1.bn2.bias
i:  40  1 list(res_eca.items())[i][1].data[:]: module.layer1.1.bn2.running_mean
i:  41  1 list(res_eca.items())[i][1].data[:]: module.layer1.1.bn2.running_var
i:  42  1 list(res_eca.items())[i][1].data[:]: module.layer1.1.bn2.num_batches_tracked
i:  43  1 list(res_eca.items())[i][1].data[:]: module.layer1.1.conv3.weight
i:  44  1 list(res_eca.items())[i][1].data[:]: module.layer1.1.bn3.weight
i:  45  1 list(res_eca.items())[i][1].data[:]: module.layer1.1.bn3.bias
i:  46  1 list(res_eca.items())[i][1].data[:]: module.layer1.1.bn3.running_mean
i:  47  1 list(res_eca.items())[i][1].data[:]: module.layer1.1.bn3.running_var
i:  48  1 list(res_eca.items())[i][1].data[:]: module.layer1.1.bn3.num_batches_tracked
i:  49  1 list(res_eca.items())[i][1].data[:]: module.layer1.1.eca.conv.weight
i:  50  1 list(res_eca.items())[i][1].data[:]: module.layer1.2.conv1.weight
i:  51  1 list(res_eca.items())[i][1].data[:]: module.layer1.2.bn1.weight
i:  52  1 list(res_eca.items())[i][1].data[:]: module.layer1.2.bn1.bias
i:  53  1 list(res_eca.items())[i][1].data[:]: module.layer1.2.bn1.running_mean
i:  54  1 list(res_eca.items())[i][1].data[:]: module.layer1.2.bn1.running_var
i:  55  1 list(res_eca.items())[i][1].data[:]: module.layer1.2.bn1.num_batches_tracked
i:  56  1 list(res_eca.items())[i][1].data[:]: module.layer1.2.conv2.weight
i:  57  1 list(res_eca.items())[i][1].data[:]: module.layer1.2.bn2.weight
i:  58  1 list(res_eca.items())[i][1].data[:]: module.layer1.2.bn2.bias
i:  59  1 list(res_eca.items())[i][1].data[:]: module.layer1.2.bn2.running_mean
i:  60  1 list(res_eca.items())[i][1].data[:]: module.layer1.2.bn2.running_var
i:  61  1 list(res_eca.items())[i][1].data[:]: module.layer1.2.bn2.num_batches_tracked
i:  62  1 list(res_eca.items())[i][1].data[:]: module.layer1.2.conv3.weight
i:  63  1 list(res_eca.items())[i][1].data[:]: module.layer1.2.bn3.weight
i:  64  1 list(res_eca.items())[i][1].data[:]: module.layer1.2.bn3.bias
i:  65  1 list(res_eca.items())[i][1].data[:]: module.layer1.2.bn3.running_mean
i:  66  1 list(res_eca.items())[i][1].data[:]: module.layer1.2.bn3.running_var
i:  67  1 list(res_eca.items())[i][1].data[:]: module.layer1.2.bn3.num_batches_tracked
i:  68  1 list(res_eca.items())[i][1].data[:]: module.layer1.2.eca.conv.weight
i:  69  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.conv1.weight
i:  70  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.bn1.weight
i:  71  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.bn1.bias
i:  72  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.bn1.running_mean
i:  73  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.bn1.running_var
i:  74  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.bn1.num_batches_tracked
i:  75  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.conv2.weight
i:  76  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.bn2.weight
i:  77  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.bn2.bias
i:  78  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.bn2.running_mean
i:  79  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.bn2.running_var
i:  80  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.bn2.num_batches_tracked
i:  81  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.conv3.weight
i:  82  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.bn3.weight
i:  83  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.bn3.bias
i:  84  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.bn3.running_mean
i:  85  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.bn3.running_var
i:  86  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.bn3.num_batches_tracked
i:  87  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.eca.conv.weight
i:  88  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.downsample.0.weight
i:  89  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.downsample.1.weight
i:  90  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.downsample.1.bias
i:  91  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.downsample.1.running_mean
i:  92  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.downsample.1.running_var
i:  93  1 list(res_eca.items())[i][1].data[:]: module.layer2.0.downsample.1.num_batches_tracked
i:  94  1 list(res_eca.items())[i][1].data[:]: module.layer2.1.conv1.weight
i:  95  1 list(res_eca.items())[i][1].data[:]: module.layer2.1.bn1.weight
i:  96  1 list(res_eca.items())[i][1].data[:]: module.layer2.1.bn1.bias
i:  97  1 list(res_eca.items())[i][1].data[:]: module.layer2.1.bn1.running_mean
i:  98  1 list(res_eca.items())[i][1].data[:]: module.layer2.1.bn1.running_var
i:  99  1 list(res_eca.items())[i][1].data[:]: module.layer2.1.bn1.num_batches_tracked
i:  100  1 list(res_eca.items())[i][1].data[:]: module.layer2.1.conv2.weight
i:  101  1 list(res_eca.items())[i][1].data[:]: module.layer2.1.bn2.weight
i:  102  1 list(res_eca.items())[i][1].data[:]: module.layer2.1.bn2.bias
i:  103  1 list(res_eca.items())[i][1].data[:]: module.layer2.1.bn2.running_mean
i:  104  1 list(res_eca.items())[i][1].data[:]: module.layer2.1.bn2.running_var
i:  105  1 list(res_eca.items())[i][1].data[:]: module.layer2.1.bn2.num_batches_tracked
i:  106  1 list(res_eca.items())[i][1].data[:]: module.layer2.1.conv3.weight
i:  107  1 list(res_eca.items())[i][1].data[:]: module.layer2.1.bn3.weight
i:  108  1 list(res_eca.items())[i][1].data[:]: module.layer2.1.bn3.bias
i:  109  1 list(res_eca.items())[i][1].data[:]: module.layer2.1.bn3.running_mean
i:  110  1 list(res_eca.items())[i][1].data[:]: module.layer2.1.bn3.running_var
i:  111  1 list(res_eca.items())[i][1].data[:]: module.layer2.1.bn3.num_batches_tracked
i:  112  1 list(res_eca.items())[i][1].data[:]: module.layer2.1.eca.conv.weight
i:  113  1 list(res_eca.items())[i][1].data[:]: module.layer2.2.conv1.weight
i:  114  1 list(res_eca.items())[i][1].data[:]: module.layer2.2.bn1.weight
i:  115  1 list(res_eca.items())[i][1].data[:]: module.layer2.2.bn1.bias
i:  116  1 list(res_eca.items())[i][1].data[:]: module.layer2.2.bn1.running_mean
i:  117  1 list(res_eca.items())[i][1].data[:]: module.layer2.2.bn1.running_var
i:  118  1 list(res_eca.items())[i][1].data[:]: module.layer2.2.bn1.num_batches_tracked
i:  119  1 list(res_eca.items())[i][1].data[:]: module.layer2.2.conv2.weight
i:  120  1 list(res_eca.items())[i][1].data[:]: module.layer2.2.bn2.weight
i:  121  1 list(res_eca.items())[i][1].data[:]: module.layer2.2.bn2.bias
i:  122  1 list(res_eca.items())[i][1].data[:]: module.layer2.2.bn2.running_mean
i:  123  1 list(res_eca.items())[i][1].data[:]: module.layer2.2.bn2.running_var
i:  124  1 list(res_eca.items())[i][1].data[:]: module.layer2.2.bn2.num_batches_tracked
i:  125  1 list(res_eca.items())[i][1].data[:]: module.layer2.2.conv3.weight
i:  126  1 list(res_eca.items())[i][1].data[:]: module.layer2.2.bn3.weight
i:  127  1 list(res_eca.items())[i][1].data[:]: module.layer2.2.bn3.bias
i:  128  1 list(res_eca.items())[i][1].data[:]: module.layer2.2.bn3.running_mean
i:  129  1 list(res_eca.items())[i][1].data[:]: module.layer2.2.bn3.running_var
i:  130  1 list(res_eca.items())[i][1].data[:]: module.layer2.2.bn3.num_batches_tracked
i:  131  1 list(res_eca.items())[i][1].data[:]: module.layer2.2.eca.conv.weight
i:  132  1 list(res_eca.items())[i][1].data[:]: module.layer2.3.conv1.weight
i:  133  1 list(res_eca.items())[i][1].data[:]: module.layer2.3.bn1.weight
i:  134  1 list(res_eca.items())[i][1].data[:]: module.layer2.3.bn1.bias
i:  135  1 list(res_eca.items())[i][1].data[:]: module.layer2.3.bn1.running_mean
i:  136  1 list(res_eca.items())[i][1].data[:]: module.layer2.3.bn1.running_var
i:  137  1 list(res_eca.items())[i][1].data[:]: module.layer2.3.bn1.num_batches_tracked
i:  138  1 list(res_eca.items())[i][1].data[:]: module.layer2.3.conv2.weight
i:  139  1 list(res_eca.items())[i][1].data[:]: module.layer2.3.bn2.weight
i:  140  1 list(res_eca.items())[i][1].data[:]: module.layer2.3.bn2.bias
i:  141  1 list(res_eca.items())[i][1].data[:]: module.layer2.3.bn2.running_mean
i:  142  1 list(res_eca.items())[i][1].data[:]: module.layer2.3.bn2.running_var
i:  143  1 list(res_eca.items())[i][1].data[:]: module.layer2.3.bn2.num_batches_tracked
i:  144  1 list(res_eca.items())[i][1].data[:]: module.layer2.3.conv3.weight
i:  145  1 list(res_eca.items())[i][1].data[:]: module.layer2.3.bn3.weight
i:  146  1 list(res_eca.items())[i][1].data[:]: module.layer2.3.bn3.bias
i:  147  1 list(res_eca.items())[i][1].data[:]: module.layer2.3.bn3.running_mean
i:  148  1 list(res_eca.items())[i][1].data[:]: module.layer2.3.bn3.running_var
i:  149  1 list(res_eca.items())[i][1].data[:]: module.layer2.3.bn3.num_batches_tracked
i:  150  1 list(res_eca.items())[i][1].data[:]: module.layer2.3.eca.conv.weight
i:  151  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.conv1.weight
i:  152  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.bn1.weight
i:  153  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.bn1.bias
i:  154  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.bn1.running_mean
i:  155  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.bn1.running_var
i:  156  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.bn1.num_batches_tracked
i:  157  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.conv2.weight
i:  158  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.bn2.weight
i:  159  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.bn2.bias
i:  160  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.bn2.running_mean
i:  161  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.bn2.running_var
i:  162  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.bn2.num_batches_tracked
i:  163  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.conv3.weight
i:  164  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.bn3.weight
i:  165  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.bn3.bias
i:  166  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.bn3.running_mean
i:  167  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.bn3.running_var
i:  168  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.bn3.num_batches_tracked
i:  169  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.eca.conv.weight
i:  170  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.downsample.0.weight
i:  171  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.downsample.1.weight
i:  172  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.downsample.1.bias
i:  173  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.downsample.1.running_mean
i:  174  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.downsample.1.running_var
i:  175  1 list(res_eca.items())[i][1].data[:]: module.layer3.0.downsample.1.num_batches_tracked
i:  176  1 list(res_eca.items())[i][1].data[:]: module.layer3.1.conv1.weight
i:  177  1 list(res_eca.items())[i][1].data[:]: module.layer3.1.bn1.weight
i:  178  1 list(res_eca.items())[i][1].data[:]: module.layer3.1.bn1.bias
i:  179  1 list(res_eca.items())[i][1].data[:]: module.layer3.1.bn1.running_mean
i:  180  1 list(res_eca.items())[i][1].data[:]: module.layer3.1.bn1.running_var
i:  181  1 list(res_eca.items())[i][1].data[:]: module.layer3.1.bn1.num_batches_tracked
i:  182  1 list(res_eca.items())[i][1].data[:]: module.layer3.1.conv2.weight
i:  183  1 list(res_eca.items())[i][1].data[:]: module.layer3.1.bn2.weight
i:  184  1 list(res_eca.items())[i][1].data[:]: module.layer3.1.bn2.bias
i:  185  1 list(res_eca.items())[i][1].data[:]: module.layer3.1.bn2.running_mean
i:  186  1 list(res_eca.items())[i][1].data[:]: module.layer3.1.bn2.running_var
i:  187  1 list(res_eca.items())[i][1].data[:]: module.layer3.1.bn2.num_batches_tracked
i:  188  1 list(res_eca.items())[i][1].data[:]: module.layer3.1.conv3.weight
i:  189  1 list(res_eca.items())[i][1].data[:]: module.layer3.1.bn3.weight
i:  190  1 list(res_eca.items())[i][1].data[:]: module.layer3.1.bn3.bias
i:  191  1 list(res_eca.items())[i][1].data[:]: module.layer3.1.bn3.running_mean
i:  192  1 list(res_eca.items())[i][1].data[:]: module.layer3.1.bn3.running_var
i:  193  1 list(res_eca.items())[i][1].data[:]: module.layer3.1.bn3.num_batches_tracked
i:  194  1 list(res_eca.items())[i][1].data[:]: module.layer3.1.eca.conv.weight
i:  195  1 list(res_eca.items())[i][1].data[:]: module.layer3.2.conv1.weight
i:  196  1 list(res_eca.items())[i][1].data[:]: module.layer3.2.bn1.weight
i:  197  1 list(res_eca.items())[i][1].data[:]: module.layer3.2.bn1.bias
i:  198  1 list(res_eca.items())[i][1].data[:]: module.layer3.2.bn1.running_mean
i:  199  1 list(res_eca.items())[i][1].data[:]: module.layer3.2.bn1.running_var
i:  200  1 list(res_eca.items())[i][1].data[:]: module.layer3.2.bn1.num_batches_tracked
i:  201  1 list(res_eca.items())[i][1].data[:]: module.layer3.2.conv2.weight
i:  202  1 list(res_eca.items())[i][1].data[:]: module.layer3.2.bn2.weight
i:  203  1 list(res_eca.items())[i][1].data[:]: module.layer3.2.bn2.bias
i:  204  1 list(res_eca.items())[i][1].data[:]: module.layer3.2.bn2.running_mean
i:  205  1 list(res_eca.items())[i][1].data[:]: module.layer3.2.bn2.running_var
i:  206  1 list(res_eca.items())[i][1].data[:]: module.layer3.2.bn2.num_batches_tracked
i:  207  1 list(res_eca.items())[i][1].data[:]: module.layer3.2.conv3.weight
i:  208  1 list(res_eca.items())[i][1].data[:]: module.layer3.2.bn3.weight
i:  209  1 list(res_eca.items())[i][1].data[:]: module.layer3.2.bn3.bias
i:  210  1 list(res_eca.items())[i][1].data[:]: module.layer3.2.bn3.running_mean
i:  211  1 list(res_eca.items())[i][1].data[:]: module.layer3.2.bn3.running_var
i:  212  1 list(res_eca.items())[i][1].data[:]: module.layer3.2.bn3.num_batches_tracked
i:  213  1 list(res_eca.items())[i][1].data[:]: module.layer3.2.eca.conv.weight
i:  214  1 list(res_eca.items())[i][1].data[:]: module.layer3.3.conv1.weight
i:  215  1 list(res_eca.items())[i][1].data[:]: module.layer3.3.bn1.weight
i:  216  1 list(res_eca.items())[i][1].data[:]: module.layer3.3.bn1.bias
i:  217  1 list(res_eca.items())[i][1].data[:]: module.layer3.3.bn1.running_mean
i:  218  1 list(res_eca.items())[i][1].data[:]: module.layer3.3.bn1.running_var
i:  219  1 list(res_eca.items())[i][1].data[:]: module.layer3.3.bn1.num_batches_tracked
i:  220  1 list(res_eca.items())[i][1].data[:]: module.layer3.3.conv2.weight
i:  221  1 list(res_eca.items())[i][1].data[:]: module.layer3.3.bn2.weight
i:  222  1 list(res_eca.items())[i][1].data[:]: module.layer3.3.bn2.bias
i:  223  1 list(res_eca.items())[i][1].data[:]: module.layer3.3.bn2.running_mean
i:  224  1 list(res_eca.items())[i][1].data[:]: module.layer3.3.bn2.running_var
i:  225  1 list(res_eca.items())[i][1].data[:]: module.layer3.3.bn2.num_batches_tracked
i:  226  1 list(res_eca.items())[i][1].data[:]: module.layer3.3.conv3.weight
i:  227  1 list(res_eca.items())[i][1].data[:]: module.layer3.3.bn3.weight
i:  228  1 list(res_eca.items())[i][1].data[:]: module.layer3.3.bn3.bias
i:  229  1 list(res_eca.items())[i][1].data[:]: module.layer3.3.bn3.running_mean
i:  230  1 list(res_eca.items())[i][1].data[:]: module.layer3.3.bn3.running_var
i:  231  1 list(res_eca.items())[i][1].data[:]: module.layer3.3.bn3.num_batches_tracked
i:  232  1 list(res_eca.items())[i][1].data[:]: module.layer3.3.eca.conv.weight
i:  233  1 list(res_eca.items())[i][1].data[:]: module.layer3.4.conv1.weight
i:  234  1 list(res_eca.items())[i][1].data[:]: module.layer3.4.bn1.weight
i:  235  1 list(res_eca.items())[i][1].data[:]: module.layer3.4.bn1.bias
i:  236  1 list(res_eca.items())[i][1].data[:]: module.layer3.4.bn1.running_mean
i:  237  1 list(res_eca.items())[i][1].data[:]: module.layer3.4.bn1.running_var
i:  238  1 list(res_eca.items())[i][1].data[:]: module.layer3.4.bn1.num_batches_tracked
i:  239  1 list(res_eca.items())[i][1].data[:]: module.layer3.4.conv2.weight
i:  240  1 list(res_eca.items())[i][1].data[:]: module.layer3.4.bn2.weight
i:  241  1 list(res_eca.items())[i][1].data[:]: module.layer3.4.bn2.bias
i:  242  1 list(res_eca.items())[i][1].data[:]: module.layer3.4.bn2.running_mean
i:  243  1 list(res_eca.items())[i][1].data[:]: module.layer3.4.bn2.running_var
i:  244  1 list(res_eca.items())[i][1].data[:]: module.layer3.4.bn2.num_batches_tracked
i:  245  1 list(res_eca.items())[i][1].data[:]: module.layer3.4.conv3.weight
i:  246  1 list(res_eca.items())[i][1].data[:]: module.layer3.4.bn3.weight
i:  247  1 list(res_eca.items())[i][1].data[:]: module.layer3.4.bn3.bias
i:  248  1 list(res_eca.items())[i][1].data[:]: module.layer3.4.bn3.running_mean
i:  249  1 list(res_eca.items())[i][1].data[:]: module.layer3.4.bn3.running_var
i:  250  1 list(res_eca.items())[i][1].data[:]: module.layer3.4.bn3.num_batches_tracked
i:  251  1 list(res_eca.items())[i][1].data[:]: module.layer3.4.eca.conv.weight
i:  252  1 list(res_eca.items())[i][1].data[:]: module.layer3.5.conv1.weight
i:  253  1 list(res_eca.items())[i][1].data[:]: module.layer3.5.bn1.weight
i:  254  1 list(res_eca.items())[i][1].data[:]: module.layer3.5.bn1.bias
i:  255  1 list(res_eca.items())[i][1].data[:]: module.layer3.5.bn1.running_mean
i:  256  1 list(res_eca.items())[i][1].data[:]: module.layer3.5.bn1.running_var
i:  257  1 list(res_eca.items())[i][1].data[:]: module.layer3.5.bn1.num_batches_tracked
i:  258  1 list(res_eca.items())[i][1].data[:]: module.layer3.5.conv2.weight
i:  259  1 list(res_eca.items())[i][1].data[:]: module.layer3.5.bn2.weight
i:  260  1 list(res_eca.items())[i][1].data[:]: module.layer3.5.bn2.bias
i:  261  1 list(res_eca.items())[i][1].data[:]: module.layer3.5.bn2.running_mean
i:  262  1 list(res_eca.items())[i][1].data[:]: module.layer3.5.bn2.running_var
i:  263  1 list(res_eca.items())[i][1].data[:]: module.layer3.5.bn2.num_batches_tracked
i:  264  1 list(res_eca.items())[i][1].data[:]: module.layer3.5.conv3.weight
i:  265  1 list(res_eca.items())[i][1].data[:]: module.layer3.5.bn3.weight
i:  266  1 list(res_eca.items())[i][1].data[:]: module.layer3.5.bn3.bias
i:  267  1 list(res_eca.items())[i][1].data[:]: module.layer3.5.bn3.running_mean
i:  268  1 list(res_eca.items())[i][1].data[:]: module.layer3.5.bn3.running_var
i:  269  1 list(res_eca.items())[i][1].data[:]: module.layer3.5.bn3.num_batches_tracked
i:  270  1 list(res_eca.items())[i][1].data[:]: module.layer3.5.eca.conv.weight
i:  271  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.conv1.weight
i:  272  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.bn1.weight
i:  273  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.bn1.bias
i:  274  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.bn1.running_mean
i:  275  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.bn1.running_var
i:  276  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.bn1.num_batches_tracked
i:  277  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.conv2.weight
i:  278  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.bn2.weight
i:  279  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.bn2.bias
i:  280  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.bn2.running_mean
i:  281  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.bn2.running_var
i:  282  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.bn2.num_batches_tracked
i:  283  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.conv3.weight
i:  284  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.bn3.weight
i:  285  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.bn3.bias
i:  286  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.bn3.running_mean
i:  287  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.bn3.running_var
i:  288  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.bn3.num_batches_tracked
i:  289  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.eca.conv.weight
i:  290  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.downsample.0.weight
i:  291  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.downsample.1.weight
i:  292  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.downsample.1.bias
i:  293  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.downsample.1.running_mean
i:  294  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.downsample.1.running_var
i:  295  1 list(res_eca.items())[i][1].data[:]: module.layer4.0.downsample.1.num_batches_tracked
i:  296  1 list(res_eca.items())[i][1].data[:]: module.layer4.1.conv1.weight
i:  297  1 list(res_eca.items())[i][1].data[:]: module.layer4.1.bn1.weight
i:  298  1 list(res_eca.items())[i][1].data[:]: module.layer4.1.bn1.bias
i:  299  1 list(res_eca.items())[i][1].data[:]: module.layer4.1.bn1.running_mean
i:  300  1 list(res_eca.items())[i][1].data[:]: module.layer4.1.bn1.running_var
i:  301  1 list(res_eca.items())[i][1].data[:]: module.layer4.1.bn1.num_batches_tracked
i:  302  1 list(res_eca.items())[i][1].data[:]: module.layer4.1.conv2.weight
i:  303  1 list(res_eca.items())[i][1].data[:]: module.layer4.1.bn2.weight
i:  304  1 list(res_eca.items())[i][1].data[:]: module.layer4.1.bn2.bias
i:  305  1 list(res_eca.items())[i][1].data[:]: module.layer4.1.bn2.running_mean
i:  306  1 list(res_eca.items())[i][1].data[:]: module.layer4.1.bn2.running_var
i:  307  1 list(res_eca.items())[i][1].data[:]: module.layer4.1.bn2.num_batches_tracked
i:  308  1 list(res_eca.items())[i][1].data[:]: module.layer4.1.conv3.weight
i:  309  1 list(res_eca.items())[i][1].data[:]: module.layer4.1.bn3.weight
i:  310  1 list(res_eca.items())[i][1].data[:]: module.layer4.1.bn3.bias
i:  311  1 list(res_eca.items())[i][1].data[:]: module.layer4.1.bn3.running_mean
i:  312  1 list(res_eca.items())[i][1].data[:]: module.layer4.1.bn3.running_var
i:  313  1 list(res_eca.items())[i][1].data[:]: module.layer4.1.bn3.num_batches_tracked
i:  314  1 list(res_eca.items())[i][1].data[:]: module.layer4.1.eca.conv.weight
i:  315  1 list(res_eca.items())[i][1].data[:]: module.layer4.2.conv1.weight
i:  316  1 list(res_eca.items())[i][1].data[:]: module.layer4.2.bn1.weight
i:  317  1 list(res_eca.items())[i][1].data[:]: module.layer4.2.bn1.bias
i:  318  1 list(res_eca.items())[i][1].data[:]: module.layer4.2.bn1.running_mean
i:  319  1 list(res_eca.items())[i][1].data[:]: module.layer4.2.bn1.running_var
i:  320  1 list(res_eca.items())[i][1].data[:]: module.layer4.2.bn1.num_batches_tracked
i:  321  1 list(res_eca.items())[i][1].data[:]: module.layer4.2.conv2.weight
i:  322  1 list(res_eca.items())[i][1].data[:]: module.layer4.2.bn2.weight
i:  323  1 list(res_eca.items())[i][1].data[:]: module.layer4.2.bn2.bias
i:  324  1 list(res_eca.items())[i][1].data[:]: module.layer4.2.bn2.running_mean
i:  325  1 list(res_eca.items())[i][1].data[:]: module.layer4.2.bn2.running_var
i:  326  1 list(res_eca.items())[i][1].data[:]: module.layer4.2.bn2.num_batches_tracked
i:  327  1 list(res_eca.items())[i][1].data[:]: module.layer4.2.conv3.weight
i:  328  1 list(res_eca.items())[i][1].data[:]: module.layer4.2.bn3.weight
i:  329  1 list(res_eca.items())[i][1].data[:]: module.layer4.2.bn3.bias
i:  330  1 list(res_eca.items())[i][1].data[:]: module.layer4.2.bn3.running_mean
i:  331  1 list(res_eca.items())[i][1].data[:]: module.layer4.2.bn3.running_var
i:  332  1 list(res_eca.items())[i][1].data[:]: module.layer4.2.bn3.num_batches_tracked
i:  333  1 list(res_eca.items())[i][1].data[:]: module.layer4.2.eca.conv.weight
i:  334  1 list(res_eca.items())[i][1].data[:]: module.fc.weight
i:  335  1 list(res_eca.items())[i][1].data[:]: module.fc.bias

假如,你定义的层如下:

self.own_layer=nn.Sequential(nn.Conv2d(3, 64, kernel_size=7, stride=2, padding=3,bias=False),
                              nn.BatchNorm2d(64),
                              nn.ReLU(inplace=True))

可以看出own_laye与ECANet的定义是相同的,因此按如下方式将ECANet的参数加载进来:

for i in range(len(self.own_layer.state_dict().items())):
    if list(res_eca['state_dict'].items())[i][0].split('.')[-1]=='num_batches_tracked':
                continue
    #print('i: ',i,' 1 list(res_eca.items())[i][1].data[:]:',list(res_eca['state_dict'].items())[i][1].data[:])
    list(self.own_layer.state_dict().items())[i][1].data[:] = list(res_eca['state_dict'].items())[i][1].data[:]

因为own_layer仅包含conv1.weight,bn1.weight,bn1.bias,bn1.running_mean,bn1.running_var,bn1.num_batches_tracked这些层,因此仅加载res_eca的前5层。由于own_layer的num_batches_tracked的tensor为0,因此跳过该层,否则出错。解决方案参考:https://blog.csdn.net/qq_34132310/article/details/107384294。

假如你想加载ECANet的layer1的参数,那么就应该从第6个参数开始加载,如下:

for i in range(len(self.own_layer1.state_dict().items())):
    #print('i+6:',i+6)
    if list(res_eca['state_dict'].items())[i+6][0].split('.')[-1]=='num_batches_tracked':
        continue
    #print('i: ',i+6,' 1 list(res_eca.items())[i][1].data[:]:',list(res_eca['state_dict'].items())[i+6][1].data[:])
    list(self.own_layer1.state_dict().items())[i][1].data[:] = list(res_eca['state_dict'].items())[i+6][1].data[:]
    #print('i: ',i+6,' 2 list(self.own_layer1.state_dict().items())[i][1].data[:]:',list(self.own_layer1.state_dict().items())[i][1].data[:])

最后的两个print可以验证是否将res_eca的参数加载进我们定义的层。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值