Kasid Khan
Kasid Khan

Reputation: 667

What does the dataset = dataset[0:num_images, :, :] code does?

I am working on a deep-learning course from udacity and there is this one line of code that I do not understand as what it does? and why?. Can anyone help me understand it? It will be great if anyone can share any document related to it.

dataset = dataset[0:num_images, :, :]

Source: link>load_letter method - https://github.com/rndbrtrnd/udacity-deep-learning/blob/master/1_notmnist.ipynb

Load_letter function:

def load_letter(folder, min_num_images):
    image_files = os.listdir(folder)
    dataset = np.ndarray(shape=(len(image_files), image_size, image_size),
                     dtype=np.float32)
    image_index = 0
    print(folder)
    for image in os.listdir(folder):
        image_file = os.path.join(folder, image)
        try:
            image_data = (ndimage.imread(image_file).astype(float) - 
                pixel_depth / 2) / pixel_depth
             if image_data.shape != (image_size, image_size):
                raise Exception('Unexpected image shape: %s' % str(image_data.shape))
             dataset[image_index, :, :] = image_data
             image_index += 1
        except IOError as e:
              print('Could not read:', image_file, ':', e, '- it\'s ok, skipping.')

    num_images = image_index
    dataset = dataset[0:num_images, :, :]
    if num_images < min_num_images:
       raise Exception('Many fewer images than expected: %d < %d' %
                (num_images, min_num_images))

   print('Full dataset tensor:', dataset.shape)
   print('Mean:', np.mean(dataset))
   print('Standard deviation:', np.std(dataset))
   return dataset

Upvotes: 2

Views: 276

Answers (1)

Carlos Mougan
Carlos Mougan

Reputation: 811

What you have in dataset is a tensor (or a multidimensional array). In your case it has 3 dimensions.

dataset[0:num_images, :, :]

What you are doing in the first dimension is selecting a set of images from 0 to num_images, and then the ':' are saying to keep the rest of information.

So its just a tensor filtering on the first dimension while keeping the rest the same.

Upvotes: 1

Related Questions