Python model.NamignizerModel() Examples
The following are 30
code examples of model.NamignizerModel().
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
model
, or try the search function
.
Example #1
Source File: names.py From HumanRecognition with MIT License | 5 votes |
def namignator(checkpoint_path, config): """Generates names randomly according to a given model Args: checkpoint_path: the path to restore the trained model from, should not include the model name, just the path to config: one of the above configs that specify the model and how it should be run and trained Returns: None """ # mutate the config to become a name generator config config.num_steps = 1 config.batch_size = 1 with tf.Graph().as_default(), tf.Session() as session: with tf.variable_scope("model"): m = NamignizerModel(is_training=False, config=config) m.saver.restore(session, checkpoint_path) activations, final_state, _ = session.run([m.activations, m.final_state, tf.no_op()], {m.input_data: np.zeros((1, 1)), m.targets: np.zeros((1, 1)), m.weights: np.ones(1)}) # sample from our softmax activations next_letter = np.random.choice(27, p=activations[0]) name = [next_letter] while next_letter != 0: activations, final_state, _ = session.run([m.activations, m.final_state, tf.no_op()], {m.input_data: [[next_letter]], m.targets: np.zeros((1, 1)), m.initial_state: final_state, m.weights: np.ones(1)}) next_letter = np.random.choice(27, p=activations[0]) name += [next_letter] print(map(lambda x: chr(x + 96), name))
Example #2
Source File: names.py From DOTA_models with Apache License 2.0 | 5 votes |
def run_epoch(session, m, names, counts, epoch_size, eval_op, verbose=False): """Runs the model on the given data for one epoch Args: session: the tf session holding the model graph m: an instance of the NamignizerModel names: a set of lowercase names of 26 characters counts: a list of the frequency of the above names epoch_size: the number of batches to run eval_op: whether to change the params or not, and how to do it Kwargs: verbose: whether to print out state of training during the epoch Returns: cost: the average cost during the last stage of the epoch """ start_time = time.time() costs = 0.0 iters = 0 for step, (x, y) in enumerate(data_utils.namignizer_iterator(names, counts, m.batch_size, m.num_steps, epoch_size)): cost, _ = session.run([m.cost, eval_op], {m.input_data: x, m.targets: y, m.weights: np.ones(m.batch_size * m.num_steps)}) costs += cost iters += m.num_steps if verbose and step % (epoch_size // 10) == 9: print("%.3f perplexity: %.3f speed: %.0f lps" % (step * 1.0 / epoch_size, np.exp(costs / iters), iters * m.batch_size / (time.time() - start_time))) if step >= epoch_size: break return np.exp(costs / iters)
Example #3
Source File: names.py From object_detection_kitti with Apache License 2.0 | 5 votes |
def namignator(checkpoint_path, config): """Generates names randomly according to a given model Args: checkpoint_path: the path to restore the trained model from, should not include the model name, just the path to config: one of the above configs that specify the model and how it should be run and trained Returns: None """ # mutate the config to become a name generator config config.num_steps = 1 config.batch_size = 1 with tf.Graph().as_default(), tf.Session() as session: with tf.variable_scope("model"): m = NamignizerModel(is_training=False, config=config) m.saver.restore(session, checkpoint_path) activations, final_state, _ = session.run([m.activations, m.final_state, tf.no_op()], {m.input_data: np.zeros((1, 1)), m.targets: np.zeros((1, 1)), m.weights: np.ones(1)}) # sample from our softmax activations next_letter = np.random.choice(27, p=activations[0]) name = [next_letter] while next_letter != 0: activations, final_state, _ = session.run([m.activations, m.final_state, tf.no_op()], {m.input_data: [[next_letter]], m.targets: np.zeros((1, 1)), m.initial_state: final_state, m.weights: np.ones(1)}) next_letter = np.random.choice(27, p=activations[0]) name += [next_letter] print(map(lambda x: chr(x + 96), name))
Example #4
Source File: names.py From object_detection_with_tensorflow with MIT License | 5 votes |
def run_epoch(session, m, names, counts, epoch_size, eval_op, verbose=False): """Runs the model on the given data for one epoch Args: session: the tf session holding the model graph m: an instance of the NamignizerModel names: a set of lowercase names of 26 characters counts: a list of the frequency of the above names epoch_size: the number of batches to run eval_op: whether to change the params or not, and how to do it Kwargs: verbose: whether to print out state of training during the epoch Returns: cost: the average cost during the last stage of the epoch """ start_time = time.time() costs = 0.0 iters = 0 for step, (x, y) in enumerate(data_utils.namignizer_iterator(names, counts, m.batch_size, m.num_steps, epoch_size)): cost, _ = session.run([m.cost, eval_op], {m.input_data: x, m.targets: y, m.weights: np.ones(m.batch_size * m.num_steps)}) costs += cost iters += m.num_steps if verbose and step % (epoch_size // 10) == 9: print("%.3f perplexity: %.3f speed: %.0f lps" % (step * 1.0 / epoch_size, np.exp(costs / iters), iters * m.batch_size / (time.time() - start_time))) if step >= epoch_size: break return np.exp(costs / iters)
Example #5
Source File: names.py From object_detection_with_tensorflow with MIT License | 5 votes |
def train(data_dir, checkpoint_path, config): """Trains the model with the given data Args: data_dir: path to the data for the model (see data_utils for data format) checkpoint_path: the path to save the trained model checkpoints config: one of the above configs that specify the model and how it should be run and trained Returns: None """ # Prepare Name data. print("Reading Name data in %s" % data_dir) names, counts = data_utils.read_names(data_dir) with tf.Graph().as_default(), tf.Session() as session: initializer = tf.random_uniform_initializer(-config.init_scale, config.init_scale) with tf.variable_scope("model", reuse=None, initializer=initializer): m = NamignizerModel(is_training=True, config=config) tf.global_variables_initializer().run() for i in range(config.max_max_epoch): lr_decay = config.lr_decay ** max(i - config.max_epoch, 0.0) m.assign_lr(session, config.learning_rate * lr_decay) print("Epoch: %d Learning rate: %.3f" % (i + 1, session.run(m.lr))) train_perplexity = run_epoch(session, m, names, counts, config.epoch_size, m.train_op, verbose=True) print("Epoch: %d Train Perplexity: %.3f" % (i + 1, train_perplexity)) m.saver.save(session, checkpoint_path, global_step=i)
Example #6
Source File: names.py From object_detection_with_tensorflow with MIT License | 5 votes |
def namignize(names, checkpoint_path, config): """Recognizes names and prints the Perplexity of the model for each names in the list Args: names: a list of names in the model format checkpoint_path: the path to restore the trained model from, should not include the model name, just the path to config: one of the above configs that specify the model and how it should be run and trained Returns: None """ with tf.Graph().as_default(), tf.Session() as session: with tf.variable_scope("model"): m = NamignizerModel(is_training=False, config=config) m.saver.restore(session, checkpoint_path) for name in names: x, y = data_utils.name_to_batch(name, m.batch_size, m.num_steps) cost, loss, _ = session.run([m.cost, m.loss, tf.no_op()], {m.input_data: x, m.targets: y, m.weights: np.concatenate(( np.ones(len(name)), np.zeros(m.batch_size * m.num_steps - len(name))))}) print("Name {} gives us a perplexity of {}".format( name, np.exp(cost)))
Example #7
Source File: names.py From object_detection_with_tensorflow with MIT License | 5 votes |
def namignator(checkpoint_path, config): """Generates names randomly according to a given model Args: checkpoint_path: the path to restore the trained model from, should not include the model name, just the path to config: one of the above configs that specify the model and how it should be run and trained Returns: None """ # mutate the config to become a name generator config config.num_steps = 1 config.batch_size = 1 with tf.Graph().as_default(), tf.Session() as session: with tf.variable_scope("model"): m = NamignizerModel(is_training=False, config=config) m.saver.restore(session, checkpoint_path) activations, final_state, _ = session.run([m.activations, m.final_state, tf.no_op()], {m.input_data: np.zeros((1, 1)), m.targets: np.zeros((1, 1)), m.weights: np.ones(1)}) # sample from our softmax activations next_letter = np.random.choice(27, p=activations[0]) name = [next_letter] while next_letter != 0: activations, final_state, _ = session.run([m.activations, m.final_state, tf.no_op()], {m.input_data: [[next_letter]], m.targets: np.zeros((1, 1)), m.initial_state: final_state, m.weights: np.ones(1)}) next_letter = np.random.choice(27, p=activations[0]) name += [next_letter] print(map(lambda x: chr(x + 96), name))
Example #8
Source File: names.py From AI_Reader with Apache License 2.0 | 5 votes |
def run_epoch(session, m, names, counts, epoch_size, eval_op, verbose=False): """Runs the model on the given data for one epoch Args: session: the tf session holding the model graph m: an instance of the NamignizerModel names: a set of lowercase names of 26 characters counts: a list of the frequency of the above names epoch_size: the number of batches to run eval_op: whether to change the params or not, and how to do it Kwargs: verbose: whether to print out state of training during the epoch Returns: cost: the average cost during the last stage of the epoch """ start_time = time.time() costs = 0.0 iters = 0 for step, (x, y) in enumerate(data_utils.namignizer_iterator(names, counts, m.batch_size, m.num_steps, epoch_size)): cost, _ = session.run([m.cost, eval_op], {m.input_data: x, m.targets: y, m.initial_state: m.initial_state.eval(), m.weights: np.ones(m.batch_size * m.num_steps)}) costs += cost iters += m.num_steps if verbose and step % (epoch_size // 10) == 9: print("%.3f perplexity: %.3f speed: %.0f lps" % (step * 1.0 / epoch_size, np.exp(costs / iters), iters * m.batch_size / (time.time() - start_time))) if step >= epoch_size: break return np.exp(costs / iters)
Example #9
Source File: names.py From AI_Reader with Apache License 2.0 | 5 votes |
def train(data_dir, checkpoint_path, config): """Trains the model with the given data Args: data_dir: path to the data for the model (see data_utils for data format) checkpoint_path: the path to save the trained model checkpoints config: one of the above configs that specify the model and how it should be run and trained Returns: None """ # Prepare Name data. print("Reading Name data in %s" % data_dir) names, counts = data_utils.read_names(data_dir) with tf.Graph().as_default(), tf.Session() as session: initializer = tf.random_uniform_initializer(-config.init_scale, config.init_scale) with tf.variable_scope("model", reuse=None, initializer=initializer): m = NamignizerModel(is_training=True, config=config) tf.initialize_all_variables().run() for i in range(config.max_max_epoch): lr_decay = config.lr_decay ** max(i - config.max_epoch, 0.0) m.assign_lr(session, config.learning_rate * lr_decay) print("Epoch: %d Learning rate: %.3f" % (i + 1, session.run(m.lr))) train_perplexity = run_epoch(session, m, names, counts, config.epoch_size, m.train_op, verbose=True) print("Epoch: %d Train Perplexity: %.3f" % (i + 1, train_perplexity)) m.saver.save(session, checkpoint_path, global_step=i)
Example #10
Source File: names.py From AI_Reader with Apache License 2.0 | 5 votes |
def namignize(names, checkpoint_path, config): """Recognizes names and prints the Perplexity of the model for each names in the list Args: names: a list of names in the model format checkpoint_path: the path to restore the trained model from, should not include the model name, just the path to config: one of the above configs that specify the model and how it should be run and trained Returns: None """ with tf.Graph().as_default(), tf.Session() as session: with tf.variable_scope("model"): m = NamignizerModel(is_training=False, config=config) m.saver.restore(session, checkpoint_path) for name in names: x, y = data_utils.name_to_batch(name, m.batch_size, m.num_steps) cost, loss, _ = session.run([m.cost, m.loss, tf.no_op()], {m.input_data: x, m.targets: y, m.initial_state: m.initial_state.eval(), m.weights: np.concatenate(( np.ones(len(name)), np.zeros(m.batch_size * m.num_steps - len(name))))}) print("Name {} gives us a perplexity of {}".format( name, np.exp(cost)))
Example #11
Source File: names.py From HumanRecognition with MIT License | 5 votes |
def run_epoch(session, m, names, counts, epoch_size, eval_op, verbose=False): """Runs the model on the given data for one epoch Args: session: the tf session holding the model graph m: an instance of the NamignizerModel names: a set of lowercase names of 26 characters counts: a list of the frequency of the above names epoch_size: the number of batches to run eval_op: whether to change the params or not, and how to do it Kwargs: verbose: whether to print out state of training during the epoch Returns: cost: the average cost during the last stage of the epoch """ start_time = time.time() costs = 0.0 iters = 0 for step, (x, y) in enumerate(data_utils.namignizer_iterator(names, counts, m.batch_size, m.num_steps, epoch_size)): cost, _ = session.run([m.cost, eval_op], {m.input_data: x, m.targets: y, m.weights: np.ones(m.batch_size * m.num_steps)}) costs += cost iters += m.num_steps if verbose and step % (epoch_size // 10) == 9: print("%.3f perplexity: %.3f speed: %.0f lps" % (step * 1.0 / epoch_size, np.exp(costs / iters), iters * m.batch_size / (time.time() - start_time))) if step >= epoch_size: break return np.exp(costs / iters)
Example #12
Source File: names.py From HumanRecognition with MIT License | 5 votes |
def train(data_dir, checkpoint_path, config): """Trains the model with the given data Args: data_dir: path to the data for the model (see data_utils for data format) checkpoint_path: the path to save the trained model checkpoints config: one of the above configs that specify the model and how it should be run and trained Returns: None """ # Prepare Name data. print("Reading Name data in %s" % data_dir) names, counts = data_utils.read_names(data_dir) with tf.Graph().as_default(), tf.Session() as session: initializer = tf.random_uniform_initializer(-config.init_scale, config.init_scale) with tf.variable_scope("model", reuse=None, initializer=initializer): m = NamignizerModel(is_training=True, config=config) tf.global_variables_initializer().run() for i in range(config.max_max_epoch): lr_decay = config.lr_decay ** max(i - config.max_epoch, 0.0) m.assign_lr(session, config.learning_rate * lr_decay) print("Epoch: %d Learning rate: %.3f" % (i + 1, session.run(m.lr))) train_perplexity = run_epoch(session, m, names, counts, config.epoch_size, m.train_op, verbose=True) print("Epoch: %d Train Perplexity: %.3f" % (i + 1, train_perplexity)) m.saver.save(session, checkpoint_path, global_step=i)
Example #13
Source File: names.py From HumanRecognition with MIT License | 5 votes |
def namignize(names, checkpoint_path, config): """Recognizes names and prints the Perplexity of the model for each names in the list Args: names: a list of names in the model format checkpoint_path: the path to restore the trained model from, should not include the model name, just the path to config: one of the above configs that specify the model and how it should be run and trained Returns: None """ with tf.Graph().as_default(), tf.Session() as session: with tf.variable_scope("model"): m = NamignizerModel(is_training=False, config=config) m.saver.restore(session, checkpoint_path) for name in names: x, y = data_utils.name_to_batch(name, m.batch_size, m.num_steps) cost, loss, _ = session.run([m.cost, m.loss, tf.no_op()], {m.input_data: x, m.targets: y, m.weights: np.concatenate(( np.ones(len(name)), np.zeros(m.batch_size * m.num_steps - len(name))))}) print("Name {} gives us a perplexity of {}".format( name, np.exp(cost)))
Example #14
Source File: names.py From object_detection_kitti with Apache License 2.0 | 5 votes |
def namignize(names, checkpoint_path, config): """Recognizes names and prints the Perplexity of the model for each names in the list Args: names: a list of names in the model format checkpoint_path: the path to restore the trained model from, should not include the model name, just the path to config: one of the above configs that specify the model and how it should be run and trained Returns: None """ with tf.Graph().as_default(), tf.Session() as session: with tf.variable_scope("model"): m = NamignizerModel(is_training=False, config=config) m.saver.restore(session, checkpoint_path) for name in names: x, y = data_utils.name_to_batch(name, m.batch_size, m.num_steps) cost, loss, _ = session.run([m.cost, m.loss, tf.no_op()], {m.input_data: x, m.targets: y, m.weights: np.concatenate(( np.ones(len(name)), np.zeros(m.batch_size * m.num_steps - len(name))))}) print("Name {} gives us a perplexity of {}".format( name, np.exp(cost)))
Example #15
Source File: names.py From g-tensorflow-models with Apache License 2.0 | 5 votes |
def run_epoch(session, m, names, counts, epoch_size, eval_op, verbose=False): """Runs the model on the given data for one epoch Args: session: the tf session holding the model graph m: an instance of the NamignizerModel names: a set of lowercase names of 26 characters counts: a list of the frequency of the above names epoch_size: the number of batches to run eval_op: whether to change the params or not, and how to do it Kwargs: verbose: whether to print out state of training during the epoch Returns: cost: the average cost during the last stage of the epoch """ start_time = time.time() costs = 0.0 iters = 0 for step, (x, y) in enumerate(data_utils.namignizer_iterator(names, counts, m.batch_size, m.num_steps, epoch_size)): cost, _ = session.run([m.cost, eval_op], {m.input_data: x, m.targets: y, m.weights: np.ones(m.batch_size * m.num_steps)}) costs += cost iters += m.num_steps if verbose and step % (epoch_size // 10) == 9: print("%.3f perplexity: %.3f speed: %.0f lps" % (step * 1.0 / epoch_size, np.exp(costs / iters), iters * m.batch_size / (time.time() - start_time))) if step >= epoch_size: break return np.exp(costs / iters)
Example #16
Source File: names.py From g-tensorflow-models with Apache License 2.0 | 5 votes |
def train(data_dir, checkpoint_path, config): """Trains the model with the given data Args: data_dir: path to the data for the model (see data_utils for data format) checkpoint_path: the path to save the trained model checkpoints config: one of the above configs that specify the model and how it should be run and trained Returns: None """ # Prepare Name data. print("Reading Name data in %s" % data_dir) names, counts = data_utils.read_names(data_dir) with tf.Graph().as_default(), tf.Session() as session: initializer = tf.random_uniform_initializer(-config.init_scale, config.init_scale) with tf.variable_scope("model", reuse=None, initializer=initializer): m = NamignizerModel(is_training=True, config=config) tf.global_variables_initializer().run() for i in range(config.max_max_epoch): lr_decay = config.lr_decay ** max(i - config.max_epoch, 0.0) m.assign_lr(session, config.learning_rate * lr_decay) print("Epoch: %d Learning rate: %.3f" % (i + 1, session.run(m.lr))) train_perplexity = run_epoch(session, m, names, counts, config.epoch_size, m.train_op, verbose=True) print("Epoch: %d Train Perplexity: %.3f" % (i + 1, train_perplexity)) m.saver.save(session, checkpoint_path, global_step=i)
Example #17
Source File: names.py From g-tensorflow-models with Apache License 2.0 | 5 votes |
def namignize(names, checkpoint_path, config): """Recognizes names and prints the Perplexity of the model for each names in the list Args: names: a list of names in the model format checkpoint_path: the path to restore the trained model from, should not include the model name, just the path to config: one of the above configs that specify the model and how it should be run and trained Returns: None """ with tf.Graph().as_default(), tf.Session() as session: with tf.variable_scope("model"): m = NamignizerModel(is_training=False, config=config) m.saver.restore(session, checkpoint_path) for name in names: x, y = data_utils.name_to_batch(name, m.batch_size, m.num_steps) cost, loss, _ = session.run([m.cost, m.loss, tf.no_op()], {m.input_data: x, m.targets: y, m.weights: np.concatenate(( np.ones(len(name)), np.zeros(m.batch_size * m.num_steps - len(name))))}) print("Name {} gives us a perplexity of {}".format( name, np.exp(cost)))
Example #18
Source File: names.py From g-tensorflow-models with Apache License 2.0 | 5 votes |
def namignator(checkpoint_path, config): """Generates names randomly according to a given model Args: checkpoint_path: the path to restore the trained model from, should not include the model name, just the path to config: one of the above configs that specify the model and how it should be run and trained Returns: None """ # mutate the config to become a name generator config config.num_steps = 1 config.batch_size = 1 with tf.Graph().as_default(), tf.Session() as session: with tf.variable_scope("model"): m = NamignizerModel(is_training=False, config=config) m.saver.restore(session, checkpoint_path) activations, final_state, _ = session.run([m.activations, m.final_state, tf.no_op()], {m.input_data: np.zeros((1, 1)), m.targets: np.zeros((1, 1)), m.weights: np.ones(1)}) # sample from our softmax activations next_letter = np.random.choice(27, p=activations[0]) name = [next_letter] while next_letter != 0: activations, final_state, _ = session.run([m.activations, m.final_state, tf.no_op()], {m.input_data: [[next_letter]], m.targets: np.zeros((1, 1)), m.initial_state: final_state, m.weights: np.ones(1)}) next_letter = np.random.choice(27, p=activations[0]) name += [next_letter] print(map(lambda x: chr(x + 96), name))
Example #19
Source File: names.py From models with Apache License 2.0 | 5 votes |
def run_epoch(session, m, names, counts, epoch_size, eval_op, verbose=False): """Runs the model on the given data for one epoch Args: session: the tf session holding the model graph m: an instance of the NamignizerModel names: a set of lowercase names of 26 characters counts: a list of the frequency of the above names epoch_size: the number of batches to run eval_op: whether to change the params or not, and how to do it Kwargs: verbose: whether to print out state of training during the epoch Returns: cost: the average cost during the last stage of the epoch """ start_time = time.time() costs = 0.0 iters = 0 for step, (x, y) in enumerate(data_utils.namignizer_iterator(names, counts, m.batch_size, m.num_steps, epoch_size)): cost, _ = session.run([m.cost, eval_op], {m.input_data: x, m.targets: y, m.weights: np.ones(m.batch_size * m.num_steps)}) costs += cost iters += m.num_steps if verbose and step % (epoch_size // 10) == 9: print("%.3f perplexity: %.3f speed: %.0f lps" % (step * 1.0 / epoch_size, np.exp(costs / iters), iters * m.batch_size / (time.time() - start_time))) if step >= epoch_size: break return np.exp(costs / iters)
Example #20
Source File: names.py From models with Apache License 2.0 | 5 votes |
def train(data_dir, checkpoint_path, config): """Trains the model with the given data Args: data_dir: path to the data for the model (see data_utils for data format) checkpoint_path: the path to save the trained model checkpoints config: one of the above configs that specify the model and how it should be run and trained Returns: None """ # Prepare Name data. print("Reading Name data in %s" % data_dir) names, counts = data_utils.read_names(data_dir) with tf.Graph().as_default(), tf.Session() as session: initializer = tf.random_uniform_initializer(-config.init_scale, config.init_scale) with tf.variable_scope("model", reuse=None, initializer=initializer): m = NamignizerModel(is_training=True, config=config) tf.global_variables_initializer().run() for i in range(config.max_max_epoch): lr_decay = config.lr_decay ** max(i - config.max_epoch, 0.0) m.assign_lr(session, config.learning_rate * lr_decay) print("Epoch: %d Learning rate: %.3f" % (i + 1, session.run(m.lr))) train_perplexity = run_epoch(session, m, names, counts, config.epoch_size, m.train_op, verbose=True) print("Epoch: %d Train Perplexity: %.3f" % (i + 1, train_perplexity)) m.saver.save(session, checkpoint_path, global_step=i)
Example #21
Source File: names.py From models with Apache License 2.0 | 5 votes |
def namignize(names, checkpoint_path, config): """Recognizes names and prints the Perplexity of the model for each names in the list Args: names: a list of names in the model format checkpoint_path: the path to restore the trained model from, should not include the model name, just the path to config: one of the above configs that specify the model and how it should be run and trained Returns: None """ with tf.Graph().as_default(), tf.Session() as session: with tf.variable_scope("model"): m = NamignizerModel(is_training=False, config=config) m.saver.restore(session, checkpoint_path) for name in names: x, y = data_utils.name_to_batch(name, m.batch_size, m.num_steps) cost, loss, _ = session.run([m.cost, m.loss, tf.no_op()], {m.input_data: x, m.targets: y, m.weights: np.concatenate(( np.ones(len(name)), np.zeros(m.batch_size * m.num_steps - len(name))))}) print("Name {} gives us a perplexity of {}".format( name, np.exp(cost)))
Example #22
Source File: names.py From models with Apache License 2.0 | 5 votes |
def namignator(checkpoint_path, config): """Generates names randomly according to a given model Args: checkpoint_path: the path to restore the trained model from, should not include the model name, just the path to config: one of the above configs that specify the model and how it should be run and trained Returns: None """ # mutate the config to become a name generator config config.num_steps = 1 config.batch_size = 1 with tf.Graph().as_default(), tf.Session() as session: with tf.variable_scope("model"): m = NamignizerModel(is_training=False, config=config) m.saver.restore(session, checkpoint_path) activations, final_state, _ = session.run([m.activations, m.final_state, tf.no_op()], {m.input_data: np.zeros((1, 1)), m.targets: np.zeros((1, 1)), m.weights: np.ones(1)}) # sample from our softmax activations next_letter = np.random.choice(27, p=activations[0]) name = [next_letter] while next_letter != 0: activations, final_state, _ = session.run([m.activations, m.final_state, tf.no_op()], {m.input_data: [[next_letter]], m.targets: np.zeros((1, 1)), m.initial_state: final_state, m.weights: np.ones(1)}) next_letter = np.random.choice(27, p=activations[0]) name += [next_letter] print(map(lambda x: chr(x + 96), name))
Example #23
Source File: names.py From multilabel-image-classification-tensorflow with MIT License | 5 votes |
def run_epoch(session, m, names, counts, epoch_size, eval_op, verbose=False): """Runs the model on the given data for one epoch Args: session: the tf session holding the model graph m: an instance of the NamignizerModel names: a set of lowercase names of 26 characters counts: a list of the frequency of the above names epoch_size: the number of batches to run eval_op: whether to change the params or not, and how to do it Kwargs: verbose: whether to print out state of training during the epoch Returns: cost: the average cost during the last stage of the epoch """ start_time = time.time() costs = 0.0 iters = 0 for step, (x, y) in enumerate(data_utils.namignizer_iterator(names, counts, m.batch_size, m.num_steps, epoch_size)): cost, _ = session.run([m.cost, eval_op], {m.input_data: x, m.targets: y, m.weights: np.ones(m.batch_size * m.num_steps)}) costs += cost iters += m.num_steps if verbose and step % (epoch_size // 10) == 9: print("%.3f perplexity: %.3f speed: %.0f lps" % (step * 1.0 / epoch_size, np.exp(costs / iters), iters * m.batch_size / (time.time() - start_time))) if step >= epoch_size: break return np.exp(costs / iters)
Example #24
Source File: names.py From multilabel-image-classification-tensorflow with MIT License | 5 votes |
def train(data_dir, checkpoint_path, config): """Trains the model with the given data Args: data_dir: path to the data for the model (see data_utils for data format) checkpoint_path: the path to save the trained model checkpoints config: one of the above configs that specify the model and how it should be run and trained Returns: None """ # Prepare Name data. print("Reading Name data in %s" % data_dir) names, counts = data_utils.read_names(data_dir) with tf.Graph().as_default(), tf.Session() as session: initializer = tf.random_uniform_initializer(-config.init_scale, config.init_scale) with tf.variable_scope("model", reuse=None, initializer=initializer): m = NamignizerModel(is_training=True, config=config) tf.global_variables_initializer().run() for i in range(config.max_max_epoch): lr_decay = config.lr_decay ** max(i - config.max_epoch, 0.0) m.assign_lr(session, config.learning_rate * lr_decay) print("Epoch: %d Learning rate: %.3f" % (i + 1, session.run(m.lr))) train_perplexity = run_epoch(session, m, names, counts, config.epoch_size, m.train_op, verbose=True) print("Epoch: %d Train Perplexity: %.3f" % (i + 1, train_perplexity)) m.saver.save(session, checkpoint_path, global_step=i)
Example #25
Source File: names.py From multilabel-image-classification-tensorflow with MIT License | 5 votes |
def namignize(names, checkpoint_path, config): """Recognizes names and prints the Perplexity of the model for each names in the list Args: names: a list of names in the model format checkpoint_path: the path to restore the trained model from, should not include the model name, just the path to config: one of the above configs that specify the model and how it should be run and trained Returns: None """ with tf.Graph().as_default(), tf.Session() as session: with tf.variable_scope("model"): m = NamignizerModel(is_training=False, config=config) m.saver.restore(session, checkpoint_path) for name in names: x, y = data_utils.name_to_batch(name, m.batch_size, m.num_steps) cost, loss, _ = session.run([m.cost, m.loss, tf.no_op()], {m.input_data: x, m.targets: y, m.weights: np.concatenate(( np.ones(len(name)), np.zeros(m.batch_size * m.num_steps - len(name))))}) print("Name {} gives us a perplexity of {}".format( name, np.exp(cost)))
Example #26
Source File: names.py From multilabel-image-classification-tensorflow with MIT License | 5 votes |
def namignator(checkpoint_path, config): """Generates names randomly according to a given model Args: checkpoint_path: the path to restore the trained model from, should not include the model name, just the path to config: one of the above configs that specify the model and how it should be run and trained Returns: None """ # mutate the config to become a name generator config config.num_steps = 1 config.batch_size = 1 with tf.Graph().as_default(), tf.Session() as session: with tf.variable_scope("model"): m = NamignizerModel(is_training=False, config=config) m.saver.restore(session, checkpoint_path) activations, final_state, _ = session.run([m.activations, m.final_state, tf.no_op()], {m.input_data: np.zeros((1, 1)), m.targets: np.zeros((1, 1)), m.weights: np.ones(1)}) # sample from our softmax activations next_letter = np.random.choice(27, p=activations[0]) name = [next_letter] while next_letter != 0: activations, final_state, _ = session.run([m.activations, m.final_state, tf.no_op()], {m.input_data: [[next_letter]], m.targets: np.zeros((1, 1)), m.initial_state: final_state, m.weights: np.ones(1)}) next_letter = np.random.choice(27, p=activations[0]) name += [next_letter] print(map(lambda x: chr(x + 96), name))
Example #27
Source File: names.py From Action_Recognition_Zoo with MIT License | 5 votes |
def train(data_dir, checkpoint_path, config): """Trains the model with the given data Args: data_dir: path to the data for the model (see data_utils for data format) checkpoint_path: the path to save the trained model checkpoints config: one of the above configs that specify the model and how it should be run and trained Returns: None """ # Prepare Name data. print("Reading Name data in %s" % data_dir) names, counts = data_utils.read_names(data_dir) with tf.Graph().as_default(), tf.Session() as session: initializer = tf.random_uniform_initializer(-config.init_scale, config.init_scale) with tf.variable_scope("model", reuse=None, initializer=initializer): m = NamignizerModel(is_training=True, config=config) tf.initialize_all_variables().run() for i in range(config.max_max_epoch): lr_decay = config.lr_decay ** max(i - config.max_epoch, 0.0) m.assign_lr(session, config.learning_rate * lr_decay) print("Epoch: %d Learning rate: %.3f" % (i + 1, session.run(m.lr))) train_perplexity = run_epoch(session, m, names, counts, config.epoch_size, m.train_op, verbose=True) print("Epoch: %d Train Perplexity: %.3f" % (i + 1, train_perplexity)) m.saver.save(session, checkpoint_path, global_step=i)
Example #28
Source File: names.py From DOTA_models with Apache License 2.0 | 5 votes |
def train(data_dir, checkpoint_path, config): """Trains the model with the given data Args: data_dir: path to the data for the model (see data_utils for data format) checkpoint_path: the path to save the trained model checkpoints config: one of the above configs that specify the model and how it should be run and trained Returns: None """ # Prepare Name data. print("Reading Name data in %s" % data_dir) names, counts = data_utils.read_names(data_dir) with tf.Graph().as_default(), tf.Session() as session: initializer = tf.random_uniform_initializer(-config.init_scale, config.init_scale) with tf.variable_scope("model", reuse=None, initializer=initializer): m = NamignizerModel(is_training=True, config=config) tf.global_variables_initializer().run() for i in range(config.max_max_epoch): lr_decay = config.lr_decay ** max(i - config.max_epoch, 0.0) m.assign_lr(session, config.learning_rate * lr_decay) print("Epoch: %d Learning rate: %.3f" % (i + 1, session.run(m.lr))) train_perplexity = run_epoch(session, m, names, counts, config.epoch_size, m.train_op, verbose=True) print("Epoch: %d Train Perplexity: %.3f" % (i + 1, train_perplexity)) m.saver.save(session, checkpoint_path, global_step=i)
Example #29
Source File: names.py From DOTA_models with Apache License 2.0 | 5 votes |
def namignize(names, checkpoint_path, config): """Recognizes names and prints the Perplexity of the model for each names in the list Args: names: a list of names in the model format checkpoint_path: the path to restore the trained model from, should not include the model name, just the path to config: one of the above configs that specify the model and how it should be run and trained Returns: None """ with tf.Graph().as_default(), tf.Session() as session: with tf.variable_scope("model"): m = NamignizerModel(is_training=False, config=config) m.saver.restore(session, checkpoint_path) for name in names: x, y = data_utils.name_to_batch(name, m.batch_size, m.num_steps) cost, loss, _ = session.run([m.cost, m.loss, tf.no_op()], {m.input_data: x, m.targets: y, m.weights: np.concatenate(( np.ones(len(name)), np.zeros(m.batch_size * m.num_steps - len(name))))}) print("Name {} gives us a perplexity of {}".format( name, np.exp(cost)))
Example #30
Source File: names.py From DOTA_models with Apache License 2.0 | 5 votes |
def namignator(checkpoint_path, config): """Generates names randomly according to a given model Args: checkpoint_path: the path to restore the trained model from, should not include the model name, just the path to config: one of the above configs that specify the model and how it should be run and trained Returns: None """ # mutate the config to become a name generator config config.num_steps = 1 config.batch_size = 1 with tf.Graph().as_default(), tf.Session() as session: with tf.variable_scope("model"): m = NamignizerModel(is_training=False, config=config) m.saver.restore(session, checkpoint_path) activations, final_state, _ = session.run([m.activations, m.final_state, tf.no_op()], {m.input_data: np.zeros((1, 1)), m.targets: np.zeros((1, 1)), m.weights: np.ones(1)}) # sample from our softmax activations next_letter = np.random.choice(27, p=activations[0]) name = [next_letter] while next_letter != 0: activations, final_state, _ = session.run([m.activations, m.final_state, tf.no_op()], {m.input_data: [[next_letter]], m.targets: np.zeros((1, 1)), m.initial_state: final_state, m.weights: np.ones(1)}) next_letter = np.random.choice(27, p=activations[0]) name += [next_letter] print(map(lambda x: chr(x + 96), name))