Transformers kit - NLP library for different downstream tasks, built on huggingface project
Project description
TFKit lets everyone make use of transformer architecture on many tasks and models in small change of config.
At the same time, it can do multi-task multi-model learning, and can introduce its own data sets and tasks through simple modifications.
Feature
- One-click replacement of different pre-trained models
- Support multi-model and multi-task
- Classifier with multiple labels and multiple classifications
- Unify input formats for different tasks
- Separation of data reading and model architecture
- Support various loss function and indicators
Supplement
- Model list: Support Bert/GPT/GPT2/XLM/XLNet/RoBERTa/CTRL/ALBert/...
- NLPrep: download and preprocessing data in one line
- nlp2go: create demo api as quickly as possible.
Documentation
Learn more from the docs.
Quick Start
Installing via pip
pip install tfkit
Running TFKit to train a ner model
install nlprep and nlp2go
pip install nlprep nlp2go -U
download dataset using nlprep
nlprep --dataset tag_clner --outdir ./clner_row --util s2t
train model with albert
tfkit-train --batch 20 \
--epoch 5 \
--lr 5e-5 \
--train ./clner_row/clner-train.csv \
--test ./clner_row/clner-test.csv \
--maxlen 512 \
--model tagRow \
--savedir ./albert_ner \
--config voidful/albert_chinese_small
eval model
tfkit-eval --model ./albert_ner/3.pt --valid ./clner_row/validation.csv --metric clas
result
Task : default report
TASK: default 0
precision recall f1-score support
B_Abstract 0.00 0.00 0.00 1
B_Location 1.00 1.00 1.00 1
B_Metric 1.00 1.00 1.00 1
B_Organization 0.00 0.00 0.00 1
B_Person 1.00 1.00 1.00 1
B_Physical 0.00 0.00 0.00 1
B_Thing 1.00 1.00 1.00 1
B_Time 1.00 1.00 1.00 1
I_Abstract 1.00 1.00 1.00 1
I_Location 1.00 1.00 1.00 1
I_Metric 1.00 1.00 1.00 1
I_Organization 0.00 0.00 0.00 1
I_Person 1.00 1.00 1.00 1
I_Physical 0.00 0.00 0.00 1
I_Thing 1.00 1.00 1.00 1
I_Time 1.00 1.00 1.00 1
O 1.00 1.00 1.00 1
micro avg 1.00 0.71 0.83 17
macro avg 0.71 0.71 0.71 17
weighted avg 0.71 0.71 0.71 17
samples avg 1.00 0.71 0.83 17
host prediction service
nlp2go --model ./albert_ner/3.pt --api_path ner
You can also try tfkit in Google Colab:
Overview
Train
$ tfkit-train
Run training
arguments:
--train TRAIN [TRAIN ...] train dataset path
--test TEST [TEST ...] test dataset path
--config CONFIG distilbert-base-multilingual-cased/bert-base-multilingual-cased/voidful/albert_chinese_small
--model {once,twice,onebyone,clas,tagRow,tagCol,qa,onebyone-neg,onebyone-pos,onebyone-both} [{once,twice,onebyone,clas,tagRow,tagCol,qa,onebyone-neg,onebyone-pos,onebyone-both} ...]
model task
--savedir SAVEDIR model saving dir, default /checkpoints
optional arguments:
-h, --help show this help message and exit
--batch BATCH batch size, default 20
--lr LR [LR ...] learning rate, default 5e-5
--epoch EPOCH epoch, default 10
--maxlen MAXLEN max tokenized sequence length, default 368
--lossdrop loss dropping for text generation
--tag TAG [TAG ...] tag to identity task in multi-task
--seed SEED random seed, default 609
--worker WORKER number of worker on pre-processing, default 8
--grad_accum gradient accumulation, default 1
--tensorboard Turn on tensorboard graphing
--resume RESUME resume training
--cache cache training data
Eval
$ tfkit-eval
Run evaluation on different benchmark
arguments:
--model MODEL model path
--metric {emf1,nlg,clas} evaluate metric
--valid VALID evaluate data path
optional arguments:
-h, --help show this help message and exit
--print print each pair of evaluate data
--enable_arg_panel enable panel to input argument
Contributing
Thanks for your interest.There are many ways to contribute to this project. Get started here.
License
Icons reference
Icons modify from Freepik from www.flaticon.com
Icons modify from Nikita Golubev from www.flaticon.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file tfkit-0.5.14.dev20.tar.gz
.
File metadata
- Download URL: tfkit-0.5.14.dev20.tar.gz
- Upload date:
- Size: 225.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.0.3 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c758403ed38c1c1b4781e7a791b092ca38446a9845c192017480778b7c552696 |
|
MD5 | 76e74fc3ee960d700b7772643c1c9c41 |
|
BLAKE2b-256 | ebbb0f44537dc8045db7479dabf030a37b9ae434d0fd95357b33c37ae5a5c24e |
File details
Details for the file tfkit-0.5.14.dev20-py3.7.egg
.
File metadata
- Download URL: tfkit-0.5.14.dev20-py3.7.egg
- Upload date:
- Size: 168.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.0.3 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2174f5f3db142b631513741d1b87e5bb3a3bf4858f90780736e314fcfb73848f |
|
MD5 | b29c8735cf44dbe4ab2ab1775f66ec3e |
|
BLAKE2b-256 | 20f3905df28f312a080a1fc7d55f864e256d57a788323c024174a4df8e0d9d2d |
File details
Details for the file tfkit-0.5.14.dev20-py3-none-any.whl
.
File metadata
- Download URL: tfkit-0.5.14.dev20-py3-none-any.whl
- Upload date:
- Size: 75.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.0.3 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 304ea398cd505c662b3a5b2bfabbf3cbf3d98632b713a08def52defe5da31503 |
|
MD5 | 78fa4d9ca4851895f3908535d9ac06f5 |
|
BLAKE2b-256 | 5230af68cd89be6c33a7025bf39c403995a1a77b6f90de280abf16661a196089 |