将深度学习代码同时运行在多个GPU显卡上
将深度学习代码同时运行在多个GPU显卡上
步骤1
设置os.environ[‘CUDA_VISIBLE_DEVICES’] 指定GPU
1 |
|
步骤2(任选其一)
1.使用DataParallel(适合PyTorch)
1 |
|
2.使用DistributedDataParallel(适合分布式训练,支持多机多卡)
1 |
|
TensorFlow: 手动指定 GPU 并行
1
2
3
4
5
6
7
8
9
10
11
12import tensorflow as tf
# 创建分布式策略
strategy = tf.distribute.MirroredStrategy(devices=["/gpu:0", "/gpu:1"])
with strategy.scope():
model = YourModel()
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy')
# 训练代码会自动并行运行在多个 GPU 上
model.fit(train_data, epochs=5)使用 CUDA 的多 GPU 手动操作
对于更灵活的多 GPU 控制,你可以手动将模型拆分并将不同部分放在不同的 GPU 上。不过这种方法复杂度较高,适用于需要精细控制 GPU 使用的情况。
注意事项
确保每个 GPU 的内存足够,特别是分布式训练时。
对于 DistributedDataParallel 和 MirroredStrategy,可能需要调整 batch size 以平衡每个 GPU 的负载。
觉得不错的话,支持一根棒棒糖吧 ୧(๑•̀⌄•́๑)૭
wechat pay
alipay
将深度学习代码同时运行在多个GPU显卡上
http://yuting0907.github.io/posts/dc207a7.html