你如何 "import" MNIST 的图像数据?
How do you "import" image data for MNIST?
所以我一直在使用 Tensorflow 的神经网络教程。我完成了本质上只是 MNIST 的 "basic classification",并且一直在努力制作我自己的自定义变体作为一个小思想实验。除了将数据集放入可用的形式之外,一切都是不言自明的,因为本教程使用预制数据集并且看起来像是偷工减料。我只想知道如何将彩色照片放入可用数据中。我假设那只是一个一维数组。作为附带问题,如果二维照片不是 CNN,如果将二维照片存储在一维数组中,神经网络是否会失去任何有效性。
Keras 中包含的数据集是预制的并且通常经过预处理,以便初学者可以轻松地尝试使用它们。要使用您自己的图像,例如 cat-dog 图像分类问题,您可以将图像放在两个单独的目录中,例如,
在 images/cats
和 images/dogs
中。
现在,我们解析这些目录中的每个图像,
import os
from PIL import Image
master_dir = 'images'
img_dirs = os.listdir( master_dir )
for img_dir in img_dirs:
img_names = os.listdir( os.path.join( master_dir , img_dir ) )
for name in img_names:
img_path = os.path.join( master_dir , img_dir , name )
image = Image.open( img_path ).resize( ( 64 , 64 ) ).convert( 'L' )
# Store this image in an array with its corresponding label
这里。 image
将是一个形状为 (64, 64 )
的数组,表示图像是灰度图像。除了代码中的 .convert( 'L' )
之外,我们还可以使用 .convert( 'RGB' )
来获得形状为 (64,64,3)
的 RGB 图像。
现在,
- 收集 Python
list
中的所有图像和标签。
- 将列表转换为
NumPy
数组。
- 使用
np.save()
方法将 NumPy
数组存储在 .npy
文件中。
- 在训练模型的文件中,使用
np.load()
方法加载这些文件并将它们提供给模型。
所以我一直在使用 Tensorflow 的神经网络教程。我完成了本质上只是 MNIST 的 "basic classification",并且一直在努力制作我自己的自定义变体作为一个小思想实验。除了将数据集放入可用的形式之外,一切都是不言自明的,因为本教程使用预制数据集并且看起来像是偷工减料。我只想知道如何将彩色照片放入可用数据中。我假设那只是一个一维数组。作为附带问题,如果二维照片不是 CNN,如果将二维照片存储在一维数组中,神经网络是否会失去任何有效性。
Keras 中包含的数据集是预制的并且通常经过预处理,以便初学者可以轻松地尝试使用它们。要使用您自己的图像,例如 cat-dog 图像分类问题,您可以将图像放在两个单独的目录中,例如,
在 images/cats
和 images/dogs
中。
现在,我们解析这些目录中的每个图像,
import os
from PIL import Image
master_dir = 'images'
img_dirs = os.listdir( master_dir )
for img_dir in img_dirs:
img_names = os.listdir( os.path.join( master_dir , img_dir ) )
for name in img_names:
img_path = os.path.join( master_dir , img_dir , name )
image = Image.open( img_path ).resize( ( 64 , 64 ) ).convert( 'L' )
# Store this image in an array with its corresponding label
这里。 image
将是一个形状为 (64, 64 )
的数组,表示图像是灰度图像。除了代码中的 .convert( 'L' )
之外,我们还可以使用 .convert( 'RGB' )
来获得形状为 (64,64,3)
的 RGB 图像。
现在,
- 收集 Python
list
中的所有图像和标签。 - 将列表转换为
NumPy
数组。 - 使用
np.save()
方法将NumPy
数组存储在.npy
文件中。 - 在训练模型的文件中,使用
np.load()
方法加载这些文件并将它们提供给模型。