clip_grad_norm_ 梯度裁剪

torch.nn.utils.clip_grad_norm_ 函数是用来对模型的梯度进行裁剪的。在深度学习中,经常会使用梯度下降算法来更新模型的参数,以最小化损失函数。然而,在训练过程中,梯度可能会变得非常大,这可能导致训练不稳定甚至梯度爆炸的情况。

裁剪梯度的作用是限制梯度的大小,防止它们变得过大。裁剪梯度的常见方式是通过计算梯度的范数(即梯度向量的长度),如果梯度的范数超过了设定的阈值,则对梯度向量进行缩放,使其范数等于阈值。

复制代码
torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0)  

对模型的参数的梯度进行裁剪,限制其范数为1.0。这有助于防止梯度爆炸,提高训练的稳定性

深层神经网络 中常用,避免梯度爆炸

相关推荐
Shockang17 小时前
llama.cpp 本地运行 9B 模型:部署、工具调用与微调数据
人工智能
Shockang17 小时前
n8n 智能体工作流实战:触发、工具、记忆与发布护栏
人工智能
冬奇Lab18 小时前
开源项目第241期:YuE2 —— 用符号乐谱当“白盒“接口的开源音乐生成模型,SongBench 超越 Suno v5/v6
人工智能
鶴哥只手遮天19 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源
鶴哥只手遮天19 小时前
Spring AI 2.0.1 深度解析-第 15 章 MCP 服务端(下):三种协议形态、Streamable 传输与状态管理
java·人工智能·开源
鶴哥只手遮天20 小时前
Spring AI 2.0.1 深度解析-第 16 章 向量存储(上):`VectorStore` 接口体系、`BatchingStrategy`
java·人工智能·开源
鶴哥只手遮天20 小时前
Spring AI 2.0.1 深度解析-第 12 章 工具循环的流式形态、Usage 累加与扩展体系
java·人工智能·开源
鶴哥只手遮天20 小时前
Spring AI 2.0.1 深度解析-第 23 章 模型供应商实现:从 `OpenAiSetup` 到 Bedrock
java·人工智能·开源
鶴哥只手遮天20 小时前
Spring AI 2.0.1 深度解析-第 06 章 内置 Advisor 全景:13 个实现逐个剖到源码级
java·人工智能·开源