diff --git a/Options.md b/Options.md index 569917c..f396845 100644 --- a/Options.md +++ b/Options.md @@ -34,6 +34,8 @@ model = BertClassifier(bert_model='bert-base-uncased', * `'bert-base-multilingual-uncased'` * `'bert-base-multilingual-cased'` * `'bert-base-chinese'` + * `'bert-base-portuguese-cased'` + * `'bert-large-portuguese-cased'` **SciBERT pretrained BERT models** See [`SciBERT` github](https://github.com/allenai/scibert) and [paper](https://arxiv.org/pdf/1903.10676.pdf) for more info. * `'scibert-scivocab-uncased'` diff --git a/bert_sklearn/model/pytorch_pretrained/modeling.py b/bert_sklearn/model/pytorch_pretrained/modeling.py index ddf6d82..99b75ed 100644 --- a/bert_sklearn/model/pytorch_pretrained/modeling.py +++ b/bert_sklearn/model/pytorch_pretrained/modeling.py @@ -49,7 +49,9 @@ 'bert-large-cased-whole-word-masking': "https://s3.amazonaws.com/models.huggingface.co/bert/bert-large-cased-whole-word-masking-pytorch_model.bin", 'bert-large-uncased-whole-word-masking-finetuned-squad': "https://s3.amazonaws.com/models.huggingface.co/bert/bert-large-uncased-whole-word-masking-finetuned-squad-pytorch_model.bin", 'bert-large-cased-whole-word-masking-finetuned-squad': "https://s3.amazonaws.com/models.huggingface.co/bert/bert-large-cased-whole-word-masking-finetuned-squad-pytorch_model.bin", - 'bert-base-cased-finetuned-mrpc': "https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-cased-finetuned-mrpc-pytorch_model.bin", + 'bert-base-cased-finetuned-mrpc': "https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-cased-finetuned-mrpc-pytorch_model.bin", + 'bert-base-portuguese-cased': "https://huggingface.co/neuralmind/bert-base-portuguese-cased/resolve/main/pytorch_model.bin", + 'bert-large-portuguese-cased': "https://huggingface.co/neuralmind/bert-large-portuguese-cased/resolve/main/pytorch_model.bin", # BioBERT models 'biobert-base-cased': "https://github.com/naver/biobert-pretrained/releases/download/v1.1-pubmed/biobert_v1.1_pubmed.tar.gz", 'biobert-v1.1-pubmed-base-cased': "https://github.com/naver/biobert-pretrained/releases/download/v1.1-pubmed/biobert_v1.1_pubmed.tar.gz", @@ -78,6 +80,8 @@ 'bert-large-uncased-whole-word-masking-finetuned-squad': "https://s3.amazonaws.com/models.huggingface.co/bert/bert-large-uncased-whole-word-masking-finetuned-squad-config.json", 'bert-large-cased-whole-word-masking-finetuned-squad': "https://s3.amazonaws.com/models.huggingface.co/bert/bert-large-cased-whole-word-masking-finetuned-squad-config.json", 'bert-base-cased-finetuned-mrpc': "https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-cased-finetuned-mrpc-config.json", + 'bert-base-portuguese-cased': "https://huggingface.co/neuralmind/bert-base-portuguese-cased/raw/main/config.json", + 'bert-large-portuguese-cased': "https://huggingface.co/neuralmind/bert-large-portuguese-cased/raw/main/config.json", } BERT_CONFIG_NAME = 'bert_config.json' TF_WEIGHTS_NAME = 'model.ckpt' diff --git a/bert_sklearn/model/pytorch_pretrained/tokenization.py b/bert_sklearn/model/pytorch_pretrained/tokenization.py index fbe6ecf..3db9cbc 100644 --- a/bert_sklearn/model/pytorch_pretrained/tokenization.py +++ b/bert_sklearn/model/pytorch_pretrained/tokenization.py @@ -42,6 +42,8 @@ 'bert-large-uncased-whole-word-masking-finetuned-squad': "https://s3.amazonaws.com/models.huggingface.co/bert/bert-large-uncased-whole-word-masking-finetuned-squad-vocab.txt", 'bert-large-cased-whole-word-masking-finetuned-squad': "https://s3.amazonaws.com/models.huggingface.co/bert/bert-large-cased-whole-word-masking-finetuned-squad-vocab.txt", 'bert-base-cased-finetuned-mrpc': "https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-cased-finetuned-mrpc-vocab.txt", + 'bert-base-portuguese-cased': "https://huggingface.co/neuralmind/bert-base-portuguese-cased/raw/main/vocab.txt", + 'bert-large-portuguese-cased': "https://huggingface.co/neuralmind/bert-large-portuguese-cased/raw/main/vocab.txt", # BioBERT models 'biobert-base-cased': "https://github.com/naver/biobert-pretrained/releases/download/v1.1-pubmed/biobert_v1.1_pubmed.tar.gz", 'biobert-v1.1-pubmed-base-cased': "https://github.com/naver/biobert-pretrained/releases/download/v1.1-pubmed/biobert_v1.1_pubmed.tar.gz", diff --git a/demo.ipynb b/demo.ipynb index d512026..bac9de1 100644 --- a/demo.ipynb +++ b/demo.ipynb @@ -32,9 +32,9 @@ "\n", "* **`bert_model`** - BERT models come in 2 sizes : `base` and `large`. As you would expect the large model demands more GPU memory and takes longer to train. If you have a small GPU, start with the any of the `base` models first. The default is set to `'bert-base-uncased'`\n", "\n", - "> `base(110M parameter models)` : `'bert-base-uncased'`, `'bert-base-cased'`, `'bert-base-multilingual-uncased'`, `'bert-base-multilingual-cased'`, `'bert-base-chinese'`, and all the **`BioBERT`** and **`SciBERT`** models.\n", + "> `base(110M parameter models)` : `'bert-base-uncased'`, `'bert-base-cased'`, `'bert-base-multilingual-uncased'`, `'bert-base-multilingual-cased'`, `'bert-base-chinese'`, `'bert-base-portuguese-cased'`, and all the **`BioBERT`** and **`SciBERT`** models.\n", "\n", - "> `large(340M parameter models)`: `'bert-large-uncased'` and `'bert-large-cased'`\n", + "> `large(340M parameter models)`: `'bert-large-uncased'`, `'bert-large-cased'` and `'bert-large-portuguese-cased'`\n", "\n", "\n", "* **`max_seq_length`** - the defualt is 128 with a max value of 512. But seting it to a smaller value like 96 or even 64 saves a lot of GPU memory and still gets good results on a lot of tasks.\n", diff --git a/tests/run_classifier.py b/tests/run_classifier.py index 3943d9b..b609b41 100644 --- a/tests/run_classifier.py +++ b/tests/run_classifier.py @@ -71,7 +71,7 @@ def main(): parser.add_argument("--bert_model", default=None, type=str, required=True, help="Bert pre-trained model selected in the list: bert-base-uncased, " "bert-large-uncased, bert-base-cased, bert-large-cased, bert-base-multilingual-uncased, " - "bert-base-multilingual-cased, bert-base-chinese.") + "bert-base-multilingual-cased, bert-base-chinese, bert-base-portuguese-cased, bert-large-portuguese-cased") parser.add_argument("--task_name", default=None, type=str,