对比实验系列:Efficientdet环境配置及训练个人数据集

一、源码下载

可以通过下方链接下载Efficientdet源码

GitHub - zylo117/Yet-Another-EfficientDet-Pytorch: The pytorch re-implement of the official efficientdet with SOTA performance in real time and pretrained weights.The pytorch re-implement of the official efficientdet with SOTA performance in real time and pretrained weights. - zylo117/Yet-Another-EfficientDet-Pytorchicon-default.png?t=N7T8https://github.com/zylo117/Yet-Another-EfficientDet-Pytorch/tree/master

二、环境配置

1、使用anaconda创建环境

conda create -n efficient python==3.8 -y

2、进入环境

conda activate efficient

3、安装依赖包

pip install pycocotools-windows numpy opencv-python tqdm tensorboard tensorboardX pyyaml webcolors

4、安装torch和torchvision

pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 -f https://download.pytorch.org/whl/torch_stable.html

5、测试配置

5.1预训练权重下载

在源码下载的地方将预训练权重下载下来,这里选择的是Efficientdet-D1版本的预训练权重

在根目录下创建weights文件夹,将预训练权重放在文件夹内

5.2修改参数

在efficientdet_test.py中修改测试图片路径和efficientdet的版本,这里我下的版本是D1,所以就要将compound_coef改为1,如果你下的是其他版本,就将compound_coef改成对应的版本数字。

测试图片官方已经放在test\img.png,修改完之后运行efficientdet_test.py,检测结果保存在test文件夹内。

至此,efficientdet的所有环境配置结束。

三、自己的数据集制作

由于efficientdet使用的是coco格式的数据集,需要将标签转为coco格式,如果使用labelme进行标注,可以直接在labelme中切换成json格式的标签,最后用脚本进行合并,本文介绍的是使用VOC格式(xml)如何转为coco格式数据集。

1、划分验证集和训练集

使用下面的脚本将训练集进行划分:

# 将标签格式为xml的数据集按照8:2的比例划分为训练集和验证集

import os
import shutil
import random
from tqdm import tqdm


def split_img(img_path, label_path, split_list):
    try:  # 创建数据集文件夹
        Data = 'yourdatasetsname'
        os.mkdir(Data)

        train_img_dir = Data + '/images/train'
        val_img_dir = Data + '/images/val'
        # test_img_dir = Data + '/images/test'

        train_label_dir = Data + '/labels/train'
        val_label_dir = Data + '/labels/val'
        # test_label_dir = Data + '/labels/test'

        # 创建文件夹
        os.makedirs(train_img_dir)
        os.makedirs(train_label_dir)
        os.makedirs(val_img_dir)
        os.makedirs(val_label_dir)
        # os.makedirs(test_img_dir)
        # os.makedirs(test_label_dir)

    except:
        print('文件目录已存在')

    train, val = split_list
    all_img = os.listdir(img_path)
    all_img_path = [os.path.join(img_path, img) for img in all_img]
 
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值