web-dev-qa-db-fra.com

Comment créer un ensemble de données d'image comme un ensemble de données MNIST?

J'ai 10000 BMP de quelques chiffres manuscrits. Si je veux alimenter les données en réseau neuronal, que dois-je faire? Pour le jeu de données MNIST, je devais juste écrire

(X_train, y_train), (X_test, y_test) = mnist.load_data()

J'utilise la bibliothèque Keras dans python. Comment puis-je créer un tel ensemble de données?

12
Codehead

Vous pouvez soit écrire une fonction qui charge toutes vos images et les empiler dans un tableau numpy si tout tient dans RAM ou utiliser Keras ImageDataGenerator ( https://keras.io/preprocessing/image / ) qui inclut une fonction flow_from_directory. Vous pouvez trouver un exemple ici https://Gist.github.com/fchollet/0830affa1f7f19fd47b06d4cf89ed44d .

8
Mikael Rousson

Vous devez écrire votre propre fonction pour charger toutes les images ou le faire comme:

imagePaths = sorted(list(paths.list_images(args["testset"])))

# loop over the input images
for imagePath in imagePaths:
    # load the image, pre-process it, and store it in the data list
    image = cv2.imread(imagePath)
    image = cv2.resize(image, (IMAGE_DIMS[1], IMAGE_DIMS[0]))
    image = img_to_array(image)
    data.append(image)
    # extract the class label from the image path and update the
    # labels list


data = np.array(data, dtype="float") / 255.0
1
azharimran