Version 0.2.0
Breaking Changes
Reorganized package structure #12
There are now two packages: flair.models
and flair.trainers
for the models and model trainers respectively.
Models package
flair.models
contains 3 model classes: SequenceTagger
, TextClassifier
and LanguageModel
.
Trainers package
flair.trainers
contains 3 model trainer classes: SequenceTaggerTrainer
, TextClassifierTrainer
and LanguageModelTrainer
.
Direct import from package
You call these classes directly from the packages, for instance the SequenceTagger is now instantiated as:
from flair.models import SequenceTagger
tagger = SequenceTagger.load('ner')
Reorganized embeddings #12
Clear distinction between token-level and document-level embeddings by adding two classes, namely TokenEmbeddings
and DocumentEmbeddings
from which respective embeddings need to inherit.
New Features
LanguageModelTrainer #24 #17
Added LanguageModelTrainer
class to train your own LM embeddings.
Document Classification #10
Added experimental TextClassifier
model for document-level text classification. Also added corresponding model trainer class, i.e. TextClassifierTrainer
.
Batch prediction #7
Added batching into prediction method for faster sequence tagging
CPU-friendly pre-trained models #29
Added pre-trained models with smaller LM embeddings for faster CPU-inference speed
You can load them by adding '-fast' to the model name. Only for English at present.
from flair.models import SequenceTagger
tagger = SequenceTagger.load('ner-fast')
Learning Rate Scheduling #19
Added learning rate schedulers to all trainer classes for improved learning rate annealing functionality and control.
Auto-spawn on GPUs #19
All model classes now automatically spawn on GPUs if available. The separate .cuda()
call is no longer necessary.
Bug Fixes
Retagging error #23
Fixed error that occurred when using multiple pre-trained taggers on the same sentence.
Empty sentence error #33
Fixed error that caused data fetchers to sometimes create empty sentences.
Other
Unit Tests #15
Added a large set of automated unit tests for better stability.
Documentation #15
Expanded documentation and tutorials. Also expanded descriptions of APIs.
Code Simplifications in sequence tagger #19
A number of code simplifications all around, hopefully making the code easier to understand.