pytorch的二次索引矩阵无法赋值问题

最近在研究中发现torch一个问题,即torch的二次索引的矩阵无法赋值。

具体来说,给定相同的初始常数矩阵aiou_target矩阵, 以及另一iou矩阵,直接赋值是没问题的。

然而,当对iou_target矩阵进行二次索引时,即idx矩阵和tp矩阵,可以看到赋值并未起到作用:

pytorch的二次索引矩阵无法赋值问题_第1张图片

而矩阵的单个数值可赋值

pytorch的二次索引矩阵无法赋值问题_第2张图片

根据以上观测,在二次索引赋值时,需通过中间变量tp进行。上述过程可以实现为:

tp[tp > 0]=iou
iou_target[idx] = tp

你可能感兴趣的:(pytorch,pytorch,矩阵,人工智能)