@@ -70,3 +70,7 @@ from . import models | |||||
from . import modules | from . import modules | ||||
from .core import * | from .core import * | ||||
from .io import loader, pipe | from .io import loader, pipe | ||||
import sys | |||||
from .doc_utils import doc_process | |||||
doc_process(sys.modules[__name__]) |
@@ -0,0 +1,21 @@ | |||||
import inspect | |||||
import sys | |||||
def doc_process(m): | |||||
for name, obj in inspect.getmembers(m): | |||||
if inspect.isclass(obj) or inspect.isfunction(obj): | |||||
if obj.__module__ != m.__name__: | |||||
if obj.__doc__ is None: | |||||
print(name, obj.__doc__) | |||||
else: | |||||
module_name = obj.__module__ | |||||
while 1: | |||||
defined_m = sys.modules[module_name] | |||||
if "undocumented" not in defined_m.__doc__ and name in defined_m.__all__: | |||||
obj.__doc__ = r"定义在 :class:`" + module_name + "." + name + "`\n" + obj.__doc__ | |||||
break | |||||
module_name = ".".join(module_name.split('.')[:-1]) | |||||
if module_name == m.__name__: | |||||
print(name, ": not found defined doc.") | |||||
break |
@@ -25,3 +25,7 @@ from .bert_embedding import BertEmbedding, BertWordPieceEncoder | |||||
from .char_embedding import CNNCharEmbedding, LSTMCharEmbedding | from .char_embedding import CNNCharEmbedding, LSTMCharEmbedding | ||||
from .stack_embedding import StackEmbedding | from .stack_embedding import StackEmbedding | ||||
from .utils import get_embeddings | from .utils import get_embeddings | ||||
import sys | |||||
from ..doc_utils import doc_process | |||||
doc_process(sys.modules[__name__]) |
@@ -88,3 +88,7 @@ from .model_io import ModelLoader, ModelSaver | |||||
from .loader import * | from .loader import * | ||||
from .pipe import * | from .pipe import * | ||||
import sys | |||||
from ..doc_utils import doc_process | |||||
doc_process(sys.modules[__name__]) |
@@ -38,3 +38,7 @@ from .cnn_text_classification import CNNText | |||||
from .sequence_labeling import SeqLabeling, AdvSeqLabel | from .sequence_labeling import SeqLabeling, AdvSeqLabel | ||||
from .snli import ESIM | from .snli import ESIM | ||||
from .star_transformer import StarTransEnc, STSeqCls, STNLICls, STSeqLabel | from .star_transformer import StarTransEnc, STSeqCls, STNLICls, STSeqLabel | ||||
import sys | |||||
from ..doc_utils import doc_process | |||||
doc_process(sys.modules[__name__]) |
@@ -54,3 +54,7 @@ from . import encoder | |||||
from .decoder import * | from .decoder import * | ||||
from .dropout import TimestepDropout | from .dropout import TimestepDropout | ||||
from .encoder import * | from .encoder import * | ||||
import sys | |||||
from ..doc_utils import doc_process | |||||
doc_process(sys.modules[__name__]) |