pytorch交叉熵损失函数_yolov5损失函数

pytorch交叉熵损失函数_yolov5损失函数均方损失函数:这里,loss,x,y的维度是一样的,可以使向量或者矩阵,i是下标。很多的loss函数都有size_average和reduce两个布尔类型的参数,因为一般损失函数都是直接计算batch的数据,因此返回的loss结果都是维度为(batch_size,)的向量。1)如果reduce=False,那么size_average参数失效,直接返回向量形式的loss2)如果…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

nn.MSELoss均方损失函数:

loss(x_i,y_i)=(x_i-y_i)^2

这里,loss,x,y的维度是一样的,可以是向量或者矩阵,i是下标。比如若x,y是矩阵

x=[a_{ij}], y=[b_{ij}], 0<i<n,0<j<m

则x,y的均方误差计算是逐元素运算的

loss(x,y)=\sum_{i=0}^n \sum_{j=0}^m (a_{ij}-b_{ij})^2

import torch
import torch.nn as nn
crit=nn.MSELoss()#均方损失函数
target = torch.FloatTensor([[1, 2, 3], [4, 5, 6]])
pred= torch.FloatTensor([[7, 8, 9], [8, 4, 3]])
cost=crit(pred,target)#将pred,target逐个元素求差,然后求平方,再求和,再求均值,
print(cost)#tensor(22.3333)
sum=0
for i in range (0,2):#遍历行i
    for j in range(0,3):#遍历列
        sum+=(target[i][j]-pred[i][j])*(target[i][j]-pred[i][j])#对应元素做差,然后平方
print(sum/6)#tensor(22.3333)

很多的loss函数都有size_average和reduce两个布尔类型的参数,因为一般损失函数都是直接计算batch的数据,因此返回的loss结果都是维度为(batch_size,)的向量。

1)如果reduce=False,那么size_average参数失效,直接返回向量形式的loss

2)如果redcue=true,那么loss返回的是标量。

   2.a: if size_average=True, 返回loss.mean();#就是平均数

   2.b: if size_average=False,返回loss.sum()

注意:默认情况下,reduce=true,size_average=true

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192619.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • matlab自带的插值函数interp1的四种插值方法

    matlab自带的插值函数interp1的四种插值方法分段线性插值,临近插值,球面插值,三次多项式插值!!

    2022年6月14日
    39
  • vmware虚拟机重装系统_ubuntu下安装虚拟机

    vmware虚拟机重装系统_ubuntu下安装虚拟机VMware下载地址:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html下载之后按步骤安装即可。安装完成后需要密钥,这里给出VMwareWorkstationPro16的密钥:YF390-0HF8P-M81RQ-2DXQE-M2UT6ZF71R-DMX85-08DQY-8YMNC-PPHV8密钥输入完成就可永久使用。ubuntu:首先下载Ubuntu的镜像,我下载的是ubuntu

    2022年9月14日
    3
  • 提升进程权限-OpenProcessToken等函数的用法[通俗易懂]

    提升进程权限-OpenProcessToken等函数的用法[通俗易懂]提升进程权限文章一:在枚举/结束系统进程或操作系统服务时,会出现自己权限不足而失败的情况,这时就需要提升自己进程到系统权限,其实提升权限的代码很简单的,看到过的最经典的应该是《WINDOWS核心编程》第四章中操作进程给出的那个函数了,如果我们真的不了解它的操作也不要紧,因为只要在你需要的地方调用下面这个函数就是了,以下是它的代码:BOOLEnablePriv(){HAND

    2022年6月25日
    47
  • 网站目录权限设置

    网站目录权限设置

    2021年8月31日
    114
  • java 正则表达式 替换 html,java 正则表达式 替换 html「建议收藏」

    java 正则表达式 替换 html,java 正则表达式 替换 html「建议收藏」java正则表达式替换html[2021-01-2922:37:07]简介:java正则表达式用法:1、使用Pattern类进行字符串的拆分,使用的方法是【String[]split(CharSequenceinput)】;2、使用Matcher类进行字符串的验证和替换。相关免费学习推荐:javaphp正则表达式替换图片地址的方法:首先PHP正则提取图片img标记中的任意属性;然后…

    2022年5月16日
    46
  • shell编程if/then备忘

    shell编程if/then备忘一、基础知识”[“是专有命令,而不是普通测试符号(ls/usr/bin/[有结果),和test命令等价,并且是内建命令。bash2.02引入[[…]]扩展测试命令,但是[[是一个关键字,而不是一个命令,Bash把[[$a-lt$b]]看做一个单独的元素,并且返回一个退出状态码((…))和let…结构也能够返回退出状态吗,当他们所测试的算术表达式的结构

    2022年8月18日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号