harsh13333
commited on
Commit
•
1dd3a6e
1
Parent(s):
0685055
Upload 8 files
Browse files- .gitattributes +0 -3
- .gitignore +1 -0
- README.md +166 -1
- handler.py +46 -0
- loss.tsv +121 -0
- model.bin +3 -0
- requirements.txt +1 -0
- training.log +0 -0
.gitattributes
CHANGED
@@ -2,7 +2,6 @@
|
|
2 |
*.arrow filter=lfs diff=lfs merge=lfs -text
|
3 |
*.bin filter=lfs diff=lfs merge=lfs -text
|
4 |
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
5 |
-
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
6 |
*.ftz filter=lfs diff=lfs merge=lfs -text
|
7 |
*.gz filter=lfs diff=lfs merge=lfs -text
|
8 |
*.h5 filter=lfs diff=lfs merge=lfs -text
|
@@ -22,10 +21,8 @@
|
|
22 |
*.pt filter=lfs diff=lfs merge=lfs -text
|
23 |
*.pth filter=lfs diff=lfs merge=lfs -text
|
24 |
*.rar filter=lfs diff=lfs merge=lfs -text
|
25 |
-
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
26 |
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
27 |
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
28 |
-
*.tar filter=lfs diff=lfs merge=lfs -text
|
29 |
*.tflite filter=lfs diff=lfs merge=lfs -text
|
30 |
*.tgz filter=lfs diff=lfs merge=lfs -text
|
31 |
*.wasm filter=lfs diff=lfs merge=lfs -text
|
|
|
2 |
*.arrow filter=lfs diff=lfs merge=lfs -text
|
3 |
*.bin filter=lfs diff=lfs merge=lfs -text
|
4 |
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
|
|
5 |
*.ftz filter=lfs diff=lfs merge=lfs -text
|
6 |
*.gz filter=lfs diff=lfs merge=lfs -text
|
7 |
*.h5 filter=lfs diff=lfs merge=lfs -text
|
|
|
21 |
*.pt filter=lfs diff=lfs merge=lfs -text
|
22 |
*.pth filter=lfs diff=lfs merge=lfs -text
|
23 |
*.rar filter=lfs diff=lfs merge=lfs -text
|
|
|
24 |
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
25 |
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
|
|
26 |
*.tflite filter=lfs diff=lfs merge=lfs -text
|
27 |
*.tgz filter=lfs diff=lfs merge=lfs -text
|
28 |
*.wasm filter=lfs diff=lfs merge=lfs -text
|
.gitignore
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
.venv
|
README.md
CHANGED
@@ -1,3 +1,168 @@
|
|
1 |
---
|
2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
+
tags:
|
3 |
+
- flair
|
4 |
+
- token-classification
|
5 |
+
- sequence-tagger-model
|
6 |
+
- endpoints-template
|
7 |
+
language: en
|
8 |
+
datasets:
|
9 |
+
- shipping_label_ner
|
10 |
+
widget:
|
11 |
+
- text: "On September 1st George won 1 dollar while watching Game of Thrones."
|
12 |
---
|
13 |
+
|
14 |
+
# Fork of [flair/ner-english-shipping-labels](https://huggingface.co/flair/ner-english-ontonotes-large)
|
15 |
+
|
16 |
+
> This is fork of [flair/ner-english-ontonotes-large](https://huggingface.co/flair/ner-english-ontonotes-large) implementing a custom `handler.py` as an example for how to use `flair` models with [inference-endpoints](https://hf.co/inference-endpoints)
|
17 |
+
|
18 |
+
## English NER in Flair (Ontonotes large model)
|
19 |
+
|
20 |
+
This is the large 5-class NER model for English that ships with [Flair](https://github.com/flairNLP/flair/).
|
21 |
+
|
22 |
+
F1-Score: **77.78** (Ontonotes)
|
23 |
+
|
24 |
+
Predicts 6 tags:
|
25 |
+
|
26 |
+
| **tag** | **meaning** |
|
27 |
+
|---------------------------------|-----------|
|
28 |
+
| NAME | Name of person |
|
29 |
+
| ORG | organizaiton name |
|
30 |
+
| GCNUMBER | GC tracking number|
|
31 |
+
| BGNUMBER | BG tracking number |
|
32 |
+
| COUNTRY | Country name |
|
33 |
+
| LOCATION | city and picode |
|
34 |
+
|
35 |
+
Based on document-level XLM-R embeddings and [FLERT](https://arxiv.org/pdf/2011.06993v1.pdf/).
|
36 |
+
|
37 |
+
---
|
38 |
+
|
39 |
+
### Demo: How to use in Flair
|
40 |
+
|
41 |
+
Requires: **[Flair](https://github.com/flairNLP/flair/)** (`pip install flair`)
|
42 |
+
|
43 |
+
```python
|
44 |
+
from flair.data import Sentence
|
45 |
+
from flair.models import SequenceTagger
|
46 |
+
|
47 |
+
# load tagger
|
48 |
+
tagger = SequenceTagger.load("flair/ner-english-ontonotes-large")
|
49 |
+
|
50 |
+
# make example sentence
|
51 |
+
sentence = Sentence("On September 1st George won 1 dollar while watching Game of Thrones.")
|
52 |
+
|
53 |
+
# predict NER tags
|
54 |
+
tagger.predict(sentence)
|
55 |
+
|
56 |
+
# print sentence
|
57 |
+
print(sentence)
|
58 |
+
|
59 |
+
# print predicted NER spans
|
60 |
+
print('The following NER tags are found:')
|
61 |
+
# iterate over entities and print
|
62 |
+
for entity in sentence.get_spans('ner'):
|
63 |
+
print(entity)
|
64 |
+
|
65 |
+
```
|
66 |
+
|
67 |
+
This yields the following output:
|
68 |
+
```
|
69 |
+
Span [2,3]: "September 1st" [− Labels: DATE (1.0)]
|
70 |
+
Span [4]: "George" [− Labels: PERSON (1.0)]
|
71 |
+
Span [6,7]: "1 dollar" [− Labels: MONEY (1.0)]
|
72 |
+
Span [10,11,12]: "Game of Thrones" [− Labels: WORK_OF_ART (1.0)]
|
73 |
+
```
|
74 |
+
|
75 |
+
So, the entities "*September 1st*" (labeled as a **date**), "*George*" (labeled as a **person**), "*1 dollar*" (labeled as a **money**) and "Game of Thrones" (labeled as a **work of art**) are found in the sentence "*On September 1st George Washington won 1 dollar while watching Game of Thrones*".
|
76 |
+
|
77 |
+
|
78 |
+
---
|
79 |
+
|
80 |
+
### Training: Script to train this model
|
81 |
+
|
82 |
+
The following Flair script was used to train this model:
|
83 |
+
|
84 |
+
```python
|
85 |
+
from flair.data import Corpus
|
86 |
+
from flair.datasets import ColumnCorpus
|
87 |
+
from flair.embeddings import WordEmbeddings, StackedEmbeddings, FlairEmbeddings
|
88 |
+
|
89 |
+
# 1. load the corpus (Ontonotes does not ship with Flair, you need to download and reformat into a column format yourself)
|
90 |
+
corpus: Corpus = ColumnCorpus(
|
91 |
+
"resources/tasks/onto-ner",
|
92 |
+
column_format={0: "text", 1: "pos", 2: "upos", 3: "ner"},
|
93 |
+
tag_to_bioes="ner",
|
94 |
+
)
|
95 |
+
|
96 |
+
# 2. what tag do we want to predict?
|
97 |
+
tag_type = 'ner'
|
98 |
+
|
99 |
+
# 3. make the tag dictionary from the corpus
|
100 |
+
tag_dictionary = corpus.make_tag_dictionary(tag_type=tag_type)
|
101 |
+
|
102 |
+
# 4. initialize fine-tuneable transformer embeddings WITH document context
|
103 |
+
from flair.embeddings import TransformerWordEmbeddings
|
104 |
+
|
105 |
+
embeddings = TransformerWordEmbeddings(
|
106 |
+
model='xlm-roberta-large',
|
107 |
+
layers="-1",
|
108 |
+
subtoken_pooling="first",
|
109 |
+
fine_tune=True,
|
110 |
+
use_context=True,
|
111 |
+
)
|
112 |
+
|
113 |
+
# 5. initialize bare-bones sequence tagger (no CRF, no RNN, no reprojection)
|
114 |
+
from flair.models import SequenceTagger
|
115 |
+
|
116 |
+
tagger = SequenceTagger(
|
117 |
+
hidden_size=256,
|
118 |
+
embeddings=embeddings,
|
119 |
+
tag_dictionary=tag_dictionary,
|
120 |
+
tag_type='ner',
|
121 |
+
use_crf=False,
|
122 |
+
use_rnn=False,
|
123 |
+
reproject_embeddings=False,
|
124 |
+
)
|
125 |
+
|
126 |
+
# 6. initialize trainer with AdamW optimizer
|
127 |
+
from flair.trainers import ModelTrainer
|
128 |
+
|
129 |
+
trainer = ModelTrainer(tagger, corpus, optimizer=torch.optim.AdamW)
|
130 |
+
|
131 |
+
# 7. run training with XLM parameters (20 epochs, small LR)
|
132 |
+
from torch.optim.lr_scheduler import OneCycleLR
|
133 |
+
|
134 |
+
trainer.train('resources/taggers/ner-english-ontonotes-large',
|
135 |
+
learning_rate=5.0e-6,
|
136 |
+
mini_batch_size=4,
|
137 |
+
mini_batch_chunk_size=1,
|
138 |
+
max_epochs=20,
|
139 |
+
scheduler=OneCycleLR,
|
140 |
+
embeddings_storage_mode='none',
|
141 |
+
weight_decay=0.,
|
142 |
+
)
|
143 |
+
```
|
144 |
+
|
145 |
+
|
146 |
+
|
147 |
+
---
|
148 |
+
|
149 |
+
### Cite
|
150 |
+
|
151 |
+
Please cite the following paper when using this model.
|
152 |
+
|
153 |
+
```
|
154 |
+
@misc{schweter2020flert,
|
155 |
+
title={FLERT: Document-Level Features for Named Entity Recognition},
|
156 |
+
author={Stefan Schweter and Alan Akbik},
|
157 |
+
year={2020},
|
158 |
+
eprint={2011.06993},
|
159 |
+
archivePrefix={arXiv},
|
160 |
+
primaryClass={cs.CL}
|
161 |
+
}
|
162 |
+
```
|
163 |
+
|
164 |
+
---
|
165 |
+
|
166 |
+
### Issues?
|
167 |
+
|
168 |
+
The Flair issue tracker is available [here](https://github.com/flairNLP/flair/issues/).
|
handler.py
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from typing import Any, Dict, List
|
2 |
+
import os
|
3 |
+
from flair.data import Sentence
|
4 |
+
from flair.models import SequenceTagger
|
5 |
+
|
6 |
+
class EndpointHandler():
|
7 |
+
def __init__(
|
8 |
+
self,
|
9 |
+
path: str,
|
10 |
+
):
|
11 |
+
self.tagger = SequenceTagger.load(os.path.join(path,"model.bin"))
|
12 |
+
|
13 |
+
def __call__(self, data: Dict[str, Any]) -> List[Dict[str, Any]]:
|
14 |
+
"""
|
15 |
+
Args:
|
16 |
+
inputs (:obj:`str`):
|
17 |
+
a string containing some text
|
18 |
+
Return:
|
19 |
+
A :obj:`list`:. The object returned should be like [{"entity_group": "XXX", "word": "some word", "start": 3, "end": 6, "score": 0.82}] containing :
|
20 |
+
- "entity_group": A string representing what the entity is.
|
21 |
+
- "word": A substring of the original string that was detected as an entity.
|
22 |
+
- "start": the offset within `input` leading to `answer`. context[start:stop] == word
|
23 |
+
- "end": the ending offset within `input` leading to `answer`. context[start:stop] === word
|
24 |
+
- "score": A score between 0 and 1 describing how confident the model is for this entity.
|
25 |
+
"""
|
26 |
+
inputs = data.pop("inputs", data)
|
27 |
+
sentence: Sentence = Sentence(inputs)
|
28 |
+
|
29 |
+
# Also show scores for recognized NEs
|
30 |
+
self.tagger.predict(sentence, label_name="predicted")
|
31 |
+
|
32 |
+
entities = []
|
33 |
+
for span in sentence.get_spans("predicted"):
|
34 |
+
if len(span.tokens) == 0:
|
35 |
+
continue
|
36 |
+
current_entity = {
|
37 |
+
"entity_group": span.tag,
|
38 |
+
"word": span.text,
|
39 |
+
"start": span.tokens[0].start_position,
|
40 |
+
"end": span.tokens[-1].end_position,
|
41 |
+
"score": span.score,
|
42 |
+
}
|
43 |
+
|
44 |
+
entities.append(current_entity)
|
45 |
+
|
46 |
+
return entities
|
loss.tsv
ADDED
@@ -0,0 +1,121 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
EPOCH TIMESTAMP LEARNING_RATE TRAIN_LOSS
|
2 |
+
1 08:17:20 0.1000 3.6498
|
3 |
+
2 08:17:20 0.1000 2.6736
|
4 |
+
3 08:17:20 0.1000 2.5362
|
5 |
+
4 08:17:20 0.1000 2.2586
|
6 |
+
5 08:17:20 0.1000 2.3726
|
7 |
+
6 08:17:20 0.1000 2.1890
|
8 |
+
7 08:17:21 0.1000 2.1492
|
9 |
+
8 08:17:21 0.1000 2.0981
|
10 |
+
9 08:17:21 0.1000 1.9099
|
11 |
+
10 08:17:21 0.1000 1.7786
|
12 |
+
11 08:17:21 0.1000 1.5913
|
13 |
+
12 08:17:21 0.1000 1.5533
|
14 |
+
13 08:17:22 0.1000 1.5620
|
15 |
+
14 08:17:22 0.1000 1.5314
|
16 |
+
15 08:17:22 0.1000 1.3500
|
17 |
+
16 08:17:22 0.1000 1.3900
|
18 |
+
17 08:17:23 0.1000 1.3232
|
19 |
+
18 08:17:23 0.1000 1.1288
|
20 |
+
19 08:17:23 0.1000 1.1317
|
21 |
+
20 08:17:23 0.1000 1.0139
|
22 |
+
21 08:17:23 0.1000 0.9761
|
23 |
+
22 08:17:23 0.1000 1.2072
|
24 |
+
23 08:17:23 0.1000 0.9009
|
25 |
+
24 08:17:24 0.1000 0.8894
|
26 |
+
25 08:17:24 0.1000 0.9252
|
27 |
+
26 08:17:24 0.1000 0.9054
|
28 |
+
27 08:17:24 0.1000 0.7883
|
29 |
+
28 08:17:24 0.1000 0.8084
|
30 |
+
29 08:17:24 0.1000 0.7761
|
31 |
+
30 08:17:24 0.1000 0.7852
|
32 |
+
31 08:17:25 0.1000 0.7688
|
33 |
+
32 08:17:25 0.1000 0.7836
|
34 |
+
33 08:17:25 0.1000 0.7338
|
35 |
+
34 08:17:25 0.1000 0.6533
|
36 |
+
35 08:17:25 0.1000 0.6309
|
37 |
+
36 08:17:25 0.1000 0.6480
|
38 |
+
37 08:17:25 0.1000 0.5591
|
39 |
+
38 08:17:26 0.1000 0.5507
|
40 |
+
39 08:17:26 0.1000 0.6041
|
41 |
+
40 08:17:26 0.1000 0.6510
|
42 |
+
41 08:17:26 0.1000 0.5804
|
43 |
+
42 08:17:26 0.1000 0.5140
|
44 |
+
43 08:17:26 0.1000 0.4635
|
45 |
+
44 08:17:26 0.1000 0.4680
|
46 |
+
45 08:17:27 0.1000 0.6061
|
47 |
+
46 08:17:27 0.1000 0.5622
|
48 |
+
47 08:17:27 0.1000 0.4827
|
49 |
+
48 08:17:27 0.0500 0.3977
|
50 |
+
49 08:17:27 0.0500 0.4279
|
51 |
+
50 08:17:27 0.0500 0.3961
|
52 |
+
51 08:17:27 0.0500 0.3775
|
53 |
+
52 08:17:28 0.0500 0.3889
|
54 |
+
53 08:17:28 0.0500 0.3675
|
55 |
+
54 08:17:28 0.0500 0.3871
|
56 |
+
55 08:17:28 0.0500 0.3514
|
57 |
+
56 08:17:28 0.0500 0.3670
|
58 |
+
57 08:17:28 0.0500 0.3303
|
59 |
+
58 08:17:29 0.0500 0.3669
|
60 |
+
59 08:17:29 0.0500 0.3577
|
61 |
+
60 08:17:29 0.0500 0.3258
|
62 |
+
61 08:17:29 0.0500 0.3332
|
63 |
+
62 08:17:29 0.0500 0.3685
|
64 |
+
63 08:17:29 0.0500 0.3106
|
65 |
+
64 08:17:30 0.0500 0.2856
|
66 |
+
65 08:17:30 0.0500 0.2952
|
67 |
+
66 08:17:30 0.0500 0.2865
|
68 |
+
67 08:17:30 0.0500 0.2844
|
69 |
+
68 08:17:30 0.0500 0.2515
|
70 |
+
69 08:17:31 0.0500 0.3155
|
71 |
+
70 08:17:31 0.0500 0.2477
|
72 |
+
71 08:17:31 0.0500 0.3029
|
73 |
+
72 08:17:31 0.0500 0.2660
|
74 |
+
73 08:17:31 0.0500 0.3264
|
75 |
+
74 08:17:31 0.0500 0.2799
|
76 |
+
75 08:17:32 0.0250 0.2766
|
77 |
+
76 08:17:32 0.0250 0.2247
|
78 |
+
77 08:17:32 0.0250 0.2453
|
79 |
+
78 08:17:32 0.0250 0.2271
|
80 |
+
79 08:17:32 0.0250 0.2329
|
81 |
+
80 08:17:32 0.0250 0.2389
|
82 |
+
81 08:17:33 0.0125 0.2508
|
83 |
+
82 08:17:33 0.0125 0.2192
|
84 |
+
83 08:17:33 0.0125 0.2158
|
85 |
+
84 08:17:33 0.0125 0.2222
|
86 |
+
85 08:17:33 0.0125 0.2167
|
87 |
+
86 08:17:33 0.0125 0.2078
|
88 |
+
87 08:17:33 0.0125 0.2183
|
89 |
+
88 08:17:34 0.0125 0.2368
|
90 |
+
89 08:17:34 0.0125 0.1910
|
91 |
+
90 08:17:34 0.0125 0.1775
|
92 |
+
91 08:17:34 0.0125 0.2070
|
93 |
+
92 08:17:34 0.0125 0.1957
|
94 |
+
93 08:17:34 0.0125 0.2066
|
95 |
+
94 08:17:34 0.0125 0.1958
|
96 |
+
95 08:17:35 0.0063 0.1911
|
97 |
+
96 08:17:35 0.0063 0.1824
|
98 |
+
97 08:17:35 0.0063 0.1891
|
99 |
+
98 08:17:35 0.0063 0.2174
|
100 |
+
99 08:17:35 0.0031 0.2056
|
101 |
+
100 08:17:35 0.0031 0.1873
|
102 |
+
101 08:17:36 0.0031 0.1985
|
103 |
+
102 08:17:36 0.0031 0.1865
|
104 |
+
103 08:17:36 0.0016 0.1874
|
105 |
+
104 08:17:36 0.0016 0.2153
|
106 |
+
105 08:17:36 0.0016 0.2044
|
107 |
+
106 08:17:36 0.0016 0.1859
|
108 |
+
107 08:17:36 0.0008 0.2098
|
109 |
+
108 08:17:37 0.0008 0.2072
|
110 |
+
109 08:17:37 0.0008 0.1640
|
111 |
+
110 08:17:37 0.0008 0.2128
|
112 |
+
111 08:17:37 0.0008 0.1954
|
113 |
+
112 08:17:37 0.0008 0.1887
|
114 |
+
113 08:17:37 0.0008 0.1824
|
115 |
+
114 08:17:37 0.0004 0.2271
|
116 |
+
115 08:17:38 0.0004 0.1896
|
117 |
+
116 08:17:38 0.0004 0.1872
|
118 |
+
117 08:17:38 0.0004 0.2119
|
119 |
+
118 08:17:38 0.0002 0.2057
|
120 |
+
119 08:17:38 0.0002 0.1747
|
121 |
+
120 08:17:38 0.0002 0.1977
|
model.bin
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:c71dfca8fc533690b01b75ddf3613d10b2f64511f97b57d29ef98124023f79f3
|
3 |
+
size 408136407
|
requirements.txt
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
flair==0.13.1
|
training.log
ADDED
The diff for this file is too large to render.
See raw diff
|
|