def _data(self):
     file_train = '/home/dcs41/Documents/tf-Faster-RCNN/Data/data_clutter/clutter_mnist_train.tfrecords'
     self.x, self.gt_boxes, self.im_dims = Data.batch_inputs(self.read_and_decode, file_train,
                                                             batch_size=self.flags['batch_size'])
     file_valid = '/home/dcs41/Documents/tf-Faster-RCNN/Data/data_clutter/clutter_mnist_valid.tfrecords'
     self.x_valid, self.gt_boxes_valid, self.im_dims_valid = Data.batch_inputs(self.read_and_decode, file_valid,
                                                                               mode="eval", batch_size=1, num_threads=1, num_readers=1)
     self.num_train_images = 55000
     self.num_valid_images = 5000
     self.num_test_images  = 10000
 def test_print_image(self):
     """ Read data through self.sess and plot out """
     threads, coord = Data.init_threads(self.sess)  # Begin Queues
     print("Running 100 iterations of simple data transfer from queue to np.array")
     for i in range(100):
         x, gt_boxes = self.sess.run([self.x, self.gt_boxes])
         print(i)
     # Plot an example
     faster_rcnn_tests.plot_img(x[0], gt_boxes[0])
     Data.exit_threads(threads, coord)  # Exit Queues
    def test_print_image(self):
        """ Read data through self.sess and plot out """
        threads, coord = Data.init_threads(self.sess)  # Begin Queues
        print("Running 100 iterations of simple data transfer from queue to np.array")
        for i in range(100):
            x, gt_boxes = self.sess.run([self.x['TRAIN'], self.gt_boxes['TRAIN']])
            print(i)

        # Plot an example
        faster_rcnn_tests.plot_img(x[0], gt_boxes[0])
        Data.exit_threads(threads, coord)  # Exit Queues
 def eval(self):
     """ Loop Through Evaluation Dataset and calculate metrics """
     info = dict()
     for c in range(flags['num_classes']):
         info[c] = list()
     for i in range(self.num_valid_images):
         bboxes, cls_score, gt_boxes, image = self.sess.run([self.roi_proposal_net_valid.get_rois(),
                                                    self.fast_rcnn_net_valid.get_cls_score(), self.gt_boxes_valid,
                                                    self.x_valid])
         print(gt_boxes)
         self.vis_detections(np.squeeze(image[0]), str(gt_boxes[0][4]), gt_boxes, bboxes)
     Data.exit_threads(self.threads, self.coord)  # Exit Queues
示例#5
0
 def print_test_image(self):
     """ Takes in a .tfrecord file and plots the image batch with bounding box """
     file = '/home/dcs41/Documents/tf-Faster-RCNN/Data/data_clutter/clutter_mnist_valid.tfrecords'
     im_dims, gt_boxes, image = Data.batch_inputs(self.read_and_decode,
                                                  file,
                                                  batch_size=32)
     self.sess.run(tf.local_variables_initializer())
     self.sess.run(tf.global_variables_initializer())
     threads, coord = Data.init_threads(self.sess)
     _, gt_boxes, image_out = self.sess.run([im_dims, gt_boxes, image])
     self.plot_img(image_out[0], gt_boxes[0])
     Data.exit_threads(threads, coord)
 def eval(self):
     """ Loop Through Evaluation Dataset and calculate metrics """
     info = dict()
     for c in range(flags['num_classes']):
         info[c] = list()
     for i in range(self.num_valid_images):
         bboxes, cls_score, gt_boxes, image = self.sess.run([
             self.roi_proposal_net_valid.get_rois(),
             self.fast_rcnn_net_valid.get_cls_score(), self.gt_boxes_valid,
             self.x_valid
         ])
         print(gt_boxes)
         self.vis_detections(np.squeeze(image[0]), str(gt_boxes[0][4]),
                             gt_boxes, bboxes)
     Data.exit_threads(self.threads, self.coord)  # Exit Queues
 def train(self):
     """ Run training function. Save model upon completion """
     epochs = 0
     iterations = int(np.ceil(self.num_images['TRAIN']/self.flags['batch_size']) * self.flags['num_epochs'])
     self.print_log('Training for %d iterations' % iterations)
     for i in tqdm(range(iterations)):
         summary = self._run_train_iter()
         if self.step % self.flags['display_step'] == 0:
             self._record_train_metrics()
             bbox, cls = self.sess.run([self.fast_rcnn_net['TRAIN'].get_bbox_refinement(),
                                        self.fast_rcnn_net['TRAIN'].get_cls_score()])
         if self.step % (self.num_images['TRAIN']) == 0:  # save model every epoch
             self._save_model(section=epochs)
             epochs += 1
         self._record_training_step(summary)
     Data.exit_threads(self.threads, self.coord)  # Exit Queues
 def train(self):
     """ Run training function. Save model upon completion """
     epochs = 0
     iterations = int(np.ceil(self.num_train_images/self.flags['batch_size']) * self.flags['num_epochs'])
     self.print_log('Training for %d iterations' % iterations)
     for i in range(3):
         summary = self._run_train_iter()
         if self.step % self.flags['display_step'] == 0:
             self._record_train_metrics()
             bbox, cls = self.sess.run([self.fast_rcnn_net.get_bbox_refinement(), self.fast_rcnn_net.get_cls_score()])
             self.print_log('Number of predictions: %d' % bbox.shape[0])
         if (self.step % 2) == 0:
             self._save_model(section=epochs)
             epochs += 1
         self._record_training_step(summary)
         print(self.step)
     Data.exit_threads(self.threads, self.coord)  # Exit Queues
 def _data(self):
     file_train = '/home/dcs41/Documents/tf-Faster-RCNN/Data/data_clutter/clutter_mnist_train.tfrecords'
     self.x, self.gt_boxes, self.im_dims = Data.batch_inputs(
         self.read_and_decode,
         file_train,
         batch_size=self.flags['batch_size'])
     file_valid = '/home/dcs41/Documents/tf-Faster-RCNN/Data/data_clutter/clutter_mnist_valid.tfrecords'
     self.x_valid, self.gt_boxes_valid, self.im_dims_valid = Data.batch_inputs(
         self.read_and_decode,
         file_valid,
         mode="eval",
         batch_size=1,
         num_threads=1,
         num_readers=1)
     self.num_train_images = 55000
     self.num_valid_images = 5000
     self.num_test_images = 10000
示例#10
0
 def train(self):
     """ Run training function. Save model upon completion """
     iterations = int(
         np.ceil(self.num_train_images / self.flags['batch_size']) *
         self.flags['num_epochs'])
     threads, coord = Data.init_threads(self.sess)  # Begin Queues
     self.print_log('Training for %d iterations' % iterations)
     for i in range(iterations):
         if self.step % self.flags['display_step'] != 0:
             summary = self._run_train_iter()
         else:
             summary = self._run_train_metrics_iter()
             self._record_train_metrics()
         self._record_training_step(summary)
         print(self.step)
     self._save_model(section=1)
     Data.exit_threads(threads, coord)  # Exit Queues
示例#11
0
    def __init__(self, flags_input, dictionary):
        self.epoch = flags_input['file_epoch'] if flags_input['restore'] else 0
        self.lr = flags['learning_rate']    

        super().__init__(flags_input, flags_input['run_num'], vram=cfg.VRAM, restore=flags_input['restore_num'])
   
        self.print_log(dictionary)
        self.print_log(flags_input)
        self.threads, self.coord = Data.init_threads(self.sess)
    def __init__(self, flags_input, dictionary):
        self.epoch = flags_input['file_epoch'] if flags_input['restore'] else 0
        self.lr = flags['learning_rate']    

        super().__init__(flags_input, flags_input['run_num'], vram=cfg.VRAM, restore=flags_input['restore_num'], restore_slim=flags_input['restore_slim_file'])
   
        self.print_log(dictionary)
        self.print_log(flags_input)
        self.threads, self.coord = Data.init_threads(self.sess)
示例#13
0
    def _data(self):
        # Initialize placeholder dicts
        self.x = {}
        self.gt_boxes = {}
        self.im_dims = {}

        # Train data
        file_train = flags['data_directory'] + 'trans_mnist_train.tfrecords'
        self.x['TRAIN'], self.gt_boxes['TRAIN'], self.im_dims['TRAIN'] = Data.batch_inputs(self.read_and_decode,
                                                                                           file_train, batch_size=self.flags['batch_size'])
        # Validation data; ground truth boxes used for evaluation/visualization only
        file_valid = flags['data_directory'] + 'trans_mnist_valid.tfrecords'
        self.x['VALID'], self.gt_boxes['VALID'], self.im_dims['VALID'] = Data.batch_inputs(self.read_and_decode,
                                                                                          file_valid, mode="eval",
                                                                                          batch_size=self.flags['batch_size'],
                                                                                          num_threads=1, num_readers=1)
        # Test data. No GT Boxes.
        self.x['TEST'] = tf.placeholder(tf.float32, [None, 128, 128, 1])
        self.im_dims['TEST'] = tf.placeholder(tf.int32, [None, 2])

        self.num_images = {'TRAIN': 55000, 'VALID': 5000, 'TEST': 10000}
 def __init__(self, flags_input, dictionary):
     if flags_input['restore'] is True:
         self.epochs = flags_input['file_epoch']
     else:  # not restore
         self.epochs = 0
     self.lr = flags['learning_rate']
     super().__init__(flags_input,
                      flags_input['run_num'],
                      vram=0.2,
                      restore=flags_input['restore_num'])
     self.print_log(dictionary)
     self.print_log(flags_input)
     self.threads, self.coord = Data.init_threads(self.sess)
 def train(self):
     """ Run training function. Save model upon completion """
     epochs = 0
     iterations = int(
         np.ceil(self.num_train_images / self.flags['batch_size']) *
         self.flags['num_epochs'])
     self.print_log('Training for %d iterations' % iterations)
     for i in range(3):
         summary = self._run_train_iter()
         if self.step % self.flags['display_step'] == 0:
             self._record_train_metrics()
             bbox, cls = self.sess.run([
                 self.fast_rcnn_net.get_bbox_refinement(),
                 self.fast_rcnn_net.get_cls_score()
             ])
             self.print_log('Number of predictions: %d' % bbox.shape[0])
         if (self.step % 2) == 0:
             self._save_model(section=epochs)
             epochs += 1
         self._record_training_step(summary)
         print(self.step)
     Data.exit_threads(self.threads, self.coord)  # Exit Queues
示例#16
0
def main():
    file_train = flags['data_directory'] + 'trans_mnist_train.tfrecords'
    x, _, _ = Data.batch_inputs(read_and_decode,
                                file_train,
                                batch_size=flags['batch_size'])
    x = tf.stack([x, x, x], 3)
    with slim.arg_scope(resnet_arg_scope()):
        _ = resnet50(x)
    variables_to_restore = slim.get_model_variables()
    saver = tf_saver.Saver(variables_to_restore)
    with tf.Session() as sess:
        saver.restore(
            sess, "/home/kd/Documents/tf-Faster-RCNN/Models/resnet_v1_50.ckpt")
        a = input('Now finished restoring...')
示例#17
0
    def _data(self):
        # Initialize placeholder dicts
        self.x = {}
        self.gt_boxes = {}
        self.im_dims = {}

        # Train data
        file_train = flags['data_directory'] + 'clutter_mnist_train.tfrecords'
        self.x['TRAIN'], self.gt_boxes['TRAIN'], self.im_dims['TRAIN'] = Data.batch_inputs(self.read_and_decode,
                                                                                           file_train, batch_size=
                                                                                           self.flags['batch_size'])
        # Validation data. No GT Boxes necessary.
        file_valid = flags['data_directory'] + 'clutter_mnist_valid.tfrecords'
        self.x['VALID'], _, self.im_dims['VALID'] = Data.batch_inputs(self.read_and_decode,
                                                                      file_valid, mode="eval",
                                                                      batch_size=
                                                                      self.flags['batch_size'],
                                                                      num_threads=1, num_readers=1)
        # Test data. No GT Boxes.
        self.x['TEST'] = tf.placeholder(tf.float32, [None, 128, 128, 1])
        self.im_dims['TEST'] = tf.placeholder(tf.int32, [None, 2])

        self.num_images = {'TRAIN': 55000, 'VALID': 5000, 'TEST': 10000}
    def _data(self):
        # Initialize placeholder dicts
        self.x = {}
        self.gt_boxes = {}
        self.im_dims = {}

        # Train data
        file_train = flags['data_directory'] + 'clutter_mnist_train.tfrecords'
        self.x['TRAIN'], self.gt_boxes['TRAIN'], self.im_dims[
            'TRAIN'] = Data.batch_inputs(self.read_and_decode,
                                         file_train,
                                         batch_size=self.flags['batch_size'])
        # Validation data. No GT Boxes.
        self.x['EVAL'] = tf.placeholder(tf.float32, [None, 128, 128, 1])
        self.im_dims['EVAL'] = tf.placeholder(tf.int32, [None, 2])

        self.num_images = {'TRAIN': 55000, 'VALID': 5000, 'TEST': 10000}
示例#19
0
 def close(self):
     Data.exit_threads(self.threads, self.coord)
 def __init__(self, flags_input, run_num, restore):
     super().__init__(flags_input, run_num, vram=0.3, restore=restore)
     self.print_log("Seed: %d" % flags['seed'])
     self.threads, self.coord = Data.init_threads(self.sess)
示例#21
0
 def __init__(self, flags_input):
     super().__init__(flags_input, flags_input['run_num'], vram=0.2, restore=flags_input['restore_num'])
     self.print_log("Seed: %d" % flags_input['seed'])
     self.threads, self.coord = Data.init_threads(self.sess)
示例#22
0
 def close(self):
     Data.exit_threads(self.threads, self.coord)
示例#23
0
 def __init__(self, flags_input, run_num, restore):
     super().__init__(flags_input, run_num, vram=0.3, restore=restore)
     self.print_log("Seed: %d" % flags['seed'])
     self.threads, self.coord = Data.init_threads(self.sess)
示例#24
0
 def _data(self):
     file = '/home/dcs41/Documents/tf-Faster-RCNN/Data/data_clutter/clutter_mnist_train.tfrecords'
     self.x, self.gt_boxes, self.im_dims = Data.batch_inputs(
         self.read_and_decode, file, batch_size=self.flags['batch_size'])
     self.num_train_images = 55000