【问题标题】:What does the dataset = dataset[0:num_images, :, :] code does?dataset = dataset[0:num_images, :, :] 代码是做什么的?
【发布时间】:2021-06-14 15:50:04
【问题描述】:

我正在学习 udacity 的深度学习课程,但有一行代码我不明白它的作用?为什么?谁能帮我理解一下?如果任何人都可以分享任何与之相关的文档,那就太好了。

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

来源:link>load_letter 方法-https://github.com/rndbrtrnd/udacity-deep-learning/blob/master/1_notmnist.ipynb

Load_letter 函数:

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

【问题讨论】:

    标签: python python-3.x machine-learning deep-learning


    【解决方案1】:

    您在数据集中拥有的是张量(或多维数组)。在您的情况下,它有 3 个维度。

    dataset[0:num_images, :, :]
    

    您在第一个维度中所做的是选择一组从 0 到 num_images 的图像,然后“:”表示保留其余信息。

    所以它只是第一个维度上的张量过滤,而其余部分保持不变。

    【讨论】:

      猜你喜欢
      • 2019-02-09
      • 1970-01-01
      • 2010-11-22
      • 1970-01-01
      • 1970-01-01
      • 2012-07-20
      • 2019-04-03
      • 2018-09-01
      • 2010-09-06
      相关资源
      最近更新 更多