这是我从tensorflow网站上的tensorflow教程获得的代码。中途我得到了这个错误。 ii成功地训练了模型。但是当测试图像通过时,我会出错。
from tensorflow import keras
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
fashion_mnist= keras.datasets.fashion_mnist
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat',
'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']
train_images=train_images/255.0
test_images=train_images/255.0
model=keras.Sequential([
keras.layers.Flatten(input_shape=(28,28)),
keras.layers.Dense(128,activation='relu'),
keras.layers.Dense(10)])
model.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
model.fit(train_images,train_labels,epochs=5)
test_loss, test_acc = model.evaluate(test_images, test_labels, verbose=2)
print('\nTest accuracy:', test_acc)```
this code gives the following error:
ValueError: Input arrays should have the same number of samples as target arrays. Found 60000 input samples and 10000 target samples.
答案 0 :(得分:1)
因为您在规范化时输入了错字:
test_images=train_images/255.0
代替:
test_images = test_images / 255.0
答案 1 :(得分:0)
test_images=train_images/255.0
应该是:
test_images=test_images/255.0
否则,您将train_images除以255,然后再将其除以255