官方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
暂无评论