1

我正在分析这个 DCGAN。当我使用input_datafromtensorflow.examples.tutorials.mnist时,如第 144 行所示:

self.x_train = input_data.read_data_sets("mnist",\
        one_hot=True).train.images

我获得了相当好的结果: 在此处输入图像描述 虽然当我使用mnistfromkeras.datasets并且第 144 行看起来像这样:

(xtr, ytr), (xte, yte) = mnist.load_data();
    self.x_train = xtr

我得到了非常糟糕的结果: 在此处输入图像描述 我手动检查了两个数据集中的一些图像,它们非常相似。

那么keras.datasets.mnist和 和有什么不一样tensorflow.examples.tutorials.mnist?为什么生成的图像如此不同?我在做什么错keras.datasets.mnist

4

1 回答 1

0

很可能其中的图像tensorflow.examples.tutorials.mnist已被归一化到 [0, 1] 范围内,因此您可以获得更好的结果。然而,Keras 中 MNIST 数据集中的值在 [0, 255] 范围内,您应该对它们进行规范化(当然,如果需要)。尝试这个:

(xtr, ytr), (xte, yte) = mnist.load_data()
xtr = xtr.astype('float32') / 255.0
xte = xte.astype('float32') / 255.0
于 2018-12-31T11:50:55.747 回答