位置: IT常识 - 正文

loss.item()用法和注意事项详解(loss for)

编辑:rootadmin
loss.item()用法和注意事项详解

推荐整理分享loss.item()用法和注意事项详解(loss for),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:loss at,loss at,loss method,loss from,loss at,loss的用法,loss into for,loss=mse,内容如对您有帮助,希望把文章链接给更多的朋友!

.item()方法是,取一个元素张量里面的具体元素值并返回该值,可以将一个零维张量转换成int型或者float型,在计算loss,accuracy时常用到。

作用:

1.item()取出张量具体位置的元素元素值 2.并且返回的是该位置元素值的高精度值 3.保持原元素类型不变;必须指定位置

4.节省内存(不会计入计算图)

import torchloss = torch.randn(2, 2)print(loss)print(loss[1,1])print(loss[1,1].item())

输出结果

tensor([[-2.0274, -1.5974],         [-1.4775,  1.9320]]) tensor(1.9320) 1.9319512844085693

其它:loss = criterion(out, label) loss_sum += loss # <--- 这里

运行着就发现显存炸了,观察发现随着每个batch显存消耗在不断增大…因为输出的loss的数据类型是Variable。PyTorch的动态图机制就是通过Variable来构建图。主要是使用Variable计算的时候,会记录下新产生的Variable的运算符号,在反向传播求导的时候进行使用。如果这里直接将loss加起来,系统会认为这里也是计算图的一部分,也就是说网络会一直延伸变大,那么消耗的显存也就越来越大。

loss.item()用法和注意事项详解(loss for)

正确的loss一般是这样写 

loss_sum += loss.data[0]

其它注意事项:

使用loss += loss.detach()来获取不需要梯度回传的部分。

使用loss.item()直接获得对应的python数据类型。

补充阅读,pytorch 计算图

Pytorch的计算图由节点和边组成,节点表示张量或者Function,边表示张量和Function之间的依赖关系。

Pytorch中的计算图是动态图。这里的动态主要有两重含义。

第一层含义是:计算图的正向传播是立即执行的。无需等待完整的计算图创建完毕,每条语句都会在计算图中动态添加节点和边,并立即执行正向传播得到计算结果。

第二层含义是:计算图在反向传播后立即销毁。下次调用需要重新构建计算图。如果在程序中使用了backward方法执行了反向传播,或者利用torch.autograd.grad方法计算了梯度,那么创建的计算图会被立即销毁,释放存储空间,下次调用需要重新创建。

1,计算图的正向传播是立即执行的。

import torchw = torch.tensor([[3.0,1.0]],requires_grad=True)b = torch.tensor([[3.0]],requires_grad=True)X = torch.randn(10,2)Y = torch.randn(10,1)Y_hat = X@w.t() + b # Y_hat定义后其正向传播被立即执行,与其后面的loss创建语句无关loss = torch.mean(torch.pow(Y_hat-Y,2))print(loss.data)print(Y_hat.data)tensor(17.8969)tensor([[3.2613], [4.7322], [4.5037], [7.5899], [7.0973], [1.3287], [6.1473], [1.3492], [1.3911], [1.2150]])

2,计算图在反向传播后立即销毁。

import torchw = torch.tensor([[3.0,1.0]],requires_grad=True)b = torch.tensor([[3.0]],requires_grad=True)X = torch.randn(10,2)Y = torch.randn(10,1)Y_hat = X@w.t() + b # Y_hat定义后其正向传播被立即执行,与其后面的loss创建语句无关loss = torch.mean(torch.pow(Y_hat-Y,2))#计算图在反向传播后立即销毁,如果需要保留计算图, 需要设置retain_graph = Trueloss.backward() #loss.backward(retain_graph = True) #loss.backward() #如果再次执行反向传播将报错

参考链接:pytorch学习:loss为什么要加item()_dlvector的博客-CSDN博客_loss.item()

https://blog.csdn.net/cs111211/article/details/126221102

本文链接地址:https://www.jiuchutong.com/zhishi/298517.html 转载请保留说明!

上一篇:神经网络模型之BP算法及实例分析(神经网络模型是干嘛的)

下一篇:UNIAPP手机号一键登录(uniapp获取手机通讯录)

  • 苹果13怎么设置桌面布局(苹果13怎么设置来电铃声)

    苹果13怎么设置桌面布局(苹果13怎么设置来电铃声)

  • airpods是什么耳机(耳机airpods是什么)

    airpods是什么耳机(耳机airpods是什么)

  • 抖音拍同款怎么加字幕(抖音拍同款怎么把字也复制上)

    抖音拍同款怎么加字幕(抖音拍同款怎么把字也复制上)

  • 微信账户在哪里查看(微信账户在哪里找出来)

    微信账户在哪里查看(微信账户在哪里找出来)

  • 直播美颜了脸忽大忽小(直播间脸美颜不稳定怎么办)

    直播美颜了脸忽大忽小(直播间脸美颜不稳定怎么办)

  • 磁盘占用100%有什么影响(磁盘占用100%是中毒了吗)

    磁盘占用100%有什么影响(磁盘占用100%是中毒了吗)

  • 微信聊天背景模糊怎么办(微信聊天背景模糊怎么回事)

    微信聊天背景模糊怎么办(微信聊天背景模糊怎么回事)

  • zukz2强制恢复出厂设置(zukz2pro强制恢复出厂设置)

    zukz2强制恢复出厂设置(zukz2pro强制恢复出厂设置)

  • 微信资料怎么改(微信资料怎么改地址自定义)

    微信资料怎么改(微信资料怎么改地址自定义)

  • 怎样设置钉钉接收信息有声音(怎样设置钉钉接龙添加照片)

    怎样设置钉钉接收信息有声音(怎样设置钉钉接龙添加照片)

  • 钉钉拉黑对方发信息还能发送成功吗(钉钉拉黑对方发消息对方能收到吗)

    钉钉拉黑对方发信息还能发送成功吗(钉钉拉黑对方发消息对方能收到吗)

  • 京东e卡绑定了还能转让吗(京东e卡绑定了可以退款吗)

    京东e卡绑定了还能转让吗(京东e卡绑定了可以退款吗)

  • 华为手机从哪里下载软件(华为手机从哪里插卡)

    华为手机从哪里下载软件(华为手机从哪里插卡)

  • 内屏坏了怎么关闹钟(内屏坏了怎么关掉闹钟)

    内屏坏了怎么关闹钟(内屏坏了怎么关掉闹钟)

  • word2013稿纸设置在哪(word2013稿纸设置不见了)

    word2013稿纸设置在哪(word2013稿纸设置不见了)

  • soul关注后怎么聊天(soul关注了怎么进对方聊天室)

    soul关注后怎么聊天(soul关注了怎么进对方聊天室)

  • 大众点评怎么匿名发表(大众点评怎么匿名回复商家评论)

    大众点评怎么匿名发表(大众点评怎么匿名回复商家评论)

  • 拼多多怎么查看个人信息(拼多多怎么查看商家发货地址)

    拼多多怎么查看个人信息(拼多多怎么查看商家发货地址)

  • 苹果手机屏保模糊怎么回事(苹果手机屏保模糊出现搜索)

    苹果手机屏保模糊怎么回事(苹果手机屏保模糊出现搜索)

  • 阿里试用入口在哪里(阿里试用手机从哪里点进去)

    阿里试用入口在哪里(阿里试用手机从哪里点进去)

  • airpods无线充电盒和有线的区别(airpods无线充电盒能用线充吗)

    airpods无线充电盒和有线的区别(airpods无线充电盒能用线充吗)

  • 11英寸ipad pro多大(11英寸ipadpro多少厘米)

    11英寸ipad pro多大(11英寸ipadpro多少厘米)

  • python self是什么意思?怎么使用?(python中self详解)

    python self是什么意思?怎么使用?(python中self详解)

  • 免税收入对应的成本费用可以扣除吗
  • 手机上税票怎么开
  • 如何查询开出的全电发票
  • 合同不交印花税合法吗
  • 起重机属于固定资产哪个类别
  • 如何判断会计政策变动
  • 文化事业建设费怎么申报
  • 转回存货跌价准备为什么是可抵扣暂时性差异
  • 想要自己开厂应该怎么做
  • 小微企业附加税税收优惠政策
  • 发生哪些情形的应判定为重大电力安全隐患
  • 全面解析来料加工企业账务处理
  • 出口免税进项税额转出会计分录
  • 个税怎么计算扣多少
  • 税控信息表
  • 国家税务总局公告2023年第1号
  • 房产税的常见四大检查点
  • 红字冲回上月收入
  • 迁出注销类别怎么写
  • 对外投资的风险及对策
  • 税控盘服务费抵税会计分录
  • 资金印花税
  • 专用发票可以抵扣吗
  • 如何在windows11上打开蓝牙
  • 票据状态提示付款
  • 退回现金怎么写分录
  • 公积金贷款额度查询计算器
  • mac 怎么操作
  • xshell怎么用vim
  • 前端数据统计图
  • cesium加载s3m
  • 房产税的应纳税额计算方法
  • 卷曲的蕨菜叶怎么吃
  • 如何使用nodejs
  • 不合格的设备怎么处理
  • 清算资金往来的余额方向
  • 浦东森林村
  • opencv模板匹配多目标旋转
  • es6从入门到实战
  • tcpreplay命令详解
  • 成本票不够怎么做账
  • 个税申报密码重置多久能用
  • python 顺序
  • python 函数 global
  • python中chr函数介绍
  • 交税交多了如何申请退税
  • mysql分页怎么实现
  • 无形资产租金计入什么科目
  • 电脑计入固定资产了怎么抵企业所得税
  • 税法的个人所得税
  • 管理费用的会计要素
  • 小规模没有销售额如何申报
  • 日本发票国内能用吗
  • 委托付款做账怎么做
  • 内退文件2018
  • 研发费用的会计处理对公司经营成果的影响
  • 专用发票过期未认证最新规定
  • 自然人独资公司税收政策
  • 出库单上面的单位写谁的
  • sqlserver中delete、update中使用表别名和oracle的区别
  • sql 普通行列转换
  • mysql 5.7.18 winx64安装配置方法图文教程
  • msi安装错误代码2503
  • 重装系统需要主机吗
  • win8激活失败
  • 在任务栏右下角添加图标
  • windows1021h1新功能
  • win10应用商店不好用
  • cocoscreator lua
  • angularjs删除数组元素
  • python生成pyc
  • javascript要怎么学
  • js设置
  • python中的zip()函数详解
  • 税务局哪些部门轻松待遇好
  • 税务检查的三种常用方法
  • 电子增值税专用发票和纸质增值税专用发票的区别
  • 滨州税务局公务员工资
  • 广东省税务局发票查询
  • 税务总局全国增值税发票查验平台
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设