keras-nlp icon indicating copy to clipboard operation
keras-nlp copied to clipboard

Demo compilation defaults for BERT

Open mattdangerw opened this issue 2 years ago • 0 comments

Signature:

    def compile(
        self,
        optimizer="keras_nlp>BertOptimizer",
        loss="sparse_categorical_crossentropy",
        metrics="sparse_categorical_accuracy",
        jit_compile=True,
        **kwargs,
    ):

Usage:

classifier = keras_nlp.models.BertClassifier.from_preset(
    "bert_base_en_uncased",
    num_classes=5,
)

# Default compilation.
classifier.fit(dataset)

# Custom learning rate.
classifier.compile(
    optimizer=keras_nlp.models.BertOptimizer(
        keras.optimizers.schedules.CosineDecay(5e-5, decay_steps=10_000)
    ),
)
classifier.fit(dataset)

# Custom optimizer and metrics.
classifier.compile(
    optimizer=keras.optimizers.Adam(1e-4),
    metrics=[keras.metrics.TopKCategoricalAccuracy(k=3)],
)
classifier.fit(dataset)

mattdangerw avatar May 04 '23 23:05 mattdangerw