CrystalSixone / DSRG

Code for A Dual Semantic-Aware Recurrent Global-Adaptive Network For Vision-and-Language Navigation
MIT License
15 stars 0 forks source link

代码怎么执行单机多卡训练呢? #2

Closed wuxiaofei01 closed 1 year ago

wuxiaofei01 commented 1 year ago

作者你好,我最近在运行你们团队的代码,但是我发现很难将代码移植到单机多卡环境。 我的run_r2r.sh为:

name=DSRG_r2r
DATA_ROOT=../datasets

train_alg=dagger

features=vitbase
ft_dim=768

ngpus=4
seed=0

outdir=${DATA_ROOT}/R2R/
pretrain_file=${DATA_ROOT}/R2R/pretrain/model_step_best_360000.pt

flag="--root_dir ${DATA_ROOT}
      --dataset r2r
      --output_dir ${outdir}
      --world_size ${ngpus}
      --seed ${seed}
      --tokenizer bert   
      --name ${name}   
      --train navigator
      --model r2r
      --enc_full_graph
      --graph_sprels
      --fusion dynamic
      --expert_policy spl
      --train_alg ${train_alg}
      --num_l_layers 9
      --num_x_layers 4
      --num_pano_layers 2
      --max_action_len 15
      --max_instr_len 200
      --batch_size 4
      --lr 5e-6
      --iters 100000
      --log_every 1000
      --optim adamW
      --features ${features}
      --image_feat_size ${ft_dim}
      --angle_feat_size 4
      --ml_weight 0.2   
      --feat_dropout 0.5
      --dropout 0.5
      --gamma 0.
      "
python3 -m torch.distributed.launch \
      r2r/main_nav.py $flag \
      --nproc_per_node=4 \
      --tokenizer bert \
      --bert_ckpt_file ${pretrain_file}

但是我的程序一直卡在 dist.init_process_group(**init_param),请问有其他办法能解决么

CrystalSixone commented 1 year ago

@wxf-0415 你好,这个代码仓库是基于DUET改进的,目前pre-train的代码可以单机多卡训练,但是fine-tune只能单卡训练。

wuxiaofei01 commented 1 year ago

感谢你的回复