keras.datasets.mnist 和 tensorflow.examples.tutorials.mnist 有什么区别?
What's the difference between keras.datasets.mnist and tensorflow.examples.tutorials.mnist?
我正在分析this DCGAN. When I use input_data
from tensorflow.examples.tutorials.mnist
, as seen in line 144:
self.x_train = input_data.read_data_sets("mnist",\
one_hot=True).train.images
我取得了不错的成绩:
虽然当我使用 keras.datasets
中的 mnist
并且第 144 行看起来像这样:
(xtr, ytr), (xte, yte) = mnist.load_data();
self.x_train = xtr
我得到了非常糟糕的结果:
我手动检查了两个数据集中的一些图像,它们非常相似。
那么keras.datasets.mnist
和tensorflow.examples.tutorials.mnist
有什么区别呢?为什么生成的图像如此不同? keras.datasets.mnist
我做错了什么?
很有可能 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
我正在分析this DCGAN. When I use input_data
from tensorflow.examples.tutorials.mnist
, as seen in line 144:
self.x_train = input_data.read_data_sets("mnist",\
one_hot=True).train.images
我取得了不错的成绩:
keras.datasets
中的 mnist
并且第 144 行看起来像这样:
(xtr, ytr), (xte, yte) = mnist.load_data();
self.x_train = xtr
我得到了非常糟糕的结果:
那么keras.datasets.mnist
和tensorflow.examples.tutorials.mnist
有什么区别呢?为什么生成的图像如此不同? keras.datasets.mnist
我做错了什么?
很有可能 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