Skip to content

Commit cfe1fca

Browse files
Default compilation for Albert, Distilbert, Roberta MaskedLM (#833)
* adding compilation defaults * Update albert_masked_lm.py * Update roberta_masked_lm.py * Update distil_bert_masked_lm.py * Update distil_bert_masked_lm.py * Update distil_bert_masked_lm.py
1 parent 86e1042 commit cfe1fca

File tree

6 files changed

+33
-0
lines changed

6 files changed

+33
-0
lines changed

keras_nlp/models/albert/albert_masked_lm.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
)
2828
from keras_nlp.models.albert.albert_presets import backbone_presets
2929
from keras_nlp.models.task import Task
30+
from keras_nlp.utils.keras_utils import is_xla_compatible
3031
from keras_nlp.utils.python_utils import classproperty
3132

3233

@@ -142,6 +143,13 @@ def __init__(self, backbone, preprocessor=None, **kwargs):
142143
self.backbone = backbone
143144
self.preprocessor = preprocessor
144145

146+
self.compile(
147+
loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True),
148+
optimizer=keras.optimizers.Adam(5e-5),
149+
weighted_metrics=keras.metrics.SparseCategoricalAccuracy(),
150+
jit_compile=is_xla_compatible(self),
151+
)
152+
145153
@classproperty
146154
def backbone_cls(cls):
147155
return AlbertBackbone

keras_nlp/models/albert/albert_masked_lm_test.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,9 @@ def test_albert_masked_lm_predict_no_preprocessing(self, jit_compile):
114114
self.masked_lm_no_preprocessing.compile(jit_compile=jit_compile)
115115
self.masked_lm_no_preprocessing.predict(self.preprocessed_batch)
116116

117+
def test_albert_masked_lm_fit_default_compile(self):
118+
self.masked_lm.fit(self.raw_dataset)
119+
117120
@parameterized.named_parameters(
118121
("jit_compile_false", False), ("jit_compile_true", True)
119122
)

keras_nlp/models/distil_bert/distil_bert_masked_lm.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
)
2929
from keras_nlp.models.distil_bert.distil_bert_presets import backbone_presets
3030
from keras_nlp.models.task import Task
31+
from keras_nlp.utils.keras_utils import is_xla_compatible
3132
from keras_nlp.utils.python_utils import classproperty
3233

3334

@@ -143,6 +144,13 @@ def __init__(
143144
self.backbone = backbone
144145
self.preprocessor = preprocessor
145146

147+
self.compile(
148+
loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True),
149+
optimizer=keras.optimizers.Adam(5e-5),
150+
weighted_metrics=keras.metrics.SparseCategoricalAccuracy(),
151+
jit_compile=is_xla_compatible(self),
152+
)
153+
146154
@classproperty
147155
def backbone_cls(cls):
148156
return DistilBertBackbone

keras_nlp/models/distil_bert/distil_bert_masked_lm_test.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,9 @@ def test_distilbert_masked_lm_predict_no_preprocessing(self, jit_compile):
8989
self.masked_lm_no_preprocessing.compile(jit_compile=jit_compile)
9090
self.masked_lm_no_preprocessing.predict(self.preprocessed_batch)
9191

92+
def test_distil_bert_masked_lm_fit_default_compile(self):
93+
self.masked_lm.fit(self.raw_dataset)
94+
9295
@parameterized.named_parameters(
9396
("jit_compile_false", False), ("jit_compile_true", True)
9497
)

keras_nlp/models/roberta/roberta_masked_lm.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
)
2727
from keras_nlp.models.roberta.roberta_presets import backbone_presets
2828
from keras_nlp.models.task import Task
29+
from keras_nlp.utils.keras_utils import is_xla_compatible
2930
from keras_nlp.utils.python_utils import classproperty
3031

3132

@@ -141,6 +142,13 @@ def __init__(
141142
self.backbone = backbone
142143
self.preprocessor = preprocessor
143144

145+
self.compile(
146+
loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True),
147+
optimizer=keras.optimizers.Adam(5e-5),
148+
weighted_metrics=keras.metrics.SparseCategoricalAccuracy(),
149+
jit_compile=is_xla_compatible(self),
150+
)
151+
144152
@classproperty
145153
def backbone_cls(cls):
146154
return RobertaBackbone

keras_nlp/models/roberta/roberta_masked_lm_test.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,9 @@ def test_roberta_masked_lm_predict_no_preprocessing(self, jit_compile):
103103
self.masked_lm_no_preprocessing.compile(jit_compile=jit_compile)
104104
self.masked_lm_no_preprocessing.predict(self.preprocessed_batch)
105105

106+
def test_roberta_masked_lm_fit_default_compile(self):
107+
self.masked_lm.fit(self.raw_dataset)
108+
106109
@parameterized.named_parameters(
107110
("jit_compile_false", False), ("jit_compile_true", True)
108111
)

0 commit comments

Comments
 (0)