Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 加权多类分割中各类损失的计算_Python_Machine Learning_Pytorch_Image Segmentation - Fatal编程技术网

Python 加权多类分割中各类损失的计算

Python 加权多类分割中各类损失的计算,python,machine-learning,pytorch,image-segmentation,Python,Machine Learning,Pytorch,Image Segmentation,使用Pyrotch计算损耗很容易,可使用缩减功能: criteria=nn.CrossEntropyLoss(重量=cw,减量=“平均值”) 其中,cw是类权重的1D张量 masks\u pred=net(imgs) 损失=标准(遮罩,遮罩) 在这种情况下,loss是一个标量(在loss.item()之后),表示加权损失,它可以与使用以下方法相同: criteria=nn.CrossEntropyLoss(重量=cw,减量=“无”) 掩码_pred=净(imgs) 损失=标准(遮罩,遮罩)

使用Pyrotch计算损耗很容易,可使用缩减功能:

criteria=nn.CrossEntropyLoss(重量=cw,减量=“平均值”)
其中,
cw
是类权重的1D张量

masks\u pred=net(imgs)
损失=标准(遮罩,遮罩)
在这种情况下,
loss
是一个标量(在
loss.item()
之后),表示加权损失,它可以与使用以下方法相同:

criteria=nn.CrossEntropyLoss(重量=cw,减量=“无”)
掩码_pred=净(imgs)
损失=标准(遮罩,遮罩)
loss=loss.sum()/cw[masks].sum()
我的问题是如何获得每个类别的加权损失?理论上,我知道我需要计算以下各项:

x类总损失/x类总重量

我尝试过的事情:

我尝试的第一件事是获得特定类权重在
掩码上的总和(比如类0):

cw[掩码==0]
但我得到了这个错误:

索引器:维度1的张量的索引太多

我也不知道如何计算每节课的损失