예제 #1
0
 def _get_squad_model():
     """Get Squad model and optimizer."""
     squad_model, core_model = bert_models.squad_model(
         bert_config,
         max_seq_length,
         float_type=tf.float16 if use_float16 else tf.float32)
     squad_model.optimizer = optimization.create_optimizer(
         FLAGS.learning_rate, steps_per_epoch * epochs, warmup_steps)
     if use_float16:
         # Wraps optimizer with a LossScaleOptimizer. This is done automatically
         # in compile() with the "mixed_float16" policy, but since we do not call
         # compile(), we must wrap the optimizer manually.
         squad_model.optimizer = (
             tf.keras.mixed_precision.experimental.LossScaleOptimizer(
                 squad_model.optimizer,
                 loss_scale=common_flags.get_loss_scale()))
     if FLAGS.fp16_implementation == 'graph_rewrite':
         # Note: when flags_obj.fp16_implementation == "graph_rewrite", dtype as
         # determined by flags_core.get_tf_dtype(flags_obj) would be 'float32'
         # which will ensure tf.compat.v2.keras.mixed_precision and
         # tf.train.experimental.enable_mixed_precision_graph_rewrite do not double
         # up.
         squad_model.optimizer = tf.train.experimental.enable_mixed_precision_graph_rewrite(
             squad_model.optimizer)
     return squad_model, core_model
예제 #2
0
 def _get_classifier_model():
   classifier_model, core_model = (
       bert_models.classifier_model(bert_config, tf.float32, num_classes,
                                    max_seq_length))
   classifier_model.optimizer = optimization.create_optimizer(
       initial_lr, steps_per_epoch * epochs, warmup_steps)
   return classifier_model, core_model
예제 #3
0
 def _get_squad_model():
     """Get Squad model and optimizer."""
     squad_model, core_model = bert_models.squad_model(
         bert_config,
         max_seq_length,
         float_type=tf.float16 if use_float16 else tf.float32)
     squad_model.optimizer = optimization.create_optimizer(
         FLAGS.learning_rate, steps_per_epoch * epochs, warmup_steps)
     if use_float16:
         squad_model.optimizer = (
             tf.keras.mixed_precision.experimental.LossScaleOptimizer(
                 squad_model.optimizer,
                 loss_scale=common_flags.get_loss_scale()))
     return squad_model, core_model
예제 #4
0
 def _get_pretrain_model():
   """Gets a pretraining model."""
   pretrain_model, core_model = bert_models.pretrain_model(
       bert_config, max_seq_length, max_predictions_per_seq)
   pretrain_model.optimizer = optimization.create_optimizer(
       initial_lr, steps_per_epoch * epochs, warmup_steps)
   if FLAGS.fp16_implementation == 'graph_rewrite':
     # Note: when flags_obj.fp16_implementation == "graph_rewrite", dtype as
     # determined by flags_core.get_tf_dtype(flags_obj) would be 'float32'
     # which will ensure tf.compat.v2.keras.mixed_precision and
     # tf.train.experimental.enable_mixed_precision_graph_rewrite do not double
     # up.
     pretrain_model.optimizer = tf.train.experimental.enable_mixed_precision_graph_rewrite(
         pretrain_model.optimizer)
   return pretrain_model, core_model
예제 #5
0
 def _get_squad_model():
   """Get Squad model and optimizer."""
   squad_model, core_model = bert_models.squad_model(
       bert_config,
       max_seq_length,
       float_type=tf.float16 if use_float16 else tf.float32)
   squad_model.optimizer = optimization.create_optimizer(
       FLAGS.learning_rate, steps_per_epoch * epochs, warmup_steps)
   if use_float16:
     # Wraps optimizer with a LossScaleOptimizer. This is done automatically
     # in compile() with the "mixed_float16" policy, but since we do not call
     # compile(), we must wrap the optimizer manually.
     squad_model.optimizer = (
         tf.keras.mixed_precision.experimental.LossScaleOptimizer(
             squad_model.optimizer, loss_scale=common_flags.get_loss_scale()))
   return squad_model, core_model
예제 #6
0
 def _get_squad_model():
     squad_model, core_model = bert_models.squad_model(
         bert_config, max_seq_length, float_type=tf.float32)
     squad_model.optimizer = optimization.create_optimizer(
         FLAGS.learning_rate, steps_per_epoch * epochs, warmup_steps)
     return squad_model, core_model
예제 #7
0
 def _get_pretrain_model():
     pretrain_model, core_model = bert_models.pretrain_model(
         bert_config, max_seq_length, max_predictions_per_seq)
     pretrain_model.optimizer = optimization.create_optimizer(
         initial_lr, steps_per_epoch * epochs, warmup_steps)
     return pretrain_model, core_model