Pytorch调用GPU训练两种方法

这篇具有很好参考价值的文章主要介绍了Pytorch调用GPU训练两种方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

方法一 .cuda()

我们可以通过对网络模型,数据,损失函数这三种变量调用 .cuda() 来在GPU上进行训练。

# 将网络模型在gpu上训练
model = Model()
if torch.cuda.is_available():
	model = model.cuda()

# 损失函数在gpu上训练
loss_fn = nn.CrossEntropyLoss()
if torch.cuda.is_available():	
	loss_fn = loss_fn.cuda()

# 数据在gpu上训练
for data in dataloader:                        
	imgs, targets = data
    if torch.cuda.is_available():
        imgs = imgs.cuda()
        targets = targets.cuda()

方法二 .to(device)

指定 训练的设备

device = torch.device("cpu")	# 使用cpu训练
device = torch.device("cuda")	# 使用gpu训练 
device = torch.device("cuda:0")	# 当电脑中有多张显卡时,使用第一张显卡
device = torch.device("cuda:1")	# 当电脑中有多张显卡时,使用第二张显卡

#单卡推荐
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

使用 GPU 训练

model = model.to(device)

loss_fn = loss_fn.to(device)

for data in train_dataloader:
    imgs, targets = data
    imgs = imgs.to(device)
    targets = targets.to(device)

查看GPU使用情况

nvidia-smi.exe -l 5

pytorch指定gpu训练,pytorch,深度学习,python

 文章来源地址https://www.toymoban.com/news/detail-580397.html

 

到了这里,关于Pytorch调用GPU训练两种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【pytorch实用小技巧】单gpu与多gpu训练与评估

    1、单gpu 首先检查GPU是否可用,并将模型、输入数据和目标标签移动到GPU上。 然后,定义损失函数和优化器。在训练循环中,将模型设置为训练模式,进行前向传播、计算损失、反向传播和参数更新。 在测试阶段,将模型设置为评估模式,并在测试数据上进行推断。 2、多

    2024年02月12日
    浏览(37)
  • pytorch:单机多卡(GPU)训练

    目前pytorch支持2种多卡训练: 1. torch.nn.DataParallel 2. torch.nn.parallel.DistributedDataParallel 第一种只支持单机多卡,第二种支持单机多卡和多机多卡;性能上,第二种优于第一种,真正实现分布式训练。下面只介绍第二种方法的单机多卡训练: 根据以上设置,便可实现单机多卡的分

    2024年02月13日
    浏览(37)
  • Pytorch实现多GPU并行训练(DDP)

    Pytorch实现并行训练通常有两个接口: DP(DataParallel) 和 DDP(DistributedDataParallel) 。目前 DP(DataParallel) 已经被Pytorch官方deprecate掉了,原因有二:1, DP(DataParallel) 只支持单机多卡,无法支持多机多卡;2, DP(DataParallel) 即便在单机多卡模式下效率也不及 DDP(Distributed

    2024年02月11日
    浏览(90)
  • pytorch如何查看tensor和model在哪个GPU上以及指定GPU设备

    1. 查看tensor所在的设备: 2. 查看model所在的设备 3. Pytorch中将模型和张量加载到GPU的常用方法有两种。 方式1: 方式2: 4. 指定GPU代码 参考链接:PyTorch 中 选择指定的 GPU 注意需要将指定GPU代码放在程序段最开始的部位,如下图所示: 5.查看gpu个数

    2024年02月13日
    浏览(44)
  • 在GPU上运行pytorch程序(指定单/多显卡)

    1. 使用CUDA_VISIBLE_DEVICES 2. 使用cuda()和torch.cuda.set_device() 3. 使用device 4. 使用torch.nn.DataParallel torch.cuda常用指令 https://blog.csdn.net/qq_43307074/article/details/127628498?spm=1001.2014.3001.5501 方法1和方法2可以同时使用,比如在运行代码时使用: 而在代码内部又指定: 那么model会在GPU3上运行。

    2024年01月21日
    浏览(36)
  • 【深入了解PyTorch】PyTorch分布式训练:多GPU、数据并行与模型并行

    在深度学习领域,模型的复杂性和数据集的巨大规模使得训练过程变得极具挑战性。为了加速训练过程,利用多个GPU进行并行计算是一种常见的方法。PyTorch作为一种流行的深度学习框架,提供了强大的分布式训练工具,使得多GPU、数据并行和模型并行等技术变得更加容易实现

    2024年02月12日
    浏览(42)
  • PyTorch 中的多 GPU 训练和梯度累积作为替代方案

    动动发财的小手,点个赞吧! 在 本文 [1] 中,我们将首先了解数据并行(DP)和分布式数据并行(DDP)算法之间的差异,然后我们将解释什么是梯度累积(GA),最后展示 DDP 和 GA 在 PyTorch 中的实现方式以及它们如何导致相同的结果。 训练深度神经网络 (DNN) 时,一个重要的超

    2024年02月14日
    浏览(37)
  • 【分布式训练】基于PyTorch进行多GPU分布式模型训练(补充)

    简介: 在PyTorch中使用DistributedDataParallel进行多GPU分布式模型训练。 原文链接:https://towardsdatascience.com/distributed-model-training-in-pytorch-using-distributeddataparallel-d3d3864dc2a7 随着以ChatGPT为代表的大模型的不断涌现,如何在合理的时间内训练大模型逐渐成为一个重要的研究课题。为了解

    2024年02月16日
    浏览(47)
  • pytorch基于ray和accelerate实现多GPU数据并行的模型加速训练

    在pytorch的DDP原生代码使用的基础上,ray和accelerate两个库对于pytorch并行训练的代码使用做了更加友好的封装。 以下为极简的代码示例。 ray.py acc.py

    2024年02月11日
    浏览(43)
  • GPU版本pytorch的安装,配套环境python、Cuda、Anaconda安装和版本选择,及常见问题调用gpu返回false

    前言 :第一次装这个我也很懵,就想记录一下交流经验,这个安装最麻烦的是需要各个 版本 都需要 对应 。我也看了很多教程网上基本上安装都是cpu版本,就官网链接安装下来也是cpu版本,然后就不能调用显卡。 本教程使用python3.9、pytorch1.8.0、Cuda11.2版本、Cudnn8.8.1,这个

    2024年02月03日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包