ckpt_freq = int(steps_per_epoch / train_config['checkpoints_per_epoch']) cp_callback = CheckpointSaver(ckpt_folder, ckpt_freq, steps_per_epoch, starting_epoch=train_config['starting_epoch']) sts_eval_callback = STSEvalCallback( sts_val, sts_loss_weight=sts_config['sts_loss_weight']) model = SentenceClassifier(cls_config['seq_len'], tokenizer, train_config['rnn_units'], train_config['recurrent_layer'], train_config['embed_dim']) model.set_sts_data(sts_train, 1, steps_per_epoch, sts_config['sts_loss_weight'], sts_config['sts_batch_size']) original_sentence_precision = ClassWisePrecision( cls_config['original_sentence_label'], name='precision_original_sentence') changed_sentence_precision = ClassWisePrecision( cls_config['changed_sentence_label'], name='precision_changed_sentence') original_sentence_recall = ClassWiseRecall( cls_config['original_sentence_label'], name='recall_original_sentence') changed_sentence_recall = ClassWiseRecall(cls_config['changed_sentence_label'], name='recall_changed_sentence') model.compile(optimizer=tf.keras.optimizers.Adam( learning_rate=train_config['learning_rate']), loss=tf.keras.losses.BinaryCrossentropy(from_logits=True), metrics=[