from flair.data import Corpus
from flair.embeddings import TokenEmbeddings, WordEmbeddings, StackedEmbeddings
from flair.data import Sentence
from flair.models import SequenceTagger
from flair.embeddings import (
from flair.data import Corpus
from flair.datasets import ColumnCorpus
options = "/path/to/elmo/elmo_options.json"
weights = "/path/to/elmo/elmo_weights.hdf5"
from flair.embeddings import ELMoEmbeddings
embedding = ELMoEmbeddings('custom', options_file = options, weight_file= weights)
if __name__ == "__main__":
datapath = "/path/to/BIO" # train.tsv, test.tsv, devel.tsvが入っているフォルダ
corpus: Corpus = loadCorpus(datapath)
tag_dictionary = corpus.make_tag_dictionary(tag_type=tag_type)
embedding_objects: List = []
embedding_objects.append(ElmoEmbeddings())
embeddings: StackedEmbeddings = StackedEmbeddings(embeddings=embedding_objects)
tagger: SequenceTagger = SequenceTagger(
tag_dictionary=tag_dictionary,
from flair.trainers import ModelTrainer
resultpath = "/path/to/result"
trainer: ModelTrainer = ModelTrainer(tagger, corpus)
embeddings_storage_mode="gpu"