Browse Source

add code to detect the defined location automatically

tags/v0.4.10
ChenXin 5 years ago
parent
commit
113ef8b11a
6 changed files with 41 additions and 0 deletions
  1. +4
    -0
      fastNLP/__init__.py
  2. +21
    -0
      fastNLP/doc_utils.py
  3. +4
    -0
      fastNLP/embeddings/__init__.py
  4. +4
    -0
      fastNLP/io/__init__.py
  5. +4
    -0
      fastNLP/models/__init__.py
  6. +4
    -0
      fastNLP/modules/__init__.py

+ 4
- 0
fastNLP/__init__.py View File

@@ -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__])

+ 21
- 0
fastNLP/doc_utils.py View File

@@ -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

+ 4
- 0
fastNLP/embeddings/__init__.py View File

@@ -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__])

+ 4
- 0
fastNLP/io/__init__.py View File

@@ -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__])

+ 4
- 0
fastNLP/models/__init__.py View File

@@ -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__])

+ 4
- 0
fastNLP/modules/__init__.py View File

@@ -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__])

Loading…
Cancel
Save