Как преобразовать ndarray формы (строка, y, z) из mnist в фрейм данных pandas для прогнозирования модели тензорного потока?

Я пытаюсь предсказать модель, обученную для mnist через mlflow.

loaded_model = mlflow.pyfunc.load_model(logged_model)

(x_train, y_train), (x_test, y_test) = mnist.load_data()

Я попытался создать фрейм данных через

x = pd.DataFrame(x_test)

но я получил

ValueError: Must pass 2-d input. shape=(10000, 28, 28)

но если я переформирую

xtest2 = x_test.reshape(10000, 784)
x = pd.DataFrame(xtest2)
loaded_model.predict(x)

Я получаю не выровненный ввод

ValueError: Input 0 of layer "sequential_2" is incompatible with the layer: expected shape=(None, 28, 28), found shape=(None, 784)

это имеет смысл, так как слой настроен как

    model = tf.keras.Sequential([
        tf.keras.layers.Conv2D(32, 3, activation='relu', input_shape=(28, 28, 1)),

но как мне удовлетворить как требование панд, так и требование тензорного потока?

1
0
55
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете попробовать изменить форму, прежде чем звонить model.predict:

x = pd.DataFrame(xtest2)

model.predict(tf.keras.layers.Reshape((28, 28, 1))(x))

Другие вопросы по теме