位置: 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怎么导入sim卡联系人(苹果13怎么导入sim卡联系人没反应)

    苹果13怎么导入sim卡联系人(苹果13怎么导入sim卡联系人没反应)

  • 视频设置关键帧有什么作用(视频里的关键帧是什么)

    视频设置关键帧有什么作用(视频里的关键帧是什么)

  • 华为手机怎么添加水印在图片上(华为手机怎么添加nfc门禁卡)

    华为手机怎么添加水印在图片上(华为手机怎么添加nfc门禁卡)

  • qq登录抖音错误代码110405 啥意思(qq登录抖音错误怎么解决)

    qq登录抖音错误代码110405 啥意思(qq登录抖音错误怎么解决)

  • 联想x1开机键在哪(联想x1开机键在哪图片示意图)

    联想x1开机键在哪(联想x1开机键在哪图片示意图)

  • 苹果手表可以外放音乐嘛(苹果手表可以外放QQ音乐吗)

    苹果手表可以外放音乐嘛(苹果手表可以外放QQ音乐吗)

  • 惠普3636加墨后检测不到墨盒(惠普3636加墨后无法打印东西)

    惠普3636加墨后检测不到墨盒(惠普3636加墨后无法打印东西)

  • powerpoint概念功能和特点(介绍powerpoint的概念、功能及其特)

    powerpoint概念功能和特点(介绍powerpoint的概念、功能及其特)

  • 小米手机被屏蔽的短信去哪看(小米手机被屏蔽的短信怎么恢复)

    小米手机被屏蔽的短信去哪看(小米手机被屏蔽的短信怎么恢复)

  • 黑鲨3支持无线充电吗(黑鲨支持无线充吗)

    黑鲨3支持无线充电吗(黑鲨支持无线充吗)

  • 华为不支持谷歌浏览器吗(为什么华为不支持谷歌)

    华为不支持谷歌浏览器吗(为什么华为不支持谷歌)

  • 手机充电器三根线怎么辨认(手机充电器三根线分别是什么线)

    手机充电器三根线怎么辨认(手机充电器三根线分别是什么线)

  • 不续订icloud后东西还在吗(icloud不续费后)

    不续订icloud后东西还在吗(icloud不续费后)

  • ipad微信发不了视频朋友圈(ipad微信发不了相册视频)

    ipad微信发不了视频朋友圈(ipad微信发不了相册视频)

  • 腾讯课堂在电脑上为什么打不开(腾讯课堂在电脑上怎么打开麦克风)

    腾讯课堂在电脑上为什么打不开(腾讯课堂在电脑上怎么打开麦克风)

  • 微信电影票能退吗(微信电影票退票流程)

    微信电影票能退吗(微信电影票退票流程)

  • za苹果是哪个版本(za苹果是哪个版本是双卡吗)

    za苹果是哪个版本(za苹果是哪个版本是双卡吗)

  • 抖音上限流是什么意思(抖音上限流了怎么办)

    抖音上限流是什么意思(抖音上限流了怎么办)

  • word页面字符怎么设置(word文档页面设置字符数和行数)

    word页面字符怎么设置(word文档页面设置字符数和行数)

  • 魅族16T怎么安装SIM卡(魅族怎么安装apk)

    魅族16T怎么安装SIM卡(魅族怎么安装apk)

  • 拼多多怎么联系客服备注(拼多多怎么联系官方客服介入)

    拼多多怎么联系客服备注(拼多多怎么联系官方客服介入)

  • 换后压屏有啥影响吗(换后压屏有啥影响嘛)

    换后压屏有啥影响吗(换后压屏有啥影响嘛)

  • 快手评论上限怎么办(快手评论上限怎么设置)

    快手评论上限怎么办(快手评论上限怎么设置)

  • 卖家漏发东西怎么办(卖家漏发货可以选择退款吗)

    卖家漏发东西怎么办(卖家漏发货可以选择退款吗)

  • 苹果演示机值不值得买(苹果演示机能便宜多少)

    苹果演示机值不值得买(苹果演示机能便宜多少)

  • 微信如何设置超长名字(微信如何设置超长备注名)

    微信如何设置超长名字(微信如何设置超长备注名)

  • arcgis是做什么的(arcgis是做什么的软件)

    arcgis是做什么的(arcgis是做什么的软件)

  • 小米cc9是双扬声器吗(小米cc9是单声道还是双声道)

    小米cc9是双扬声器吗(小米cc9是单声道还是双声道)

  • usb3.1兼容3.0吗(usb3.2兼容usb3.0吗)

    usb3.1兼容3.0吗(usb3.2兼容usb3.0吗)

  • 微信指纹识别失败请重试(微信指纹识别失败,密码又忘记怎么办)

    微信指纹识别失败请重试(微信指纹识别失败,密码又忘记怎么办)

  • 前端请求中body和query传参(前端请求方式)

    前端请求中body和query传参(前端请求方式)

  • 一般纳税人销售货物税率
  • 个人所得税的税目分多少种
  • 税收实体法和程序法分类
  • 暂估成本会计处理
  • 其他收益属于什么类
  • 增值税可以退税嘛
  • 每月记账报税客户怎么填
  • 从合伙企业分回的经营所得 合伙企业 个人所得税
  • 结算备付金是流水账单吗
  • 电子承兑背书失败是怎么回事
  • 一般纳税人税负率一般控制在多少?法律依据
  • 按工人工资比例结转制造费用的科目
  • 金融债券利息收入免企业所得税吗
  • 个人所得税手续费奖励办税人员文件
  • 2021年2月适合公司开业的日子
  • 个人独资企业是什么类型
  • 投资理财产品的风险性从低到高
  • 外购低值易耗品可以抵扣进项税额吗
  • 车辆购置税是否计入固定资产
  • 委托加工怎么计算消费税
  • 环评费用计入管理费用吗 是否需要摊销
  • 研发支出的台账由谁做
  • 差额征税可以开发票吗
  • 专用发票的审核要多久
  • 主办会计工作注意什么
  • 关于员工表彰奖励的方案
  • Win11怎么关闭自动休眠
  • 借条复印件可以起诉吗还有转账记录
  • explorer进程作用
  • 鹤顶兰的养殖方法和管理
  • Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
  • html渐变色背景
  • uniapp返回上一页不刷新
  • thinkphp教程
  • 收购企业如何看报表
  • 餐厅的打包盒一般是多少毫升
  • 资金结存属于什么会计科目
  • 中标违约保证金怎么算
  • dedecms织梦不同栏目导航显示不同样式的方法
  • 保证人不承担责任的情形(上)
  • sql怎么用sql语句创建表
  • Excel导入数据库出错
  • sql 存储过程语句
  • 交易性金融资产入账价值怎么计算
  • 直接转销法还允许使用吗
  • 年金一定是一年一次吗
  • 运动会活动奖品
  • 流动比率表示方法
  • 国外佣金算什么费用比较好
  • 内账收入按含税还是不含税入
  • 应收账款冲销是什么意思
  • 企业将资金用于购买原材料属于什么过程
  • 财政补助结转余额在借方还是贷方
  • 留底税额怎么入账
  • 上期留抵税额可以留多久
  • 旅客运输服务客体是什么
  • sql语句训练题及答案
  • microsoft onedrive怎么关闭
  • mac快捷键使用
  • 禁止windows安装程序
  • 什么叫linux
  • mac怎么连接打印机设备
  • win7旗舰版怎么改成专业版
  • win8怎么运行命令
  • win10不支持win7软件怎么办
  • Win10年度升级版将正式提供暗黑主题 未自定义颜色都会变暗
  • perl $?
  • 10个常用linux指令
  • 简述javascript
  • 会用python
  • javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
  • android gradle task dependence
  • 安卓手机管家怎么关闭
  • 国家税务江苏税务总局官网
  • 陕西税务电子税务局官网安装
  • 技术服务费减免企业所得税政策
  • 出租场地的税费
  • 2021西安雁塔区第一幼儿园运动会
  • 如何查询甘肃省清产核资系统扶贫项目资产金额
  • 信托公司抵押房能买吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设