Esempio n. 1
0
    def worker(self):
        while True:
            indexes = self.index_queue.get()

            if indexes is None:
                return

            roidb = [self.roidb[idx] for idx in indexes]

            # pad last batch
            if len(roidb) < self.batch_size:
                for _ in range(self.batch_size - len(roidb)):
                    roidb.append(self.roidb[0])

            if self.has_rpn:
                data, label, im_info = get_rpn_testbatch(roidb)
            else:
                raise NotImplementedError
            result = {"data": [mx.nd.array(data[name]) for name in self.data_name], "im_info": im_info}

            while True:
                if self.last_index == indexes[0]:
                    self.last_index += len(indexes)
                    self.result_queue.put(result)
                    break
                else:
                    time.sleep(0.001)
Esempio n. 2
0
    def get_first_batch(self):
        roidb = [self.roidb[idx] for idx in range(self.batch_size)]

        if self.has_rpn:
            data, label, im_info = get_rpn_testbatch(roidb)
        else:
            raise NotImplementedError
        self.data = [mx.nd.array(data[name]) for name in self.data_name] 
        self.im_info = im_info
Esempio n. 3
0
 def get_batch(self):
     cur_from = self.cur
     cur_to = min(cur_from + self.batch_size, self.size)
     roidb = [self.roidb[self.index[i]] for i in range(cur_from, cur_to)]
     if self.has_rpn:
         data, label, im_info = get_rpn_testbatch(roidb)
     else:
         data, label, im_info = get_rcnn_testbatch(roidb)
     self.data = [mx.nd.array(data[name]) for name in self.data_name]
     self.im_info = im_info
Esempio n. 4
0
 def get_batch(self):
     cur_from = self.cur
     cur_to = min(cur_from + self.batch_size, self.size)
     roidb = [self.roidb[self.index[i]] for i in range(cur_from, cur_to)]
     if self.has_rpn:
         data, label, im_info = get_rpn_testbatch(roidb)
     else:
         data, label, im_info = get_rcnn_testbatch(roidb)
     self.data = [mx.nd.array(data[name]) for name in self.data_name]
     self.im_info = im_info
Esempio n. 5
0
 def get_batch(self):
     cur_from = self.cur
     cur_to = min(cur_from + self.batch_size, self.size)
     roidb = [self.roidb[self.index[i]] for i in range(cur_from, cur_to)]
     if self.has_rpn:
         data, label, im_info = get_rpn_testbatch(roidb)
     else:
         raise NotImplementedError
     self.data = [[mx.nd.array(data[i][name]) for name in self.data_name]
                  for i in xrange(len(data))]
     self.im_info = im_info
Esempio n. 6
0
 def get_batch(self):
     cur_from = self.cur
     cur_to = min(cur_from + self.batch_size, self.size)
     roidb = [self.roidb[self.index[i]] for i in range(cur_from, cur_to)]
     if self.has_rpn:
         if not self.withlabel:
           data, label = get_rpn_testbatch(roidb)
         else:
           data, label = get_rpn_batch(roidb)
     else:
         data, label = get_rcnn_testbatch(roidb)
     #print('in_loader', label['gt_boxes'].shape, file=sys.stderr)
     self.im_info = data['im_info']
     self.data = [mx.nd.array(data[name]) for name in self.data_name]