vscode调试pytorch的DistributedDataParallel代码

这里写自定义目录标题

  • 一、查找launch.py
  • 二、修改launch.json
  • 三、特别提醒
    • 3.1 错误的写法
    • 3.2 正确的写法

一、查找launch.py

使用代码。

find / -name launch.py | grep distributed

得到的结果如下
在这里插入图片描述
这里我们得到了两个结果,看目标文件的路径名,第二个launch.py应该在软件的解压缩包里,因此这里使用第一个,记下这个绝对路径。

二、修改launch.json

修改默认的launch.json文件(没有就新建)

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: train.py",
            "type": "python",
            "python": "/root/miniconda3/envs/onnx/bin/python",
            "request": "launch",
            //program参数一定要放launch.py文件,
            "program": "/root/miniconda3/envs/onnx/lib/python3.8/site-packages/torch/distributed/launch.py",
            "args": [
                //命令行参数
                "--nproc_per_node=1", 
                //程序代码
                "train.py"
                //程序入参
            ],
            //环境变量
            "env": {
                "CUDA_VISIBLE_DEVICES":"0"
            },
            "console": "integratedTerminal",
            "justMyCode": true
    
    
        }
    ]

}

program就是我们上一步复制的绝对路径。
建议只用一个GPU来调试,所以nproc_per_node的值设置为1,CUDA_VISIBLE_DEVICES只用一个设备。

三、特别提醒

上面的写法是默认没有任何参数传递给train.py的,如果要给它传递参数,则一定要写到main.py之后,例如

3.1 错误的写法

  	 "args": [
                "--nproc_per_node=1", 
                "--use_env",
                "--cfg = cfgfile",
                "main.py"
            ],

上面的写法会报错,因为–nproc_per_node=1,–use_env以及–cfg=cfgfile三个变量实际上都是传递给前面"program"所指示的launch.py文件的,而该文件并没有cfg参数,因此会报错。

3.2 正确的写法

  	 "args": [
                "--nproc_per_node=1", 
                "--use_env",
                "main.py",
                "--cfg = cfgfile"
            ],

这样写就表示–cfg=cfgfile参数是传递给main.py文件的,这样就没有问题啦

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

系统韧性研究(5)| 常用的系统韧性技术

如果不利事件或条件导致系统无法正常运行,则它们可能会对有价值的资产造成各种形式的损害。正如我在本系列的前几篇文章中概述的那样,系统韧性很重要,因为没有人想要一个无法克服“不可避免的逆境”的脆弱系统。 在本系列的第一篇文章中&…

怎么为pdf加水印?

怎么为pdf加水印?最近很多小伙伴都有这样的疑问。你可以在浏览器上搜索一下,关于这方面的很多还是有很多人不是很清楚的。虽然我们自己在很多PDF文件上都看到了水印,那么真的到了自己这边需要进行操作的时候,确实还是有些这样或是…

PHPStorm PHP-CS-Fixer

我用的是brew安装: brew install php-cs-fixer phpstorm配置: setting搜索fixer 指定安装php-cs-fixer的目录: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/master/doc/installation.rst 图文详解PHPStorm实现自动执行代码格式化-…

如何利用TSINGSEE青犀智能分析网关算法从人员、设备、行为三大角度进行监狱智能化升级改造

监狱作为关押犯人的重要场所,十分需要全天候全方位无死角的监控,但由于狱警人力有限,无法达到目前的监控需求。并且在监狱中,犯人众多也极易发生口角冲突,如若没有及时处理,就会发生难以挽回的意外。如何更…

AnimateDiff搭配Stable diffution制作AI视频

话不多说,先看视频 1. AnimateDiff的技术原理 AnimateDiff可以搭配扩散模型算法(Stable Diffusion)来生成高质量的动态视频,其中动态模型(Motion Models)用来实时跟踪人物的动作以及画面的改变。我们使用 …

【大话Presto 】- 核心概念

文章目录 前言Operator Model And Iterator Model系统组成Connector数据模型查询执行模型StatementStageTaskSplitDriverOperatorExchangePipeLine 总结 前言 Presto(PrestoDB)是一个FaceBook开源的分布式MPP SQL引擎,旨在处理大规模数据的查…

【硬核】把一个MOS管制作成开关电路

你要是想读懂这篇文章,请先去了解MOS管的基础知识,本文是在基础之上做出的一部分扩展,可能有一点点深,请各位同学注意。 本文带你了解MOS管的开通/关断原理,使用PMOS做上管、NMOS做下管都是比较方便,使用PM…

「分享学习」SpringCloudAlibaba高并发仿斗鱼直播平台实战完结

[分享学习]SpringCloudAlibaba高并发仿斗鱼直播平台实战完结 第一段:简介 Spring Cloud Alibaba是基于Spring Cloud和阿里巴巴开源技术的微效劳框架,普遍应用于大范围高并发的互联网应用系统。本文将引见如何运用Spring Cloud Alibaba构建一个高并发的仿…

设计模式之桥接模式--连接抽象与实现(你想知道的问题都有)

目录 概述结构型设计模式桥接模式的定义桥接模式的角色和关系 版本迭代紧耦合版增加品牌两个品牌两款软件松耦合的设计版本迭代业务分析总结 问题升华抽象与实现抽象包含的一些方法或属性依赖于实现部分的接口关联关系与桥接模式桥接模式适合情况谁是实现,谁是抽象组…

希亦ACE和小吉内衣洗衣机选哪个?两款洗衣机对比

内衣洗衣机可以称得上是实现幸福的小家电,它不仅懒人的福音还是我们打工人的福音,在每天下班之后可以有时间休息了,洗完澡还有要手洗内衣裤,真的很痛苦,拥有了内衣洗衣机简直是一件非常幸福的事情,但现在市…

源码安装prometheus(普罗米修斯监控)

IP角色系统规格192.168.0.38Prometheus 服务端CentOS 74c8g192.168.0.25node_exporter 客户端CentOS 74c8g 普罗米修斯下载网址: Download | Prometheus 1.下载prometheus [rootprometheus opt]# wget https://github.com/prometheus/prometheus/releases/download/v2.47.2…

可以免费使用的设计素材网站分享

UI设计师最怕什么? 没有创意,没有灵感,没有思路! 在哪里可以得到idea?别担心,往下看! 你知道网络有多大,你想要什么吗?今天,我想和大家分享一些宝藏网页设…

榜首揭秘:热门产品原型设计工具TOP10

在现代产品制作和创新过程中,原型设计工具起着不可或缺的作用。这些工具为设计师、开发人员和团队提供了更深入的理解,以便核实和呈现他们的设计想法。根据项目的特性,可能需要使用各种类型的工具,因此,我们将在此篇文…

赛宁网安分靶场全力支持第三届“鹏城杯”攻防演练

为加速推进我国网络安全战略与数字化进程接轨,创新信息系统安全防护与网络安全技术研究模式,促进各行业网络安全建设的融合与协作,由鹏城实验室和中国网络空间安全人才教育论坛联合牵头举办的第三届“鹏城杯”联邦网络靶场协同攻防演练正式启…

MFA多因子认证

什么是多因子认证(MFA)?为什么需要MFA? 同义词 多因子认证或者多因素验证 [尤其是需要做等级保护测评的时候需要用到] 摘要 多因子认证MFA(Multi Factor Authentication)是一种安全认证过程,需…

使用宝塔面板安装mysql

1.第一步 在官网https://www.bt.cn/new/download.html下载页面直接在服务器控制面板复制这里的代码下载即可 2.第二步 下载好后按照服务器面版上有个公网地址,含有用户名和密码,保存好,然后通过公网地址打开一个网页,绑定自己注册…

恐怖地牢资产来袭!

我们将为您带来 VoxEdit 短片大赛的首场比赛!在 6 天内创建可用资产。 主题:设计与恐怖和地牢相关的资产。这些资产必须非常实用,不需要动画。(如果你愿意,你也可以制作动画)。 发挥你恐怖的一面,创造出适…

Hadoop学习总结(MapRdeuce的词频统计)

MapRdeuce编程示例——词频统计 一、MapRdeuce的词频统计的过程 二、编程过程 1、Mapper 组件 WordcountMapper.java package com.itcast.mrdemo;import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; …

傻瓜式提取网页数据的油猴脚本(JavaScript 代码)

目录 一、脚本适用范围 二、将脚本配置到浏览器 三、脚本用法 四、脚本原理 一、脚本适用范围 脚本适用范围:一次性提取任意网站的布局类似的数据,例如 淘宝的商品价格、微博的热搜标题、必应搜索的图片链接 脚本不适用范围:页面布局不相…

早安心语早读:愿我们都能活成自己喜欢的样子

1、时光,因爱而温润;岁月,因情而丰盈;愿我们都能活成自己喜欢的样子。 2、人有烦恼,就是因为记性太好,不该记的也抱着不放,背负太多,反而难以前进,追求,就会…
最新文章