All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.63.6 - 2022-03-24
- Added support for ByT5 models @djstrong
- Fixed bug in NER ONNX prediction gaganmanku96
- Fixed bug in NER tokenization which prevented multiprocessing being used correctly mxa4646
- Fixed some broken links in docs jordimas
- Added support for selecting FAISS index type with
RetrievalModel.
- Added support for individual training of context/query encoders in
RetrievalModel.
- Fixed a bug for pre-tokenized input to ONNX models. whr778
- BigBird bugfix where training dataset samples were being truncated at 510 token. whr778
- Fixed bug when FP16 is not used with
RetrievalModel. tiena2cva - Fixed bug in auto model for
QuestionAnsweringModel. lekhang4497 - Fixed bug where wrong predictions weren't returned in
ClassificationModeljinschoi
0.63.0 - 2021-11-10
- Added support for document retrieval with the
RetrievalModelclass
0.62.1 - 2021-09-24
- Fixed bug when using onnx with ClassificationModel kongyurui
- Fixed potential bug with NERModel when the input text is empty whr778
- Fixed bug in sentencepiece tokenizer for some models whr778
- Fixed issue with Seq2SeqModel showing the first training epoch as epoch 0 dopc
- Fixed bug where eval_file was not used with ConvAIModel cahya-wirawan
- Replaced tensorboardx imports with default torch version
0.62.0 - 2021-09-24
- Additional loss functions for
ClassificationModelandNERModel. Zhylkaaa
- Deprecated custom classification models. Zhylkaaa
- W&B run id is now assigned as a model attribute
- use_hf_datasets
- RAG
- Retrieval
- Pretraining and finetuning BigBird and XLMRoBERTa LMs whr778
- Bug fixes
- Updated W&B repo label
- Reverted changes to W&B repo label which weren't working.
0.61.7 - 2021-06-21
- Updated W&B repo label
0.61.6 - 2021-05-28
- Fixed the onnx predict loop whr778
- Added NER support for BigBird, Deberta, Deberta-v2, and xlm pretrained models whr778
- Added BigBird for regular sequence classification (not multilabel) @manueltonneau
0.61.5 - 2021-05-18
- Fixed possible bug when using HF Datasets with Seq2SeqModel
- Added
repo: simpletransformersto W&B config
0.61.4 - 2021-03-27
- Bug fixed in LanguageModelingModel which could occur when loading a GPU trained model on CPU. alvaroabascar
- Bug fixed in NER ONNX for models with token type ids. whr778
- Bug fixed in NER lazy loading. mhdhdri
- Bug fixed in sliding window tie breaking calebchiam
- Thread count no longer fixed when using ONNX rayline
- Return full retrieved docs with RAG
- Added extra args for RAG:
split_text_charactersplit_text_n
0.61.0 - 2021-03-19
- Added support for RAG models (in
Seq2Seq) - docs will be updated soon - Added support for Huggingface Datasets library for memory efficient training. Currently supports:
- Classification (all)
- NER
- Language Modeling
- Seq2Seq
- T5
- QA (Note that HF Datasets might not always work with QAModel)
0.60.9 - 2021-02-19
- Added XLNet support for NER
- Fixed bug where
polynomial_decay_schedule_powervalue was not being set correctly
- Switched to using FastTokenizers where possible
- Fixed bug in loading cached features with classification models
- Multiprocessing during tokenization is now turned on by default. If you experience any instability, this can be turned off by setting
use_multiprocessing=False
- Multiprocessing during tokenization is now turned off by default. You can enable this by setting
use_multiprocessing=True. However, the latest Pytorch versions seems to be unstable when using multiprocessing.
- Multiprocessing is now turned off by default for evaluation. This is to avoid potential errors when doing evaluation during training. You can enable this by setting
use_multiprocessing_for_evaluationtoTrue.
0.60.2 - 2021-02-02
- Fixed bug in ClassificationDataset mapmeld
0.60.1 - 2021-02-02
-
Added new NER models:
- ALBERT
- MPNet
- SqueezeBERT
- MobileBERT
-
Added new QA models:
- CamemBERT @adrienrenaud
- MPNet
- SqueezeBERT
0.60.0 - 2021-02-02
- Added class weights support for Longformer classification
- Added new classification models:
- SqueezeBert
- DeBERTa
- MPNet
- Updated ClassificationModel logic to make it easier to add new models
0.51.16 - 2021-01-29
- Fixed bug in LayoutLM classification
0.51.15 - 2021-01-24
0.51.14 - 2021-01-24
- Fixed bug introduced in 0.51.12 when using sliding window
0.51.13 - 2021-01-11
- Fixed bug introduced in 0.51.12 with multiclass classification
0.51.12 - 2021-01-11
- Added Area under the ROC curve (AUROC) and the Area under the Precision-Recall curve (AUPRC) as default metrics for binary classification @manueltonneau
- Fixed issues with models not being set to train modd when evaluating while training nilboy
0.51.11 - 2021-01-09
- Removed
do_lower_casewhen usingAutoTokenizer
0.51.10 - 2020-12-29
- Fixed bug in
QuestionAnsweringModelwhen using cached features for evaluation - Fixed bugs in
ConvAIModeldue to compatibility issues
- Added the
special_tokens_listarg which can be used to add additional special tokens to the tokenizer karthik19967829
0.51.7 - 2020-12-29
- Fixed bug during predicton when
sliding_window=Trueandoutput_hidden_states=Truecalebchiam
- Added BERTweet for multilabel classification @manueltonneau
- Fixed bug where
T5Modelwould save evaluation checkpoints even whensave_eval_checkpointsis False. - Fixed bug where
args.silentwas not used inNERModel. mossadhelali
- Changed the default value of
dataloader_num_workers(for Pytorch Dataloaders) to 0. This is to avoid memory leak issues with Pytorch multiprocessing with text data.
0.51.5 - 2020-12-10
- Added support for T5/mT5 models in Simple Viewer
- Fixed bug where
QuestionAnsweringModelandSeq2SeqModelwould save (although not use) cached features even whenno_cacheis set
0.51.3 - 2020-12-10
- Fixed bug in
MultiLabelClassificationModelevaluation. mapmeld abhinavg97
0.51.2 - 2020-12-09
- Fixed bug in ConvAI interact_single() method
0.51.1 - 2020-12-08
- Fixed bug in
mbartpredict()function. DM2493
- Added docs for language generation and multi-modal classifcation
0.51.0 - 2020-12-05
- Added support for MT5
- Added support for Adafactor optimizer
- Added support for various schedulers:
- get_constant_schedule
- get_constant_schedule_with_warmup
- get_linear_schedule_with_warmup
- get_cosine_schedule_with_warmup
- get_cosine_with_hard_restarts_schedule_with_warmup
- get_polynomial_decay_schedule_with_warmup
T5Modelnow has a requiredmodel_typeparameter ("t5"or"mt5")
- Fixed issue with class weights not working in
ClassificationModelwhen using mult-GPU training
0.50.0 - 2020-12-01
- Compatibility with Transformers 4.0.0.
0.49.4 - 2020-11-25
- Added
not_saved_argstomodel_args. Any args specified in this set will not be saved when the model is saved. RepresentationModelimprovements. aesuli
0.49.3 - 2020-11-09
- ROC and PR W&B charts are no longer generated when using sliding window to avoid an error.
- Fixed issue with ONNX in NER gaganmanku96
- Fixed issues with wandb sweeps khituras ohstopityou
0.49.1 - 2020-11-22
- Fixed issue with Marian models using deprecated function. @bestvater
- Added custom tokenizer option and random (no-pretraining) initialization option for
T5Model. sarapapi
0.49.0 - 2020-11-09
- Added LayoutLM for Classification.
- Added MBart. Zhylkaaa
- Added BERTweet for NER. @manueltonneau
- Added Longformer for Multilabel Classification. @manueltonneau
- Fixed issue with
Seq2SeqModelwhen themodel_namecontained backslashes. - Fixed issue with saving args when a
dataset_classis specified inSeq2SeqModel.
- The Electra implementation used with
ClassificationModelis now fully compatible with Hugging Face.
0.48.15 - 2020-10-22
- Updated some tokenizer arguments to the new argument names. macabdul9
- Learning rate is now obtained from the
get_last_lr()method. sarapapi
0.48.14 - 2020-10-12
- Fixed
predict()function issue when usingsliding_window. - Fixed issues with simple-viewer (streamlit compatibility issues)
0.48.13 - 2020-10-12
- Fixed issues with using mixed precision training with
LanguageModelingModel.
0.48.12 - 2020-10-12
- Fixed compatibility issues with W&B Sweeps. jonatanklosko
0.48.11 - 2020-10-11
- The
train_model()method now returns training details. Specifically; global_step: Number of global steps trained training_details: Average training loss if evaluate_during_training is False or full training progress scores if evaluate_during_training is True
0.48.10 - 2020-10-11
- Added support for special tokens with
Seq2SeqModel. Zhylkaaa
0.48.9 - 2020-10-07
- Moved
model.train()insidetrain()method.
0.48.8 - 2020-10-07
- Added support for
BERTweetwithClassificationModel. @manueltonneau
0.48.7 - 2020-10-03
- Added support for multilabel classification with the CamemBERT model. @adrienrenaud
- Output arrays in classification evaluate/predict now avoids
np.append(). This should be more time and memory efficient.
0.48.6 - 2020-09-26
- Added
layoutlmmodel for NER
- Potential fix for inconsistent
eval_losscalculation
0.48.5 - 2020-09-17
- Added
convert_to_onnxfunction to the following models:- ClassificationModel
- NERModel
- Converted ONNX models can be loaded (requires specifying
onnx: Truein model_args) and used for prediction. - Added
fp16support for evaluation and prediction (requires Pytorch >= 1.6) for the following models:- ClassificationModel
- ConvAI
- MultiModalClassificationModel
- NERModel
- QuestionAnsweringModel
- Seq2Seq
- T5Model
- Added multigpu prediction/eval in
- ClassificationModel
- ConvAI
- MultiModalClassificationModel
- NERModel
- QuestionAnsweringModel
- Seq2Seq
- T5Model
- Thread count can now be specified for MultiLabelClassificationModel.
0.48.4 - 2020-09-23
- Fixed compatibility issue with transformers 3.2. (BertPreTrainedModel was being imported from an incompatible path)
- Version numbering issue fixed.
- Fixed missing
padding_strategyargument insquad_convert_example_to_features()
0.48.1 - 2020-09-08
- Bug when using sliding window with multiclass classification
- Bug in ConvAI where model was being accessed before being created
0.48.0 - 2020-09-06
- Added dynamic quantization support for all models.
- Added ConvAI docs to documentation website. @pablonm3
- Fixed missing
padding_strategyargument insquad_convert_example_to_features()cahya-wirawan
- Added dynamic quantization,
thread_countarg, and avoids padding during inference for Classification models. karthik19967829
- Bug fix which fixes reprocessing data after reading from cache in Seq2SeqDataset and SimpleSummarizationDataset @Zhylkaaa
0.47.4 - 2020-08-29
- Bug fix in MultilabelClassificationModel when using sentence pairs.
0.47.3 - 2020-08-19
- Bug fix in ConvAI Sxela
0.47.0 - 2020-08-09
- Added support for testing models through a Streamlit app. Use the command `simple-viewer". Currently supports:
- Classification (including multilabel)
- NER (design inspired by displaCy Named Entity Visualizer)
- QA
See docs for details.
0.46.5 - 2020-08-05
- Python version requirement changed back to 3.6 for Colab support.
- Miscellaneous bug fixes in 0.46.3 and 0.46.4
0.46.2 - 2020-08-01
- Fixed unreachable condition in Electra language modeling.
0.46.1 - 2020-08-01
- Bug in ConvAI models where cache_dir was not being created.
0.46.0 - 2020-08-01
- Uses PyTorch native AMP instead of Apex. @strawberrypie
0.45.5 - 2020-07-29
- Bug fixed in loading classiication models with a
labels_mapwhere labels are ints.
0.45.4 - 2020-07-28
- Bug fixed in lazy loading classification tasks where
lazy_text_column=0caused an error.
0.45.2 - 2020-07-25
- Added
dataloader_num_workerstoModelArgsfor specifying the number of processes to be used with a Pytorch dataloader.
- Bumped required
transformersversion to 3.0.2
0.45.0 - 2020-07-19
- Added Text Representation Generation (
RepresentationModel). @pablonm3
0.44.0 - 2020-07-05
- Lazy loading support added for
QuestionAnsweringModel.
0.43.6 - 2020-07-05
- Bug fixed in
Seq2Seqtasks. - Bug fixed in
NERModelwhere the classification report was missing in checkpoints. - Bug fixed in ELECTRA.
- Bug fixed in
Seq2Seqgeneric encoder-decoder model. - Bug fixed in
Seq2Seqtasks. - Bug fixed in regression prediction.
- Bug fixed in loading multiclass classification models when
num_labelsaren't specified.
0.43.0 - 2020-07-05
- Added support for custom parameter groups.
- ELECTRA pretraining no longer replaces 10% of masked inputs with random tokens. @dev-sngwn
0.42.0 - 2020-07-05
- Added better support for Chinese text in Language Modeling. @taranais
- Added
mobilebertfor classification, NER, QA, and Seq2Seq. @flozi00
- Fixed incorrect logic when using
early_stopping_metric_minimize. @djstrong - Fixed issue with cache directory being created even when
no_cacheis set. @henninglebbaeus
- Running loss is now shown next to the tqdm bar (with the tqdm bar description)
- Removed tokenizers and transformers version pins (added earlier to avoid compatibility issues)
0.41.2 - 2020-07-03
- Fixed bugs with args not being passed correctly to wandb in the following models:
MultiModalClassificationModelConvAIModelSeq2SeqModelT5Model
- Fixed bugs in
Seq2SeqModelandT5Modelwhen not usinguse_multiprocessed_decoding.
- Set
use_multiprocessed_decoding=Falseas default for Seq2Seq models to avoid a bug.
- Fixed bug where the returned value from
MultiModalClassificationModel.evaluate_model()was incorrect.
0.41.0 - 2020-07-02
- NER lazy loading support added @Pradhy729
- Added
lazy_loadingattibute toClassificationArgswhich now controls whether lazy loading is used. - Replaced
lazy_loading_header_rowattribute inClassificationArgswithlazy_loading_start_line. - Unnecessary Docs spacing removed @bryant1410
- Set required tokenizer version to 0.7 until breaking changes are resolved.
0.40.2 - 2020-06-25
- Fixed bug in Multi-Modal classification when using
evaluate_during_training.
0.40.1 - 2020-06-25
- Added
interact_single()method toConvAIModel. This accepts a message and conversation history (and an optional personality). @Amit80007
- Fixed bug in multi modal classification @tekkon
- Cleaned
language_modeling_utils.py. @Pradhy729
0.40.0 - 2020-06-23
- All Simple Transformers models can now be used with W&B sweeps.
eval_model()now logs to wandb in the following models (can be turned off withwandb_log=False)ClassificationModelNERModel
- Model args can now be specified through the relevant dataclass. (E.g.
ClassificationArgs,T5Args, etc.) - All model args are now saved and loaded automatically with Simple Transformers models.
- Multiprocessed decoding support added to Seq2Seq models
- Custom label support for Classification tasks (except multilabel).
- NER labels can be given as
NERArgs.labels_list(persists through args saving)
- Changed
NERModel.eval_model()to return usable model_outputs - Improved
tqdmdescriptions in progress bars - ConvAIModel arg
no_samplerenamed todo_samplefor consistency
0.34.4 - 2020-06-17
- Added
num_return_sequences,top_k, andtop_pargs forSeq2SeqModel.
- Fixed bug potential bug when using
sliding_window. @BjarkePedersen
- Cleaned
language_modeling_utils. @Pradhy729
- Fixed bug in question answering when not using multiprocessing for feature conversion.
- Fixed bug in sentence-pair task feature conversion.
0.34.1 - 2020-06-12
- Fixed bug in multi-modal classification due to compatibility issues with breaking changes in transformers==2.11.0.
0.34.0 - 2020-06-09
- Added distributed training support for language model training. @cahya-wirawan
- Added multiprocessed decoding support for T5 models.
0.33.2 - 2020-06-08
- Fixed bug in adding prefix space. Included longformer in list of models where prefix spaces are added. @guy-mor
0.33.1 - 2020-06-08
- Changed the tokenization logic of RoBERTa (and other models using GPT-2 tokenizer) so that a prefix space will be added to input sentences.
0.33.0 - 2020-06-08
- Added Longformer model support for;
- Classification
- NER
- Seq2Seq tasks. @flozi00
0.32.3 - 2020-06-04
- Fixed compatibility issues with breaking changes in transformers==2.11.0. @fcggamou
0.32.1 - 2020-06-01
- Fixed bug when using
output_hidden_stateswithClassificationModel. @jpotniec
0.32.0 - 2020-06-01
- Added Lazy Loading support for classification tasks (except multi-label). (Docs)
0.31.0 - 2020-05-30
- Added Longformer model support for Language Modeling.
0.30.0 - 2020-05-27
- Added XLM-RoBERTa support for question answering tasks.
- Added
save_optimizer_and_scheduler(default 1) toglobal_argswhich controls whether optimizer and scheduler is saved along with the model. Disabling significantly reduces the disk space used by saved models.
- Bug in XLM tokenizer when preprocessing QA datasets.
QuestionAnsweringModel.predict(n_best_size=n)now correctly returnsnanswers per question (along withnprobabilities).
QuestionAnsweringModel.predict()now returns two lists (a list of dicts with question ids mapped to answers and a list of dicts with question ids mapped to the answer probabilities).
0.29.0 - 2020-05-24
- Fixed issues with training ELECTRA language models from scratch. @aced125 @Laksh1997
- Fixed bug in save_discriminator() method.
- The parallel process count is now limited to 61 by default on Windows systems. @leungi
0.28.10 - 2020-05-23
- Added more generation/decoding parameters for T5 models.
- Fixed bug with cached features not being used with T5 models.
0.28.9 - 2020-05-19
- Fixed bug where final model was not being saved automatically.
0.28.8 - 2020-05-19
- Fixed bug where some models were not using
multiprocessing_chunksizeargument.
0.28.7 - 2020-05-19
- Fixed bug in NERModel.predict() method when
split_on_space=False. @alexysdussier
0.28.6 - 2020-05-19
- Added multiprocessing support for Question Answering tasks for substantial performance boost where CPU-bound tasks (E.g. prediction especially with long contexts)
- Added
multiprocessing_chunksize(default 500) toglobal_argsfor finer control over chunking. Usually, the optimal value will be (roughly)number of examples / process count.
0.28.5 - 2020-05-18
- Added
no_saveoption toglobal_args. Setting this toTruewill prevent models from being saved to disk. - Added minimal training script for
Seq2Seqmodels in the examples directory.
0.28.4 - 2020-05-15
- Fixed potential bugs in loading weights when fine-tuning an ELECTRA language model. Fine-Tuning an ELECTRA language model now requires both
model_nameandmodel_typeto be set toelectra.
0.28.3 - 2020-05-15
- Updated
Seq2SeqModelto useMarianTokenizerwith MarianMT models. @flozi00
0.28.2 - 2020-05-14
- Bug fix for generic Seq2SeqModel
0.28.1 - 2020-05-14
- Bug when training language models from scratch
0.28.0 - 2020-05-11
- Sequence-to-Sequence task support added. This includes the following models:
- BART
- Marian
- Generic Encoder-Decoder
- The
argsdict of a task-specific Simple Transformers model is now saved along with the model. When loading the model, these values will be read and used. Any newargspassed into the model initialization will override the loaded values.
0.27.3 - 2020-05-10
- Support for
AutoModelin NER, QA, and LanguageModeling. @flozi00
- Now predict function from NER_Model returns a value model_outputs that contains: A Python list of lists with dicts containing each word mapped to its list with raw model output. @flaviussn
- Pillow import is now optional. It only needs to be installed if MultiModal models are used.
0.27.2 - 2020-05-08
- Fixed T5 lm_labels not being masked properly
- Torchvision import is now optional. It only needs to be installed if MultiModal models are used.
0.27.1 - 2020-05-05
- Fixed issue with custom evaluation metrics not being handled correctly in
MultiLabelClassificationModel. @galtay
0.27.0 - 2020-05-05
- Added support for T5 Model.
- Added
do_samplearg to language generation. NERModel.predict()now accepts asplit_on_spaceoptional argument. If set toFalse,to_predictmust be a a list of lists, with the inner list being a list of strings consisting of the split sequences. The outer list is the list of sequences to predict on.
eval_dfargument inNERModel.train_model()renamed toeval_datato better reflect the input format. Added Deprecation Warning.
0.26.1 - 2020-04-27
- Specifying
verbose=FalseinLanguageGenerationModel.generate()method now correctly silences logger output.
0.26.0 - 2020-04-25
- Added Electra model support for sequence classification (binary, multiclass, multilabel)
- Added Electra model support for question answering
- Added Roberta model support for question answering
- Reduced logger messages during question answering evaluation
0.25.0 - 2020-04-24
- Added support for Language Generation tasks.
0.24.9 - 2020-04-22
- Added support for custom metrics with
QuestionAnsweringModel.
- Fixed issue with passing proxies to ConvAI models. @Pradhy729
0.24.8 - 2020-04-13
- Fixed incorrect indexes when extracting hidden layer outputs and embedding outputs with
ClassificationModel.predict()method.
0.24.7 - 2020-04-13
- Added option to get hidden layer outputs and embedding outputs with
ClassificationModel.predict()method.- Setting
config: {"output_hidden_states": True}will automatically return all embedding outputs and hidden layer outputs.
- Setting
global_argsnow has aconfigdictionary which can be used to override default values in the confg class.- This can be used with ClassificationModel, MultiLabelClassificationModel, NERModel, QuestionAnsweringModel, and LanguageModelingModel
0.24.6 - 2020-04-12
- Added support for ELECTRA based NER models.
0.24.5 - 2020-04-11
- Fixed bug in
LanguageModelingModelwhen loading from a training checkpoint.
- Fixed bug in
LanguageModelingModelinitialization with a trained tokenizer.
- Added support for passing proxy information with ConvAI model.
0.24.3 - 2020-04-10
- Fixed potential bug in NERModel
predict()method when using custom labels. - Fixed typo in the NERModel description in the readme.
0.24.2 - 2020-04-09
- Fixed issues with
vocab_sizenot being set properly in ELECTRA models.
0.24.1 - 2020-04-09
- Fixed bugs in minimal examples for language modeling.
- Added
vocab_sizeback to defaultargsdict for clarity. (vocab_sizeisNoneby default) - Changed error message when training a new tokenizer with incorrect parameters for clarity.
0.24.0 - 2020-04-09
- Added ELECTRA pretraining support.
- Added better support for configuring model architectures when training language models from scratch.
- Any options which should be overriden from the default config can now be specified in the
argsdict. (configkey)
- Any options which should be overriden from the default config can now be specified in the
- Default entry for
vocab_sizeremoved fromargsforLanguageModelingModelas it differs for different model types.vocab_sizemust now be specified whenever a new tokenizer is to be trained.
- Fixed bugs when training BERT (with word piece tokenization) language models from scratch.
- Fixed incorrect special tokens being used with BERT models when training a new tokenizer.
- Fixed potential bugs with BERT tokenizer training.
0.23.3 - 2020-04-05
- Fixed bug in
QuestionAnsweringModelwhere thesave_model()method wasn't being called properly. - Fixed bug in calculating global step when resuming training.
0.23.2 - 2020-04-02
- Prevent padding tokens being added when using
openai-gptandgpt2models for language modeling.
0.23.1 - 2020-03-30
- Fixed bug in binary classification evaluation when data only contains one label.
- Fixed typo in readme.
- Cache dir is no longer created when
no_cacheis used.
0.23.0 - 2020-03-30
- Added support for training custom tokenizers.
- Added improved support for training language models from scratch.
- Added improved support for resuming training in classification, NER, and QnA tasks.
- Added support for XLMRoberta for multi-label tasks.
0.22.0 - 2020-03-14
- Added support for language model training (from scratch or fine-tuning).
- Added option to choose which metric should be used for early stopping.
- Switched to using the logging module over print for everything except running loss. (QuestionAnsweringModel - @travis-harper)
- Replaced more concatenated string paths with
os.path.join()when creatingtraining_progress_scores.csv.
0.21.5 - 2020-03-12
- Replaced concatenated string paths with
os.path.join()when creatingtraining_progress_scores.csv. @sarthakTUM
0.21.4 - 2020-03-12
- Fixed issue with cached eval features being used even when using
predict()inClassificationModelandNERModel.
0.21.3 - 2020-03-03
- Added classification report for NER for per-tag scores. @seo-95
0.21.2 - 2020-03-01
- Fixed bug with empty answers in
QuestionAnsweringModel. @jacky18008
0.21.1 - 2020-02-29
- Fixed bug in ConvAIModel where
reprocess_input_dataanduse_cached_eval_featuresargs were ignored.
0.21.0 - 2020-02-29
- Added support for training Conversational AI models.
- Added
cuda_deviceparameter to MultiLabelClassificationModel.
- Fixed bug in MultiModalClassificationModel when
num_labelsis not given.
0.20.3 - 2020-02-22
reprocess_input_datachanged toTrueby default.use_cached_eval_featureschanged toFalseby default.
0.20.2 - 2020-02-22
- Fixed issue with early stopping not working with Question Answering.
0.20.1 - 2020-02-22
- Fixed issue with
predict()function using cached features.
0.20.0 - 2020-02-21
- Added support for Multi Modal Classification tasks.
- Fixed missing variable
wandb_availablein Multilabel Classification.
0.19.9 - 2020-02-18
- Fixed missing variable
wandb_availablein Multilabel Classification.
0.19.8 - 2020-02-14
- Fixed missing variable
wandb_availablein Multilabel Classification.
0.19.7 - 2020-02-11
- Removed
wandbas a dependency. Installingwandbin now optional.
0.19.6 - 2020-02-11
- Added support for multilabel classification with FlauBERT.@adrienrenaud
0.19.5 - 2020-02-11
- Added support for FlauBERT with classification tasks (except multi-label).@adrienrenaud
0.19.4 - 2020-02-04
- Fixed error that occured when
argsis not given when creating a Model.
0.19.3 - 2020-02-03
- Added
manual_seedtoglobal_args. Can be used when training needs to be reproducible.
0.19.2 - 2020-01-31
- Added early stopping support for NER and Question Answering tasks.
- Fixed issue with nested file paths not being created.
wandb_kwargsnot being used with NER and Question Answering.
0.19.1 - 2020-01-27
- Fixed issue with evaluation at the end of epochs not being considered for best model.
0.19.0 - 2020-01-26
- Added early stopping support for Classification tasks.
- Set
use_early_stoppingtoTrueto enable.
- Set
- The best model will now be saved to
{output_dir}/best_model/whenevaluate_during_trainingis used. - Added
evaluate_during_training_verboseto args dict to control whether evaluation during training outputs are printed to console. - Added all-contributors to README to recognize contributors.
- Evaluation during training no longer displays progress bars.
- Evaluation during training no longer prints results to console by default.
- Moved model/results saving logic to
_save_modelfor readability and maintainability. - Updated README.
0.18.12 - 2020-01-25
- Added missing extra SEP token in RoBERTa, CamemBERT, and XLMRoBERTA in sentence pair tasks.
0.18.11 - 2020-01-21
- Added
no_cacheoption toglobal_argswhich disables caching (saving and loading) of features to/from disk.
0.18.10 - 2020-01-20
- Added Makefile with tests dependency installation, test code, formatter and types.
- Added setup.cfg file with Make configuration
- Added some tests for the functionality
- Files linted using flake8
- Files formatted using black
- Test tested with pytest
- Unused variables deleted
0.18.9 - 2020-01-20
- Fixed bug with importing certain pre-trained models in
MultiLabelClassificationModel.
0.18.8 - 2020-01-20
- Added
**kwargsto the init methods ofClassificationModel,MultiLabelClassificationModel,QuestionAnsweringModel, andNERModel. These will be passed to thefrom_pretrained()method of the underlying model class.
0.18.6 - 2020-01-18
- Reverted change made in 0.18.4 (Model checkpoint is no longer saved at the end of the last epoch as this is the same model saved in
ouput_dirat the end of training).
Model checkpoint is now saved for all epochs again.
0.18.5 - 2020-01-18
- Fixed bug when using
sliding_window.
0.18.4 - 2020-01-17
- Typo in
classification_utils.py.
- Model checkpoint is no longer saved at the end of the last epoch as this is the same model saved in
ouput_dirat the end of training.
0.18.3 - 2020-01-15
- Potential bugfix for CamemBERT models which were giving identical outputs to all inputs.
0.18.2 - 2020-01-15
- Added option to turn off model saving at the end of every epoch with
save_model_every_epoch.
- Fixed bug with missing
tensorboard_folderkey in certain situations.
- Moved
argsitems common to all classes to one place (config/global_args.py) for maintainability. Does not make any usage changes.
0.18.1 - 2020-01-15
- Fixed bug with missing
regressionkey when using MultiLabelClassification.
0.18.0 - 2020-01-15
- Sentence pair tasks are now supported.
- Regression tasks are now supported.
use_cached_eval_featurestoargs. Evaluation during training will now use cached features by default. Set toFalseif features should be reprocessed.
- Checkpoints saved at the end of an epoch now follow the `checkpoint-{global_step}-epoch-{epoch_number} format.
0.17.1 - 2020-01-14
- Fixed
wandb_kwargskey missing inargsbug.
0.17.0 - 2020-01-14
- Added new model XLM-RoBERTa. Can now be used with
ClassificationModelandNERModel.
0.16.6 - 2020-01-13
- Added evaluation scores from end-of-epoch evaluation to
training_progress_scores.csv.
- Typos in
README.md.
0.16.5 - 2020-01-09
- Reverted missed logging commands to print statements.
0.16.4 - 2020-01-09
- Removed logging import.
0.16.3 - 2020-01-09
- Reverted to using print instead of logging as logging seems to be causing issues.
0.16.2 - 2020-01-08
- Changed print statements to logging.
0.16.1 - 2020-01-07
- Added
wandb_kwargstoargswhich can be used to specify keyword arguments towandb.init()method.
0.16.0 - 2020-01-07
- Added support for training visualization using the W&B framework.
- Added
save_eval_checkpointsattribute toargswhich controls whether or not a model checkpoint will be saved with every evaluation.
0.15.7 - 2020-01-05
- Added
**kwargsfor different accuracy measures during multilabel training.
0.15.6 - 2020-01-05
- Added
train_losstotraining_progress_scores.csv(which contains the evaluation results of all checkpoints) in the output directory.
0.15.5 - 2020-01-05
- Using
evaluate_during_trainingnow generatestraining_progress_scores.csv(which contains the evaluation results of all checkpoints) in the output directory.
0.15.4 - 2019-12-31
- Fixed bug in
QuestonAnsweringModelwhen usingevaluate_during_training.
0.15.3 - 2019-12-31
- Fixed bug in MultiLabelClassificationModel due to
tensorboard_dirbeing missing in parameter dictionary.
- Renamed
tensorboard_foldertotensorboard_dirfor consistency.
0.19.8 - 2020-02-14
- Fixed missing variable
wandb_availablein Multilabel Classification.
- Added
tensorboard_folderto parameter dictionary which can be used to specify the directory in which the tensorboard files will be stored.
0.15.1 - 2019-12-27
- Added
**kwargsto support different accuracy measures at training time.
0.15.0 - 2019-12-24
- Added
evaluate_during_training_stepsparameter that specifies when evaluation should be performed during training.
- A model checkpoint will be created for each evaluation during training and the evaluation results will be saved along with the model.
0.14.0 - 2019-12-24
- Added option to specify a GPU to be used when multiple GPUs are available. E.g.:
cuda_device=1 - Added
do_lower_caseargument for uncased models.
- Fixed possible bug with output directory not being created before evaluation is run when using
evaluate_during_training.
0.13.4 - 2019-12-21
- Fixed bug with when using
eval_during_trainingwith QuestionAnswering model.
0.13.3 - 2019-12-21
- Fixed bug with loading Multilabel classification models.
- Fixed formatting in README.md.
0.13.2 - 2019-12-20
- Fixed formatting in README.md.
0.13.1 - 2019-12-20
- Bug in Multilabel Classification due to missing entries in default args dict.
0.13.0 - 2019-12-19
- Sliding window feature for Binary and Multiclass Classification tasks.
0.12.0 - 2019-12-19
- Minimal examples have been added to the
examplesdirectory as Python scripts.
- Readme updated to include the addition of examples.
0.11.2 - 2019-12-18
- Evaluation during training fixed for multilabel classification.
0.11.1 - 2019-12-18
- Broken multiprocessing support for NER tasks fixed.
0.11.0 - 2019-12-15
- CamemBERT can now be used with NERModel.
- Readme changed to include CamemBERT for NER.
0.10.8 - 2019-12-15
- DistilBERT can now be used with NERModel.
- Readme changed to include DistilBERT for NER.
0.10.7 - 2019-12-15
- This CHANGELOG file to hopefully serve as an evolving example of a standardized open source project CHANGELOG.