当前位置: 首页 > 工具软件 > AllenNLP > 使用案例 >

AllenNLP—笔记—json

皇甫乐
2023-12-01

AllenNLP—json&命令行&自定义模型—对应关系

dir

  • package_name_father
    • package_name_child
      • __init__.py
      • model.py
  • json

json

{
	"type": "model-name"
}

model.py

from allennlp import AllenNLPClass

@AllenNLPClass.regester("model-name")
class ModelClass(AllenNLPClass):
	...

__init__.py

from package_name_father.package_name_child.model import ModelClass

__all__ = ["ModelClass"]

详细内容推荐查询__init__.py的写法

command line

allennlp train -s path/to/save/model --include-package package_name_father.package_name_child path/of/json/file.json -f

–include-package需要定位到__init__.py所在的文件夹(包)
详细内容推荐查询allennlp命令行参数列表

思考

实际就是把自己写的类写入__init__.py中,变成导入包就可以导入所有类,这样–include-package时只需要写__init__.py所在的包位置即可一次性导入大量类,包括Embedder、Encoder、Model、Dataset等,都可以在json文件中直接调用相应的model-name

 类似资料: