Example #1
0
    def __init__(self,
                 pipeline,
                 tensor_layout=types.NCHW,
                 reverse_channels=False,
                 multiplier=[1.0, 1.0, 1.0],
                 offset=[0.0, 0.0, 0.0],
                 tensor_dtype=types.FLOAT):
        self.loader = pipeline
        self.tensor_format = tensor_layout
        self.multiplier = multiplier
        self.offset = offset
        self.reverse_channels = reverse_channels
        self.tensor_dtype = tensor_dtype

        self.w = b.getOutputWidth(self.loader._handle)
        self.h = b.getOutputHeight(self.loader._handle)
        self.n = b.getOutputImageCount(self.loader._handle)
        self.bs = pipeline._batch_size
        color_format = b.getOutputColorFormat(self.loader._handle)
        self.p = (1 if (color_format == int(types.GRAY)) else 3)
        if self.tensor_dtype == types.FLOAT:
            self.out = np.zeros((
                self.bs * self.n,
                self.p,
                int(self.h / self.bs),
                self.w,
            ),
                                dtype="float32")
        elif self.tensor_dtype == types.FLOAT16:
            self.out = np.zeros((
                self.bs * self.n,
                self.p,
                int(self.h / self.bs),
                self.w,
            ),
                                dtype="float16")
        # self.labels = np.zeros((self.bs),dtype = "int32")
        if (self.loader._oneHotEncoding == True):
            self.labels = np.zeros((self.bs) * (self.loader._numOfClasses),
                                   dtype="int32")
        else:
            self.labels = np.zeros((self.bs), dtype="int32")
        if self.bs != 0:
            self.len = b.getRemainingImages(self.loader._handle) // self.bs
        else:
            self.len = b.getRemainingImages(self.loader._handle)
Example #2
0
    def __next__(self):
        if b.getRemainingImages(self.loader._handle) < self.bs:
            raise StopIteration

        if self.loader.run() != 0:
            raise StopIteration

        self.loader.copyImage(self.out_image)
        return self.out_image, self.out_tensor
Example #3
0
    def __next__(self):
        if b.getRemainingImages(self.loader._handle) < self.bs:
            raise StopIteration

        if self.loader.run() != 0:
            raise StopIteration

        self.loader.copyImage(self.out_image)
        if ((self.loader._name == "Caffe2ReaderDetection")
                or (self.loader._name == "CaffeReaderDetection")):

            for i in range(self.bs):
                size = b.getImageNameLen(self.loader._handle, i)
                print(size)
                self.array = np.array(["                 "])

                self.out = np.frombuffer(self.array, dtype=(self.array).dtype)

                b.getImageName(self.loader._handle, self.out, i)
            return self.out_image, self.out_bbox, self.out_tensor
        else:
            return self.out_image, self.out_tensor
Example #4
0
 def getRemainingImages(self):
     return b.getRemainingImages(self._handle)