我正在分析this DCGAN。当我使用input_data
中的tensorflow.examples.tutorials.mnist
时,如line 144所示:
self.x_train = input_data.read_data_sets("mnist",\
one_hot=True).train.images
我获得了相当不错的成绩:
尽管当我使用mnist
中的keras.datasets
时,第144行看起来像这样:
(xtr, ytr), (xte, yte) = mnist.load_data();
self.x_train = xtr
我得到了非常糟糕的结果: 我已经从两个数据集中手动检查了一些图像,它们非常相似。
那么keras.datasets.mnist
和tensorflow.examples.tutorials.mnist
有什么区别?为什么生成的图像如此不同? keras.datasets.mnist
在做什么?
答案 0 :(得分:1)
很有可能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