一、代码运行
1.分类任务
1.1训练
python train.py --batch_size=8
显卡显存太小,只能跑batch size为8的,训练250个epoch。
1.2测试
python evaluate.py --visu
结果:
eval mean loss: 0.488872
eval accuracy: 0.878444
eval avg class acc: 0.851238
airplane: 0.980
bathtub: 0.860
bed: 0.950
bench: 0.700
bookshelf: 0.900
bottle: 0.950
bowl: 0.950
car: 1.000
chair: 0.970
cone: 0.900
cup: 0.650
curtain: 0.800
desk: 0.791
door: 0.850
dresser: 0.651
flower_pot: 0.200
glass_box: 0.950
guitar: 1.000
keyboard: 1.000
lamp: 0.950
laptop: 1.000
mantel: 0.950
monitor: 0.940
night_stand: 0.698
person: 0.950
piano: 0.860
plant: 0.780
radio: 0.800
range_hood: 0.910
sink: 0.750
sofa: 0.960
stairs: 0.850
stool: 0.800
table: 0.810
tent: 0.950
toilet: 0.960
tv_stand: 0.820
vase: 0.810
wardrobe: 0.650
xbox: 0.800
论文中的结果是:86.2/89.2,相比论文中差了一些,可能是batch size的问题。
2. part segmentation
代码在part_seg下,进去sh download_data.sh
下载数据集,然后运行trian.py
训练,test.py
测试。分割任务的显存占用更高,我只能跑batchsize=4的…。最终模型的结果比论文里也低了接近两个点(0.8197/0.837)。
Accuracy: 0.923867
IoU: 0.819725
02691156 Total Number: 341
02691156 Accuracy: 0.9096132876935942
02691156 IoU: 0.8228572722404234
02773838 Total Number: 14
02773838 Ac