【异常错误】Unexpected option: --local_rank=0(pycharm可以run但是不可以debug)

news2024/11/15 5:07:15

今天在使用用run运行shell文件转为的cmd命令后,run可以正常运行,但是debug却出现问题,错误信息:

Usage:
	pydevd.py --port N [(--client hostname) | --server] --file executable [file_options]
Traceback (most recent call last):
  File "/home/mapengsen/.pycharm_helpers/pydev/pydevd.py", line 2016, in main
    setup = process_command_line(sys.argv)
  File "/home/mapengsen/.pycharm_helpers/pydev/_pydevd_bundle/pydevd_command_line_handling.py", line 146, in process_command_line
    raise ValueError("Unexpected option: " + argv[i])
ValueError: Unexpected option: --local_rank=0
[2023-07-08 10:08:11,202] [INFO] [launch.py:315:sigkill_handler] Killing subprocess 2934
[2023-07-08 10:08:11,202] [ERROR] [launch.py:321:sigkill_handler] ['/home/mapengsen/anaconda3/envs/38/bin/python', '-u', '/home/mapengsen/.pycharm_helpers/pydev/pydevd.py', '--local_rank=0', '--multiprocess', '--qt-support=auto', '--client', '127.0.0.1', '--port', '58899', '--file', '/mnt/d/Pycharm_workspace/DoubleTarget/RetMol/MolBART/train_retrieval.py', '--model-parallel-size', '1', '--pipe-parallel-size', '0', '--num-layers', '4', '--hidden-size', '256', '--num-attention-heads', '8', '--seq-length', '512', '--max-position-embeddings', '512', '--batch-size', '320', '--gas', '16', '--train-iters', '50000', '--lr-decay-iters', '320000', '--data-impl', 'mmap', '--distributed-backend', 'nccl', '--lr', '0.0001', '--lr-decay-style', 'cosine', '--min-lr', '1.0e-5', '--weight-decay', '0', '--clip-grad', '1.0', '--warmup', '0.01', '--checkpoint-activations', '--log-interval', '1', '--save-interval', '10000', '--eval-interval', '50000', '--eval-iters', '10', '--fp16', '--dataset_path', '../data/zinc.tab', '--deepspeed', '--deepspeed_config', 'megatron_molbart/ds_config.json', '--zero-stage', '1', '--zero-reduce-bucket-size', '50000000', '--zero-allgather-bucket-size', '5000000000', '--zero-reduce-scatter', '--checkpoint-activations', '--checkpoint-num-layers', '1', '--partition-activations', '--synchronize-each-layer', '--contigious-checkpointing', '--stage', '1', '--train_from', 'pretrain', '--model_ckpt_itr', '50000', '--attr', 'logp-sa', '--attr_offset', '0', '--data_source', 'jtnn', '--enumeration_input', 'false', '--retriever_rule', 'random', '--pred_target', 'reconstruction', '--n_retrievals', '10', '--n_neighbors', '100'] exits with return code = 1

Process finished with exit code 1

我再网上查了以后大多数说是因为分布式的原因,可能是因为我使用了deepspeed,所以导致了分布式的问题吧,

此时参考文章:pycharm终止运行_Pycharm 下如何 debug torch.distributed_祁圆圆的博客-CSDN博客

 

方法说起来很简单,只需要在 Pycharm 的 Configuration 中作一些设置即可:

  • 打开 Run -> Edit Configurations...
  • Script path 不再是你自己代码的路径,而是 launch.py 文件的保存路径,例如我的是:
\\wsl$\Ubuntu-18.04\home\mapengsen\anaconda3\envs\38\lib\python3.8\site-packages\torch\distributed\launch.py
  • 设置 Parameters:
--nproc_per_node=1 main.py
  • 在 Environment variables 中添加 CUDA_VISIBLE_DEVICES=0,1 。
  • 把interpreter options中的deepspeed部分删除(因为现在使用了distribution.launch.py作为script path )
  • 剩下的 Python interpreter 和 Working directory 就按照通常情况来设置即可。

经过这些步骤,就可以在 Pycharm 中 debug 分布式训练的代码了。

 

 

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

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

相关文章

复习C中文件操作

文章目录 Ⅰ. 重新谈论文件Ⅱ. C语言中的文件接口1、打开文件2、关闭文件3、读写函数4、文件的随机读写① fseek函数(指定文件指针的位置)② ftell函数(求文件指针与起始位置的偏移量)③ rewind(让文件指针回到起始位置…

pdf转为ppt的超简单方法,就用这几个!

在我们的工作和生活中,PDF文件是不可或缺的文件格式之一。它以高准确性、整齐的页面排版和流畅的翻页而闻名,为我们处理文档提供了很大的帮助。然而,PDF文件的一个缺点是无法进行修改。当我们不小心输入错误数据或需要进行编辑时,…

python 常用数据结构-集合

Set集合 Set 集合集合定义集合使用:创建集合使用:成员检测集合方法集合方法 add()集合方法 update()集合方法 remove()集合方法 discard()集合方法 pop()集合方法 clear() 集合运算集合运算:交集集合运算:并集集合运算&#xff1a…

JAVA结课作品——超市管理系统

项目描述:一个简单的超市管理系统,能够实现用户登入和注册功能,共分为前台和后台两个主要界面,普通用户界面操作权限收到限制,只能对商品和销售记录进行简单查询操作,后台中可以进行商品的删除、修改、查询…

Java 设计模式——单例模式

目录 1.结构2.实现2.1.饿汉式2.1.1.静态变量2.1.2.静态代码块2.1.3.枚举方式 2.2.懒汉式2.2.1.synchronized 线程安全2.2.2.双重检查锁2.2.3.静态内部类方式 3.破坏单例模式3.1.序列化反序列化3.2.反射 4.问题解决5.JDK 源码解析——Runtime 类 1.结构 (1&#xff…

03-MySQL-基础篇-SQL之DDL语句

SQL之DDL语句 前言DDL数据库操作表操作查询操作数据类型案例修改删除 前言 *本篇来学习下SQL中的DDL语句 DDL 全称Data Definition Language,数据定义语言,用来定义数据库对象(数据库,表,字段) 数据库操作 查询所有数据库 s…

数字与字符的对决:力扣“将所有数字用字符替换”的独特方法

本篇博客会讲解力扣“1844. 将所有数字用字符替换”的解题思路,这是题目链接。 本题的解题思路是:遍历字符串,按照题目描述修改字符。 有一个需要注意的点:循环的结束条件是什么呢?是s[i] ! \0’吗?不是的…

多线程(2):线程同步

线程同步是在多线程编程过程中对数据保护的一种机制,保护的数据是共享数据。共享数据就是多个线程共同访问的一块资源,也就是一块内存。假设有3个线程,其中A,B线程在同一个时间点往这块内存中写数据,于此同时C线程往这块内存中读数…

视频编码流程 YUV数据编码为H264数据

文章目录 1.视频编码流程2.实战demo3.相关编码知识点讲解1. 参数设置问题:2. 关于av_opt_set3. 关于码流设置 1.视频编码流程 2.实战demo #ifndef MAINBACK_C #define MAINBACK_C #endif // MAINBACK_C #include <stdint.h> #include <stdio.h> #include <stdl…

火车头采集器AI伪原创[php源码]

本文介绍php版本的火车头采集器AI伪原创&#xff0c;对于网站的原创内容&#xff0c;站长朋友们一定很头疼。作为一个草根站长&#xff0c;自己写原创文章太累了。当然&#xff0c;我并不是说你不能写。自己写原创文章是不现实的。时间是最大的问题。 也许有的站长朋友会问&…

自定义封装Mybatis的过程

手写持久层框架思路分析&#xff1a; 步骤1:加载数据库配置信息&#xff0c;包括数据库url&#xff0c;端口&#xff0c;数据库名字&#xff1b;加载所有sqlmapper文件。 步骤2: 创建javaBean&#xff0c;全局配置类&#xff0c;Configuration&#xff0c;映射配置类&#xff…

香橙派和树莓派基于官方外设开发

香橙派和树莓派基于官方外设开发 1.wiringPi外设SDK安装 方式一&#xff1a; git clone https://github.com/orangepi-xunlong/wiringOP //下载源码 cd wiringOP //进入文件夹 sudo ./build clean //清除编译信息 sudo ./build //编译方式二 通过windows浏览器打开https://…

全网最新网络安全学习路线

在各大平台搜的网安学习路线都太粗略了。。。。看不下去了&#xff01; 我把自己整理的系统学习路线&#xff0c;拿出来跟大家分享了&#xff01;点击查看详细路线图 建议的学习顺序&#xff1a; 一、网络安全学习普法&#xff08;心里有个数&#xff0c;要进去坐几年&#xf…

Java入门教程||Java 网络编程||Java 发送邮件

Java 网络编程 网络编程是指编写运行在多个设备&#xff08;计算机&#xff09;的程序&#xff0c;这些设备都通过网络连接起来。 java.net包中J2SE的API包含有类和接口&#xff0c;它们提供低层次的通信细节。你可以直接使用这些类和接口&#xff0c;来专注于解决问题&#…

基于simulink视频处理系统多核仿真(附源码)

一、前言 此示例演示如何使用 Simulink中的数据流执行域在多个内核上运行视频处理系统。 数据流执行域允许您在计算密集型系统的设计中使用多个内核。此示例演示数据流作为子系统的执行域如何提高模型的模拟性能。 二、视频中的对象计数 此示例演示如何使用基本形态运算符从…

Docker部署Doris超详细图文教程

Doris安装有非常多的方法&#xff0c;这里主要介绍Docker中使用dev容器用来学习和测试的方法&#xff0c;避免在其他教程中踩坑(生产环境不建议使用Docker安装) 这里介绍一个不踩坑的docker本地单机版&#xff0c;笔者安装环境为Windows下的Docker&#xff0c;若为Linux系统安装…

SwiftUI + Swift 设备振动

如何让设备振动呢 iPhone 6S 3D Touch&#xff0c;可以识别轻&#xff0c;中&#xff0c;重三种按压力度&#xff0c;配合恰到好处的振动有利于提升交互体验&#xff0c;但后面的新设备都不支持 3D Touch 了&#xff0c;改为了检测按压时间&#xff0c;按同一个图标&#xff0…

如何用canvans实现地图上的运动轨迹

1.先需要一个地图的图片 2.通过canvas绘制出运动轨迹 // 创建渐变function createGradient(context, p0, p1) {const gradient context.createLinearGradient(p0.x, p0.y, p1.x, p1.y);gradient.addColorStop(0, "rgba(255, 0, 255, 0)");gradient.addColorStop(1,…

颜色渐变的数据密集适用的堆叠图

一般情况会用柱状图去堆叠&#xff0c;但是如果数据量太大了&#xff0c;就可考虑这种方式堆叠。可以呈现时间和数量上不同层次数据的变化。 效果图&#xff1a; 比较详细的注释一下源码&#xff1a; import matplotlib as mpl import matplotlib.pyplot as plt import numpy …

第七章:L2JMobius学习 – 登录服务LoginServer讲解

在上一个章节中&#xff0c;我们学习了网络数据传输的封装network。那么&#xff0c;在本章的登录服务LoginServer的讲解中&#xff0c;我们就来使用一下这个封装好的功能。Network的封装需要我们继承很多的接口或类。我们首先查看一下登录服务LoginServer的文件结构&#xff0…