Загрузка пользовательского набора данных через Keras
У меня есть простая модель GAN (на основе Keras), которую я использую для создания рукописных цифровых изображений на основе набора данных MNIST. Я хочу создать аналогичный набор данных для Keras, используя необработанные данные изображения из набора данных отпечатков пальцев Sokoto Coventry (SOCOFing), который состоит из 6000 различных образцов черно-белых изображений отпечатков пальцев, и применить их к той же модели GAN. Проблема в том, что я застрял с созданием и загрузкой / обработкой настраиваемого набора данных.
Это код модели, которую я использую для MNIST:
import os
import numpy as np
import matplotlib.pyplot as plt
from tqdm import tqdm
from keras.layers import Input
from keras.models import Model, Sequential
from keras.layers.core import Dense, Dropout
from keras.layers.advanced_activations import LeakyReLU
from keras.datasets import mnist
from tensorflow.keras.optimizers import Adam
from keras import initializers
os.environ["KERAS_BACKEND"] = "tensorflow"
np.random.seed(10)
random_dim = 100
def load_mnist_data():
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train = (x_train.astype(np.float32) - 127.5)/127.5
x_train = x_train.reshape(60000, 784)
return (x_train, y_train, x_test, y_test)
В целях экспериментов я создал уменьшенную версию набора данных SOCOFing, содержащую всего 500 образцов. Код для генератора набора данных выглядит следующим образом:
from PIL import Image
import os
import numpy as np
path_to_files = "./fingerprints/"
vectorized_images_X = []
vectorized_images_Y = []
for _, file in enumerate(os.listdir(path_to_files)):
image = Image.open(path_to_files + file)
image_array = np.array(image)
vectorized_images_X.append(image_array)
vectorized_images_Y.append(image_array)
np.savez("./fingerprints.npz",DataX=vectorized_images_X,DataY=vectorized_images_Y)
import numpy as np
path = "./fingerprints.npz"
with np.load(path) as data:
train_data = data['DataX']
print(train_data)
test_data = data['DataY']
print(test_data)
Итак, теперь у меня есть файл * .npz, но я не знаю, как его внедрить в модель. Пожалуйста, порекомендуйте.
1 ответ
Вот пример кода для вставки любого файла .npz, вы можете сослаться на этот код.
DATA_URL = 'https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz'
path = tf.keras.utils.get_file('mnist.npz', DATA_URL)
with np.load(path) as data:
train_examples = data['x_train']
train_labels = data['y_train']
test_examples = data['x_test']
test_labels = data['y_test']
Для получения более подробной информации вы можете перейти по этой ссылке .