WSL-Ubuntu20.04训练环境配置

news2024/11/27 11:37:18

1.YOLOv8训练环境配置

        训练环境配置的话就仍然以YOLOv8为例,来说明如何配置深度学习训练环境。这部分内容比较简单,主要是安装miniAnaconda以及安装torch和torchvision.

        首先是miniAnaconda的安装(参考官网的教程Miniconda — Anaconda ),执行以下指令即可:

mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh

        然后初始化一下,重新打开后就直接是anaconda环境了.

~/miniconda3/bin/conda init bash

         最后利用anaconda创建YOLOv8训练环境,这里使用的环境是python-3.8,torch-1.13,torchvision-0.14,cuda版本也和WSL的cuda版本保持一致,选择11.6。下载链接:download.pytorch.org/whl/torch_stable.html,(注意:原本我这里安装版本是torch-1.12,torchvision-0.13,但是在验证的时候会报错,torch版本提升至1.13后又没有报错了,所以这里我就选择torch-1.13和torchvison-0.14)

         将下载好的torch和torchvision的whl文件拷贝到/home/download路径下(这里的图片版本是torch-1.12,torchvision-0.13,我没有更换,大家替换成自己对应版本就行).

        然后执行以下指令来完成v8环境配置。 

conda create -n v8_env python=3.8 -y
conda activate v8_env
pip install /home/download/torch-1.13.0+cu116-cp38-cp38-linux_x86_64.whl
pip install /home/download/torchvision-0.14.0+cu116-cp38-cp38-linux_x86_64.whl
pip install ultralytics

 2.YOLOv8训练环境验证

        先来看一下torch是否安装好,以及是否可以正常使用gpu,如果返回true和能调用gpu,说明torch安装好了,如下所示。

        接下来使用v8提供的预训练权重来预测下结果,看看v8的环境是否安装好。         先在链接(GitHub - ultralytics/ultralytics: NEW - YOLOv8 )中把YOLOv8源代码和目标检测的预训练权重下载下来,放到项目代码中,然后再使用下面指令就可以查看预测结果,同时判断自己的YOLOv8环境是否已经安装成功,其中path/to/best.pt替换成自己的路径。

        把ultralytics-main.zip这个压缩包放在/home路径下(放在哪里都行),解压缩ultralytics包.

        执行以下命令,其中bus.jpg,则可以打开链接bus.jpg自行下载,然后放在项目文件中,执行结果保存在runs/detect/predict中,同样可以直接在windows的wsl路径(\wsl.localhost\Ubuntu-2004\home\ultralytics-main\runs\detect\predict)下打开这个文件查看运行结果。 

yolo detect predict model=/home/ultralytics-main/yolov8n.pt source=/home/ultralytics-main/bus.jpg

3.YOLOv8训练自己的数据集 

        这一部分主要是使用vs-code远程连接WSL-ubuntu20.04,其他都可以直接参考在Windows环境下标注、训练、验证、预测及导出的步骤,可以直接参考这两篇公开的博客。

        LabelImg下载及目标检测数据标注

        YOLOv8的训练、验证、预测及导出[目标检测实践篇]

        此外,我在训练-验证的时候还遇到以下错误,nvrtc: error: invalid value for --gpu-architecture (-arch),参考了iassc gym nvrtc: error: invalid value for --gpu-architecture-CSDN博客,并没有解决问题,然后我更新torch版本为1.13,torchvison版本为0.14后,就可以正常训练了,理论上来说应该不会这样的,知道的朋友可以告诉一下。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1929595.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开发笔记 | 快速上手[法大大]电子合同SDK使用SpringBoot+JAVA

Springbootmavenjava 官方API文档 API - 法大大电子合同和电子签云平台 官方SDK下载 API - 法大大电子合同和电子签云平台 目录 目录 开发前准备 项目整合 功能1:查询文档模板列表 功能2:文档模板字段填充 开发前准备 1.点下方链接注册法大大测试环…

昇思25天学习打卡营第12天|munger85

基于MindSpore通过GPT实现情感分类 这个实现情感分类意思就是通过一些电影的数据最后知道他对于这个电影的评价,最后知道他对于这个电影的评价到底是好还是不好,零就是不好,一就是好。首先我们肯定是按安装这些依赖包了为了今天这个模型我们…

Postman、Apifox、Apipost用哪个?

Postman、Apifox、Apipost都是流行的API接口管理工具,它们各自具有不同的特点和优势,因此哪个更好用取决于具体的使用场景和需求。以下是对这三个工具的比较分析: 一、Postman 特点与优势: 支持多种请求方式:包括GE…

游戏分组(DFS)

游戏分组(DFS) 将10名参赛者根据其游戏水平评分分为实力尽量相近的两队。 深度优先搜索(DFS)是游戏分组中常用的一种算法思路。 DFS在解决特定类型的分组问题时,特别是需要遍历所有可能组合的情况,表现出了…

一文详解:医疗营销升级的智能解决方案

顺境是所有人的狂欢,逆境才是优秀者的天堂。淘金的时代过去了,未来是冶金的时代。 01、享受完改革开放40年的高速区间红利 企业正处于中速区间的全面竞争期 1978年,中国的GDP是3679亿。改革开放40多年,我们不断引进资本&#xf…

【嵌入式Linux】<总览> 网络编程(更新中)

文章目录 前言 一、网络知识概述 1. 网路结构分层 2. socket 3. IP地址 4. 端口号 5. 字节序 二、网络编程常用API 1. socket函数 2. bind函数 3. listen函数 4. accept函数 5. connect函数 6. read和recv函数 7. write和send函数 三、TCP编程 1. TCP介绍 2.…

Monaco 使用 DocumentFormattingEditProvider

文档格式化,是 VSCode 比较常用的功能,在文档上点击右键选择格式化文档。效果如下: 在 Monaco 通过 registerDocumentFormattingEditProvider 方法注册处理函数,实现 provider 方法。 provider 方法返回格式化好的代码。 TextE…

Android C++系列:Linux文件系统(二)

1. VFS虚拟文件系统 Linux支持各种各样的文件系统格式,如ext2、ext3、reiserfs、FAT、NTFS、iso9660 等等,不同的磁盘分区、光盘或其它存储设备都有不同的文件系统格式,然而这些文件系统 都可以mount到某个目录下,使我们看到一个…

Kafka(四) Consumer消费者

一,基础知识 1,消费者与消费组 每个消费者都有对应的消费组,不同消费组之间互不影响。 Partition的消息只能被一个消费组中的一个消费者所消费, 但Partition也可能被再平衡分配给新的消费者。 一个Topic的不同Partition会根据分配…

【C#】部分国家/语言,string字符串转decimal、float时,小数点解析异常、小数点丢失、小数点被忽略

现象: 部分国家地区,字符串转小数后,小数点丢失,比如:输入"12.34",输出1234,而非12.34。 部分相关函数decimal.Parse、decimal.TryParse、float.Parse、float.TryParse 原因&…

【Linux】常用命令总结(updating)

1.date2.du(disk use)3.df(disk free)4.find5.crontab6.netstat shell命令可以使用man查看命令文档说明,说明界面中可通过b(backward)向上翻页,f(forward)向下翻页,g(go to)跳到说明首页&#x…

【问题记录】Docker配置mongodb副本集实现数据流实时获取

配置mongodb副本集实现数据流实时获取 前言操作步骤1. docker拉取mongodb镜像2. 连接mongo1镜像的mongosh3. 在mongosh中初始化副本集 注意点 前言 由于想用nodejs实现实时获取Mongodb数据流,但是报错显示需要有副本集的mongodb才能实现实时获取信息流,…

springboot老年慢性病药物管理系统-计算机毕业设计源码70568

目录 摘要 Abstract 第一章 绪论 1.1 选题背景及意义 1.2 国内外研究现状 1.3 研究方法 第二章 相关技术介绍 2.1 MySQL简介 2.2 Java编程语言 2.3 B/S模式 2.4 springboot框架 第三章 老年慢性病药物管理系统 系统分析 3.1 系统目标 3.2 系统可行性分析 3.2.1 技…

【linux】服务器ubuntu安装cuda11.0、cuDNN教程,简单易懂,包教包会

【linux】服务器ubuntu安装cuda11.0、cuDNN教程,简单易懂,包教包会 【创作不易,求点赞关注收藏】 文章目录 【linux】服务器ubuntu安装cuda11.0、cuDNN教程,简单易懂,包教包会一、版本情况介绍二、安装cuda1、到官网…

Java面试八股之Redis哨兵机制

Redis哨兵机制 Redis Sentinel(哨兵)模式是一种高可用解决方案,用于监控和自动故障转移Redis主从集群。以下是对哨兵模式详细过程的描述: 1. 初始化与配置 部署哨兵节点:在不同的服务器上部署一个或多个Redis Sentin…

链表题目专题

19. 删除链表的倒数第 N 个结点 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 非递归解决 这题让删除链表的倒数第n个节点,首先最容易想到的就是先求出链表的长度length,然后就可以找到要删除链表的前一个结…

Hyper-v创建二代虚拟机无法进入bios问题解决

首先要确定从dvd驱动在上面,如果不在则把它向上移动然后保存。 启动虚拟机会进入下面界面 然后点下最左边的按钮然后疯狂点击f2(有的电脑是fnf2) 就可以顺利进入bios引导界面。

手机拯救计划:掌握3个技巧,轻松找回通讯录联系人号码

手机通讯录是我们的“社交地图”,一旦失去联系,就仿佛置身于茫茫人海中,不知所措。而安卓手机用户们,更是对通讯录的依赖达到了前所未有的高度,当发现它们丢失了,很容易产生焦虑情绪。别急,通过…

ARM架构(一)—— ARMV8V9基础概念

目录 1.ARMCore的时间线2.ARM术语小结2.1 A64和arrch642.2ARM架构现在的5个系列2.3 微架构2.4 PE2.5 Banked2.6 ARM文档术语2.7 IMPLEMENTATION DEFINFD 和 DEPRECATED2.8 EL1t和EL1h 3 ARMv7的软件架构4 安全状态切换模型4.1 Secure state和Non-secure state介绍 5 Interproce…

数据类型与结构设计:Rust 语言的深度探索

数据类型与结构设计:Rust 语言的深度探索 引言:数据与结构的精妙交响Rust 数据类型概览:坚实的基础数据类型详解基本数据类型:构建程序的原子单元复合数据类型:构建复杂数据结构的积木与结构体和枚举的结合 结构体与枚…