将填充n
值的形状张量(batch_size,n,高度,宽度)转换为形状张量(batch_size,n,高度,宽度)的最简单方法是什么?我在下面创建了解决方案,但是看起来有更简便,更快捷的方法来进行此操作
def batch_tensor_to_onehot(tnsr, classes):
tnsr = tnsr.unsqueeze(1)
res = []
for cls in range(classes):
res.append((tnsr == cls).long())
return torch.cat(res, dim=1)
您可以使用tf.one_hot
:
tf.one_hot(tnsr, depth=classes, axis=1)
希望有帮助。