7.pytorch lightning 之GPU设置

文章介绍了如何在PyTorchLightning框架中利用GPU进行模型训练,包括指定使用GPU的数量,如`Trainer(accelerator=gpu,devices=k)`,以及设置精度以优化内存和速度,如`Trainer(precision=16-mixed)`,涵盖了16位、32位和64位精度的使用情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用gpus设备训练

这个也很简单,但要注意版本,官方文档给出的是2.0以上的使用方法。使用方法是设置Trainer的accelerator和device 参数。

# 使用k个gpu
# DEFAULT (int) specifies how many GPUs to use per node
Trainer(accelerator="gpu", devices=k)

# Above is equivalent to
Trainer(accelerator="gpu", devices=list(range(k)))

# 使用指定的两块gpu
# Specify which GPUs to use (don't use when running on cluster)
Trainer(accelerator="gpu", devices=[0, 1])


# 和上面一致
# Equivalent using a string
Trainer(accelerator="gpu", devices="0, 1")

# 使用所有的gpu
# To use all available GPUs put -1 or '-1'
# equivalent to list(range(torch.cuda.device_count()))
Trainer(accelerator="gpu", devices=-1)

训练精度设置

当显存、速度有额外要求时,可以牺牲部分精度换取最少的存储消耗和更快的速度。指定Trainer的precision参数。设置后lightning自动将tensor加载至相应设备,即不用调用.to(device)方法。

# 16位精度
Trainer(precision='16-mixed')

# 32位精度
Trainer(precision="32-true")

# or
Trainer(precision="32")

# or
Trainer(precision=32)

# 64位精度
Trainer(precision="64-true")

# or
Trainer(precision="64")

# or
Trainer(precision=64)
各设备支持的精度

Precision

CPU

GPU

TPU

IPU

16 Mixed

No

Yes

No

Yes

BFloat16 Mixed

Yes

Yes

Yes

No

32 True

Yes

Yes

Yes

Yes

64 True

Yes

Yes

No

No

PyTorch Lightning是一种轻量级的高级PyTorch封装,它使得训练神经网络更加容易、更加模块化。它提供了许多常用的功能,例如自动分布式训练、自动检查点、自动日志记录等等。下面是一个PyTorch Lightning的学习指南: 1. 先学习PyTorch基础知识:在学习PyTorch Lightning之前,您需要先学习PyTorch的基础知识,例如如何构建神经网络、如何训练模型等等。 2. 安装PyTorch Lightning:在安装PyTorch Lightning之前,您需要先安装PyTorch。然后可以通过pip安装PyTorch Lightning。 3. 了解PyTorch Lightning的核心概念:PyTorch Lightning的核心概念是“LightningModule”、“Trainer”和“DataModule”。LightningModule是您定义神经网络的地方,Trainer是您定义训练过程的地方,DataModule是您定义数据集的地方。 4. 编写您的第一个PyTorch Lightning程序:您可以从一个简单的例子开始,例如MNIST手写数字识别。在这个例子中,您可以定义一个LightningModule来构建神经网络,定义一个DataModule来加载数据集,然后定义一个Trainer来训练模型。 5. 学习如何自动分布式训练:PyTorch Lightning可以自动进行分布式训练,这意味着您可以在多个GPU或多台计算机上训练模型。您只需要在Trainer中设置一些参数即可。 6. 学习如何自动检查点和日志记录:PyTorch Lightning可以自动保存检查点和记录日志,这使得您可以在训练过程中随时恢复模型并查看训练指标。 7. 学习如何使用PyTorch Lightning扩展您的研究:PyTorch Lightning提供了许多扩展功能,例如自动优化器、自动批量大小调整、自动对抗性训练等等。您可以使用这些功能来扩展您的研究。 总之,PyTorch Lightning是一个非常强大的工具,可以使训练神经网络更加容易和高效。如果您想提高您的PyTorch技能并加快训练过程,请考虑学习PyTorch Lightning
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值