脚本使用的是tests\train\zh\train_msra_ner_albert.py,改动为 1、loss设置为crf 2、模型以recognizer.export_model_for_serving 导出
执行后报错 AttributeError: ‘CRFLoss’ object has no attribute ‘name’
from hanlp.components.ner import TransformerNamedEntityRecognizer
from hanlp.datasets.ner.msra import MSRA_NER_TRAIN, MSRA_NER_VALID, MSRA_NER_TEST
from tests import cdroot
cdroot()
recognizer = TransformerNamedEntityRecognizer()
save_dir = ‘data/model/ner/ner_albert_base_zh_msra_sparse_categorical_crossentropy’
recognizer.fit(MSRA_NER_TRAIN, MSRA_NER_VALID, save_dir, transformer=‘albert_base_zh’,
learning_rate=5e-5,
metrics=‘f1’,loss=“crf”)
recognizer.load(save_dir)
print(recognizer.predict(list(‘上海华安工业(集团)公司董事长谭旭光和秘书张晚霞来到美国纽约现代艺术博物馆参观。’)))
recognizer.evaluate(MSRA_NER_TEST, save_dir=save_dir)
print(f’Model saved in {save_dir}’)
recognizer.export_model_for_serving(export_dir=save_dir,overwrite=True)
[train_msra_ner_albert.py|attachment](upload://p12aXgIgvlUmWaBQg2QJt8xdKxq.py) (888 字节)