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
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 """ 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
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 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 close(self): Data.exit_threads(self.threads, self.coord)
def close(self): Data.exit_threads(self.threads, self.coord)