在 torchscript 中使用 torchtext vocab
Using torchtext vocab with torchscript
我正在尝试将 torchtext vocab 层与 torchscript 一起使用,但我遇到了一些错误,我想知道这里是否有人成功了。
我现在的型号是
class VocabText(torch.nn.Module):
def __init__(self):
super(VocabText, self).__init__()
self.embedding = torch.nn.Embedding(10,128)
vocab = ['This', 'is', 'a', 'test']
counter = Counter(vocab)
self.lookup = text.vocab.vocab(counter)
self.tensor = torch.Tensor
def forward(self, x: str):
x_mapped = self.lookup(x)
x_mapped = self.tensor(x_mapped).int()
x_mapped = self.embedding(x_mapped)
return x
当我像这样传递模型时,这会起作用:
example_str = ["is"]
model(example_str)
但是当我尝试用 torchscript 编译它时失败了:
model_scripted = torch.jit.script(model)
model_scripted.save('model_scripted.pt')
出现以下错误:
RuntimeError:
Unknown builtin op: aten::Tensor.
Here are some suggestions:
对于我在forward函数的时候map lookup layer的结果
我认为是由于打字,因为词汇层需要字符串作为输入,但嵌入层将使用张量。我在前锋中间做投射。
如果有人需要,我在 colab 中有一个工作笔记本可以重现这个问题:https://colab.research.google.com/drive/14nZF5X8rQrZET_7iA1N2MUV3XSzozpeI?usp=sharing
原来我不得不更改函数来构建张量,在 https://discuss.pytorch.org/t/unknown-builtin-op-aten-tensor/62389
找到
我正在尝试将 torchtext vocab 层与 torchscript 一起使用,但我遇到了一些错误,我想知道这里是否有人成功了。
我现在的型号是
class VocabText(torch.nn.Module):
def __init__(self):
super(VocabText, self).__init__()
self.embedding = torch.nn.Embedding(10,128)
vocab = ['This', 'is', 'a', 'test']
counter = Counter(vocab)
self.lookup = text.vocab.vocab(counter)
self.tensor = torch.Tensor
def forward(self, x: str):
x_mapped = self.lookup(x)
x_mapped = self.tensor(x_mapped).int()
x_mapped = self.embedding(x_mapped)
return x
当我像这样传递模型时,这会起作用:
example_str = ["is"]
model(example_str)
但是当我尝试用 torchscript 编译它时失败了:
model_scripted = torch.jit.script(model)
model_scripted.save('model_scripted.pt')
出现以下错误:
RuntimeError:
Unknown builtin op: aten::Tensor.
Here are some suggestions:
对于我在forward函数的时候map lookup layer的结果
我认为是由于打字,因为词汇层需要字符串作为输入,但嵌入层将使用张量。我在前锋中间做投射。
如果有人需要,我在 colab 中有一个工作笔记本可以重现这个问题:https://colab.research.google.com/drive/14nZF5X8rQrZET_7iA1N2MUV3XSzozpeI?usp=sharing
原来我不得不更改函数来构建张量,在 https://discuss.pytorch.org/t/unknown-builtin-op-aten-tensor/62389
找到