【亲测】集群环境中MMDetection3.0环境配置

news2024/11/24 22:35:56

本文记录下在集群环境下使用MMDetection的内容。

环境简介:所用集群设备为本地集群,具有管理节点和计算节点,且管理和计算在不同的主机上,作为用户,没有超级管理员权限。

MMdetection源码下载点击进入

在这里插入图片描述

这里主要记录下环境配置,其实在官网教程里有具体的配置流程,但是这里主要记录下在当前设备情况下的环境配置问题,便于后来借鉴。

官方的配置文档,可以点击该链接

在这里插入图片描述
这里主要记录下不同的地方,由于在本集群中,仅有管理节点可以联网,所以在创建环境或者下载安装包过程中,主要在管理节点进行。但是在源码编译过程中,需要切换到计算节点进行。

环境配置细节

官网中:

conda install pytorch torchvision -c pytorch

实际配置:
这个安装还是在管理节点切换到对应环境下,然后运行下面的命令。由于管理节点一般为多核CPU,但运算过程中一般需要GPU,所以需要现装GPU 可使用下面的命令,主要借鉴Pytorch官网的命令。

conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch

命令运行好后,切换到 torch命令下,判断环境是否正常:

torch.cuda.is_available()

下面再有问题的就是编译过程
官网命令:

pip install -v -e .

这个命令需要一些依赖包,即它会主动调用源码下的 requirements.txt ,如果所处环境中,没有对应的包,则需要安装包,这时,又会遇到计算节点无法联网的问题,所以在这个命令之前,最好先切换到管理节点,切换到对应的环境下,然后运行下面的命令。

pip install -r requirements.txt

等待安装成功后,再切换到计算节点,切换到对应的环境,在含GPU的节点进行编译,这个过程很快,一般来讲,如果没有报错误,会生成 mmdet 的包。

在这里插入图片描述
这个包在官网中说,也可以通过 mim install mmdet 安装,但说实话我没通过这个命令安装成功,应该是所选择的cuda 和 torch版本的问题吧,可能其他版本下面有mmdet,那个官网点击链接如下,压根没发现 mmdet。

在这里插入图片描述

样例测试

官网如下:
在这里插入图片描述
其中第一条命令,为下载预训练模型:

mim download mmdet --config rtmdet_tiny_8xb32-300e_coco --dest .

第二条命令为测试命令,但是需要注意,修改配置文件的路径

python demo/image_demo.py demo/demo.jpg ./configs/rtmdet/rtmdet_tiny_8xb32-300e_coco.py --weights rtmdet_tiny_8xb32-300e_coco_20220902_112414-78e30dcc.pth --device cpu

但是你会发现,程序当你运行第一条命令时,就会报错:

ModuleNotFoundError: No module named ‘mmdet‘

明显,我们已经在源码编译过程中,使用命令 pip install -v -e . 安装了 mmdet,为什么还是报错?这个需要我们再运行一条命令:

python setup.py install

即将对应的 mmdet 依赖项,加入我们的环境变量中,这样才可以运行。

在这里插入图片描述

经过以上之后,再运行测试命令,即可发现输出如下:

在这里插入图片描述
通过测试,环境配置成功。当然如果您不是在类似实验硬件条件下,环境配置会更简单,傻瓜操作就行。

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

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

相关文章

二叉树题目:二叉树的中序遍历

文章目录 题目标题和出处难度题目描述要求示例数据范围进阶 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 解法三思路和算法代码复杂度分析 题目 标题和出处 标题:二叉树的中序遍历 出处:94. 二叉树的中序遍历 难度 3 级 题目描…

Windows Terminal添加至鼠标右键

Windows Terminal添加至鼠标右键 安装 在Microsoft Store中即可下载。 配置 在鼠标右键打开 下载Terminal图标 图标地址:https://raw.githubusercontent.com/microsoft/terminal/master/res/terminal.ico 下载后保存在某个文件夹path 添加到鼠标右键 批处理修改注册表 …

Linux常见指令(超详解哦)

Linux常见指令 引言Linux常见指令查指令——man文件管理相关指令lspwdcdtouchmkdirrmdir与rmrmdirrm cpmvfind 文件查看类catmorelesshead 与 tailheadtail使用管道显示某段内容 grep 打包压缩相关指令zip/unziptar 总结 引言 Linux与我们熟悉的Window都是操作系统&#xff0c…

spring-aop入门

spring-aop入门 什么是AOP OOP(Object-Oriented Programming)面向对象编程,允许开发者定义纵向的关系,但并适用于定义横向的关系,导致了大量代码的重复,而不利于各个模块的重用。 AOP(Aspect-Oriented Programming),…

优思学院|质量管理六大思维陷阱【五】:有了控制图就能改进质量?

1. 引言 在工厂的生产过程中,质量控制是至关重要的。控制图是一种常见的质量管理工具,它可以帮助工厂监测过程的稳定性和质量表现,同时它也是六西格玛最重要的工具之一。然而,人们对于控制图的理解并不总是正确,有时被…

【中危】Kubernetes secrets-store-csi-driver 信息泄露漏洞

漏洞描述: Kubernetes secrets-store-csi-driver 是一个用于 Kubernetes 的 CSI 驱动程序,它提供了一种将外部密钥存储系统中的凭据注入到 Kubernetes Pod 的机制。 在 secrets-store-csi-driver 受影响版本中,当在 CSIDriver 对象中配置了…

操作系统期末复习简记(更新中~)

文件 定义:文件是以计算机硬盘为载体的存储在计算机上的信息集合(宽泛的) 属性:描述文件状态的信息,eg.名称,修改时间等等 基本操作:创建、打开、修改文件 文件的逻辑结构 1、无结构文件&#x…

【SpringMVC】统一异常处理 前后台协议联调 拦截器(文末赠书)

1,统一异常处理 1. 问题描述 在讲解这一部分知识点之前,我们先来演示个效果,修改BookController类的getById方法 GetMapping("/{id}") public Result getById(PathVariable Integer id) {//手动添加一个错误信息if(id1){int i …

JS BOM和DOM对象的尺寸

A scroll…..系列 scrollHeight: 获取对象的滚动高度。 scrollWidth:获取对象的滚动宽度 scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 内容距左边框的距离(不算padding与border) scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最…

智慧景区预约系统开发 实现游客自助游玩

旅游是我们休闲娱乐的重要手段之一,尤其是疫情放开以来,旅游成为很多人节假日的首选。绝大多数的旅游景区都是需要购票参观的,对于景区来说也是卖出的票越多,盈利越多。所以各大景区也一直都在拓展新的售票渠道来提升旅客数量。通…

JavaScript基础笔记

JavaScript 介绍 JavaScript 是什么 1JavaScript 书写位置 JavaScript 注释 JavaScript 结束符 JavaScript 输入输出语法 变量 变量是什么? 变量的基本使用 变量的本质 变量命名规则与规范 数组的基本使用 常量 数据类型 数据类型 – 数字类型(Number&…

基于ICA算法的图像融合matlab完整程序分享

用特定的算法将两幅或多幅图像综合成一幅新的图像。融合结果由于能利用两幅(或多幅) 图像在时空上的相关性及信息上的互补性,并使得融合后得到的图像对场景有更全面、清晰的描述,从而更有利于人眼的识别和机器的自动探测。 确保待融合图像已配准好且像素位宽一致,且融…

《向量数据库》——Milvus v1.0 已发布

Milvus v1.0 已发布 今天,我们很高兴地宣布 Milvus v1.0 版本的发布。通过数百名 Milvus 社区用户在八个月内不断的测试和试验, Milvus v0.10.x 现在已足够稳定,是时候该发布基于 Milvus v0.10.6 的 Milvus v1.0 了。 Milvus v1.0 具有以下功能: 支持主流的相似度计算方式…

软件测试CMA认证和CNAS认可分别有什么作用?

随着信息化时代的飞速发展,软件已经成为各行各业必不可少的工具。但是,随之而来的问题就是软件的质量问题,尤其是安全问题。这就需要软件测试行业的发展。而软件测试CMA认证和CNAS认可对于软件测试企业来说,是非常重要的两个证书。…

Android classLoader 双亲委托 反射 类加载

双亲委托 双亲委托机制,就是导入类的时候判断parent是否已经导入过该类。 作用 1、避免重复加载,当父加载器已经加载了该类的时候,没有必要子ClassLoader再加载一次。 2、安全性考虑,防止核心API库被随意篡改。 核心代码 pri…

java【String类的常用方法】

String类 String类的常用方法1 字符串的构造方法2 String对象的比较3 字符串查找4 字符串与其他类型的转换4.1 字符串和数值互相转换4.2 大小写转换4.3 字符串转数组4.4 字符串格式化 5 字符串的替换6 字符串的截取操作7 字符串的拆分8 字符串去除空格trim()方法 String类的常用…

费报只是小 case!电子影像系统,工作效率up无限

在日常工作中,我发现许多朋友对电子影像系统存有一个错误认知,“电子影像系统,我了解,就是用来做费用报销的吧”。 但事实上,电子影像系统的实用价值远非这样,它可以解决企业许多业务场景中的难点。今天,让我们一起来探讨电子影像系统,希望能对大家在企业数字化改革中带来更多帮…

spring security oauth2学习 -- 快速入门

1.Oauth2认证协议 简单理解: OAuth2是目前最流行的授权协议,用来授权第三方应用,获取用户数据。 1.1 流程 客户端通过认证和授权,向资源服务器去访问资源。 其中,授权和认证都需要在授权服务器,由资源拥…

【Java】parallelStream().forEach() 的踩坑日记

文章目录 前言踩坑日记刨根问底解决方案小结 前言 最近一直在开发项目中的新需求,其中有一个需求是“解析文件(.txt文件,一行就是一条数据)中的数据并进行入库操作”。其实这个需求也很简单,无非就是将文件中每一行数…

架构师必须掌握的架构设计原则

如果一个架构或设计原则已经存在 15 年,例如单一职责和依赖倒置原则,我可以预期它还有 15 年甚至更久的生命期。原则是比具体技术更抽象,更接近事物本质,也更经得起时间考验的东西。这些原则沉淀在架构师的脑海中,最终…