收到很长的错误消息,但我不知道这意味着什么。也许尝试 x_train = x_train / 255.0 会影响 model.fit 调用?错误出现在 model.fit 线上。
from keras.datasets import mnist
import matplotlib.pyplot as plt
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# save input image dimensions
img_rows, img_cols = 28, 28
x_train = x_train.reshape(x_train.shape[0], img_rows, img_cols, 1)
x_test = x_test.reshape(x_test.shape[0], img_rows, img_cols, 1)
x_train = x_train / 255.0
x_test = x_test / 255.0
from keras.utils import to_categorical
num_classes = 10
y_train = to_categorical(y_train, num_classes)
y_test = to_categorical(y_test, num_classes)
from keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D
model = Sequential()
model.add(Conv2D(32, kernel_size=(3, 3),
activation='relu',
input_shape=(img_rows, img_cols, 1)))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(num_classes, activation='softmax'))
model.compile(loss='sparse_categorical_crossentropy',
optimizer='adam',
metrics=['accuracy'])
batch_size = 128
epochs = 10
model.fit(x_train, y_train,
batch_size=batch_size,
epochs=epochs,
verbose=1,
validation_data=(x_test, y_test)) ***#Error Here***
score = model.evaluate(x_test, y_test, verbose=0)
print('Test loss:', score[0])
print('Test accuracy:', score[1])
model.save("test_model.h5")
import imageio
import numpy as np
from matplotlib import pyplot as plt
im = imageio.imread("https://i.imgur.com/a3Rql9C.png")
gray = np.dot(im[...,:3], [0.299, 0.587, 0.114])
plt.imshow(gray, cmap = plt.get_cmap('gray'))
plt.show()
# reshape the image
gray = gray.reshape(1, img_rows, img_cols, 1)
# normalize image
gray /= 255
# load the model
from keras.models import load_model
model = load_model("test_model.h5")
# predict digit
prediction = model.predict(gray)
print(prediction.argmax())
错误:
2023-12-01 22:03:39.867667:我tensorflow/core/platform/cpu_feature_guard.cc:182]此TensorFlow二进制文件经过优化,可以在性能关键型操作中使用可用的CPU指令。 要启用以下指令:SSE SSE2 SSE3 SSE4.1 SSE4.2 AVX AVX2 AVX512F AVX512_VNNI FMA,在其他操作中,使用适当的编译器标志重建 TensorFlow。 纪元 1/10 回溯(最近一次调用最后一次): 文件“c:\Users\Jim\Documents\Pyro umber cnn.py”,第 48 行,在 model.fit(x_train, y_train, 文件“C:\ Users \ Jim \ AppData \ Local \ Packages \ PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0 \ LocalCache \ local-packages \ Python311 \ site-packages \ keras \ src \ utils raceback_utils.py”,第70行,在error_handler中 从 None 引发 e.with_traceback(filtered_tb) 文件“C:\ Users \ Jim \ AppData \ Local \ Packages \ PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0 \ LocalCache \ local-packages \ Python311 \ site-packages ensorflow \ python ager xecute.py”,第53行,在quick_execute中 张量 = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tensorflow.python.framework.errors_impl.InvalidArgumentError:图形执行错误:
在节点“sparse_categorical_crossentropy/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits”处检测到(最近一次调用最后):
文件“c:\Users\Jim\Documents\Pyro
umber cnn.py”,第 48 行,在
model.fit(x_train, y_train,
文件“C:\ Users \ Jim \ AppData \ Local \ Packages \ PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0 \ LocalCache \ local-packages \ Python311 \ site-packages \ keras \ src \ utils raceback_utils.py”,第65行,在error_handler中
返回 fn(*args, **kwargs)
文件“C:\ Users \ Jim \ AppData \ Local \ Packages \ PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0 \ LocalCache \ local-packages \ Python311 \ site-packages \ keras \ src ngine raining.py”,第1742行,适合
tmp_logs = self.train_function(迭代器)
文件“C:\ Users \ Jim \ AppData \ Local \ Packages \ PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0 \ LocalCache \ local-packages \ Python311 \ site-packages \ keras \ src ngine raining.py”,第1338行,在train_function中
返回step_function(自身,迭代器)
文件“C:\ Users \ Jim \ AppData \ Local \ Packages \ PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0 \ LocalCache \ local-packages \ Python311 \ site-packages \ keras \ src ngine raining.py”,第1322行,在step_function中
输出 = model.distribute_strategy.run(run_step, args=(data,))
文件“C:\ Users \ Jim \ AppData \ Local \ Packages \ PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0 \ LocalCache \ local-packages \ Python311 \ site-packages \ keras \ src ngine raining.py”,第1303行,在run_step中
输出 = model.train_step(数据)
文件“C:\ Users \ Jim \ AppData \ Local \ Packages \ PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0 \ LocalCache \ local-packages \ Python311 \ site-packages \ keras \ src ngine raining.py”,第1081行,在train_step中
损失 = self.compute_loss(x, y, y_pred, 样本权重)
文件“C:\ Users \ Jim \ AppData \ Local \ Packages \ PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0 \ LocalCache \ local-packages \ Python311 \ site-packages \ keras \ src ngine raining.py”,第1139行,在compute_loss中
返回 self.compiled_loss(
文件“C:\ Users \ Jim \ AppData \ Local \ Packages \ PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0 \ LocalCache \ local-packages \ Python311 \ site-packages \ keras \ src ngin