当前位置: 首页 > web >正文

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

一、创建 Python 虚拟环境

# 更新软件包列表,确保你获取到最新版本的可用软件包
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

二、安装必要依赖

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

三、 安装 YOLOv8 和 PyTorch(CPU 版)

# 安装 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 安装成功')"
​

四、准备数据集

# 创建用于存放训练和验证数据的目录结构
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: ['张飞','关羽','刘备']     #类别名称

五、开始训练模型

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训练建议减小batchdevice='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')}")

六、加载训练好的模型

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 是训练的最后一轮模型(适用于训练继续)

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

#进入虚拟环境命令
source yolov8_env/bin/activate
http://www.xdnf.cn/news/14052.html

相关文章:

  • 使用php对navicat查看数据库密码?
  • 漏洞(网络空间安全真相)
  • 开源模型应用落地-工具使用篇-从零开始搭建Qdrant Web UI-可视化管理工具-Windows(十)
  • Linux 中 “/dev/null” 有什么作用 ?
  • OpenWrt:让OpenWrt支持USB声卡
  • 从喵喵喵到泄露Prompt:提示词注入攻击全解析
  • 【面板数据】中国与世界各国新能源汽车进出口数据-分类别与不分类别(2017-2024年)
  • UE5.5构建iOS失败但没有显式错误信息的问题
  • sharepoint 共享excel,如何实现某个 sheet 别人只读,但是另一个 sheet 可以编辑
  • 临时文件夹大量0字节xml问题排查
  • 在pyCharm中创建新的conda环境
  • 北斗导航 | 基于MATLAB的卫星导航单点定位算法(卡尔曼滤波增强)
  • 人工智能时代汽车营销如何创新突破?云徙科技汽车营销智能体助力车企立足数智化转型
  • Day53 Python打卡训练营
  • Github指南-Add .gitignore和Choose a license
  • 【C#】针对System.Drawing.Bitmap的压缩
  • python从环境变量和配置文件中获取配置参数
  • C#连接SQLServer数据库异常分析处理
  • 磁盘配额管理
  • django restframework 在serializer里 通过context设置session
  • HashMap vs LinkedHashMap
  • SpringMVC 常用注解及页面跳转方式(面试)
  • vue前端项目打包和部署
  • Vue3 + TypeScript 操作第三方库(Element Plus 的 ElTable)的内部属性
  • SQL Server 修改数据库名及物理数据文件名
  • 性能测试——搭建Prometheus+Grafana平台
  • linux学习慕课版 第一章 Linux 文件与目录学习笔记
  • Nginx 配置 HTTPS 与证书格式全解析:支持后端代理验证
  • 基于云计算的振动弦分析:谐波可视化与波动方程参数理解-AI云计算数值分析和代码验证
  • 计算机视觉之三维重建(深入浅出SfM与SLAM核心算法)—— 3. 单视几何