示例#1
0
 def flips_fn(self, img, lbl):
     kwargs = {
         "horizontal": fn.coin_flip(probability=0.33),
         "vertical": fn.coin_flip(probability=0.33)
     }
     if self.dim == 3:
         kwargs.update({"depthwise": fn.coin_flip(probability=0.33)})
     return fn.flip(img, **kwargs), fn.flip(lbl, **kwargs)
def dali_pipeline(source, image_size, training, cpu=False):
    images, labels = fn.external_source(source=source, num_outputs=2)

    if cpu:
        device = "cpu"
        images = fn.decoders.image(images, device=device)

    else:
        device = "gpu"
        images = fn.decoders.image(
            images,
            device="mixed",
            device_memory_padding=211025920,
            host_memory_padding=140544512,
        )

    if training:
        images = fn.random_resized_crop(
            images,
            device=device,
            size=image_size,
            interp_type=types.DALIInterpType.INTERP_CUBIC,
        )
        coin = fn.random.coin_flip(0.5)
        images = fn.flip(images, horizontal=coin)

    else:
        pass

    return images, labels
def reference_pipeline(flip_vertical, flip_horizontal, ref_batch_size=max_batch_size):
    pipeline = Pipeline(ref_batch_size, num_threads, device_id)
    with pipeline:
        data, _ = fn.readers.file(file_root=images_dir)
        img = fn.decoders.image(data)
        flipped = fn.flip(img, horizontal=flip_horizontal, vertical=flip_vertical)
        pipeline.set_outputs(flipped, img)
    return pipeline
 def pipe(max_batch_size, input_data, device):
     pipe = Pipeline(batch_size=max_batch_size, num_threads=4, device_id=0)
     depthwise = fn.random.coin_flip()
     horizontal = fn.random.coin_flip()
     vertical = fn.random.coin_flip()
     data = fn.external_source(source=input_data, cycle=False, device=device)
     processed = fn.flip(data, depthwise=depthwise, horizontal=horizontal, vertical=vertical)
     pipe.set_outputs(processed)
     return pipe
def pipeline_runtime(flip_vertical, flip_horizontal):
    data, _ = fn.file_reader(file_root=images_dir)
    img = fn.image_decoder(data)
    flipped = fn.flip(img, horizontal=flip_horizontal, vertical=flip_vertical)
    return flipped, img
示例#6
0
 def flip_1d(x):
     # TODO(janton): remove the layout trick when Flip supports arbitrary data layouts
     x = fn.reshape(x, shape=(-1, 1, 1), layout="HWC")
     x = fn.flip(x, vertical=1)
     x = fn.reshape(x, shape=(-1, ), layout="t")
     return x
示例#7
0
def pipeline_static(flip_vertical, flip_horizontal):
    data, _ = fn.readers.file(file_root=images_dir)
    img = fn.decoders.image(data)
    flipped = fn.flip(img, horizontal=flip_horizontal, vertical=flip_vertical)
    return flipped, img