run - py: error : unrecognized arguments:run.pyRun-py:错误:无法识别的参数:run.py

当遇到运行文件名与库名相同导致的问题时,可以采取更改运行文件名的方法来解决。使用rename工具进行文件重命名,避免命名冲突,确保程序正常执行。

问题:运行文件名与库名重合

解决方法:改变运行文件名。

 用renname进行命名改变

### PyTorch Distributed Run 中 `--use-env` 参数未被识别的解决方案 在使用 `torch.distributed.run` 启动分布式训练任务时,如果遇到 `--use-env` 参数未被识别错误,通常是因为 PyTorch 版本与启动器的兼容性问题。从 PyTorch 1.9 开始,`torch.distributed.run` 成为了推荐的分布式训练启动器,它替代了旧版的 `torch.distributed.launch` 模块。在 `launch` 模块中使用的某些参数(如 `--use-env`)可能不再被支持或已被移除。因此,当用户尝试使用 `--use-env` 参数时,可能会遇到命令行参数错误[^1]。 #### 使用 `torch.distributed.run` 启动器 为了正确启动分布式训练任务并避免 `--use-env` 参数未被识别的问题,建议使用 `torch.distributed.run` 启动器,并确保使用的是 PyTorch 1.9 或更高版本。例如,可以使用以下命令启动分布式训练: ```bash python -m torch.distributed.run --nproc_per_node=2 main.py ``` 此命令表示使用 `torch.distributed.run` 启动器,并指定每个节点使用 2 个 GPU 进程进行分布式训练。由于 `--use-env` 参数在 `torch.distributed.run` 中默认启用,因此无需显式指定该参数即可从环境变量中读取 `LOCAL_RANK`、`RANK` 和 `WORLD_SIZE` 等信息[^1]。 #### 手动设置环境变量 如果希望显式控制环境变量,可以在运行脚本前手动设置 `LOCAL_RANK`、`RANK` 和 `WORLD_SIZE` 等环境变量。例如,在 bash shell 中可以这样设置: ```bash export LOCAL_RANK=0 export RANK=0 export WORLD_SIZE=2 ``` 设置完成后,可以直接运行训练脚本而无需使用 `--use-env` 参数: ```bash python main.py ``` 在脚本中,可以通过 `os.environ['LOCAL_RANK']` 来获取当前进程的本地 rank 值,并据此进行分布式训练的配置[^1]。 #### 避免使用 `--use-env` 参数 如果不希望依赖环境变量,也可以直接在命令行中指定 `--rdzv_id` 和 `--rdzv_endpoint` 等参数,以明确指定分布式训练的协调信息。例如: ```bash python -m torch.distributed.run --nproc_per_node=2 --rdzv_id=123 --rdzv_endpoint=localhost:29500 main.py ``` 此命令指定了一个唯一的 `rdzv_id` 和 `rdzv_endpoint`,用于协调多个进程之间的通信。通过这种方式,可以避免使用 `--use-env` 参数,并确保分布式训练任务的顺利启动[^1]。 ### 总结 当用户遇到 `--use-env` 参数未被识别错误时,应首先确认是否使用了最新版本的 PyTorch,并考虑将启动命令从 `torch.distributed.launch` 替换为 `torch.distributed.run`。此外,还可以通过手动设置环境变量或直接指定 `--rdzv_id` 和 `--rdzv_endpoint` 参数来配置分布式训练任务。通过这些方法,可以有效解决 `--use-env` 参数未被识别的问题,并顺利启动 PyTorch 分布式训练任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值