当我使用' keras. datassets.Cifar10 '与模型.它会产生错误



我想知道keras.datasettfds.load的区别。当我使用下面的代码时,它工作得很好,如:

train_dataset, val_dataset = tfds.load( "tf_flowers", split=["train[:90%]", "train[90%:]"], as_supervised=True )

model.fit(train_dataset, validation_data=val_dataset, epochs=NUM_EPOCHS)

但是当我使用keras.datasets的模式匹配代码时,它会产生"ValueError错误:具有多个元素的数组的真值是不明确的。使用a.a any()或a.a all()">

(x_train, y_train), (x_test, y_test) = keras.datasets.cifar100.load_data()

model.fit(x_train, validation_data=y_train, epochs=NUM_EPOCHS)

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

链接到我的google colab代码在这里。

因为tfds.load(.... , as_supervised=True )返回的数据集(tf.data)已经包含img和label在一起,但keras.datasets.cifar100.load_data()只给你数组(img和label),所以它应该是这样的:

model.fit(x=x_train, y=y_train, validation_data=(x_test, y_test), epochs=NUM_EPOCHS)

最新更新