1.环境搭建
这一步已经有大佬搭好台子了,具体可以参照下面的链接进行配置
https://www.bilibili.com/video/av547066582/
2.配置文件
数据集
1.将准备好的COCO数据集放入主目录下的dataset文件夹中。
2.进入exps\example\yolox_voc,复制原有的yolox_voc_s.py文件,重命名为自己需要创建的文件名称。进入后结合1中视频的操作修改。
3.进入yolox\data\datasets目录下,编辑coco.py及coco_classes.py;
classes.py中把COCO_CLASSES修改为自己实际用的类别
coco.py中可能会报错,提示图片为空;调试发现生成的是id索引的文件名,而我这边是以实际文件名保存的,所以代码中需要把id替换为实际文件名去读取。
增加一行代码如下
def pull_item(self, index):
id_ = self.ids[index]
im_ann = self.coco.loadImgs(id_)[0]
width = im_ann["width"]
height = im_ann["height"]
file_name = im_ann["file_name"] # add this
# load image and preprocess
img_file = os.path.join(
self.data_dir, self.name, file_name
)
训练
激活虚拟空间后输入命令引入之前创建的配置文件既可,命令如下:
python tools\train.py -f exps\example\yolox_voc\yolox_coco_tiny.py -d 1 -b 16 --fp16 -c yolox_tiny.pth.tar
成功后即打印配置信息以及网络结构如下:
结尾
感谢旷视能开源这么棒的代码,调试错误也很直观能打印出来,怒赞~
有其他问题的小伙伴欢迎留言~