基于深度学习的视觉检测小项目(二) 环境和框架搭建

一、环境和框架要求

SAM的环境要求:

        Python>=3.7

        PyTorch>=1.7        

        torchvision>=0.8

YOLO V8的环境要求:YOLO集成在ultralytics库中,ultralytics库的环境要求:

        Python>=3.7

        PyTorch>=1.10.0

1、确定pytorch版本:

        根据 PyTorch=1.10.0,在下面网页中搜索1.10.0:

        Previous PyTorch Versions | PyTorch

如果用上面的命令安装下载速度慢,可以换为国内源:

conda install -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cudatoolkit=11.3 -c pytorch -c conda-forge

 2、从上面同时得知cuda=11.3,

        从下面链接获取文件链接:

         CUDA Toolkit Archive | NVIDIA Developer

        获取到的文件链接:

        https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run

        然后在下面网页中搜索合适的CUDNN:

        cuDNN Archive | NVIDIA Developer

综合以上,需要安装的所有版本为: 

        cuda=11.3

        cudnn=8.2.0       

        Python=3.9

        PyTorch=1.10.0     

下载并安装以及创建conda环境,命名为yolo8(或者随便你喜欢)。 具体方法参见:人工智能学习用的电脑安装cuda、torch、conda等软件,版本的选择以及多版本切换_cuda版本要求-CSDN博客

安装完之后进入python,import torch,出现了错误提示:

A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. 

解决方法:

pip install numpy==1.26.0

 原因是numpy版本过高。

二、安装SAM

在yolo8的环境下安装SAM,方法见:使用sam进行零样本、零学习的分割实践-CSDN博客

三、安装ultralytics

在yolo8的环境下安装SAM:

pip install ultralytics

四、下载模型权重

1、打开链接:

GitCode -yolov8n权重的国内镜像

 获得的模型权重文件yolov8n.pt

2、随便下载一张图片:

将两个文件复制到同一个目录下。 

五、简单测试yolo

在上面两个文件所在的目录下,鼠标右键-->Open in Terminal:在打开的终端中输入:

conda activate yolo8
yolo predict model=yolov8n.pt source=car.png

yolo8是之前创建的环境名,yolov8n.pt是下载得到的模型权重,car.png是下载的图片名。

运行后:

打开预测结果所在的目录,看到:

 成功运行。

六、SQLite

        SQLite3 是 Python 标准库的一部分,自 Python 2.5 起就已经内置。直接在 Python 中使用 sqlite3 模块,无需额外安装。

七、PySide

        PySide6 是 Qt 框架的官方 Python 绑定,用于设计和构建界面。

        1、pyside

pip install PySide6 -i https://pypi.tuna.tsinghua.edu.cn/simple

        2、QtDesigner

        Qt Designer 是pyqt与pyside共用的图形界面工具。

sudo apt update
sudo apt install qttools5-dev-tools

        3、在pycharm中集成designer、uic、RCC外挂工具:

        pyuic 和 pyrcc 是 PySide6 提供的工具,pyuic用于将 Qt Designer 生成的 .ui 文件转换为 Python 代码,pyrcc将资源文件(如图标、图片等)转换为 Python 模块。

        打开pycharm,右上角齿轮=>settings=>tools=>External Tools=>加号,添加外挂工具:

        • designer:                

        Programs:这里是designer的安装位置,默认是/usr/bin/designer

        Woking drectory:$ProjectFileDir$

       • uic工具:        

        Programs:这里是uic的安装位置,默认在conda环境的/bin目录下

        Argments:实参,$FileName$ -o $FileNameWithoutExtension$.py,含义为将ui文件转为同名py文件

        Woking drectory:工作目录,$FileDir$,本文件同目录

        • RCC工具:        

        Programs:这里是uic的安装位置,默在conda环境的/bin目录下

        Argments:实参,$FileName$ -o $FileNameWithoutExtension$_rc.py,含义为将资源文件转为同名文件 + _rc.py

        Woking drectory:工作目录,$FileDir$,本文件同目录

设置完成后,鼠标右键就会多出来三个外挂工具:

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

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

相关文章

MySQL 06 章——多表查询

多表查询&#xff0c;也称为关联查询&#xff0c;是指两个表或多个表一起完成查询操作 前提条件&#xff0c;这些一起查询的表之间是有关系的&#xff08;一对一、一对多&#xff09;&#xff0c;它们之间一定是有关联字段的。这个关联字段可能建立了外键&#xff0c;也可能没…

ubuntu初始配置

ubuntu初始配置 vm下ubuntu安装vmtools安装常用工具ubuntu终端美化安装ssh使用apt安装时出现错误解决办法 vm下ubuntu安装vmtools //安装vmtools sudo apt-get install open-vm-tools //桌面组件提供了更好的集成体验&#xff0c;包括拖放文件和共享剪贴板等功能 sudo apt-get…

Web前端基础知识(五)

盒子模型 盒子模型是CSS中一种常用于布局的基本概念。描述了 文档中的每个元素都可以看成是一个矩形的盒子&#xff0c;包含了内容、内边距、文本边距、外边距。 ---------------------------------------------------------------------------------------------------------…

人工智能之机器学习算法

所有的机器学习算法都是要优化的&#xff0c;优化的必要条件是确定优化的目标函数(损失函数)&#xff0c;目标函数是根据实际问题(数据)转成的数学公式。 一.线性回归原理推导 &#xff08;1&#xff09;回归问题概述 在机器学习的有监督算法中&#xff0c;分类与回归二种情…

使用Clion在ubuntu上进行交叉编译,并在Linux上远程编译五子棋

目录 1.工具以及概念介绍 &#xff08;1&#xff09;Clion软件简介 &#xff08;2&#xff09;交叉编译 &#xff08;3&#xff09;远程编译 2.操作原理 3.详细操作步骤 &#xff08;1&#xff09;配置Clion与虚拟机ubuntu的ssh连接 CLion远程开发Ubuntu&#xff0c;并显…

前端访问一个图片URL时,浏览器默认会尝试下载文件而不是直接显示它

当你在前端访问一个图片URL时&#xff0c;浏览器默认会尝试下载文件而不是直接显示它&#xff0c;这通常是由于服务器设置了ContentDisposition: attachment头或者文件本身是一个压缩包或其他格式。为了支持在网页上预览图片&#xff0c;可以使用以下方法&#xff1a; 1. 检查服…

Java(四十四)file

Java中的file类:代表文件或者文件夹(目录)类,也就是说将文件或者文件夹通过File类来封装成对象。 一:常用的构造方法: 使用file类,需要通过构造方法创建一个file对象。 1:public File(String pathname) public static void main(String[] args) {File fl = new File(&…

我的博客年度之旅:感恩、成长与展望

目录 感恩有你 技能满点 新年新征程 嘿&#xff0c;各位技术大佬、数码潮咖还有屏幕前超爱学习的小伙伴们&#xff01;当新年的钟声即将敲响&#xff0c;我们站在时光的交汇点上&#xff0c;回首过往&#xff0c;满心感慨&#xff1b;展望未来&#xff0c;豪情满怀。过去的这…

STM32-笔记22-sg90舵机

一、接线 二、实验实现 动手让 SG90 每秒转动一下&#xff0c;0 -> 20 -> 40 -> 100 -> 180 如此循环。 舵机接A6 复制18-呼吸灯&#xff0c;重命名24-sg90舵机 把PWM重命名sg90 打开项目文件 在魔术棒和品上把PWM都去掉&#xff0c;加载sg90文件夹 加载之后…

【SQL】进阶知识 -- 随机取数的几种方式

在很多数据库开发和数据分析中&#xff0c;我们经常需要从大量数据中随机抽取一定数量的记录。比如&#xff0c;从一个客户表中随机选取4个客户进行抽奖&#xff0c;或者在进行数据分析时&#xff0c;想随机挑选几条数据进行查看。那么&#xff0c;如何在不同的数据库系统中实现…

MarkDown 的 mermaid gantt(甘特图)、mermaid sequenceDiagram (流程图) 语法解析和应用

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 MarkDown 的 mermaid gantt、mermaid sequenceDiagram 语法解析和应用前言mermaid gan…

GO:复用对象和协程资源

避免频繁分配相同类型临时对象的开销 问题 &#xff1a; 不停地创建临时对象&#xff0c;Golang 运行时的哪些操作会消耗 CPU 资源&#xff1f; 1. 首先是内存分配。我们不停地创建对象时&#xff0c;就得不断地在堆里面找空闲的内存块&#xff0c;然后进行分配。这就像是在一个…

大模型理解力探讨:LeCun认为,大模型(LLM)并不真正理解这个世界,尤其是物理世界,它们只是“本能般地吐出一个又一个单词”。而Hinton则持相反观点。

大模型理解力探讨&#xff1a;从LeCun与Hinton的观点看LLM的“理解”本质 关键词&#xff1a; #大模型理解力 Large Model Understanding #LLM Large Language Model #特征交互 Feature Interaction #视频学习 Video Learning #语言学习 Language Learning 具体实例与推演 考…

Pygame - 俄罗斯方块游戏开发教程

本教程将带你一步步制作一个简单的俄罗斯方块游戏&#xff0c;使用Python和pygame库。我们将逐步了解如何创建游戏窗口、实现方块控制、碰撞检测、行消除、计分等功能&#xff0c;最后完成一个基本的俄罗斯方块游戏。 1. 准备工作 首先&#xff0c;你需要确保已安装pygame库。…

Docker图形化界面工具Portainer最佳实践

前言 安装Portainer 实践-基于Portainer安装redis-sentinel部署 Spring Boot集成Redis Sentinel 前言 本篇文章笔者推荐一个笔者最常用的docker图形化管理工具——Portainer。 安装Portainer 编写docker-compose文件 Portainer部署的步骤比较简单&#xff0c;我们还是以…

【Python】基于blind-watermark库添加图片盲水印

blind-watermark 是一个用于在图像中添加和提取盲水印的 Python 库。盲水印是一种嵌入信息&#xff08;如水印&#xff09;到图像中的方法&#xff0c;使得水印在视觉上不可见&#xff0c;但在需要时可以通过特定的算法进行提取。以下是如何使用 blind-watermark 库来添加和提取…

OCR图片中文字识别(Tess4j)

文章目录 Tess4J下载 tessdataJava 使用Tess4j 的 demo Tess4J Tess4J 是 Tesseract OCR 引擎的 Java 封装库&#xff0c;它让 Java 项目更轻松地实现 OCR&#xff08;光学字符识别&#xff09;功能。 下载 tessdata 下载地址&#xff1a;https://github.com/tesseract-ocr/…

默认ip无法访问,利用dhcp功能获取ip进行访问的方法

应用场景&#xff1a; ac的默认ip如192.168.1.1在pc与ac的eth2以后网口直连无法ping通&#xff0c;而且pc改为dhcp自动获取ip也获取不到ip地址&#xff0c;无法进行web配置和命令行操作。 原因是ac或其他设备被修改了默认ip或者端口vlanid&#xff0c;现在的端口vlan对应子接…

Unity3D 基于GraphView实现的节点编辑器框架详解

前言 在Unity3D游戏开发中&#xff0c;节点编辑器是一种强大的工具&#xff0c;它允许开发者以可视化的方式创建和编辑复杂的逻辑和流程。Unity提供了一个强大的UI工具包——GraphView&#xff0c;它使得创建自定义节点编辑器变得相对简单。本文将详细介绍如何使用GraphView实…