pyTorch 指定卡运行代码 和 同一台机器跑多个GPU程序(解决端口号占用) |
您所在的位置:网站首页 › 第一个pytorch程序 › pyTorch 指定卡运行代码 和 同一台机器跑多个GPU程序(解决端口号占用) |
1 pyTorch 多卡运行代码
一般pytorch多卡运行,最好使用此方法
python -m torch.distributed.launch —nproc_per_node
例如 python -m torch.distributed.launch —nproc_per_node 2 train.py
其中参数 --nproc_per_node 表示每个节点需要多少个进程,一般每个进程独占一个GPU 其他参数 --nnodes 需要节点数(机器数) --node_rank 节点编号 --master_addr 节点master的IP地址 --master_port 节点master的port号
2 同一台机器跑多个GPU程序(解决端口号占用)
程序1: python -m torch.distributed.launch —nproc_per_node 2 train.py 程序2 python -m torch.distributed.launch —nproc_per_node 2 train.py —master_port XXXX
因为默认的master_port是29500,所以启动第二个程序时端口号会被占用,需要指定端口号。
端口号查询 查询XXX端口号是否被使用 netstat -anp | grep XXX 如果输出有那么就有程序在使用这个端口号
3 指定特定的GPU卡运行
方式1 使用train.py提供的接口(args参数输入) 方式2 在train.py代码首行加入
import os os.environ[‘CUDA_VISIBLE_DEVICES’] = ‘ XXX ’
其中XXX为指定卡的序号,从0开始。注意引号
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |