我想把下面的矩阵转换成PyTorchTensor:
[['SELF', '', '', '', ''],
['nsubj', 'SELF', '', '', ''],
['', 'compound', 'SELF', '', ''],
['dobj', '', '', 'SELF', ''],
['pobj', '', '', '', 'SELF']]
我想有一个布尔矩阵,其中包含empty
以外字符串的任何位置都将为1,否则为0。这应该很容易,但我似乎没有找到一个不需要迭代矩阵并一次构建一个单元格的Tensor的答案。
我的解决方案是:
size = len(sample["edges"])
edge_mask = torch.zeros([size, size])
for i, row in enumerate(sample["edges"]):
for j, v in enumerate(row):
if v != "":
edge_mask[i, j] = 1
1条答案
按热度按时间nx7onnlm1#
你可以把它转换成一个布尔数组,然后使用
torch.from_numpy
,后面跟着一个convert to int: