https://github.com/Le0v1n/ml_code/tree/main/ObjectDetection/YOLOX
如果代码对你有用,请
star
一下❤️
weights
目录下python tools/demo.py image -n yolox-s -c ./weights/yolox_s.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device gpu
之后可以得到图片的结果。
执行的命令进行更改:
python tools/demo.py webcam -n yolox-s -c ./weights/yolox_s.pth --conf 0.25 --nms 0.45 --tsize 640 --device gpu
https://www.kaggle.com/datasets/andrewmvd/face-mask-detection
Annotations
JPEGImages
VOCdevkit/VOC2012
get_trainval_test_txt.py
文件夹└─VOCdevkit
├─VOC2012
├─Annotations
├─ImageSets
│ └─Main
└─JPEGImages
在yolox\yolox\exp\yolox_base.py
文件中修改!
训练命令:
python tools/train.py -f exps/example/yolox_voc/yolox_voc_s.py -b 8 --fp16 -expn maskdataset_pretrained -c weights/yolox_s.pth
其中:
-f
: 实验配置文件-b
: Batch Size--fp16
: 是否使用AMP-expn
: 本次训练的名称-c
: ckpt路径很明显模型并没有拟合,不想跑了😂
可以看到,添加预训练模型后,模型收敛的确快!
将yolox\yolox\models\network_blocks.py
中的attention
改为True
即可开启SE注意力,如下:
module_list = [
Bottleneck(
hidden_channels, hidden_channels, shortcut, 1.0, depthwise, act=act, attention=True
)
for _ in range(n)
]
由于100个Epoch使得模型欠拟合,所以添加了SE注意力只能有微小的提升,结果证明并不充分,有条件的可以多训练几次。