Python config.cfg.is_training() Examples
The following are 16
code examples of config.cfg.is_training().
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
config.cfg
, or try the search function
.
Example #1
Source File: main.py From capsule-networks with MIT License | 6 votes |
def evaluation(model, supervisor, num_label): teX, teY, num_te_batch = load_data(cfg.dataset, cfg.batch_size, is_training=False) fd_test_acc = save_to() with supervisor.managed_session(config=tf.ConfigProto(allow_soft_placement=True)) as sess: supervisor.saver.restore(sess, tf.train.latest_checkpoint(cfg.logdir)) tf.logging.info('Model restored!') test_acc = 0 for i in tqdm(range(num_te_batch), total=num_te_batch, ncols=70, leave=False, unit='b'): start = i * cfg.batch_size end = start + cfg.batch_size acc = sess.run(model.accuracy, {model.X: teX[start:end], model.labels: teY[start:end]}) test_acc += acc test_acc = test_acc / (cfg.batch_size * num_te_batch) fd_test_acc.write(str(test_acc)) fd_test_acc.close() print('Test accuracy has been saved to ' + cfg.results + '/test_acc.csv')
Example #2
Source File: main.py From CapsNet-Tensorflow with Apache License 2.0 | 6 votes |
def evaluation(model, supervisor, num_label): teX, teY, num_te_batch = load_data(cfg.dataset, cfg.batch_size, is_training=False) fd_test_acc = save_to() with supervisor.managed_session(config=tf.ConfigProto(allow_soft_placement=True)) as sess: supervisor.saver.restore(sess, tf.train.latest_checkpoint(cfg.logdir)) tf.logging.info('Model restored!') test_acc = 0 for i in tqdm(range(num_te_batch), total=num_te_batch, ncols=70, leave=False, unit='b'): start = i * cfg.batch_size end = start + cfg.batch_size acc = sess.run(model.accuracy, {model.X: teX[start:end], model.labels: teY[start:end]}) test_acc += acc test_acc = test_acc / (cfg.batch_size * num_te_batch) fd_test_acc.write(str(test_acc)) fd_test_acc.close() print('Test accuracy has been saved to ' + cfg.results + '/test_acc.csv')
Example #3
Source File: main.py From CapsLayer with Apache License 2.0 | 5 votes |
def save_to(is_training): os.makedirs(os.path.join(cfg.results_dir, "activations"), exist_ok=True) os.makedirs(os.path.join(cfg.results_dir, "timelines"), exist_ok=True) if is_training: loss = os.path.join(cfg.results_dir, 'loss.csv') train_acc = os.path.join(cfg.results_dir, 'train_acc.csv') val_acc = os.path.join(cfg.results_dir, 'val_acc.csv') if os.path.exists(val_acc): os.remove(val_acc) if os.path.exists(loss): os.remove(loss) if os.path.exists(train_acc): os.remove(train_acc) fd_train_acc = open(train_acc, 'w') fd_train_acc.write('step,train_acc\n') fd_loss = open(loss, 'w') fd_loss.write('step,loss\n') fd_val_acc = open(val_acc, 'w') fd_val_acc.write('step,val_acc\n') fd = {"train_acc": fd_train_acc, "loss": fd_loss, "val_acc": fd_val_acc} else: test_acc = os.path.join(cfg.results_dir, 'test_acc.csv') if os.path.exists(test_acc): os.remove(test_acc) fd_test_acc = open(test_acc, 'w') fd_test_acc.write('test_acc\n') fd = {"test_acc": fd_test_acc} return(fd)
Example #4
Source File: main.py From CapsLayer with Apache License 2.0 | 5 votes |
def evaluate(model, data_loader): # Setting up model test_iterator = data_loader(cfg.batch_size, mode="test") inputs = data_loader.next_element["images"] labels = data_loader.next_element["labels"] model.create_network(inputs, labels) # Create files to save evaluating results fd = save_to(is_training=False) saver = tf.train.Saver() config = tf.ConfigProto(allow_soft_placement=True) config.gpu_options.allow_growth = True with tf.Session(config=config) as sess: test_handle = sess.run(test_iterator.string_handle()) saver.restore(sess, tf.train.latest_checkpoint(cfg.logdir)) tf.logging.info('Model restored!') probs = [] targets = [] total_acc = 0 n = 0 while True: try: test_acc, prob, label = sess.run([model.accuracy, model.probs, labels], feed_dict={data_loader.handle: test_handle}) probs.append(prob) targets.append(label) total_acc += test_acc n += 1 except tf.errors.OutOfRangeError: break probs = np.concatenate(probs, axis=0) targets = np.concatenate(targets, axis=0).reshape((-1, 1)) avg_acc = total_acc / n out_path = os.path.join(cfg.results_dir, 'prob_test.txt') np.savetxt(out_path, np.hstack((probs, targets)), fmt='%1.2f') print('Classification probability for each category has been saved to ' + out_path) fd["test_acc"].write(str(avg_acc)) fd["test_acc"].close() out_path = os.path.join(cfg.results_dir, 'test_accuracy.txt') print('Test accuracy has been saved to ' + out_path)
Example #5
Source File: main.py From CapsLayer with Apache License 2.0 | 5 votes |
def main(_): model_list = ['baseline', 'vectorCapsNet', 'matrixCapsNet', 'convCapsNet'] # Deciding which model to use if cfg.model == 'baseline': model = import_module(cfg.model).Model elif cfg.model in model_list: model = import_module(cfg.model).CapsNet else: raise ValueError('Unsupported model, please check the name of model:', cfg.model) # Deciding which dataset to use if cfg.dataset == 'mnist' or cfg.dataset == 'fashion-mnist': height = 28 width = 28 channels = 1 num_label = 10 elif cfg.dataset == 'smallNORB': num_label = 5 height = 32 width = 32 channels = 1 # Initializing model and data loader net = model(height=height, width=width, channels=channels, num_label=num_label) dataset = "capslayer.data.datasets." + cfg.dataset data_loader = import_module(dataset).DataLoader(path=cfg.data_dir, splitting=cfg.splitting, num_works=cfg.num_works) # Deciding to train or evaluate model if cfg.is_training: train(net, data_loader) else: evaluate(net, data_loader)
Example #6
Source File: utils.py From capsule_networks with Apache License 2.0 | 5 votes |
def load_mnist(path, is_training): fd = open(os.path.join(cfg.dataset, 'train-images-idx3-ubyte')) loaded = np.fromfile(file=fd, dtype=np.uint8) trX = loaded[16:].reshape((60000, 28, 28, 1)).astype(np.float) fd = open(os.path.join(cfg.dataset, 'train-labels-idx1-ubyte')) loaded = np.fromfile(file=fd, dtype=np.uint8) trY = loaded[8:].reshape((60000)).astype(np.float) fd = open(os.path.join(cfg.dataset, 't10k-images-idx3-ubyte')) loaded = np.fromfile(file=fd, dtype=np.uint8) teX = loaded[16:].reshape((10000, 28, 28, 1)).astype(np.float) fd = open(os.path.join(cfg.dataset, 't10k-labels-idx1-ubyte')) loaded = np.fromfile(file=fd, dtype=np.uint8) teY = loaded[8:].reshape((10000)).astype(np.float) # normalization and convert to a tensor [60000, 28, 28, 1] trX = tf.convert_to_tensor(trX / 255., tf.float32) # => [num_samples, 10] trY = tf.one_hot(trY, depth=10, axis=1, dtype=tf.float32) teY = tf.one_hot(teY, depth=10, axis=1, dtype=tf.float32) if is_training: return trX, trY else: return teX / 255., teY
Example #7
Source File: utils.py From capsule_networks with Apache License 2.0 | 5 votes |
def get_batch_data(): trX, trY = load_mnist(cfg.dataset, cfg.is_training) data_queues = tf.train.slice_input_producer([trX, trY]) X, Y = tf.train.shuffle_batch(data_queues, num_threads=cfg.num_threads, batch_size=cfg.batch_size, capacity=cfg.batch_size * 64, min_after_dequeue=cfg.batch_size * 32, allow_smaller_final_batch=False) return(X, Y)
Example #8
Source File: main.py From DFN-tensorflow with Apache License 2.0 | 5 votes |
def main(_): # get dataset info result = create_image_lists(cfg.images) max_iters = len(result["train"]) * cfg.epoch // cfg.batch_size tf.logging.info('Loading Graph...') model = DFN(max_iters, batch_size=cfg.batch_size, init_lr=cfg.init_lr, power=cfg.power, momentum=cfg.momentum, stddev=cfg.stddev, regularization_scale=cfg.regularization_scale, alpha=cfg.alpha, gamma=cfg.gamma, fl_weight=cfg.fl_weight) tf.logging.info('Graph loaded.') if cfg.is_training: if not tf.gfile.Exists(cfg.logdir): tf.gfile.MakeDirs(cfg.logdir) if not tf.gfile.Exists(cfg.models): tf.gfile.MakeDirs(cfg.models) if os.path.exists(cfg.log): os.remove(cfg.log) fd = open(cfg.log, "a") tf.logging.info('Start training...') fd.write('Start training...\n') train(result, model, cfg.logdir, cfg.train_sum_freq, cfg.val_sum_freq, cfg.save_freq, cfg.models, fd) tf.logging.info('Training done.') fd.write('Training done.') fd.close() else: if not tf.gfile.Exists(cfg.test_outputs): tf.gfile.MakeDirs(cfg.test_outputs) tf.logging.info('Start testing...') test(result, model, cfg.models, cfg.test_outputs) tf.logging.info('Testing done.')
Example #9
Source File: main.py From capsule-networks with MIT License | 5 votes |
def save_to(): if not os.path.exists(cfg.results): os.mkdir(cfg.results) if cfg.is_training: loss = cfg.results + '/loss.csv' train_acc = cfg.results + '/train_acc.csv' val_acc = cfg.results + '/val_acc.csv' if os.path.exists(val_acc): os.remove(val_acc) if os.path.exists(loss): os.remove(loss) if os.path.exists(train_acc): os.remove(train_acc) fd_train_acc = open(train_acc, 'w') fd_train_acc.write('step,train_acc\n') fd_loss = open(loss, 'w') fd_loss.write('step,loss\n') fd_val_acc = open(val_acc, 'w') fd_val_acc.write('step,val_acc\n') return(fd_train_acc, fd_loss, fd_val_acc) else: test_acc = cfg.results + '/test_acc.csv' if os.path.exists(test_acc): os.remove(test_acc) fd_test_acc = open(test_acc, 'w') fd_test_acc.write('test_acc\n') return(fd_test_acc)
Example #10
Source File: main.py From capsule-networks with MIT License | 5 votes |
def main(_): tf.logging.info(' Loading Graph...') num_label = 10 model = CapsNet() tf.logging.info(' Graph loaded') sv = tf.train.Supervisor(graph=model.graph, logdir=cfg.logdir, save_model_secs=0) if cfg.is_training: tf.logging.info(' Start training...') train(model, sv, num_label) tf.logging.info('Training done') else: evaluation(model, sv, num_label)
Example #11
Source File: distributed_train.py From capsule-networks with MIT License | 5 votes |
def create_inputs(): trX, trY = load_mnist(cfg.dataset, cfg.is_training) num_pre_threads = cfg.thread_per_gpu*cfg.num_gpu data_queue = tf.train.slice_input_producer([trX, trY], capacity=64*num_pre_threads) X, Y = tf.train.shuffle_batch(data_queue, num_threads=num_pre_threads, batch_size=cfg.batch_size_per_gpu*cfg.num_gpu, capacity=cfg.batch_size_per_gpu*cfg.num_gpu * 64, min_after_dequeue=cfg.batch_size_per_gpu*cfg.num_gpu * 32, allow_smaller_final_batch=False) return (X, Y)
Example #12
Source File: main.py From CapsNet-Tensorflow with Apache License 2.0 | 5 votes |
def save_to(): if not os.path.exists(cfg.results): os.mkdir(cfg.results) if cfg.is_training: loss = cfg.results + '/loss.csv' train_acc = cfg.results + '/train_acc.csv' val_acc = cfg.results + '/val_acc.csv' if os.path.exists(val_acc): os.remove(val_acc) if os.path.exists(loss): os.remove(loss) if os.path.exists(train_acc): os.remove(train_acc) fd_train_acc = open(train_acc, 'w') fd_train_acc.write('step,train_acc\n') fd_loss = open(loss, 'w') fd_loss.write('step,loss\n') fd_val_acc = open(val_acc, 'w') fd_val_acc.write('step,val_acc\n') return(fd_train_acc, fd_loss, fd_val_acc) else: test_acc = cfg.results + '/test_acc.csv' if os.path.exists(test_acc): os.remove(test_acc) fd_test_acc = open(test_acc, 'w') fd_test_acc.write('test_acc\n') return(fd_test_acc)
Example #13
Source File: main.py From CapsNet-Tensorflow with Apache License 2.0 | 5 votes |
def main(_): tf.logging.info(' Loading Graph...') num_label = 10 model = CapsNet() tf.logging.info(' Graph loaded') sv = tf.train.Supervisor(graph=model.graph, logdir=cfg.logdir, save_model_secs=0) if cfg.is_training: tf.logging.info(' Start training...') train(model, sv, num_label) tf.logging.info('Training done') else: evaluation(model, sv, num_label)
Example #14
Source File: distributed_train.py From CapsNet-Tensorflow with Apache License 2.0 | 5 votes |
def create_inputs(): trX, trY = load_mnist(cfg.dataset, cfg.is_training) num_pre_threads = cfg.thread_per_gpu*cfg.num_gpu data_queue = tf.train.slice_input_producer([trX, trY], capacity=64*num_pre_threads) X, Y = tf.train.shuffle_batch(data_queue, num_threads=num_pre_threads, batch_size=cfg.batch_size_per_gpu*cfg.num_gpu, capacity=cfg.batch_size_per_gpu*cfg.num_gpu * 64, min_after_dequeue=cfg.batch_size_per_gpu*cfg.num_gpu * 32, allow_smaller_final_batch=False) return (X, Y)
Example #15
Source File: main.py From capsule-networks with MIT License | 4 votes |
def train(model, supervisor, num_label): trX, trY, num_tr_batch, valX, valY, num_val_batch = load_data(cfg.dataset, cfg.batch_size, is_training=True) Y = valY[:num_val_batch * cfg.batch_size].reshape((-1, 1)) fd_train_acc, fd_loss, fd_val_acc = save_to() config = tf.ConfigProto() config.gpu_options.allow_growth = True with supervisor.managed_session(config=config) as sess: print("\nNote: all of results will be saved to directory: " + cfg.results) for epoch in range(cfg.epoch): print('Training for epoch ' + str(epoch) + '/' + str(cfg.epoch) + ':') if supervisor.should_stop(): print('supervisor stoped!') break for step in tqdm(range(num_tr_batch), total=num_tr_batch, ncols=70, leave=False, unit='b'): start = step * cfg.batch_size end = start + cfg.batch_size global_step = epoch * num_tr_batch + step if global_step % cfg.train_sum_freq == 0: _, loss, train_acc, summary_str = sess.run([model.train_op, model.total_loss, model.accuracy, model.train_summary]) assert not np.isnan(loss), 'Something wrong! loss is nan...' supervisor.summary_writer.add_summary(summary_str, global_step) fd_loss.write(str(global_step) + ',' + str(loss) + "\n") fd_loss.flush() fd_train_acc.write(str(global_step) + ',' + str(train_acc / cfg.batch_size) + "\n") fd_train_acc.flush() else: sess.run(model.train_op) if cfg.val_sum_freq != 0 and (global_step) % cfg.val_sum_freq == 0: val_acc = 0 for i in range(num_val_batch): start = i * cfg.batch_size end = start + cfg.batch_size acc = sess.run(model.accuracy, {model.X: valX[start:end], model.labels: valY[start:end]}) val_acc += acc val_acc = val_acc / (cfg.batch_size * num_val_batch) fd_val_acc.write(str(global_step) + ',' + str(val_acc) + '\n') fd_val_acc.flush() if (epoch + 1) % cfg.save_freq == 0: supervisor.saver.save(sess, cfg.logdir + '/model_epoch_%04d_step_%02d' % (epoch, global_step)) fd_val_acc.close() fd_train_acc.close() fd_loss.close()
Example #16
Source File: main.py From CapsNet-Tensorflow with Apache License 2.0 | 4 votes |
def train(model, supervisor, num_label): trX, trY, num_tr_batch, valX, valY, num_val_batch = load_data(cfg.dataset, cfg.batch_size, is_training=True) Y = valY[:num_val_batch * cfg.batch_size].reshape((-1, 1)) fd_train_acc, fd_loss, fd_val_acc = save_to() config = tf.ConfigProto() config.gpu_options.allow_growth = True with supervisor.managed_session(config=config) as sess: print("\nNote: all of results will be saved to directory: " + cfg.results) for epoch in range(cfg.epoch): print("Training for epoch %d/%d:" % (epoch, cfg.epoch)) if supervisor.should_stop(): print('supervisor stoped!') break for step in tqdm(range(num_tr_batch), total=num_tr_batch, ncols=70, leave=False, unit='b'): start = step * cfg.batch_size end = start + cfg.batch_size global_step = epoch * num_tr_batch + step if global_step % cfg.train_sum_freq == 0: _, loss, train_acc, summary_str = sess.run([model.train_op, model.total_loss, model.accuracy, model.train_summary]) assert not np.isnan(loss), 'Something wrong! loss is nan...' supervisor.summary_writer.add_summary(summary_str, global_step) fd_loss.write(str(global_step) + ',' + str(loss) + "\n") fd_loss.flush() fd_train_acc.write(str(global_step) + ',' + str(train_acc / cfg.batch_size) + "\n") fd_train_acc.flush() else: sess.run(model.train_op) if cfg.val_sum_freq != 0 and (global_step) % cfg.val_sum_freq == 0: val_acc = 0 for i in range(num_val_batch): start = i * cfg.batch_size end = start + cfg.batch_size acc = sess.run(model.accuracy, {model.X: valX[start:end], model.labels: valY[start:end]}) val_acc += acc val_acc = val_acc / (cfg.batch_size * num_val_batch) fd_val_acc.write(str(global_step) + ',' + str(val_acc) + '\n') fd_val_acc.flush() if (epoch + 1) % cfg.save_freq == 0: supervisor.saver.save(sess, cfg.logdir + '/model_epoch_%04d_step_%02d' % (epoch, global_step)) fd_val_acc.close() fd_train_acc.close() fd_loss.close()