diff --git a/docs/zh_CN/PULC/PULC_vehicle_attribute.md b/docs/zh_CN/PULC/PULC_vehicle_attribute.md index 35b731f324236f4b9bcade4074c4a7afd21b9e8e..03f67321fd04e1e33be0f7829da8bfce1c2be0a8 100644 --- a/docs/zh_CN/PULC/PULC_vehicle_attribute.md +++ b/docs/zh_CN/PULC/PULC_vehicle_attribute.md @@ -58,7 +58,7 @@ 从表中可以看出,backbone 为 Res2Net200_vd_26w_4s 时精度较高,但是推理速度较慢。将 backbone 替换为轻量级模型 MobileNetV3_small_x0_35 后,速度可以大幅提升,但是精度下降明显。将 backbone 替换为 PPLCNet_x1_0 时,精度提升 2 个百分点,同时速度也提升 23% 左右。在此基础上,使用 SSLD 预训练模型后,在不改变推理速度的前提下,精度可以提升约 0.5 个百分点,进一步地,当融合EDA策略后,精度可以再提升 0.52 个百分点,最后,在使用 SKL-UGI 知识蒸馏后,精度可以继续提升 0.23 个百分点。此时,PPLCNet_x1_0 的精度与 Res2Net200_vd_26w_4s 仅相差 0.55 个百分点,但是速度快 32 倍。关于 PULC 的训练方法和推理部署方法将在下面详细介绍。 **备注:** - + * 延时是基于 Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz 测试得到,开启 MKLDNN 加速策略,线程数为10。 * 关于PP-LCNet的介绍可以参考[PP-LCNet介绍](../models/PP-LCNet.md),相关论文可以查阅[PP-LCNet paper](https://arxiv.org/abs/2109.15099)。 @@ -178,7 +178,7 @@ from xml.dom.minidom import parse vehicleids = [] -def convert_annotation(input_fp, output_fp): +def convert_annotation(input_fp, output_fp, subdir): in_file = open(input_fp) list_file = open(output_fp, 'w') tree = parse(in_file) @@ -201,12 +201,12 @@ def convert_annotation(input_fp, output_fp): typeid = int (item.getAttribute("typeID")) label[typeid+9] = '1' label = ','.join(label) - list_file.write(os.path.join('image_train', name) + "\t" + label + "\n") + list_file.write(os.path.join(subdir, name) + "\t" + label + "\n") list_file.close() -convert_annotation('train_label.xml', 'train_list.txt') #imagename vehiclenum colorid typeid -convert_annotation('test_label.xml', 'test_list.txt') +convert_annotation('train_label.xml', 'train_list.txt', 'image_train') #imagename vehiclenum colorid typeid +convert_annotation('test_label.xml', 'test_list.txt', 'image_test') ``` 执行上述命令后,`VeRi`目录中具有以下数据: