复现YOLOv8---方法2 setup.py:推荐

目录

1、新建虚拟环境

2、安装pytorch

3、安装环境

4、新建mian.py文件

5、运行main.py文件


1、新建虚拟环境

详情请见博客:Pytorch 安装(CPU)_pytorch cpu_zmysunshine的博客-CSDN博客

2、安装pytorch

在该虚拟环境下,输入下面命令安装pytorch:

pip install torch==1.12.0+cu116 torchvision==0.13.0+cu116 --extra-index-url https://download.pytorch.org/whl/cu116

需要耐心等待!!

 出现上述,则安装成功!!!

3、安装环境

在yolov8目录下,输入下面命令,安装yolov8环境:

python setup.py install

 setup.py 代码如下:

# Ultralytics YOLO 🚀, AGPL-3.0 license

import re
from pathlib import Path

from setuptools import setup

# Settings
FILE = Path(__file__).resolve()
PARENT = FILE.parent  # root directory
README = (PARENT / 'README.md').read_text(encoding='utf-8')


def get_version():
    """
    Retrieve the version number from the 'ultralytics/__init__.py' file.

    Returns:
        (str): The version number extracted from the '__version__' attribute in the 'ultralytics/__init__.py' file.
    """
    file = PARENT / 'ultralytics/__init__.py'
    return re.search(r'^__version__ = [\'"]([^\'"]*)[\'"]', file.read_text(encoding='utf-8'), re.M)[1]


def parse_requirements(file_path: Path):
    """
    Parse a requirements.txt file, ignoring lines that start with '#' and any text after '#'.

    Args:
        file_path (str | Path): Path to the requirements.txt file.

    Returns:
        (List[str]): List of parsed requirements.
    """

    requirements = []
    for line in Path(file_path).read_text().splitlines():
        line = line.strip()
        if line and not line.startswith('#'):
            requirements.append(line.split('#')[0].strip())  # ignore inline comments

    return requirements


setup(
    name='ultralytics',  # name of pypi package
    version=get_version(),  # version of pypi package
    python_requires='>=3.8',
    license='AGPL-3.0',
    description=('Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, '
                 'pose estimation and image classification.'),
    long_description=README,
    long_description_content_type='text/markdown',
    url='https://github.com/ultralytics/ultralytics',
    project_urls={
        'Bug Reports': 'https://github.com/ultralytics/ultralytics/issues',
        'Funding': 'https://ultralytics.com',
        'Source': 'https://github.com/ultralytics/ultralytics'},
    author='Ultralytics',
    author_email='hello@ultralytics.com',
    packages=['ultralytics'] + [str(x) for x in Path('ultralytics').rglob('*/') if x.is_dir() and '__' not in str(x)],
    package_data={
        '': ['*.yaml'],
        'ultralytics.assets': ['*.jpg']},
    include_package_data=True,
    install_requires=parse_requirements(PARENT / 'requirements.txt'),
    extras_require={
        'dev': [
            'ipython',
            'check-manifest',
            'pre-commit',
            'pytest',
            'pytest-cov',
            'coverage',
            'mkdocs-material',
            'mkdocstrings[python]',
            'mkdocs-redirects',  # for 301 redirects
            'mkdocs-ultralytics-plugin>=0.0.30',  # for meta descriptions and images, dates and authors
        ],
        'export': [
            'coremltools>=7.0',
            'openvino-dev>=2023.0',
            'tensorflow<=2.13.1',
            'tensorflowjs',  # automatically installs tensorflow
        ], },
    classifiers=[
        'Development Status :: 4 - Beta',
        'Intended Audience :: Developers',
        'Intended Audience :: Education',
        'Intended Audience :: Science/Research',
        'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.8',
        'Programming Language :: Python :: 3.9',
        'Programming Language :: Python :: 3.10',
        'Programming Language :: Python :: 3.11',
        'Topic :: Software Development',
        'Topic :: Scientific/Engineering',
        'Topic :: Scientific/Engineering :: Artificial Intelligence',
        'Topic :: Scientific/Engineering :: Image Recognition',
        'Operating System :: POSIX :: Linux',
        'Operating System :: MacOS',
        'Operating System :: Microsoft :: Windows', ],
    keywords='machine-learning, deep-learning, vision, ML, DL, AI, YOLO, YOLOv3, YOLOv5, YOLOv8, HUB, Ultralytics',
    entry_points={'console_scripts': ['yolo = ultralytics.cfg:entrypoint', 'ultralytics = ultralytics.cfg:entrypoint']})

 出现错误1:可能会出现的错误:若没出现这个错误,可跳过错误1!!!!!

 解决方法:重新上传一下代码。在运行python setup.py install 即可

出现错误2:pandas错误:

解决方法:pip install pandas

pip install pandas

出现错误3:scipy错误:

解决方法:

pip install scipy

 出现错误3:matplotlib版本与python3.8不匹配   

可能会出现的错误,若没出现,可直接跳过错误3!!!!!

解决方法:使用清华源安装matplotlib

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib

 此时,出现的错误都已经解决了!

每次改完错之后,都要重新运行setup.py

再次运行 python setup.py install

输出结果:Finished processing dependencies for ultralytics即安装成功!!!

4、新建mian.py文件

在环境安装成功之后,新建一个main.py文件,这个文件包含了训练、验证、推理

只运行这一个文件即可!非常方便!!!

代码如下:

from ultralytics import YOLO

if __name__ == '__main__':
    # Load a model
    #直接使用预训练模型创建模型
    # model = YOLO('yolov8n.pt')
    # model.train(**{'cfg':'ultralytics/cfg/default.yaml', 'data':'ultralytics/models/yolo/detect/mydata/traffic.yaml'}, epochs=10, imgsz=640, batch=32)
    
    # #使用yaml配置文件来创建模型,并导入预训练权重
    model = YOLO('ultralytics/cfg/models/v8/yolov8n.yaml')  # build a new model from YAML
    model.load('yolov8n.pt')
    model.train(**{'cfg':'ultralytics/cfg/default.yaml', 'data':'ultralytics/models/yolo/detect/mydata/traffic.yaml'}, epochs=10, imgsz=640, batch=32, name='train')  # name:是此次训练结果保存的文件夹   数据集是我自己的数据集 
                                                                                
    
# #     # 模型验证:用验证集
#     model = YOLO('runs/detect/train/weights/best.pt')
#     model.val(**{'data':'ultralytics/models/yolo/detect/mydata/traffic.yaml', 'name':'val', 'batch':32}) #模型验证用验证集
#     model.val(**{'data':'ultralytics/models/yolo/detect/mydata/traffic.yaml', 'split':'test', 'iou':0.9}) #模型验证用测试集
    
#     # 模型推理:
#     model = YOLO('runs/detect/train/weights/best.pt')
#     model.predict(source='ultralytics/assets', name='predict', **{'save':True})

5、运行main.py文件

输入下面命令:

CUDA_VISIBLE_DEVICES=0 python mian.py

 即复现成功!!!!

推荐博主:魔鬼面具

大家也可以去B站多多看看他的视频

会有不少收获!!!!

YOLOV8最强操作教程.-CSDN博客

最新~YOLOV8训练验证推理教程!一看就会!_哔哩哔哩_bilibili


 加油!!!每天学会一点点!!!!!

complex-yolov4-pytorch是一个基于PyTorch实现的复杂目标检测算法,其复现过程涉及到模型结构、参数设置以及训练测试流程等多个方面。 首先,复现complex-yolov4-pytorch需要详细了解论文中提出的模型结构和损失函数等细节,然后根据论文中的描述在PyTorch框架下构建模型,包括网络层的搭建、激活函数的选择等,并且要注意模型参数的初始化和正则化操作。 其次,对于训练数据的处理也是复现过程中的重要环节,需要根据论文中提供的数据集或自己的数据集进行预处理,包括数据增强、标签生成等操作,以及构建数据加载器并进行合适的数据分割。 接着,需要根据论文中给出的训练策略和超参数设置来实现模型的训练过程,包括学习率的调度、优化器的选择、损失函数的定义等,同时要注意在训练过程中记录和保存模型参数和训练日志。 最后,针对复现模型的性能进行评估和测试,可以使用论文中提出的评价指标来计算模型在测试集上的表现,并根据实际需求对模型进行调优和改进。 总之,复现complex-yolov4-pytorch是一个综合性的任务,需要对目标检测算法有深入的理解,并具备较高的PyTorch编程能力和实践经验。在复现过程中要注重细节,对比论文中的描述和代码实现进行验证,并根据实际情况进行适当的调整和优化,以获得更好的模型性能。
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zmysunshine

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值