当前位置: 首页 > article >正文

警告 torch.nn.utils.weight_norm is deprecate 的参考解决方法

文章目录

  • 写在前面
  • 一、问题描述
  • 二、解决方法
  • 参考链接

写在前面

自己的测试环境:
Ubuntu20.04

一、问题描述

运行 pytorch 程序,如下如下警告

/home/wong/ProgramFiles/anaconda3/envs/pytorch_env/lib/python3.8/site-packages/torch/nn/utils/weight_norm.py:30: UserWarning: torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm.
  warnings.warn("torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm.")

在这里插入图片描述

二、解决方法

根据提示可以发现,torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm. 也就是 torch.nn.utils.weight_norm 已经被弃用,建议使用 torch.nn.utils.parametrizations.weight_norm.
因此需要改为 torch.nn.utils.parametrizations.weight_norm , 并且,根据pytorch官网中的描述,还需要把程序中的 weight_g 修改为parametrizations.weight.original0weight_v 修改为parametrizations.weight.original1 .

比如,原程序为

theta = torch.nn.utils.weight_norm(nn.Linear(d_in, num_projections, bias=False), dim=0)
if num_projections <= d_in:
    torch.nn.init.eye_(theta.weight_v)
else:
    torch.nn.init.normal_(theta.weight_v)
theta.weight_g.data = torch.ones_like(theta.weight_g.data, requires_grad=False)
theta.weight_g.requires_grad = False

需要修改为:

theta = torch.nn.utils.parametrizations.weight_norm(nn.Linear(d_in, num_projections, bias=False), dim=0)
if num_projections <= d_in:
    torch.nn.init.eye_(theta.parametrizations.weight.original1)
else:
    torch.nn.init.normal_(theta.parametrizations.weight.original1)
theta.parametrizations.weight.original0.data = torch.ones_like(theta.parametrizations.weight.original0.data, requires_grad=False)
theta.parametrizations.weight.original0.requires_grad = False

参考链接

[1] pytorch. torch.nn.utils.weight_norm [EB/OL]. https://pytorch.org/docs/2.1/generated/torch.nn.utils.weight_norm.html, 2023-xx-xx/2024-12-18.


http://www.kler.cn/a/442046.html

相关文章:

  • -bash: /java: cannot execute binary file
  • 聚铭网络6款产品入选CCIA《网络安全专用产品指南》
  • 【大数据】机器学习------支持向量机(SVM)
  • cuda + cudnn安装
  • 深度学习项目--基于LSTM的火灾预测研究(pytorch实现)
  • 鲍厚霖:引领AI广告创新,搭建中美合作桥梁
  • Scala 的迭代器
  • 基于遗传优化SVM支持向量机的数据分类算法matlab仿真,SVM通过编程实现,不使用工具箱
  • VMware Workstation Pro 17 与 虚拟机 ——【安装操作】
  • NoSQL数据库介绍与分类
  • 引言和相关工作的区别
  • AOP实现操作日志记录+SQL优化器升级
  • NFT市场回暖:蓝筹项目成为复苏主力,空投潮助推价格上涨
  • Android 13 Aosp SystemServer功能裁剪(PackageManager.hasSystemFeature())
  • Jenkins搭建并与Harbor集成上传镜像
  • 如何查看K8S集群中service和pod定义的网段范围
  • 备战美赛!2025美赛数学建模C题模拟预测!用于大家练手模拟!
  • Python之公共操作篇
  • AirSim 无人机不同视角采集不同场景的图片
  • SEO短视频矩阵系统源码开发概述
  • 域名历史是什么?怎么进行域名历史查询?
  • gorm源码解析(四):事务,预编译
  • Java基础知识(四) -- 面向对象(中)
  • 量化交易实操入门
  • SQLite 安装与使用
  • vue的elementUI 给输入框绑定enter事件失效