如何解决在 TorchScript 中对列表求和的推荐方法是什么
因为 Python builtin <built-in function sum> is currently not supported in Torchscript:
我正在寻找推荐的方法来执行以下操作:
class Model(nn.Module):
def __init__(self):
super().__init__()
def forward(self,x):
return sum(x.tolist())
model = Model()
model = torch.jit.script(model)
model(torch.arange(10))
解决方法
最简单的方法是直接使用 PyTorch 的 sum
:
class Model(nn.Module):
def __init__(self):
super().__init__()
def forward(self,x):
return torch.sum(x)
如果由于某种原因,这不是一个选项,您必须使用带有显式循环的类型规范(请注意类型提示!):
import typing
import torch
import torch.nn as nn
class Model(nn.Module):
def __init__(self):
super().__init__()
def forward(self,x) -> int:
x: typing.List[int] = x.tolist()
result = 0
for elem in x:
result += elem
return result
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。