Advertisement
Guest User

Untitled

a guest
Jul 15th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. eii = ExternalInputIterator(batch_size=16,
  2. data_file=processed_data_file,
  3. image_dir=images_directory)
  4. iterator = iter(eii)
  5.  
  6. class ExternalSourcePipeline(Pipeline):
  7. def __init__(self, data_iterator, batch_size, num_threads, device_id):
  8. super(ExternalSourcePipeline, self).__init__(batch_size,
  9. num_threads,
  10. device_id,
  11. seed=12)
  12. self.data_iterator = data_iterator
  13. self.input = ops.ExternalSource()
  14. self.input_label = ops.ExternalSource()
  15. self.decode = ops.nvJPEGDecoder(device = "mixed", output_type = types.RGB)
  16. # resizing is *must* because loaded images maybe of different sizes
  17. # and to create GPU tensors we need image arrays to be of same size
  18. self.res = ops.Resize(device="gpu", resize_x=224, resize_y=224, interp_type=types.INTERP_TRIANGULAR)
  19.  
  20. def define_graph(self):
  21. self.jpegs = self.input()
  22. self.labels = self.input_label()
  23. images = self.decode(self.jpegs)
  24. output = self.res(images)
  25. return (output, self.labels)
  26.  
  27. def iter_setup(self):
  28. # the external data iterator is consumed here and fed as input to Pipeline
  29. images, labels = self.data_iterator.next()
  30. self.feed_input(self.jpegs, images)
  31. self.feed_input(self.labels, labels)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement