YOLOX安装及训练

官方git:https://github.com/Megvii-BaseDetection/YOLOX.git

步骤基本是按官方说明进行的。

cuda10.2

1.创建虚拟环境:conda create -n yolox python=3.7

2.安装torch(先进入yolox环境:conda activate yolox)

pip install torch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2

3.安装YOLOX

git clone git@github.com:Megvii-BaseDetection/YOLOX.git
cd YOLOX
pip install -U pip && pip install -r requirements.txt
pip install -v -e .  # or  python setup.py develop

4.安装apex

git clone https://github.com/NVIDIA/apex
cd apex
pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./

5.安装pycocotools

pip install cython; pip install 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'

或者直接安装
pip install cython; pip install pycocotools

6.准备自己的数据集(我自己用的是640*640大小的图,coco格式)

7.训练数据

(先在YOLOX/yolox/exp/yolox_base.py 文件中修改类别,图像大小等配置信息)

 tools/train.py -n yolox-s -d 1 -b 6 --fp16 -o

8.训练报错:

AssertionError: Caught AssertionError in DataLoader worker process 0.
Original Traceback (most recent call last):

File "/home/lijq/deeplearn/YOLOX/yolox/data/datasets/mosaicdetection.py", line 91, in getitem
img, _labels, _, _ = self._dataset.pull_item(index)
File "/home/ll/deeplearn/YOLOX/yolox/data/datasets/coco.py", line 99, in pull_item
assert img is not None

修改:YOLOX/yolox/data/datasets/coco.py文件为:

def pull_item(self, index):
        id_ = self.ids[index]
        im_ann = self.coco.loadImgs(id_)[0]
        width = im_ann["width"]
        height = im_ann["height"]
        name_f = im_ann["file_name"]
        # load image and preprocess
        img_file = os.path.join(
        #self.data_dir, self.name, "{:012}".format(id_) + ".jpg"
        self.data_dir, self.name, "{}".format(name_f)
        )
        img = cv2.imread(img_file)

 9.训练正常后再验证阶段可能会报的错:ImportError: cannot import name '_C' from 'yolox' (/root/Desktop/YOLOX-main/yolox/__init__.py) 

解决方案:python setup.py develop

 10.训练和验证一切正常,结束。

版权声明:本文为CSDN博主「独鹿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lijjianqing/article/details/119027109

独鹿

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

YOLO-Fastest训练自己的数据

YOLO-Fastest训练自己的数据 继续yolo-fastest的学习,上一篇已经基本跑通了yolo-fastest,接下来开始训练,本次代码依旧是:https://github.c

Day 14 - 安装与执行 YOLO

Day 14 - 安装与执行 YOLO 在 介绍影像辨识的处理流程 - Day 10 有提到 YOLO 模型是由 Joseph Redmon 所提出,而到了 YOLOV4 后才换成另外一群人继续发展,