是否可以直接提取该字符串中包含的张量tensor([-1.6975e+00, 1.7556e-02, -2.4441e+00, -2.3994e+00, -6.2069e-01] )
?我正在寻找一些可以做到这一点的 tensorflow
或 pytorch
函数,就像 ast.literal_eval
函数对字典和列表所做的那样。
如果没有,请提供一个Pythonic方法吗?
我正在考虑这样的事情:
tensor_list = "tensor([-1.6975e+00, 1.7556e-02, -2.4441e+00, -2.3994e+00, -6.2069e-01])"
str_list = tensor_list.replace("tensor(", "").replace(")", "")
l = ast.literal_eval(str_list)
torch.from_numpy(np.array(l))
但我不确定这是最好的方法。
最佳答案
您可以使用eval
:
import torch.tensor as tensor
eval(tensor_list)
>>> tensor([-1.6975, 0.0176, -2.4441, -2.3994, -0.6207])
关于string - 从字符串中提取张量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62814427/