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

AI项目十:Swin Transformer目标检测环境搭建

若该文为原创文章,转载请注明原文出处。

Swin Transformer是做什么的这里不做介绍,主要是记录下学习的全过程,Swin Transformer在搭建和训练的过程中,折腾了很久,主要是在折腾环境。

一、AutoDL租用实例

个人没有GPU电脑,使用的是租的,平台是AutoDL。

GPU使的是RTX 2080Ti,一小时0.88元,整个过程大概3-5小时,很划算。

实例创建过程自行了解,创建后打开,界面如下:

二、环境搭建

1、创建虚拟机

conda create -n swin_env python=3.8

2、激活虚拟机

​​​​​​​conda activate swin_env

激活出错:IMPORTANT: You may need to close and restart your shell after running 'conda init'.

重新进入虚拟环境

source activate

3、CUDA和pytorch版本安装

根据文档,先查出对应版本

python -c 'import torch;print(torch.__version__);print(torch.version.cuda)'

根据CUDA版本安装pytorch,对应版本查询Previous PyTorch Versions | PyTorch

根据CUDA版本对应安装,我安装的是下面版本,安装过程比较久,耐心等待:

conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.1 -c pytorch

4、安装mmcv

git clone -b v1.4.0 https://github.com/open-mmlab/mmcv.git.
cd mmcv
MMCV_WITH_OPS=1 pip install -e .
pip list

5、安装mmdetection

git clone -b v2.25.0 https://github.com/open-mmlab/mmdetection.git
cd mmdetection
pip install -r requirements/build.txt
pip install -v -e . # or "python setup.py

根据测试,在运行时会出错,

这个原因是cython版本问题,所以需要降级:

pip install cython==0.29.36

降级后重新安装,运行正常。

6、安装apex

安装apex是个坑,在后面测试时,出错了AttributeError: module ‘torch.distributed’ has no attribute ‘_all_gather_base’这个错误,这个是错误是apex安装不对造成的,所以要安装对。

git clone https://github.com/NVIDIA/apex.git
cd apex
git checkout f3a960f80244cf9e80558ab30f7f7e8cbf03c0a0
python setup.py install
pip install -v --no-cache-dir ./

7、Swin-Transformer-Object-Detection下载

git clone https://github.com/SwinTransformer/Swin-Transformer-ObjectDetection.git
cd Swin-Transformer-Object-Detection
python setup.py develop 

安装一切都比较正常,接下来就是测试,测试需要预训练权重文件,所以先下载权重文件。

8、下载预训练权重文件

下载mask_rcnn_swin_tiny_patch4_window7_1x.pth权重文件,并放置在Swin-Transformer-ObjectDetection文件夹下

百度网盘下载链接:

链接:https://pan.baidu.com/s/1cO3ln3fokP3cazveC-bjuw 
提取码:uzzk 

下载后放在Swin-Transformer-Object-Detection目录下。

9、测试

直接在Swin-Transformer-Object-Detection目录下执行下面命令:

python demo/image_demo.py demo/demo.jpg configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_1x_coco.py mask_rcnn_swin_tiny_patch4_window7_1x.pth

在运行过程中,有报错:

1、报错 :AttributeError: module ‘torch.distributed’ has no attribute ‘_all_gather_base’

如果是根据上面的安装apex应该是不会出错的。

2、报错 :UserWarning: "ImageToTensor" pipeline is replaced by "DefaultFormatBundle" for batch inference. It is recommended to manually replace it in the test data pipeline in your config file.

处理:参考安装mmdetection进行测试不出图片和报错记录_"userwarning: "imagetotensor" pipeline is replac-CSDN博客

提示我们需要将pipline中的“ImgeToTensor”换成“DefaultFormatBundle”,文件夹指引configs——>base——>datasets——>coco_detection.py,按ctrl+F进行搜索“test_pipeline”,将transforms下的“ImageToTensor”改为“DefaultFormatBundle”,然后删除后面的 keys=[‘img’]。

这里有个需要注意的,使用的是ubuntu虚拟机,所以无法显示,所以修改了下代码,把结果保存下来。

# demo/image_demo.pyfrom argparse import ArgumentParserfrom mmdet.apis import inference_detector, init_detector, show_result_pyplotdef main():parser = ArgumentParser()parser.add_argument('img', help='Image file')parser.add_argument('config', help='Config file')parser.add_argument('checkpoint', help='Checkpoint file')parser.add_argument('--device', default='cuda:0', help='Device used for inference')parser.add_argument('--score-thr', type=float, default=0.3, help='bbox score threshold')args = parser.parse_args()# build the model from a config file and a checkpoint filemodel = init_detector(args.config, args.checkpoint, device=args.device)# test a single imageresult = inference_detector(model, args.img)# show the results#show_result_pyplot(model, args.img, result, score_thr=args.score_thr)model.show_result(args.img, result, out_file='result.jpg')if __name__ == '__main__':main()

运行后,有保存成result.jpg图片。

到此,环境搭建完成并实现了目标检测和分割。

如有侵权,或需要完整代码,请及时联系博主。

相关文章:

AI项目十:Swin Transformer目标检测环境搭建

若该文为原创文章,转载请注明原文出处。 Swin Transformer是做什么的这里不做介绍,主要是记录下学习的全过程,Swin Transformer在搭建和训练的过程中,折腾了很久,主要是在折腾环境。 一、AutoDL租用实例 个人没有GP…...

【IPC 通信】信号处理接口 Signal API(5)

收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。 kill(2) 遵循 POSIX.1 - 2008 1.库 …...

Arduino PLC IDE

Arduino PLC IDE MCU单片机进入全新的PLC领域概述需要的硬件和软件下一步操作1. Arduino PLC IDE Tool Setup2. Arduino PLC IDE Setup3. Project Setup4. Download the Runtime5. Connect to the Device6. License Activation with Product Key (Portenta Machine Control) 结…...

记录使用iText7查找PDF内容关键字坐标,加盖电子签名、印章

一、前言 项目以前签字都是由C端那边进行合成操作,最近项目要求把那块功能,由后端进行实现,其中包含坐标、关键字、任意位置进行签字操作,坐标是最容易实现的,曾经也写过类似的功能在(添加图片印章到PDF&a…...

Java8实战-总结37

Java8实战-总结37 默认方法不断演进的 API初始版本的 API第二版 API 默认方法 传统上,Java程序的接口是将相关方法按照约定组合到一起的方式。实现接口的类必须为接口中定义的每个方法提供一个实现,或者从父类中继承它的实现。但是,一旦类库…...

【超详细】前段开发之详细的Vue3入门教程,特别适合小白系统学习,入门到熟练使用Vue看这一篇就够了!

前言: 这篇文章更加侧重的是Vue3不同于Vue2的知识点,如果学习Vue2请看下面这篇文章 Vue2详细系统入门教程 11.2 Vue3 声明:图片资源来自于黑马程序员公开学习资料 本人在学习当中,详细整理了笔记,供大家参考学习 1…...

【深度学习】ONNX模型多线程快速部署【基础】

【深度学习】ONNX模型CPU多线程快速部署【基础】 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【深度学习】ONNX模型CPU多线程快速部署【基础】前言搭建打包环境python多线程并发简单教程基本教程ONNX模型多线程并发 打包成可执行文件总结 前…...

Python 同、异步HTTP客户端封装:性能与简洁性的较量

一、前言 引入异步编程趋势:Python的异步编程正变得越来越流行。在过去,同步的HTTP请求已经不足以满足对性能的要求。异步HTTP客户端库的流行:目前,有许多第三方库已经实现了异步HTTP客户端,如aiohttp和httpx等。然而…...

无代码赋能数字化,云表搭桥铺路链接“数据孤岛”

什么是信息孤岛 企业数字化转型过程中,信息孤岛是一个突出的问题。这种情况发生的原因是,企业内部使用了多种应用软件,时间一长,员工在不同的系统中积累了大量的企业数据资产。然而,由于这些系统之间的数据无法互通&am…...

无需公网IP,实现公网SSH远程登录MacOS【内网穿透】

目录 前言 1. macOS打开远程登录 2. 局域网内测试ssh远程 3. 公网ssh远程连接macOS 3.1 macOS安装配置cpolar 3.2 获取ssh隧道公网地址 3.3 测试公网ssh远程连接macOS 4. 配置公网固定TCP地址 4.1 保留一个固定TCP端口地址 4.2 配置固定TCP端口地址 5. 使用固定TCP端…...

网络爬虫学习笔记 1 HTTP基本原理

HTTP原理 ~~~~~ HTTP(Hyper Text Transfer Protocol,超文本传输协议)是一种使用最为广泛的网络请求方式,常见于在浏览器输入一个地址。 1. URI和URL URL(Universal Resource Locator,统一资源定位器&…...

113. 路径总和ii

力扣题目链接(opens new window) 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum 22, 在路径总和题目的基础上&…...

百度APP iOS端包体积50M优化实践(六)无用方法清理

一、前言 百度APP包体积经过一期优化,如无用资源清理,无用类下线,Xcode编译相关优化,体积已经有了明显的减少。但是优化后APP包体积在iPhone11上仍有350M的空间占用。与此同时百度APP作为百度的旗舰APP,业务迭代非常多…...

MySQL了解视图View (视图篇 一)

视图View是什么? MySQL的视图是一种虚拟表,它是基于一个或多个表的查询结果构建而成的。视图并不实际存储数据,而是根据定义的查询逻辑动态生成结果。 ----------------------------------- 视图的特点: - 虚拟表:…...

使用applescript自动化trilium的数学公式环境

众所周知,trilium什么都好,就是对数学公式的支持以及markdown格式的导入导出功能太拉了,而最拉的时刻当属把这两个功能结合起来的时候:导入markdown文件之后,原来的数学公式全没了,需要一个一个手动用ctrlm…...

idea中maven项目打包成jar,报错没有主清单属性解决方法

使用idea自带的打包可能会出现一下问题 在pom.xml中引入下面的依赖&#xff0c;即可解决 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions&…...

Caddy Web服务器深度解析与对比:Caddy vs. Nginx vs. Apache

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…...

基于PHP+MySQL的家教平台

摘要 设计和实现基于PHP的家教平台是一个复杂而令人兴奋的任务。这个项目旨在为学生、家长和教师提供一个便捷的在线学习和教授平台。本文摘要将概述这个项目的关键方面&#xff0c;包括用户管理、课程管理、支付处理、评价系统、通知系统和安全性。首先&#xff0c;我们将建立…...

吉利微型纯电,5 万元的快乐

熊猫骑士作为一款主打下层市场的迷你车型&#xff0c;吉利熊猫骑士剑指宝骏悦也&#xff0c;五菱宏光 MINI 等热门选手。 9 月 15 日&#xff0c;吉利熊猫骑士正式上市&#xff0c;售价为 5.39 万&#xff0c;限时优享价 4 .99 万元。价格和配置上对这个级别定位的战略车型有一…...

Gitee使用方法

Gitee是一个基于 Git 的代码托管和协作平台&#xff0c;具有免费、稳定等特点&#xff0c;并且能够与国内的Gitee社区、码云等服务相结合使用。 以下是使用Gitee的主要步骤&#xff1a; 注册账号&#xff1a;访问Gitee官网&#xff0c;点击“注册”按钮&#xff0c;填写注册信…...

避免踩坑:Unity中Resources.LoadAll的正确使用姿势(含multiple模式Sprite处理)

Unity资源加载进阶&#xff1a;Resources.LoadAll与Sprite图集高效处理指南 在Unity开发中&#xff0c;资源加载是每个项目都无法绕开的核心环节。特别是当处理包含多张小图的Sprite图集时&#xff0c;很多开发者会陷入性能陷阱和功能误区。本文将深入剖析Resources.LoadAll的正…...

以太网MAC与PHY接口技术详解

以太网PHY、MAC及其通信接口技术解析1. 以太网接口架构概述1.1 基本组成结构以太网接口电路从硬件角度可分为两大核心组件&#xff1a;MAC控制器&#xff08;Media Access Control&#xff09;&#xff1a;负责数据链路层的媒体访问控制PHY芯片&#xff08;Physical Layer&…...

华为MateBook D14安装Ubuntu16避坑指南:WiFi/蓝牙/触控板驱动一键搞定

华为MateBook D14安装Ubuntu 16.04驱动优化全攻略 华为MateBook D14作为一款高性价比轻薄本&#xff0c;在安装Ubuntu 16.04时可能会遇到WiFi、蓝牙和触控板驱动不兼容的问题。这主要源于硬件迭代速度远超Linux内核更新周期——你的笔记本搭载了新一代无线网卡和输入设备&#…...

如何通过WebGLInput彻底解决Unity WebGL平台的输入法兼容性问题

如何通过WebGLInput彻底解决Unity WebGL平台的输入法兼容性问题 【免费下载链接】WebGLInput IME for Unity WebGL 项目地址: https://gitcode.com/gh_mirrors/we/WebGLInput 你是否曾尝试在Unity WebGL应用中实现中文输入&#xff0c;却发现输入法无法正常工作&#xf…...

【深度解析】Claude Auto Dream:从“短期对话”到“项目级心智模型”的记忆系统升级

摘要 本文从 Anthropic 新增的 Auto Dream&#xff08;/dream&#xff09;功能出发&#xff0c;系统解析大模型“跨会话记忆一致性”这一核心难题&#xff0c;剖析 Auto Memory Auto Dream 组合背后的技术逻辑&#xff0c;并给出如何在自己项目里实现“类 Auto Dream 记忆管理…...

省流量秘籍:ESP32+LittleFS构建超轻量级物联网WEB界面(附低功耗配置)

ESP32物联网低功耗WEB界面开发实战&#xff1a;从LittleFS优化到移动端适配 在野外环境或移动场景中部署物联网设备时&#xff0c;每毫安的电流消耗和每KB的流量都值得精打细算。ESP32作为一款高性价比的Wi-Fi/蓝牙双模芯片&#xff0c;其灵活的网络配置和丰富的外设接口使其成…...

Modelsim仿真Objects窗口一片空白?别急着重装,试试这个被忽略的优化选项设置

Modelsim仿真Objects窗口空白问题深度排查指南 当你在Modelsim中精心搭建的仿真环境突然"失明"——Objects窗口一片空白&#xff0c;而代码明明编译通过时&#xff0c;这种看似无解的困境往往让工程师陷入重装软件的冲动。但请先别急着点击卸载按钮&#xff0c;这很可…...

Agent-S智能自动化框架:企业级系统集成的技术解决方案

Agent-S智能自动化框架&#xff1a;企业级系统集成的技术解决方案 【免费下载链接】Agent-S Agent S: an open agentic framework that uses computers like a human 项目地址: https://gitcode.com/GitHub_Trending/ag/Agent-S 在当今快速发展的数字化转型浪潮中&#…...

白城腾讯广告服务商

在白城&#xff0c;有不少企业想借助腾讯广告拓展业务&#xff0c;这就离不开靠谱的腾讯广告服务商。今天就和大家聊聊白城腾讯广告服务商的那些事儿&#xff0c;长春中网互联技术在这一领域表现就相当不错。白城腾讯广告服务商现状行业报告显示&#xff0c;近几年白城地区对腾…...

多代理系统架构实战:Supervisor 与 Swarm 的选型与落地策略

1. 多代理系统架构的核心价值 想象一下你正在组织一场大型会议&#xff1a;需要预订场地、安排餐饮、发送邀请函、准备会议材料。如果让一个人完成所有工作&#xff0c;要么质量难以保证&#xff0c;要么时间拖得很长。这就是多代理系统要解决的问题——通过专业分工和高效协作…...