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

无anaconda搭建yolo11环境

1.下载python3.10

Python Releases for Windows | Python.org

Ctrl+R  cmd

cd到python下载目录下

下载pytorch

D:\app\python>pip install torch==2.0.0+cu118 torchvision==0.15.1+cu118 --extra-index-url https://download.pytorch.org/whl/cu118

pip install numpy==1.26.3

data

JPEGImages

labels

classes.txt

VOCdevkit

data.yaml

train: D:/app/yolo11/ultralytics-main/VOCdevkit/train/images  # train images (relative to 'path') 128 images
val: D:/app/yolo11/ultralytics-main/VOCdevkit/val/images  # val images (relative to 'path') 128 images
test: D:/app/yolo11/ultralytics-main/VOCdevkit/test/imagesnc: 2# Classes
names: ['hat','nohat']

data_divide.py

# 作者:CSDN-笑脸惹桃花 https://blog.csdn.net/qq_67105081?type=blog
# github:peng-xiaobai https://github.com/peng-xiaobai/Dataset-Conversion
import os
import shutil
import random# random.seed(0)  #随机种子,可自选开启
def split_data(file_path, label_path, new_file_path, train_rate, val_rate, test_rate):images = os.listdir(file_path)labels = os.listdir(label_path)images_no_ext = {os.path.splitext(image)[0]: image for image in images}labels_no_ext = {os.path.splitext(label)[0]: label for label in labels}matched_data = [(img, images_no_ext[img], labels_no_ext[img]) for img in images_no_ext if img in labels_no_ext]unmatched_images = [img for img in images_no_ext if img not in labels_no_ext]unmatched_labels = [label for label in labels_no_ext if label not in images_no_ext]if unmatched_images:print("未匹配的图片文件:")for img in unmatched_images:print(images_no_ext[img])if unmatched_labels:print("未匹配的标签文件:")for label in unmatched_labels:print(labels_no_ext[label])random.shuffle(matched_data)total = len(matched_data)train_data = matched_data[:int(train_rate * total)]val_data = matched_data[int(train_rate * total):int((train_rate + val_rate) * total)]test_data = matched_data[int((train_rate + val_rate) * total):]# 处理训练集for img_name, img_file, label_file in train_data:old_img_path = os.path.join(file_path, img_file)old_label_path = os.path.join(label_path, label_file)new_img_dir = os.path.join(new_file_path, 'train', 'images')new_label_dir = os.path.join(new_file_path, 'train', 'labels')os.makedirs(new_img_dir, exist_ok=True)os.makedirs(new_label_dir, exist_ok=True)shutil.copy(old_img_path, os.path.join(new_img_dir, img_file))shutil.copy(old_label_path, os.path.join(new_label_dir, label_file))# 处理验证集for img_name, img_file, label_file in val_data:old_img_path = os.path.join(file_path, img_file)old_label_path = os.path.join(label_path, label_file)new_img_dir = os.path.join(new_file_path, 'val', 'images')new_label_dir = os.path.join(new_file_path, 'val', 'labels')os.makedirs(new_img_dir, exist_ok=True)os.makedirs(new_label_dir, exist_ok=True)shutil.copy(old_img_path, os.path.join(new_img_dir, img_file))shutil.copy(old_label_path, os.path.join(new_label_dir, label_file))# 处理测试集for img_name, img_file, label_file in test_data:old_img_path = os.path.join(file_path, img_file)old_label_path = os.path.join(label_path, label_file)new_img_dir = os.path.join(new_file_path, 'test', 'images')new_label_dir = os.path.join(new_file_path, 'test', 'labels')os.makedirs(new_img_dir, exist_ok=True)os.makedirs(new_label_dir, exist_ok=True)shutil.copy(old_img_path, os.path.join(new_img_dir, img_file))shutil.copy(old_label_path, os.path.join(new_label_dir, label_file))print("数据集已划分完成")if __name__ == '__main__':file_path = r"D:\app\yolo11\ultralytics-main\data\JPEGImages"  # 图片文件夹label_path = r'D:\app\yolo11\ultralytics-main\data\labels'  # 标签文件夹new_file_path = r"D:\app\yolo11\ultralytics-main\VOCdevkit"  # 新数据存放位置split_data(file_path, label_path, new_file_path, train_rate=0.7, val_rate=0.15, test_rate=0.15)

yolov11_predict.py

import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO
if __name__ == '__main__':model = YOLO('D:/app/yolo11/ultralytics-main/ultralytics/cfg/models/11/yolo11n.yaml')model.load('D:/app/yolo11/ultralytics-main/yolo11n.pt')  #注释则不加载results = model.train(data='D:/app/yolo11/ultralytics-main/data.yaml',  #数据集配置文件的路径epochs=50,  #训练轮次总数batch=16,  #批量大小,即单次输入多少图片训练imgsz=640,  #训练图像尺寸workers=8,  #加载数据的工作线程数device= 0,  #指定训练的计算设备,无nvidia显卡则改为 'cpu'optimizer='SGD',  #训练使用优化器,可选 auto,SGD,Adam,AdamW 等amp= True,  #True 或者 False, 解释为:自动混合精度(AMP) 训练cache=False  # True 在内存中缓存数据集图像,服务器推荐开启
)

yolov11_train.py

from ultralytics import YOLO
# 加载训练好的模型,改为自己的路径
model = YOLO('D:/app/yolo11/ultralytics-main/runs/detect/train2/weights/best.pt')  #修改为训练好的路径
source = 'D:/app/yolo11/ultralytics-main/VOCdevkit/train/images/' #修改为自己的图片路径及文件名
# 运行推理,并附加参数
model.predict(source, save=True)

相关文章:

  • SpringBoot 连接达梦数据库 使用Mybatis-Plus操作数据 国产数据 连接配置 数据迁移 项目依赖
  • 【Linux 学习计划】-- 倒计时、进度条小程序
  • MySQL迁移SSL报错
  • VideoMAE论文笔记
  • 【sylar-webserver】10 HTTP模块
  • SSL/TLS证书申请与管理技术指南
  • LLM推理加速技术如何迁移到传统 Transformer 模型(ASR)
  • Ubuntu nginx 配置 SSL 证书支持 https 请求
  • 【2025-05-22】centos 离线安装兼容node和npm版本的pm2 和 yarn
  • 《深度掌控Linux:openEuler、CentOS、Debian、Ubuntu的全方位运维指南》
  • 【2025-05-22】XXL-JOB 的 8810 端口添加到 CentOS 6.5 的防火墙白名单
  • Dify-4:API 后端架构
  • 开源无界 智联欧陆——仓颉计划携手OpenHarmony共绘万物互联新图景
  • 将 Docker 镜像推送到 GitLab Container Registry 的完整步骤
  • Java 调用 GitLab API
  • OpenHarmony外设驱动使用 (十二),User_auth
  • ubuntu20.04vscode使用C++20(调整gcc版本vscode设置)
  • day 33简单的神经网络
  • GitLab 备份所有仓库(自动克隆)
  • Spring Boot 内置工具类汇总与讲解
  • 网站代运营性价比高/网站建设的重要性
  • 我的南京网站/厦门网站制作
  • 嘉定网站建设哪里好/整合营销传播的明显特征是
  • 做网站公众号要多少钱/搜索引擎优化的方法有哪些
  • 石家庄物流网站建设/快速排名教程
  • 网站建设如果没有源代码/海东地区谷歌seo网络优化