浅谈AI落地之-加速训练

embedded/2025/3/18 21:03:23/

前言

曾在游戏世界挥洒创意,也曾在前端和后端的浪潮间穿梭,如今,而立的我仰望AI的璀璨星空,心潮澎湃,步履不停!愿你我皆乘风破浪,逐梦星辰!

混合精度:

FL32是目前模型存储数据一个比较普遍的格式。有时候过于浪费,根本用不着那么多。所以如果有一种方法能动态调整存储数据的大小,就能节省不少显存占用,从来提高批次大小,加速学习。

混合精度简单简单的来说,就是用FL16+FL32来代替原来的清一色FL32数据。具体实现是,在初始化好scaler以后,在遍历批次中的数据的时候,使用autocast自动对前向传播和损失处理混合精度。然后再使用梯度缩放器来缩放损失,并反向传播。

from torch.cuda.amp import GradScaler, autocastscaler = GradScaler()
# 使用autocast自动处理混合精度
with autocast():out = model(**data)  # 前向传播loss = out['loss']  # 获取损失
# 使用梯度缩放器来缩放损失,并反向传播
optimizer.zero_grad()
scaler.scale(loss).backward()
scaler.step(optimizer)
scaler.update()


http://www.ppmy.cn/embedded/173677.html

相关文章

低空经济安全保障体系构建方案

一、源头安全设计与认证 飞行器安全冗余设计 动力系统双备份:电动垂直起降(eVTOL)飞行器配备双电机、多电池组,单组故障仍可安全返航。轻量化结构材料:采用碳纤维复合材料+蜂窝夹层设计,抗坠毁强度提升30%。适航认证分级:参照民航标准,对载人/载货飞行器实施分级认证(…

Rust + WebAssembly 开发环境搭建指南

一、安装 Rust 工具链 要开始 Rust WebAssembly 开发,你需要安装标准 Rust 工具链,包括 rustup、rustc 和 cargo。 1. 安装 Rust 工具链 Rust 官方提供 rustup 工具来管理 Rust 版本。你可以使用以下命令安装 Rust: curl --proto https -…

游戏引擎学习第163天

我们可以在资源处理器中使用库 因为我们的资源处理器并不是游戏的一部分,所以它可以使用库。我说过我不介意让它使用库,而我提到这个的原因是,今天我们确实有一个选择——可以使用库。 生成字体位图的两种方式:求助于 Windows 或…

本周安全速报(2025.3.11~3.17)

合规速递 01 瑞士出台新规:关基设施遭遇网络攻击需在24小时内上报 原文: https://www.bleepingcomputer.com/news/security/swiss-critical-sector-faces-new-24-hour-cyberattack-reporting-rule/ 新规要求,关键基础设施组织发现网络攻击后&…

【MySQL】多表查询(笛卡尔积现象,联合查询、内连接、左外连接、右外连接、子查询)-通过练习快速掌握法

在DQL的基础查询中,我们已经学过了多表查询的一种:联合查询(union)。本文我们将系统的讲解多表查询。 笛卡尔积现象 首先,我们想要查询emp表和stu表两个表,按照我们之前的知识栈,我们直接使用…

Qt6.8实现麦克风音频输入音频采集保存wav文件

一.本文目的 实现在Qt中接收麦克风数据并保存为WAV文件,使用QAudioInput来录音,并使用QFile来保存数据到WAV文件。 开发环境:QT6.8 本文用极简代码实现,核心代码只需不到100行。 二.代码实现

K8S学习之基础三十四:K8S之监控Prometheus部署pod版

使用 Kubernetes Pod 的方式部署 Prometheus 是一种常见的方法,尤其是在容器化和微服务架构中。以下是详细的步骤: 1. 创建命名空间(可选) 为了方便管理,可以为 Prometheus 创建一个单独的命名空间。 yaml 复制 a…

Python 视频爬取教程

文章目录 前言基本原理环境准备Python安装选择Python开发环境安装必要库 示例 1:爬取简单直链视频示例 2:爬取基于 HTML5 的视频(以某简单视频网站为例) 前言 以下是一个较为完整的 Python 视频爬取教程,包含基本原理…