當(dāng) JIT 保存具有許多自定義類(lèi)的復(fù)雜 pytorch 模型的“model.pt”時(shí),我遇到了 pytorch 不知道這些自定義類(lèi)之一的類(lèi)型注釋的錯(cuò)誤。換句話(huà)說(shuō),以下代碼(對(duì)原始代碼進(jìn)行了徹底總結(jié))在第七行失?。篿mport torchfrom gan import Generatorfrom gan.blocks import SpadeBlockgenerator = Generator()generator.load_weights("path/to/weigts")jitted = torch.jit.script(generator)torch.jit.save(jitted, "model.pt")錯(cuò)誤:Tracebck (most recent call last): File "pth2onnx.py", line 72, in <module> to_torch_jit(generator) File "pth2onnx.py", line 24, in to_torch_jit jitted = torch.jit.script(generator) File "/home/a.nieuwland/.conda/envs/python3.6/lib/python3.6/site-packages/torch/jit/__init__.py", line 1516, in script return torch.jit._recursive.create_script_module(obj, torch.jit._recursive.infer_methods_to_compile) File "/home/a.nieuwland/.conda/envs/python3.6/lib/python3.6/site-packages/torch/jit/_recursive.py", line 310, in create_script_module concrete_type = concrete_type_store.get_or_create_concrete_type(nn_module) File "/home/a.nieuwland/.conda/envs/python3.6/lib/python3.6/site-packages/torch/jit/_recursive.py", line 269, in get_or_create_concrete_type concrete_type_builder = infer_concrete_type_builder(nn_module) File "/home/a.nieuwland/.conda/envs/python3.6/lib/python3.6/site-packages/torch/jit/_recursive.py", line 138, in infer_concrete_type_builder sub_concrete_type = concrete_type_store.get_or_create_concrete_type(item) File "/home/a.nieuwland/.conda/envs/python3.6/lib/python3.6/site-packages/torch/jit/_recursive.py", line 269, in get_or_create_concrete_type它抱怨的類(lèi)型確實(shí)是我們自己編寫(xiě)并在加載的Generator. 我將不勝感激有關(guān)可能導(dǎo)致此問(wèn)題的原因或如何調(diào)查此問(wèn)題的指示!我嘗試了以下方法:在調(diào)用 torch.jit.script 的腳本中顯式導(dǎo)入 SpadeBlock確保它繼承自 nn.Module (生成器也是如此)使用 pip install --user -e 確保安裝了 gan 軟件包有任何想法嗎?提前致謝!
1 回答

弒天下
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個(gè)贊
問(wèn)題原來(lái)是我使用的類(lèi)變量名稱(chēng)被破壞了。例子:
class Generator(nn.Module): __main: nn.Module
兩個(gè)前導(dǎo)下劃線(xiàn)就是原因。將它們更改為單個(gè)下劃線(xiàn)或無(wú)下劃線(xiàn)。解決問(wèn)題。
class Generator(nn.Module): main: nn.Module
添加回答
舉報(bào)
0/150
提交
取消