MNIST - tf.estimator.DNNClassifier - PullRequest
       1

MNIST - tf.estimator.DNNClassifier

0 голосов
/ 05 февраля 2019

Я пытаюсь использовать DNNClassifier для решения MNIST с выводом быстрого кодирования.

Однако возникает ошибка

"ValueError: Несоответствующая форма метки. Классификатор сконфигурирован с n_classes = 1. Получено 10. Предлагаемое исправление: проверьте аргумент n_classes в оценщике и/ или форма вашего ярлыка. "

Я знаю, что подобный вопрос, возможно, задавался раньше, но есть ли какой-то новый способ, которым я мог бы решить это, если я действительно хочу вывод с горячим кодированием сDNNClassifier?спасибо

import numpy as np
import keras
import tensorflow as tf
from keras.datasets import mnist
# the data is split between train and test sets
(x_train, y_train), (x_test, y_test) = mnist.load_data()

#convert the single output label to 10 output label
y_train = keras.utils.to_categorical(y_train, 10)
y_test = keras.utils.to_categorical(y_test, 10)
    classifier = tf.estimator.DNNClassifier(
        feature_columns=[tf.feature_column.numeric_column("x", shape=[28, 28])],
    hidden_units=[10],
    optimizer=tf.train.AdamOptimizer(learning_rate=0.001),
    n_classes=10,
)

# Define the training inputs
train_input_fn = tf.estimator.inputs.numpy_input_fn(
    x={"x": x_train},
    y=y_train,
    num_epochs=None,
    batch_size=50,
    shuffle=True,
)

classifier.train(input_fn=train_input_fn, steps=100000)

# Define the test inputs
test_input_fn = tf.estimator.inputs.numpy_input_fn(
    x={"x": x_test},
    y=y_test,
    num_epochs=1,
    shuffle=False
)

# Evaluate accuracy
accuracy_score = classifier.evaluate(input_fn=test_input_fn)["accuracy"]
print("\nTest Accuracy: {0:f}%\n".format(accuracy_score*100))

1 Ответ

0 голосов
/ 05 февраля 2019

Попробуйте следующий код (в numpy_input_fn вызове функции)

y=y_train.astype(np.int32),

вместо

y=y_train,

Также закомментируйте to_categorical вызов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...