我们从Python开源项目中,提取了以下8个代码示例,用于说明如何使用models.create_model()。
def load_language(app, tokenizer_service, tag, model_dir): config = Config.load(['./default.conf', './default.' + tag + '.conf', os.path.join(model_dir, 'model.conf')]) model = create_model(config) graph = tf.Graph() session = tf.Session(graph=graph) with graph.as_default(): # Force everything to run on CPU, we run on single inputs so there is not much point # on going through the GPU with tf.device('/cpu:0'): model.build() loader = tf.train.Saver() with session.as_default(): loader.restore(session, os.path.join(model_dir, 'best')) tokenizer = Tokenizer(tokenizer_service, tag) app.add_language(tag, LanguageContext(tag, tokenizer, session, config, model)) print('Loaded language ' + tag)
def run(): if len(sys.argv) < 3: print("** Usage: python3 " + sys.argv[0] + " <<Model Directory>> <<Test Set>>") sys.exit(1) np.random.seed(42) model_dir = sys.argv[1] config = Config.load(['./default.conf', os.path.join(model_dir, 'model.conf')]) model = create_model(config) test_data = load_data(sys.argv[2], config.dictionary, config.grammar, config.max_length) print("unknown", unknown_tokens) with tf.Graph().as_default(): tf.set_random_seed(1234) with tf.device('/cpu:0'): model.build() test_eval = Seq2SeqEvaluator(model, config.grammar, test_data, 'test', config.reverse_dictionary, beam_size=config.beam_size, batch_size=config.batch_size) loader = tf.train.Saver() with tf.Session() as sess: loader.restore(sess, os.path.join(model_dir, 'best')) #sess = tf_debug.LocalCLIDebugWrapperSession(sess) #sess.add_tensor_filter("has_inf_or_nan", tf_debug.has_inf_or_nan) test_eval.eval(sess, save_to_file=True)
def run(): if len(sys.argv) < 4: print("** Usage: python3 " + sys.argv[0] + " <<Model Directory>> <<Everything Set>> <<Test Set>>") sys.exit(1) np.random.seed(42) model_dir = sys.argv[1] config = Config.load(['./default.conf', os.path.join(model_dir, 'model.conf')]) model = create_model(config) everything_labels, everything_label_lengths = load_programs(config, sys.argv[2]) test_labels, test_label_lengths = load_programs(config, sys.argv[3]) #test_labels, test_label_lengths = sample(config.grammar, test_labels, test_label_lengths) print("unknown", unknown_tokens) with tf.Graph().as_default(): tf.set_random_seed(1234) model.build() loader = tf.train.Saver() train_bag_of_tokens = bag_of_tokens(config, everything_labels, everything_label_lengths) V, mean = pca_fit(train_bag_of_tokens, n_components=2) eval_bag_of_tokens = bag_of_tokens(config, test_labels, test_label_lengths) transformed = pca_transform(eval_bag_of_tokens, V, mean) with tf.Session() as sess: loader.restore(sess, os.path.join(model_dir, 'best')) transformed = transformed.eval(session=sess) programs = reconstruct_programs(test_labels, test_label_lengths, config.grammar.tokens) show_pca(transformed, programs)
def main(unused_argv): train_dir = FLAGS.train_dir if not os.path.exists(train_dir): tf.logging.info("Creating training directory: %s", train_dir) os.makedirs(train_dir) g = tf.Graph() with g.as_default(): model = create_model(FLAGS) model.build() learning_rate, learning_rate_decay_fn = learning_rate_fn(model.config.batch_size, FLAGS.num_epochs_per_decay) train_op = tf.contrib.layers.optimize_loss( loss=model.total_loss, global_step=model.global_step, learning_rate=learning_rate, learning_rate_decay_fn=learning_rate_decay_fn, optimizer=FLAGS.optimizer) saver = tf.train.Saver(max_to_keep=FLAGS.max_checkpoints_to_keep) tf.contrib.slim.learning.train( train_op, train_dir, log_every_n_steps=FLAGS.log_every_n_steps, graph=g, global_step=model.global_step, number_of_steps=FLAGS.number_of_steps, save_interval_secs=FLAGS.save_interval_secs, save_summaries_secs=FLAGS.save_summaries_secs, saver=saver)
def load(self, checkpoint_path, model_name='tacotron'): print('Constructing model: %s' % model_name) inputs = tf.placeholder(tf.int32, [1, None], 'inputs') input_lengths = tf.placeholder(tf.int32, [1], 'input_lengths') with tf.variable_scope('model') as scope: self.model = create_model(model_name, hparams) self.model.initialize(inputs, input_lengths) self.wav_output = audio.inv_spectrogram_tensorflow(self.model.linear_outputs[0]) print('Loading checkpoint: %s' % checkpoint_path) self.session = tf.Session() self.session.run(tf.global_variables_initializer()) saver = tf.train.Saver() saver.restore(self.session, checkpoint_path)
def run(): if len(sys.argv) < 4: print("** Usage: python3 " + sys.argv[0] + " <<Model Directory>> <<Train Set>> <<Test Set>>") sys.exit(1) np.random.seed(42) model_dir = sys.argv[1] config = Config.load(['./default.conf', os.path.join(model_dir, 'model.conf')]) model = create_model(config) train_data = load_data(sys.argv[2], config.dictionary, config.grammar, config.max_length) pca_data = load_data(sys.argv[3], config.dictionary, config.grammar, config.max_length) print("unknown", unknown_tokens) with tf.Graph().as_default(): model.build() loader = tf.train.Saver() with tf.Session() as sess: loader.restore(sess, os.path.join(model_dir, 'best')) inputs, input_lengths, parses, _, _ = train_data final_encoder_state = tf.concat(nest.flatten(model.final_encoder_state), axis=1) final_encoder_size = final_encoder_state.get_shape()[1] final_states_arrays = [] # capture all the final encoder states for input_batch, input_length_batch, parse_batch in get_minibatches([inputs, input_lengths, parses], config.batch_size): feed_dict = model.create_feed_dict(input_batch, input_length_batch, parse_batch) state_array = sess.run(final_encoder_state, feed_dict=feed_dict) #print state_array.shape final_states_arrays.append(state_array) X = np.concatenate(final_states_arrays, axis=0) assert X.shape == (len(inputs), final_encoder_size) X = tf.constant(X) mean = tf.reduce_mean(X, axis=0) centered_X = X - mean S, U, V = tf.svd(centered_X) # take only the top 2 components V = V[:2] V_array, mean_array = sess.run([V, mean]) inputs, input_lengths, parses, labels, label_lengths = pca_data X = final_encoder_state centered_X = X - tf.constant(mean_array) transformed_X = tf.matmul(centered_X, tf.constant(V_array.T)) feed_dict = model.create_feed_dict(inputs, input_lengths, parses) X_pca = sess.run(transformed_X, feed_dict=feed_dict) if False: sentences = reconstruct_sentences(inputs, input_lengths, config.reverse_dictionary) else: sentences = reconstruct_sentences(labels, label_lengths, config.grammar.tokens) show_pca(X_pca, sentences)
def run(): if len(sys.argv) < 3: print("** Usage: python3 " + sys.argv[0] + " <<Model Directory>> <<Train Set>> [<<Dev Set>>]") sys.exit(1) np.random.seed(42) model_dir = sys.argv[1] model_conf = os.path.join(model_dir, 'model.conf') config = Config.load(['./default.conf', model_conf]) model = create_model(config) train_data = load_data(sys.argv[2], config.dictionary, config.grammar, config.max_length) if len(sys.argv) > 3: dev_data = load_data(sys.argv[3], config.dictionary, config.grammar, config.max_length) else: dev_data = None print("unknown", unknown_tokens) try: os.mkdir(model_dir) except OSError: pass if not os.path.exists(model_conf): config.save(model_conf) with tf.Graph().as_default(): tf.set_random_seed(1234) model.build() init = tf.global_variables_initializer() saver = tf.train.Saver(max_to_keep=config.n_epochs) train_eval = Seq2SeqEvaluator(model, config.grammar, train_data, 'train', config.reverse_dictionary, beam_size=config.beam_size, batch_size=config.batch_size) dev_eval = Seq2SeqEvaluator(model, config.grammar, dev_data, 'dev', config.reverse_dictionary, beam_size=config.beam_size, batch_size=config.batch_size) trainer = Trainer(model, train_data, train_eval, dev_eval, saver, model_dir=model_dir, max_length=config.max_length, batch_size=config.batch_size, n_epochs=config.n_epochs, dropout=config.dropout) tfconfig = tf.ConfigProto() tfconfig.graph_options.optimizer_options.global_jit_level = tf.OptimizerOptions.ON_1 with tf.Session(config=tfconfig) as sess: # Run the Op to initialize the variables. sess.run(init) #sess = tf_debug.LocalCLIDebugWrapperSession(sess) #sess.add_tensor_filter("has_inf_or_nan", tf_debug.has_inf_or_nan) # Fit the model best_dev, best_train = trainer.fit(sess) print("best train", best_train) print("best dev", best_dev)
def export(flags): # Build the inference graph. g = tf.Graph() with g.as_default(), tf.device('/cpu:0'): model = create_model(flags, 'inference') model.build() saver = tf.train.Saver() g.finalize() model_path = tf.train.latest_checkpoint(flags.checkpoint_dir) if not model_path: tf.logging.info("Skipping inference. No checkpoint found in: %s", flags.checkpoint_dir) return with tf.Session(graph=g) as sess: # Load the model from checkpoint. tf.logging.info("Loading model from checkpoint: %s", flags.checkpoint_dir) saver.restore(sess, model_path) model_vars = model.vars(sess) # Build graph to export g = tf.Graph() with g.as_default(), tf.device('/cpu:0'): model = create_model(flags, 'to_export') model.build(model_vars) with tf.Session(graph=g) as sess: graph_def = sess.graph_def if flags.finalize_graph: sess.run(model.initializer) g.finalize() graph_def = g.as_graph_def() graph_def = tf.graph_util.convert_variables_to_constants( sess, graph_def, model.output_names()) log_dir = './output/export' if not tf.gfile.IsDirectory(log_dir): tf.logging.info("Creating log directory: %s", log_dir) tf.gfile.MakeDirs(log_dir) tf.train.write_graph(graph_def, log_dir, flags.output_file_name, as_text=False)