nbdev
nbdev copied to clipboard
`show_doc` rendering issues with TorchScript functions
show_doc currently has rendering issues with TorchScript functions.
import torch
from nbdev.showdoc import *
@torch.jit.script
def test(p:torch.Tensor):
"Test torchscript function"
return p
show_doc(test)
results in the following output, without a source link in the documentation
## ScriptFunction object at 0x7fc550c680e0>
Test torchscript function
switching to show_doc(test.name), where name is a torchscript function property, displays the method name and github source code link, but not the docstring:
## test
test
It looks like @torch.jit.script really clobbers your function e.g. it sets __module__ = 'torch.jit' and deletes both __name__ and __qualname__. I'm not sure how to resolve that...
One workaround might be to show_doc on the original func then call torch.jit.script on it in another cell:
#|export
def test(p:torch.Tensor):
"Test torchscript function"
return p
show_doc(test)
test = torch.jit.script(test)