我有一个简单的 GAN 模型(基于 Keras),用于基于 MNIST 数据集生成手写数字图像。我想使用来自 Sokoto Coventry 指纹数据集 (SOCOFing) 的原始图像数据为 Keras 创建一个类似的数据集,该数据集由 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 文件,但不知道如何将它注入模型。请指教。