Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

如何调用多GPU训练所遇到的相关问题? #52

Open
Scheaven opened this issue Sep 9, 2019 · 1 comment
Open

如何调用多GPU训练所遇到的相关问题? #52

Scheaven opened this issue Sep 9, 2019 · 1 comment

Comments

@Scheaven
Copy link

Scheaven commented Sep 9, 2019

你好,我在进行多GPU训练的时候出现了以下问题:
1、通过设置os.environ["CUDA_VISIBLE_DEVICES"]="4,5,6,7"指定GPU可见的驱动编号,
但是总是第一块gpu被调用(指定的第一块,这里编号为4)
2、如果不进行指定可见的GPU,则会将所有GPU都默认加载(一共8块GPU),但是只有第一块显存被加载满,并参与运算,其他的GPU并不参与运算。
3、CPU占用也特别严重,32核都被沾满了(每个核几乎都是100%)。
4、一块GPU训练很慢,不知道是我代码的问题不是,GPU已经跑满,看着也在高位运行,但是CPU调用也是100%。一块1080Ti的GPU训练coco2017数据集超过12小时,(我修改了batch_size为16,learning_rate初始值为1e-4)
5、我使用了TensorFlow官网提供的多GPU样例,如果使用os.environ["CUDA_VISIBLE_DEVICES"]指定可见的编号,也会出现只有制定GPU第一个编号的被调用。但是如果不指定可见,则8块GPU会全部加载并全部参与运算;
多GPU设置代码截图:
123
nvidia-smi GPU调用情况展示:
456
运算情况截图:
789

另外在最后一轮结束时报错:截图如下
4444

我的理解这个错误应该是训练终止,所以报的错

@YangZeyu95
Copy link
Owner

多GPU我代码没跑过,不是太清楚,但是cpu核心跑满是因为gt是根据标注文件训练时生成的所以比较消耗计算资源,占用核心数是可以调整的,根据你的batch大小,保证cpu能把GPU喂满。最后的报错直接忽略即可,没有影响

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants