最近在研究中发现torch一个问题,即torch的二次索引的矩阵无法赋值。
具体来说,给定相同的初始常数矩阵a 和iou_target 矩阵, 以及另一iou矩阵,直接赋值是没问题的。
然而,当对iou_target矩阵进行二次索引时,即idx矩阵和tp矩阵,可以看到赋值并未起到作用:
而矩阵的单个数值可赋值:
根据以上观测,在二次索引赋值时,需通过中间变量tp进行。上述过程可以实现为:
tp[tp > 0]=iou
iou_target[idx] = tp
最近在研究中发现torch一个问题,即torch的二次索引的矩阵无法赋值。
具体来说,给定相同的初始常数矩阵a 和iou_target 矩阵, 以及另一iou矩阵,直接赋值是没问题的。
然而,当对iou_target矩阵进行二次索引时,即idx矩阵和tp矩阵,可以看到赋值并未起到作用:
而矩阵的单个数值可赋值:
根据以上观测,在二次索引赋值时,需通过中间变量tp进行。上述过程可以实现为:
tp[tp > 0]=iou
iou_target[idx] = tp