You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在打印神经网络权重时去除grad_fn信息

解决方法

当然可以去掉grad_fn=<SelectBackward0>,以下是几种简单的实现方式:

  • 方法一:使用.detach()切断计算图
    这个方法会返回一个不带有梯度信息的张量副本,打印时就不会显示grad_fn相关内容:

    print("Weight:", net.fc1.weight[0].detach())
    
  • 方法二:转换为numpy数组后重新封装为张量
    将张量转换为numpy数组会丢失梯度信息,再重新转为张量即可得到干净的输出:

    import torch
    weight_np = net.fc1.weight[0].detach().numpy()
    print("Weight:", torch.tensor(weight_np))
    
  • 方法三:使用.data属性(不推荐)
    虽然.data也能获取不带梯度的张量,但官方更推荐使用.detach(),因为.data在某些场景下可能导致梯度计算异常:

    print("Weight:", net.fc1.weight[0].data)
    

内容的提问来源于stack exchange,提问作者David777

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 10:59:52