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

【分布式训练 debug】VS Code Debug 技巧:launch.json实用参数

VS Code Debug技巧:launch.json实用参数

在使用Visual Studio Code (VS Code)进行调试时,launch.json文件是一个强大的工具,它允许你自定义调试会话。以下是一些实用的参数,可以帮助你更有效地调试Python代码。

1. 调试第三方库代码

如果你需要调试第三方库中的代码,可以使用"justMyCode": false参数来禁用仅我的代码功能。这样,你就可以在库代码中设置断点。

{"version": "0.2.0","configurations": [{"name": "Python: tutorial_train.py","type": "debugpy","request": "launch","program": "${workspaceFolder}/tutorial_train.py","justMyCode": false,"console": "integratedTerminal"}]
}

2. 指定CUDA环境

在进行深度学习开发时,你可能需要指定CUDA设备。通过设置"env"中的"CUDA_VISIBLE_DEVICES",你可以控制哪些GPU设备对当前调试会话可见。

{"version": "0.2.0","configurations": [{"name": "Python: tutorial_train.py","type": "debugpy","request": "launch","program": "${workspaceFolder}/tutorial_train.py","env": {"CUDA_VISIBLE_DEVICES": "1"},"justMyCode": false,"console": "integratedTerminal"}]
}

3. 指定Conda环境

如果你的项目依赖于特定的Conda环境,可以通过"python"参数指定Conda环境的Python解释器路径。

{"version": "0.2.0","configurations": [{"name": "Python 调试程序: 当前文件","type": "debugpy","request": "launch","program": "${file}","console": "integratedTerminal","justMyCode": false,"python": "/root/miniconda3/envs/xxx/bin/python"}]
}

4. 使用accelerate.launch替代

accelerate库提供了一个命令行工具来启动分布式训练。在launch.json中,你可以使用"module"参数来指定accelerate.commands.launch模块,并通过"args"参数传递必要的命令行参数。

{"version": "0.2.0","configurations": [{"name": "Python 调试程序: 训练脚本","type": "debugpy","request": "launch","module": "accelerate.commands.launch","args": ["--config_file", "/path/accelerate/default_config.yaml","/path/train_xxx_deepspeed.py","--config", "/path/test_xxx.yaml"],"console": "integratedTerminal","env": {"CUDA_VISIBLE_DEVICES": "4,5,6,7"},"justMyCode": false}]
}

5. 设置当前工作目录

使用"cwd"参数,你可以为调试会话设置当前工作目录。这对于需要在特定目录下运行脚本的情况非常有用。

{"version": "0.2.0","configurations": [{"name": "Python 调试程序: 当前文件","type": "debugpy","request": "launch","program": "/root/TensorRT/demo/Diffusion/demo.py","console": "integratedTerminal","cwd": "/root/TensorRT/demo/Diffusion","env": {"PYTHONPATH": "/root/TensorRT/demo/Diffusion"}}]
}

通过这些launch.json参数,你可以更灵活地控制VS Code的调试环境,无论是调试第三方库、管理CUDA设备、使用特定Conda环境,还是进行分布式训练。

相关文章:

【分布式训练 debug】VS Code Debug 技巧:launch.json实用参数

VS Code Debug技巧:launch.json实用参数 在使用Visual Studio Code (VS Code)进行调试时,launch.json文件是一个强大的工具,它允许你自定义调试会话。以下是一些实用的参数,可以帮助你更有效地调试Python代码。 1. 调试第三方库…...

pycharm连接linux服务器需要提前安装ssh服务

在 Debian 或 Ubuntu 系统上,使用 APT: bash复制代码 sudo apt-get install openssh-server 在基于 RPM 的系统如 CentOS 或 RHEL 上,使用 YUM 或 DNF: bash复制代码 sudo yum install openssh-server 或对于较新的 RHEL/Cent…...

通信工程学习:什么是LAN局域网、MAN城域网、WAN广域网

LAN局域网、MAN城域网、WAN广域网 LAN(Local Area Network,局域网)、MAN(Metropolitan Area Network,城域网)和WAN(Wide Area Network,广域网)是计算机网络中根据覆盖范围…...

LeetCode热题100速通

一丶哈希 1、两数之和(简单) 给定一个整数数组 n u m s nums nums 和一个整数目标值 t a r g e t target target,请你在该数组中找出 和为目标值 t a r g e t target target 的那 两个 整数,并返回它们的数组下标。 你可以假设…...

Python代码编写KDJ指标

KDJ指标由三部分组成:K值、D值、J值,主要用于分析股票市场的超买超卖状态及股价波动的趋势。博主记录学习编写KDJ指标线 import numpy as npdef calculate_kdj(close_prices, n9, m13, m23):"""计算KDJ指标:param close_prices: 收盘价序…...

传统少数民族物品检测系统源码分享

传统少数民族物品检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer…...

深度学习中的迁移学习:预训练模型微调与实践

深度学习中的迁移学习:预训练模型微调与实践 目录 💡 迁移学习的核心概念🧠 预训练模型的使用:ResNet与VGG的微调🏥 迁移学习在医学图像分析中的应用🔄 实践中的迁移学习微调过程 1. 💡 迁移学…...

原生input实现时间选择器用法

2024.10.08今天我学习了如何用原生的input&#xff0c;实现时间选择器用法&#xff0c;效果如下&#xff1a; 代码如下&#xff1a; <div><input id"yf_start" type"text"> </div><script>$(#yf_start).datepicker({language: zh…...

对象的概念

对象是编程中一个重要的概念&#xff0c;尤其在面向对象编程&#xff08;OOP&#xff09;中更为核心。简单来说&#xff0c;对象是一种数据结构&#xff0c;它可以存储相关的数据和功能。以下是关于对象的详细描述&#xff1a; 1. 对象的定义 对象是属性&#xff08;数据&…...

ARIMA|基于自回归差分移动平均模型时间序列预测

目录 一、基本内容介绍&#xff1a; 二、实际运行效果&#xff1a; 三、原理介绍&#xff1a; 四、完整程序下载&#xff1a; 一、基本内容介绍&#xff1a; 本代码基于Matlab平台&#xff0c;通过ARIMA模型对时间序列数据进行预测。程序以通过调试&#xff0c;解压后打开…...

sqli-labs靶场第三关less-3

sqli-labs靶场第三关less-3 1、确定注入点 http://192.168.128.3/sq/Less-3/?id1 http://192.168.128.3/sq/Less-3/?id2 有不同回显&#xff0c;判断可能存在注入&#xff0c; 2、判断注入类型 输入 http://192.168.128.3/sq/Less-3/?id1 and 11 http://192.168.128.3/sq/L…...

泡沫背后:人工智能的虚幻与现实

人工智能的盛世与泡沫 现今&#xff0c;人工智能热潮席卷科技行业&#xff0c;投资者、创业者和用户都被其光环吸引。然而&#xff0c;深入探讨这种现象&#xff0c;人工智能的泡沫正在形成&#xff0c;乃至具备崩溃的潜质。我们看到的&#xff0c;无非是一场由资本推动的狂欢…...

旅游管理智能化:SpringBoot框架的应用

第一章 绪论 1.1 研究现状 时代的发展&#xff0c;我们迎来了数字化信息时代&#xff0c;它正在渐渐的改变着人们的工作、学习以及娱乐方式。计算机网络&#xff0c;Internet扮演着越来越重要的角色&#xff0c;人们已经离不开网络了&#xff0c;大量的图片、文字、视频冲击着我…...

基于方块编码的图像压缩matlab仿真,带GUI界面

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 编码单元的表示 4.2编码单元的编码 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 下图是随着方块大小的变化&#xff0c;图像的压缩率以及对应的图像质量指标PSN…...

不同jdk版本间的替换

假设安装了 JDK 21 后&#xff0c;发现电脑有兼容性问题或其他原因需要切换回 JDK 8&#xff0c;替换过程很简单。你只需卸载 JDK 21 或者让系统使用 JDK 8。以下是详细步骤&#xff1a; 1. 卸载 JDK 21 https://www.oracle.com/java/technologies/downloads/#java21 如果你想…...

408算法题leetcode--第28天

84. 柱状图中最大的矩形 题目地址&#xff1a;84. 柱状图中最大的矩形 - 力扣&#xff08;LeetCode&#xff09; 题解思路&#xff1a;暴力&#xff1a;每一列记为矩形的高&#xff0c;找左边和右边比他小的位置&#xff0c;得到以该列为高对应的宽&#xff1b;这样最大的矩形…...

【无人机设计与控制】无人机三维路径规划,对比蚁群算法,ACO_Astar_RRT算法

摘要 本文探讨了三种不同的无人机三维路径规划算法&#xff0c;即蚁群算法&#xff08;ACO&#xff09;、A算法&#xff08;Astar&#xff09;以及快速随机树算法&#xff08;RRT&#xff09;。通过仿真实验对比了各算法在不同环境下的性能&#xff0c;包括路径长度、计算效率…...

毕设 大数据电影数据分析与可视化系统(源码+论文)

文章目录 0 前言1 项目运行效果2 设计概要3 最后 0 前言 &#x1f525;这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要求&#xff0c;这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师…...

10月7日刷题记录

C C...

苍穹外卖学习笔记(十五)

文章目录 一. 缓存菜品缓存菜品DishController.java清除缓存数据 缓存套餐Spring Cachemaven坐标常用注解 入门案例springcachedemo.sqlpom.xmlapplication.ymlCacheDemoApplication.javaWebMvcConfiguration.javaUserController.javaUser.javaUserMapper.java 套餐管理SkyAppl…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码&#xff1a; https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机&#xff0c;点进去 点进去 查看URL&#xff0c;有 ?fileflag.php说明存在文件包含&#xff0c;原理是php://filter 协议 当它与包含函数结合时&#xff0c;php://filter流会被当作php文件执行。 用php://filter加编码&#xff0c;能让PHP把文件内容…...