我将使用 tf.keras 和 MNIST 手写数字数据集制作一些 GAN 模型测试器。因为我的模型将用于 128x128 的图像,所以我将 MNIST 数据集的大小调整为 128x128x1。但是,该程序会出现一些我从未见过的错误。
(x_train, _), (_, _) = mnist.load_data()
x_train = (x_train.astype(np.float32) - 127.5) / 127.5
x_train = tf.image.resize_images(x_train, [128, 128])
idx = np.random.randint(0, x_train.shape[0], batch_size) # picks some data, count is batch_size=32.
imgs = x_train[idx] # This line made errors
最后一行犯了两个错误:
tensorflow.python.framework.errors_impl.InvalidArgumentError:形状必须为 1 级,但对于“strided_slice_1”(操作:“StridedSlice”)为 2 级,输入形状为:[60000,128,128,1]、[1,32]、[1 ,32],[1]。
和,
ValueError:形状必须为 1 级,但对于输入形状为 [60000,128,128,1]、[1,32]、[1,32]、[1] 的“strided_slice_1”(操作:“StridedSlice”)为 2 级。
我认为数字'32'表示batch_size(= 32)。
我试图找到这个错误,但我找不到这个错误。
我没有任何想法来解决这个问题(因为我一周前开始使用 keras,在我使用 pytorch 之前)。