python - 命名实体提取python脚本,在训练时卡住了flair框架
问题描述
这是我正在尝试训练的代码,以便获得用于法语命名实体提取的预训练模型。我使用 google colab 作为环境,因为我的笔记本电脑只有 4GB GPU,而 colab 提供 12GB GPU。可悲的是,在 colab 上,脚本每次都卡在 epoch 1 中。任何人都可以建议我解决我的问题的解决方案或提示吗?多谢 !代码 :
from flair.visual.training_curves import Plotter
from flair.trainers import ModelTrainer
from flair.models import SequenceTagger
from flair.data import TaggedCorpus
from flair.data_fetcher import NLPTaskDataFetcher, NLPTask
from flair.embeddings import TokenEmbeddings, WordEmbeddings,
StackedEmbeddings
from flair.embeddings import FlairEmbeddings, BertEmbeddings
from typing import List
from flair.data import Sentence
# import flair.datasets
# 1. get the corpus
corpus = NLPTaskDataFetcher.load_corpus(NLPTask.WIKINER_FRENCH)
# 2. what tag do we want to predict?
tag_type = 'ner'
# 3. make the tag dictionary from the corpus
tag_dictionary = corpus.make_tag_dictionary(tag_type=tag_type)
print(tag_dictionary.idx2item)
# large embedding configuration - comment this in for a better model
embeddings = StackedEmbeddings(
[WordEmbeddings('fr'),
FlairEmbeddings('french-forward', use_cache=True),
FlairEmbeddings('french-backward', use_cache=True)])
# 5. initialize sequence tagger
tagger: SequenceTagger = SequenceTagger(hidden_size=256,
embeddings=embeddings,
tag_dictionary=tag_dictionary,
tag_type=tag_type,
use_crf=True)
# # 6. initialize trainer
trainer: ModelTrainer = ModelTrainer(tagger, corpus)
# 7. start training
trainer.train('resources/taggers/example-ner',
learning_rate=0.1,
mini_batch_size=32,
max_epochs=150)
解决方案
您可以指定 mini_batch_chunk_size和mini_batch_size,如下所示:
trainer.train('resources/taggers/example-ner',
learning_rate=0.1,
mini_batch_chunk_size=2,
mini_batch_size=8,
max_epochs=150)
推荐阅读
- fullcalendar - FullCalendar 添加带有 myID 的图标
- r - 带有百分比标签的ggplot堆积条形图
- php - PHP RabbitMQ - 如何将队列中的多条消息分配给 PHP 脚本中各自的变量
- c - 静态声明是否应该放在头文件中
- python - 如何使用 graphene-django 和 django-filters 在 django 中创建“不等于”和“不在”过滤器
- python - 自定义 pytest 参数化测试名称
- python - 将多个问题从一个单元格拆分到不同的列
- c# - 将 2 个整数与另外 2 个整数进行有效比较
- codeigniter - 两个 CodeIgniter 应用程序会话相互覆盖
- python - 绘制与掷骰子的次数相对应的海龟直方图