Как нам увеличить дерево Tensorflow для задачи классификации изображений? - PullRequest
0 голосов
/ 19 сентября 2019

Я делал классификацию изображений с использованием моделей CNN.Я хотел бы попробовать классификацию изображений с использованием моделей дерева решений или повышенного дерева.Я нашел Tensorflow в качестве модели Boosted Tree, но я не могу понять, как передать изображение в качестве входных данных для модели.Если вы знаете, как обучать классификации изображений с использованием дерева tf.boosted , пожалуйста, наставляйте меня.

1 Ответ

0 голосов
/ 19 сентября 2019

Самый простой способ - использовать вектор сглаженного изображения в качестве входных данных.Вы можете использовать следующий пример кода, который я протестировал с набором данных mnist (модифицирован для 2 класса).Обратите внимание, что текущая реализация тензорного потока BoostedTreesClassifier не поддерживает сокращение для классификатора мультикласса.

import tensorflow as tf

tf.enable_eager_execution()

mnist = tf.keras.datasets.mnist

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

for i in range(len(y_train)):
    if y_train[i] is not 0:
        y_train[i] = 1

for i in range(len(y_test)):
    if y_test[i] is not 0:
        y_test[i] = 1

NUM_FEATURES = 28*28

train_input_fn = tf.estimator.inputs.numpy_input_fn({'x': x_train.reshape(-1,NUM_FEATURES)}, y_train, batch_size=128, num_epochs=5, shuffle=True)
eval_input_fn = tf.estimator.inputs.numpy_input_fn({'x': x_test.reshape(-1,NUM_FEATURES)}, y_test, batch_size=128, num_epochs=1, shuffle=False)

features = [tf.feature_column.numeric_column("x", shape=(NUM_FEATURES,))]

est = tf.estimator.BoostedTreesClassifier(features, n_batches_per_layer=1)
est.train(train_input_fn)
results = est.evaluate(eval_input_fn)
print('Accuracy : ', results['accuracy'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...