def load_letter(letter_dir, min_num_images):
"""Load the data for a single letter label."""
image_files = os.listdir(letter_dir)
# (num image, image width, image height)
dataset = np.ndarray(shape=(len(image_files), image_size, image_size),
dtype=np.float32)
image_index = 0
print(letter_dir)
for image in image_files:
image_file = os.path.join(letter_dir, image)
try:
# normalize image to [-0.5, 0.5]
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
评论列表
文章目录