2017-03-05 75 views
1

如何将我的图像从文件路径格式化为与mnist.load_data()相同的方式? 我目前通过driectory /文件路径获取我的图像,如何以mnist用于mnist.load_data()的相同方式对这些图像进行格式化?如何将我的图像从文件路径格式化为与python中的mnist.load_data()相同的方式?

+0

哪个'mnist'包你准确使用? –

+0

@YohanesGultom我用“从keras.datasets导入mnist”导入了mnist,并通过X_train,X_test,y_train,y_test = mnist.load_data() – Mike

回答

0

keras.datasets.mnist.load_data其实只是loads a preprocessed pickle file。如果您检查X_train & X_test的数据类型,它们只是一个表示图像像素值(0-255)的浮点型2D数组。而y_train & y_test只是numpy一维数组表示类/标签(0-9)。

import numpy as np 
import cv2 
from sklearn.model_selection import train_test_split 

X = [] 
y = [] 

# convert color image to 2D array (grayscale) & rescale 
data = cv2.imread('zero.jpg',0)/255.0 
label = 0 # label/class of the image 
X.append(data) 
y.append(label) 

# loop trough all images ... 

# split for training & testing 
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33) 

的另一种方式,你可以尝试使用:

所以模仿该功能的第一种方式是读你的图像使用图像处理库(如:opencv)到numpy阵列&使用sklearn终于将它们分割keras ImageDataGenerator.flow_from_directory(color_mode='grayscale')。输出是一个ImageDataGenerator对象,可以将该对象传递给keras model.fit_generator()函数。为了使用这个功能,你应该安排你的数据集进入&测试目录,其中每个测试目录包含代表它们内部图像类别的子目录。请在here找到详细的解释。

相关问题