Python bert.modeling.get_assignment_map_from_checkpoint() Examples
The following are 6
code examples of bert.modeling.get_assignment_map_from_checkpoint().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
bert.modeling
, or try the search function
.
Example #1
Source File: discriminative_eval.py From language with Apache License 2.0 | 5 votes |
def _restore_checkpoint(init_checkpoint): """Restore parameters from checkpoint.""" tvars = tf.trainable_variables() (assignment_map, _) = modeling.get_assignment_map_from_checkpoint(tvars, init_checkpoint) tf.train.init_from_checkpoint(init_checkpoint, assignment_map)
Example #2
Source File: coherence_eval.py From language with Apache License 2.0 | 5 votes |
def _restore_checkpoint(init_checkpoint): """Restore parameters from checkpoint.""" tvars = tf.trainable_variables() (assignment_map, _) = modeling.get_assignment_map_from_checkpoint(tvars, init_checkpoint) tf.train.init_from_checkpoint(init_checkpoint, assignment_map)
Example #3
Source File: demo.py From language with Apache License 2.0 | 5 votes |
def get_assignment_map_from_checkpoint(tvars, init_checkpoint, load_only_bert=False): """Compute the union of the current variables and checkpoint variables.""" assignment_map = {} initialized_variable_names = {} name_to_variable = collections.OrderedDict() for var in tvars: name = var.name m = re.match("^(.*):\\d+$", name) if m is not None: name = m.group(1) if load_only_bert and ("bert" not in name): continue name_to_variable[name] = var init_vars = tf.train.list_variables(init_checkpoint) assignment_map = collections.OrderedDict() for x in init_vars: (name, var) = (x[0], x[1]) if name not in name_to_variable: continue assignment_map[name] = name initialized_variable_names[name] = 1 initialized_variable_names[name + ":0"] = 1 return (assignment_map, initialized_variable_names)
Example #4
Source File: gold_mentions.py From coref with Apache License 2.0 | 4 votes |
def __init__(self, config): self.config = config self.max_segment_len = config['max_segment_len'] self.max_span_width = config["max_span_width"] self.genres = { g:i for i,g in enumerate(config["genres"]) } self.subtoken_maps = {} self.gold = {} self.eval_data = None # Load eval data lazily. self.bert_config = modeling.BertConfig.from_json_file(config["bert_config_file"]) self.tokenizer = tokenization.FullTokenizer( vocab_file=config['vocab_file'], do_lower_case=False) input_props = [] input_props.append((tf.int32, [None, None])) # input_ids. input_props.append((tf.int32, [None, None])) # input_mask input_props.append((tf.int32, [None])) # Text lengths. input_props.append((tf.int32, [None, None])) # Speaker IDs. input_props.append((tf.int32, [])) # Genre. input_props.append((tf.bool, [])) # Is training. input_props.append((tf.int32, [None])) # Gold starts. input_props.append((tf.int32, [None])) # Gold ends. input_props.append((tf.int32, [None])) # Cluster ids. input_props.append((tf.int32, [None])) # Sentence Map self.queue_input_tensors = [tf.placeholder(dtype, shape) for dtype, shape in input_props] dtypes, shapes = zip(*input_props) queue = tf.PaddingFIFOQueue(capacity=10, dtypes=dtypes, shapes=shapes) self.enqueue_op = queue.enqueue(self.queue_input_tensors) self.input_tensors = queue.dequeue() self.predictions, self.loss = self.get_predictions_and_loss(*self.input_tensors) # bert stuff tvars = tf.trainable_variables() assignment_map, initialized_variable_names = modeling.get_assignment_map_from_checkpoint(tvars, config['init_checkpoint']) tf.train.init_from_checkpoint(config['init_checkpoint'], assignment_map) print("**** Trainable Variables ****") for var in tvars: init_string = "" if var.name in initialized_variable_names: init_string = ", *INIT_FROM_CKPT*" # tf.logging.info(" name = %s, shape = %s%s", var.name, var.shape, # init_string) print(" name = %s, shape = %s%s", var.name, var.shape, init_string) num_train_steps = int( self.config['num_docs'] * self.config['num_epochs']) num_warmup_steps = int(num_train_steps * 0.1) self.global_step = tf.train.get_or_create_global_step() self.train_op = optimization.create_custom_optimizer(tvars, self.loss, self.config['bert_learning_rate'], self.config['task_learning_rate'], num_train_steps, num_warmup_steps, False, self.global_step, freeze=-1)
Example #5
Source File: independent.py From coref with Apache License 2.0 | 4 votes |
def __init__(self, config): self.config = config self.max_segment_len = config['max_segment_len'] self.max_span_width = config["max_span_width"] self.genres = { g:i for i,g in enumerate(config["genres"]) } self.subtoken_maps = {} self.gold = {} self.eval_data = None # Load eval data lazily. self.bert_config = modeling.BertConfig.from_json_file(config["bert_config_file"]) self.tokenizer = tokenization.FullTokenizer( vocab_file=config['vocab_file'], do_lower_case=False) input_props = [] input_props.append((tf.int32, [None, None])) # input_ids. input_props.append((tf.int32, [None, None])) # input_mask input_props.append((tf.int32, [None])) # Text lengths. input_props.append((tf.int32, [None, None])) # Speaker IDs. input_props.append((tf.int32, [])) # Genre. input_props.append((tf.bool, [])) # Is training. input_props.append((tf.int32, [None])) # Gold starts. input_props.append((tf.int32, [None])) # Gold ends. input_props.append((tf.int32, [None])) # Cluster ids. input_props.append((tf.int32, [None])) # Sentence Map self.queue_input_tensors = [tf.placeholder(dtype, shape) for dtype, shape in input_props] dtypes, shapes = zip(*input_props) queue = tf.PaddingFIFOQueue(capacity=10, dtypes=dtypes, shapes=shapes) self.enqueue_op = queue.enqueue(self.queue_input_tensors) self.input_tensors = queue.dequeue() self.predictions, self.loss = self.get_predictions_and_loss(*self.input_tensors) # bert stuff tvars = tf.trainable_variables() # If you're using TF weights only, tf_checkpoint and init_checkpoint can be the same # Get the assignment map from the tensorflow checkpoint. Depending on the extension, use TF/Pytorch to load weights. assignment_map, initialized_variable_names = modeling.get_assignment_map_from_checkpoint(tvars, config['tf_checkpoint']) init_from_checkpoint = tf.train.init_from_checkpoint if config['init_checkpoint'].endswith('ckpt') else load_from_pytorch_checkpoint init_from_checkpoint(config['init_checkpoint'], assignment_map) print("**** Trainable Variables ****") for var in tvars: init_string = "" if var.name in initialized_variable_names: init_string = ", *INIT_FROM_CKPT*" # tf.logging.info(" name = %s, shape = %s%s", var.name, var.shape, # init_string) print(" name = %s, shape = %s%s" % (var.name, var.shape, init_string)) num_train_steps = int( self.config['num_docs'] * self.config['num_epochs']) num_warmup_steps = int(num_train_steps * 0.1) self.global_step = tf.train.get_or_create_global_step() self.train_op = optimization.create_custom_optimizer(tvars, self.loss, self.config['bert_learning_rate'], self.config['task_learning_rate'], num_train_steps, num_warmup_steps, False, self.global_step, freeze=-1, task_opt=self.config['task_optimizer'], eps=config['adam_eps'])
Example #6
Source File: overlap.py From coref with Apache License 2.0 | 4 votes |
def __init__(self, config): self.config = config self.subtoken_maps = {} self.max_segment_len = config['max_segment_len'] self.max_span_width = config["max_span_width"] self.genres = { g:i for i,g in enumerate(config["genres"]) } self.eval_data = None # Load eval data lazily. self.bert_config = modeling.BertConfig.from_json_file(config["bert_config_file"]) self.sep = 102 self.cls = 101 self.tokenizer = tokenization.FullTokenizer( vocab_file=config['vocab_file'], do_lower_case=False) input_props = [] input_props.append((tf.int32, [None, None])) # input_ids. input_props.append((tf.int32, [None, None])) # input_mask input_props.append((tf.int32, [None, None])) # input_ids. input_props.append((tf.int32, [None, None])) # input_mask input_props.append((tf.int32, [None])) # Text lengths. input_props.append((tf.int32, [None, None])) # Speaker IDs. input_props.append((tf.int32, [])) # Genre. input_props.append((tf.bool, [])) # Is training. input_props.append((tf.int32, [None])) # Gold starts. input_props.append((tf.int32, [None])) # Gold ends. input_props.append((tf.int32, [None])) # Cluster ids. input_props.append((tf.int32, [None])) # Sentence Map self.queue_input_tensors = [tf.placeholder(dtype, shape) for dtype, shape in input_props] dtypes, shapes = zip(*input_props) queue = tf.PaddingFIFOQueue(capacity=10, dtypes=dtypes, shapes=shapes) self.enqueue_op = queue.enqueue(self.queue_input_tensors) self.input_tensors = queue.dequeue() self.predictions, self.loss = self.get_predictions_and_loss(*self.input_tensors) # bert stuff tvars = tf.trainable_variables() assignment_map, initialized_variable_names = modeling.get_assignment_map_from_checkpoint(tvars, config['tf_checkpoint']) init_from_checkpoint = tf.train.init_from_checkpoint if config['init_checkpoint'].endswith('ckpt') else load_from_pytorch_checkpoint init_from_checkpoint(config['init_checkpoint'], assignment_map) print("**** Trainable Variables ****") for var in tvars: init_string = "" if var.name in initialized_variable_names: init_string = ", *INIT_FROM_CKPT*" # tf.logging.info(" name = %s, shape = %s%s", var.name, var.shape, # init_string) print(" name = %s, shape = %s%s" % (var.name, var.shape, init_string)) num_train_steps = int( self.config['num_docs'] * self.config['num_epochs']) num_warmup_steps = int(num_train_steps * 0.1) self.global_step = tf.train.get_or_create_global_step() self.train_op = optimization.create_custom_optimizer(tvars, self.loss, self.config['bert_learning_rate'], self.config['task_learning_rate'], num_train_steps, num_warmup_steps, False, self.global_step, freeze=-1)