Skip to content
Snippets Groups Projects
Commit 7b545ee5 authored by Mateusz Klimaszewski's avatar Mateusz Klimaszewski
Browse files

Change few transformer models. Make position_ids not necessary. Update to pytorch 1.7.

parent 5545d968
No related branches found
No related tags found
2 merge requests!37Release 1.0.4.,!36Release 1.0.4
This commit is part of merge request !36. Comments created here will be created in the context of that merge request.
...@@ -112,10 +112,8 @@ assert pretrained_tokens == null || pretrained_transformer_name == null: "Can't ...@@ -112,10 +112,8 @@ assert pretrained_tokens == null || pretrained_transformer_name == null: "Can't
use_sem: if in_targets("semrel") then true else false, use_sem: if in_targets("semrel") then true else false,
token_indexers: { token_indexers: {
token: if use_transformer then { token: if use_transformer then {
type: "pretrained_transformer_mismatched_fixed", type: "pretrained_transformer_mismatched",
model_name: pretrained_transformer_name, model_name: pretrained_transformer_name
tokenizer_kwargs: if std.startsWith(pretrained_transformer_name, "allegro/herbert")
then {use_fast: false} else {},
} else { } else {
# SingleIdTokenIndexer, token as single int # SingleIdTokenIndexer, token as single int
type: "single_id", type: "single_id",
...@@ -204,9 +202,7 @@ assert pretrained_tokens == null || pretrained_transformer_name == null: "Can't ...@@ -204,9 +202,7 @@ assert pretrained_tokens == null || pretrained_transformer_name == null: "Can't
type: "transformers_word_embeddings", type: "transformers_word_embeddings",
last_layer_only: false, last_layer_only: false,
model_name: pretrained_transformer_name, model_name: pretrained_transformer_name,
projection_dim: projected_embedding_dim, projection_dim: projected_embedding_dim
tokenizer_kwargs: if std.startsWith(pretrained_transformer_name, "allegro/herbert")
then {use_fast: false} else {},
} else { } else {
type: "embeddings_projected", type: "embeddings_projected",
embedding_dim: embedding_dim, embedding_dim: embedding_dim,
......
...@@ -105,6 +105,8 @@ class TransformersWordEmbedder(token_embedders.PretrainedTransformerMismatchedEm ...@@ -105,6 +105,8 @@ class TransformersWordEmbedder(token_embedders.PretrainedTransformerMismatchedEm
Tested with Bert (but should work for other models as well). Tested with Bert (but should work for other models as well).
""" """
authorized_missing_keys = [r"position_ids$"]
def __init__(self, def __init__(self,
model_name: str, model_name: str,
projection_dim: int = 0, projection_dim: int = 0,
......
...@@ -32,6 +32,10 @@ def graph_and_tree_merge(tree_arc_scores, ...@@ -32,6 +32,10 @@ def graph_and_tree_merge(tree_arc_scores,
if not d: if not d:
continue continue
label = idx2label[tree_rel_scores[d - 1]] label = idx2label[tree_rel_scores[d - 1]]
# graph_label = graph_idx2label[graph_rel_pred[d - 1][h - 1]]
# if ">" in graph_label and label in graph_label:
# print("Using graph label instead of tree.")
# label = graph_label
if label != _ACL_REL_CL: if label != _ACL_REL_CL:
graph[h].append(d) graph[h].append(d)
labeled_graph[h].append((d, label)) labeled_graph[h].append((d, label))
...@@ -118,16 +122,17 @@ def restore_collapse_edges(tree_tokens): ...@@ -118,16 +122,17 @@ def restore_collapse_edges(tree_tokens):
if ">" in current_node_relation: if ">" in current_node_relation:
second_empty_node_relation, current_node_relation = current_node_relation.split(">") second_empty_node_relation, current_node_relation = current_node_relation.split(">")
deps[i] = f"{ehead}:{current_node_relation}" deps[i] = f"{ehead}:{current_node_relation}"
second_ehead = f"{len(tree_tokens)}.{len(empty_tokens) + 2}"
empty_tokens.append( empty_tokens.append(
{ {
"id": ehead, "id": ehead,
"deps": f"{head}:{empty_node_relation}" "deps": f"{second_ehead}:{empty_node_relation}"
} }
) )
empty_tokens.append( empty_tokens.append(
{ {
"id": f"{len(tree_tokens)}.{len(empty_tokens) + 1}", "id": second_ehead,
"deps": f"{ehead}:{second_empty_node_relation}" "deps": f"{head}:{second_empty_node_relation}"
} }
) )
......
...@@ -4,7 +4,7 @@ import subprocess ...@@ -4,7 +4,7 @@ import subprocess
LANG2TRANSFORMER = { LANG2TRANSFORMER = {
"en": "bert-base-cased", "en": "bert-base-cased",
"pl": "allegro/herbert-base-cased", "pl": "allegro/herbert-large-cased",
"zh": "bert-base-chinese", "zh": "bert-base-chinese",
"fi": "TurkuNLP/bert-base-finnish-cased-v1", "fi": "TurkuNLP/bert-base-finnish-cased-v1",
"ko": "kykim/bert-kor-base", "ko": "kykim/bert-kor-base",
...@@ -12,12 +12,12 @@ LANG2TRANSFORMER = { ...@@ -12,12 +12,12 @@ LANG2TRANSFORMER = {
"ar": "aubmindlab/bert-base-arabertv2", "ar": "aubmindlab/bert-base-arabertv2",
"eu": "ixa-ehu/berteus-base-cased", "eu": "ixa-ehu/berteus-base-cased",
"tr": "dbmdz/bert-base-turkish-cased", "tr": "dbmdz/bert-base-turkish-cased",
"bg": "iarfmoose/roberta-base-bulgarian", "bg": "xlm-roberta-large",
"nl": "GroNLP/bert-base-dutch-cased", "nl": "xlm-roberta-large",
"fr": "camembert-base", "fr": "camembert-base",
"it": "dbmdz/bert-base-italian-cased", "it": "xlm-roberta-large",
"ru": "blinoff/roberta-base-russian-v0", "ru": "xlm-roberta-large",
"sv": "KB/bert-base-swedish-cased", "sv": "xlm-roberta-large",
"uk": "xlm-roberta-large", "uk": "xlm-roberta-large",
"ta": "xlm-roberta-large", "ta": "xlm-roberta-large",
"sk": "xlm-roberta-large", "sk": "xlm-roberta-large",
......
...@@ -15,7 +15,7 @@ REQUIREMENTS = [ ...@@ -15,7 +15,7 @@ REQUIREMENTS = [
'scipy<1.6.0;python_version<"3.7"', # SciPy 1.6.0 works for 3.7+ 'scipy<1.6.0;python_version<"3.7"', # SciPy 1.6.0 works for 3.7+
'spacy==2.3.2', 'spacy==2.3.2',
'scikit-learn<=0.23.2', 'scikit-learn<=0.23.2',
'torch==1.6.0', 'torch==1.7.0',
'tqdm==4.43.0', 'tqdm==4.43.0',
'transformers==4.0.1', 'transformers==4.0.1',
'urllib3==1.25.11', 'urllib3==1.25.11',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment