Orderdict的两种定义方式 python3.6 && python2.7

python 2.7

        block0 = OrderedDict([('conv1_1', [3, 64, 3, 1, 1]),
                  ('conv1_2',[64, 64, 3, 1, 1]),
                  ('pool1_stage1', [2, 2, 0]),
                  ('conv2_1', [64, 128, 3, 1, 1]),
                  ('conv2_2', [128, 128, 3, 1, 1]),
                  ('pool2_stage1', [2, 2, 0]),
                  ('conv3_1', [128, 256, 3, 1, 1]),
                  ('conv3_2', [256, 256, 3, 1, 1]),
                  ('conv3_3', [256, 256, 3, 1, 1]),
                  ('conv3_4', [256, 256, 3, 1, 1]),
                  ('pool3_stage1', [2, 2, 0]),
                  ('conv4_1', [256, 512, 3, 1, 1]),
                  ('conv4_2', [512, 512, 3, 1, 1]),
                  ('conv4_3_CPM', [512, 256, 3, 1, 1]),
                  ('conv4_4_CPM', [256, 128, 3, 1, 1])])

应用于python3.6的这种定义方式不可以用于低于3.6版本的其他python版本,否则orderdict根本不起作用

python 3.6

        block0 = OrderedDict({'conv1_1': [3, 64, 3, 1, 1],
                  'conv1_2': [64, 64, 3, 1, 1],
                  'pool1_stage1': [2, 2, 0],
                  'conv2_1': [64, 128, 3, 1, 1],
                  'conv2_2': [128, 128, 3, 1, 1],
                  'pool2_stage1': [2, 2, 0],
                  'conv3_1': [128, 256, 3, 1, 1],
                  'conv3_2': [256, 256, 3, 1, 1],
                  'conv3_3': [256, 256, 3, 1, 1],
                  'conv3_4': [256, 256, 3, 1, 1],
                  'pool3_stage1': [2, 2, 0],
                  'conv4_1': [256, 512, 3, 1, 1],
                  'conv4_2': [512, 512, 3, 1, 1],
                  'conv4_3_CPM': [512, 256, 3, 1, 1],
                  'conv4_4_CPM': [256, 128, 3, 1, 1]})

你可能感兴趣的:(Orderdict的两种定义方式 python3.6 && python2.7)