在ubuntu中安装yolov11
时间: 2024-12-26 15:22:30 浏览: 5
### 安装YOLOv11于Ubuntu
#### 准备工作
为了成功在Ubuntu上安装并运行YOLOv11深度学习模型,需先确认已正确设置好Ubuntu环境。对于新用户而言,在开始之前应当确保已经按照指导完成了Ubuntu系统的初步配置[^3]。
#### Python与PyTorch环境搭建
考虑到YOLO系列算法依赖Python编程语言及其丰富的库支持,建议优先构建合适的开发环境。鉴于目标平台为CPU而非GPU,可依据提供的指南来完成PyTorch框架的安装操作[^2]。此过程中需要注意的是,由于选择了不带CUDA加速功能的版本,因此无需额外考虑NVIDIA GPU相关的驱动程序或工具包安装事宜。
```bash
# 更新软件源列表并升级现有包至最新版
sudo apt update && sudo apt upgrade -y
# 安装必要的依赖项
sudo apt install python3-pip virtualenv
# 创建一个新的虚拟环境用于隔离项目依赖关系
virtualenv venv_yolo --python=python3
# 激活该虚拟环境
source ./venv_yolo/bin/activate
# 使用pip命令根据官方文档指示安装特定版本的PyTorch CPU-only发行版
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu
```
#### 获取YOLOv11资源
目前关于YOLOv11的信息较为有限,因为这似乎是一个假设性的未来版本或者是表述错误(截至当前最新的公开版本为YOLOv8)。如果是基于开源社区发布的YOLO变种之一,则应访问对应的GitHub仓库或其他发布渠道获取详细的README.md文件中的说明以及预训练权重链接。
假定存在这样的版本并且遵循常规流程:
```bash
# 假设有一个git地址指向YOLOv11项目的主页
git clone [YOLOv11_GitHub_Repository_URL]
cd yolov11/
# 如果提供了setup.py脚本则可以执行下面这条指令来进行本地模块安装
pip install -e .
# 下载所需的预训练参数文件到指定目录下
wget [Pretrained_Model_Download_Link] -P models/
```
#### 验证安装成果
最后一步是要验证整个安装过程是否顺利完成。可以通过加载示例图片并通过调用检测函数观察输出结果的方式来检验YOLOv11能否正常运作。
```python
from pathlib import Path
import cv2
import torch
from models.experimental import attempt_load
from utils.general import non_max_suppression, scale_coords
from utils.datasets import letterbox
def detect(image_path='data/images/bus.jpg', weights='models/yolov11.pt'):
device = 'cpu'
model = attempt_load(weights, map_location=device)
img0 = cv2.imread(str(Path.cwd() / image_path))
img = letterbox(img0)[0]
img = img[:, :, ::-1].transpose(2, 0, 1) # BGR to RGB, HWC to CHW
img = torch.from_numpy(img).to(device)
img = img.float()
img /= 255.0
pred = model(img.unsqueeze(0), augment=False)[0]
det = non_max_suppression(pred, conf_thres=0.25, iou_thres=0.45)[0]
if det is not None and len(det):
det[:, :4] = scale_coords(img.shape[1:], det[:, :4], img0.shape).round()
for *xyxy, conf, cls in reversed(det):
label = f'{model.names[int(cls)]} {conf:.2f}'
plot_one_box(xyxy, img0, label=label, color=(0, 255, 0))
return img0
if __name__ == '__main__':
result_image = detect()
cv2.imshow('Detection Result', result_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文