0

我有 BoostedTreesClassifier 的代码,它可以工作,但需要很长时间才能处理我提供的数据量和我选择的参数,即 max_depth https://www.tensorflow.org/api_docs/python/tf/estimator /BoostedTreesClassifier

我正在尝试在 Colab 中使用带有 TPU 的 BoostedTreesClassifier 估计器,使用 TPUEstimator https://www.tensorflow.org/api_docs/python/tf/contrib/tpu/TPUEstimator

TPUEstimator 是否可以使用 BoostedTreesClassifier?我看到只有神经网络可以与 Estimator/TPUEstimator https://www.tensorflow.org/guide/using_tpu一起使用

让 BoostedTreesClassifier 与 Colab TPU 一起工作的正确方法是什么?

tpu_estimator = tf.contrib.tpu.TPUEstimator(
    model_fn=model_fn,
    config=my_tpu_run_config,
    train_batch_size=100,
    use_tpu=True)
4

1 回答 1

0

我认为使用 TPUStrategy 是正确的方法,但由于某种原因,它仍然需要很长时间。

import pandas as pd
import numpy as np
import tensorflow as tf
print(tf.__version__)


resolver = tf.distribute.cluster_resolver.TPUClusterResolver()
tf.tpu.experimental.initialize_tpu_system(resolver)
tpu_strategy = tf.distribute.experimental.TPUStrategy(resolver)

with tpu_strategy.scope():
  model = tf.estimator.BoostedTreesClassifier(
      feature_columns=attibute_columns,
      n_batches_per_layer=10,
      center_bias=True,
      n_trees=100,
      max_depth=20,
      pruning_mode='post',
      tree_complexity=0.1)

model.train(input_fn=train_input_fn)
results = model.evaluate(eval_input_fn)
print(results)
于 2019-06-24T20:38:23.390 回答