目录
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训练验证推理教程!一看就会!_哔哩哔哩_bilibili
加油!!!每天学会一点点!!!!!