Python 在pytorch模块中使用TorchScript类作为成员

Python 在pytorch模块中使用TorchScript类作为成员,python,pytorch,torchscript,Python,Pytorch,Torchscript,我试图使一些现有的pytorch模型支持TorchScript jit编译器,但我遇到了非基本类型成员的问题 这个小例子说明了这个问题: 导入火炬 @torch.jit.script 类工厂(对象): 定义初始化(自): 通过 def create(self,x:float)->火炬。张量: 返回火炬张量([x]) Foo类(火炬模块): 定义初始化(自): 超级(Foo,self)。\uuuu init\uuuuu() self.factory:factory=factory() def向前(

我试图使一些现有的pytorch模型支持TorchScript jit编译器,但我遇到了非基本类型成员的问题

这个小例子说明了这个问题:

导入火炬
@torch.jit.script
类工厂(对象):
定义初始化(自):
通过
def create(self,x:float)->火炬。张量:
返回火炬张量([x])
Foo类(火炬模块):
定义初始化(自):
超级(Foo,self)。\uuuu init\uuuuu()
self.factory:factory=factory()
def向前(自身,x:火炬.张量)->火炬.张量:
返回self.factory.create(0)
mod=torch.jit.script(Foo())
运行时,jit编译器会给出错误消息

RuntimeError:
module has no attribute 'factory':
at example.py:17:15
    def forward(self, x: torch.Tensor) -> torch.Tensor:
        return self.factory.create(0)
               ~~~~~~~~~~~~ <--- HERE
运行时错误:
模块没有“工厂”属性:
例如:py:17:15
def向前(自身,x:火炬.张量)->火炬.张量:
返回self.factory.create(0)

~~~~~~~~~~~~这是PyTorch中的一个bug,在您发布问题后不久就解决了:

更新PyTorch应该可以修复它