可插拔训练加速trick-Scaling PyTorch Model Training With Minimal Code Changes

news/2024/10/23 5:41:02/

依赖:

pip install lightning

插拔改动:

from lightning.fabric import Fabric#...# 实例化
fabric = Fabric(accelerator='cuda')  
# 混精度用这个,加速明显
#fabric = Fabric(accelerator="cuda", precision="bf16-mixed")
fabric.launch()#...# 插拔接入
model, optimizer = fabric.setup(model, optimizer) 
train_dataloader = fabric.setup_dataloaders(train_dataloader)#...def train(num_epochs, model, optimizer, train_loader, val_loader, fabric):for epoch in range(num_epochs):train_acc = torchmetrics.Accuracy(task="multiclass", num_classes=10).to(fabric.device)model.train()for batch_idx, (features, targets) in enumerate(train_loader):model.train()  logits = model(features)loss = F.cross_entropy(logits, targets)optimizer.zero_grad()fabric.backward(loss)  # 插拔接入,原反向传播:loss.backward()optimizer.step()#...

参考文献

CVPR 2023 Talk:Scaling PyTorch Model Training With Minimal Code Changes


http://www.ppmy.cn/news/1037846.html

相关文章

今天来聊一聊单眼三维人脸重建、跟踪及其应用

人脸是计算机视觉中最基本的对象之一,而单眼三维人脸重建和跟踪则是计算机视觉中最具挑战性的任务之一。随着计算机技术的不断发展,单眼三维人脸重建和跟踪已经成为了计算机视觉领域中的热门研究方向之一。 单眼三维人脸重建是指从一张单眼照片中&#x…

神经网络基础-神经网络补充概念-23-神经网络的梯度下降法

概念 神经网络的梯度下降法是训练神经网络的核心优化算法之一。它通过调整神经网络的权重和偏差,以最小化损失函数,从而使神经网络能够逐渐逼近目标函数的最优值。 步骤 1损失函数(Loss Function): 首先&#xff0c…

锁的升级过程(代码演示)

1 前言 锁的状态有4种,无锁,偏向锁、轻量级锁、重量级锁。那为什么会有锁升级的这种概念,其实大家都知道synchronized 在1.6之后做了升级,但具体是升级了什么?其实在jdk1.6之前锁只有重量级锁这个概念(但是…

【高阶数据结构】红黑树详解

文章目录 前言1. 红黑树的概念及性质1.1 红黑树的概念1.2 红黑树的性质1.3 已经学了AVL树,为啥还要学红黑树 2. 红黑树结构的定义3. 插入(仅仅是插入过程)4. 插入结点之后根据情况进行相应调整4.1 cur为红,p为红,g为黑…

rust踩雷笔记(2)——一道hard带来的思考[哈希表、字符串、滑动窗口]

今天被一道hard恶心坏了,算法不难,用C几分钟的事。用rust主要还是缺乏对语言的熟练度,记录一下,主要的坑在下面这个操作: 对String取其中某个位置的char。 可能你会有疑问:这不是直接nth()取就行了么。没错…

二刷LeetCode--148. 排序链表(C++版本),必会题,思维题

思路,本题其实考察了两个点:合并链表、链表切分。首先从1开始,将链表切成一段一段,因为需要使用归并,所以下一次的切分长度应该是当前切分长度的二倍,每次切分,我们拿出两段,然后将第…

Jetpack 中的 LiveData 粘性事件

什么叫粘性事件 LiveData使用篇Jetpack 中的 LiveData - 使用篇_简单不一定不好的博客-CSDN博客后再进一步了解LiveData。观察者和被观察者,正常情况下观察者先注册,被观察者再发送观察事件;所以粘性事件可以理解为观察者模式的升级&#xf…

LeetCode235. 二叉搜索树的最近公共祖先

235. 二叉搜索树的最近公共祖先 文章目录 [235. 二叉搜索树的最近公共祖先](https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/)一、题目二、题解方法一:递归方法二:迭代 一、题目 给定一个二叉搜索树, 找到该树中两个指定…