Ubuntu 24.04.2 LTS Python 人工智能Ai视觉模型

一、创建 Python 虚拟环境

bash 复制代码
# 更新软件包列表,确保你获取到最新版本的可用软件包
sudo apt update
​
# 安装用于创建 Python 3.10 虚拟环境(venv)的相关软件包
sudo apt install python3.10-venv -y
或
sudo apt install python3.12-venv -y
​
# 使用 Python 3 创建一个名为 "yolov8_env" 的虚拟环境
python3 -m venv yolov8_env
​
# 激活名为 "yolov8_env" 的虚拟环境,以便开始使用它
source yolov8_env/bin/activate
​
#查看python版本
python3 --version

二、安装必要依赖

bash 复制代码
# 安装 Python 的包管理工具 pip
sudo apt install -y python3-pip
​
# 升级 pip 到最新版本
pip install --upgrade pip
​
# 检查当前安装的 pip 版本
pip3 --version

三、 安装 YOLOv8 和 PyTorch(CPU 版)

bash 复制代码
# 安装 ultralytics 和 torch、torchvision 库(指定使用 CPU 版本的 PyTorch)
pip install ultralytics torch torchvision --index-url https://download.pytorch.org/whl/cpu
​
# 重新安装 torch 和 torchvision 库,确保它们已安装并且是 CPU 版本
pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu
​
# 单独安装 ultralytics 库
pip install ultralytics
​
# 使用 pip 列出已安装的 ultralytics 库,并检查其版本
pip list | grep ultralytics
​
# 使用 Python 检查 YOLOv8 是否成功安装
python -c "from ultralytics import YOLO; print('YOLOv8 安装成功')"
​

四、准备数据集

bash 复制代码
# 创建用于存放训练和验证数据的目录结构
mkdir -p datasets/images/train datasets/images/val datasets/labels/train datasets/labels/val
​
# 递归地列出 datasets 目录下的所有文件和子目录
ls -R datasets
​
# 显示 datasets 目录下的文件和文件夹结构,以树形图的方式展示
tree
datasets/
├── images/
│   ├── train/
│   └── val/
└── labels/
    ├── train/
    └── val/
    
#根目录创建1个文件夹(可自定义名称)
#下面创建再2个文件夹(images和labels)
# images和labels 下再分别创建2个文件夹(train和val)
# 井timages下的train和val 放入训练图片(png、jpg)# labels下的train和val 放入图片标注(txt)
​
#准备yaml文件
(yolov8_env) [root@adminis 16:52:08]# cat coco.yaml 
path: ./datasets            #数据集根目录
train: images/train         #训练图片路径
val: images/val             #验证集图片路径
nc: 3                       #类别数量
names: ['张飞','关羽','刘备']     #类别名称

五、开始训练模型

bash 复制代码
yolov8_env) [root@adminis 16:49:34]# cat 1.py 
​
from ultralytics import YOLO
import matplotlib.pyplot as plt
import os
​
# 强制设置字体(避免中文乱码)
plt.rcParams['font.family'] = 'WenQuanYi Zen Hei'
plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题
​
# 训练配置
model = YOLO('yolov8n.yaml')  # 使用模型定义文件
results = model.train(
    data='coco.yaml',
    epochs=200,
    imgsz=640,
    batch=8,  # CPU训练建议减小batch
    device='cpu',
    workers=4,  # 根据CPU核心数调整
    cache=True  # 启用数据缓存加速
)
​
# 训练结果可视化
plt.figure(figsize=(10, 6))
plt.text(0.5, 0.5, "YOLOv8 训练完成", 
         ha='center', 
         fontsize=20,
         fontweight='bold')
plt.axis('off')
plt.savefig('result.png', dpi=300, bbox_inches='tight')
print(f"训练完成!结果保存在: {os.path.abspath('result.png')}")

六、加载训练好的模型

bash 复制代码
yolov8_env) [root@adminis 16:52:14]# cat 2.py 
from ultralytics import YOLO
import os
​
# 加载训练好的模型(使用绝对路径)
model = YOLO('/root/YOLOV8/runs/detect/train/weights/best.pt')
​
# 目标检测
results = model.predict(
    source='/root/YOLOV8/三国1.wmv',  # 视频路径
    show=True,       # 实时显示检测结果
    save=True,       # 保存检测结果
    conf=0.5,        # 置信度阈值
    save_txt=True,   # 保存标签文件
    save_conf=True,  # 在标签中保存置信度
    project='/root/YOLOV8/runs/detect',  # 结果保存目录
    name='predict'   # 结果子目录名称
)
​
print(f"检测完成!结果保存在: {results[0].save_dir}")
​
#模型训练完毕自动保存到:\runs\detect\train2\weights
#best.pt 是训练好的最优模型(适用于最终应用)
#last.pt 是训练的最后一轮模型(适用于训练继续)

注意训练模型必须进入虚拟环境

bash 复制代码
#进入虚拟环境命令
source yolov8_env/bin/activate
相关推荐
CDYXY41 分钟前
2026年4月成都卡布灯箱源头口碑深度调研与避坑指南
大数据·人工智能
小真zzz6 小时前
2026年GEO监测工具深度横评:谁在AI时代守护品牌心智?
人工智能·百度·重构
ZFSS6 小时前
Localization Translate API 集成与使用指南
java·服务器·数据库·人工智能·mysql·ai编程
TechWayfarer6 小时前
查询IP所在地的3种方案:从API到离线库,风控场景怎么选?
开发语言·网络·python·网络协议·tcp/ip
天行健,君子而铎6 小时前
合规对标·低误报漏报·稳定运行——知源-AI数据分类分级系统金融行业解决方案
人工智能·金融·分类
视觉&物联智能6 小时前
【杂谈】-游戏生成数据:人工智能训练中极易被低估的核心资源
人工智能·游戏·ai·chatgpt·openai·agi·deepseek
程序员榴莲6 小时前
Python 单例模式
开发语言·python·单例模式
扫地的小何尚6 小时前
NVIDIA Vera Rubin 平台如何解决 Agentic AI 的 Scale-up 难题
大数据·人工智能·机器学习
hh.h.7 小时前
昇腾CANN ops-transformer 仓的 MC2 算子:MoE 模型的全到全通信
python·深度学习·transformer·cann
莞凰7 小时前
昇腾CANN的“灵脉根基“:Runtime仓库探秘
android·人工智能·transformer