Spec-Zone.ru › TensorFlow 1.15

tf.estimator.BoostedTreesEstimator

Просмотреть исходный код на GitHub

Эстиматор для моделей Tensorflow Boosted Trees.

Просмотр псевдонимов

Псевдонимы для миграции

См. Руководство по миграции для получения дополнительных сведений.

tf.compat.v1.estimator.BoostedTreesEstimator, `tf.compat.v2.estimator.BoostedTreesEstimator`

tf.estimator.BoostedTreesEstimator(
    feature_columns, n_batches_per_layer, head, model_dir=None, weight_column=None,
    n_trees=100, max_depth=6, learning_rate=0.1, l1_regularization=0.0,
    l2_regularization=0.0, tree_complexity=0.0, min_node_weight=0.0, config=None,
    center_bias=False, pruning_mode='none', quantile_sketch_epsilon=0.01
)
Аргументы
feature_columns Итерируемый объект, содержащий все используемые моделью столбцы признаков. Все элементы набора должны быть экземплярами классов, производных от FeatureColumn.
n_batches_per_layer количество батчей для сбора статистики на каждом слое.
head экземпляр Head для эстиматора.
model_dir Директория для сохранения параметров модели, графа и т. д. Также может использоваться для загрузки контрольных точек из директории в эстиматор для продолжения обучения ранее сохранённой модели.
weight_column Строка или объект _NumericColumn, созданный функцией tf.feature_column.numeric_column, определяющий столбец признаков, представляющий веса. Он используется для уменьшения или увеличения весов примеров во время обучения. Он будет умножен на потерю примера. Если это строка, она используется как ключ для извлечения тензора весов из features. Если это объект _NumericColumn, сырой тензор извлекается по ключу weight_column.key, а затем к нему применяется функция weight_column.normalizer_fn, чтобы получить тензор весов.
n_trees количество деревьев, которые нужно создать.
max_depth максимальная глубина растущего дерева.
learning_rate параметр сжатия, используемый при добавлении дерева в модель.
l1_regularization множитель регуляризации, применяемый к абсолютным весам узлов дерева.
l2_regularization множитель регуляризации, применяемый к квадратным весам узлов дерева.
tree_complexity множитель регуляризации для штрафа за большее количество листьев в дереве.
min_node_weight минимальное значение гессиана, которое должен иметь узел для рассмотрения разделения. Значение будет сравниваться с суммой(leaf_hessian) / (размер_батча * n_батчей_на_слой).
config объект RunConfig для настройки параметров выполнения.
center_bias Требуется ли центрирование смещения. Центрирование смещения относится к первому узлу в самом первом дереве, возвращающему прогноз, который согласован с исходным распределением меток. Например, для задач регрессии первый узел вернёт среднее значение меток. Для задач бинарной классификации он вернёт логит для априорной вероятности метки 1.
pruning_mode одно из 'none', 'pre', 'post', указывающее отсутствие обрезки, обрезку до построения (не разделять узел, если не наблюдается достаточного прироста) и обрезку после построения (построить дерево до максимальной глубины, а затем обрезать ветви с отрицательным приростом). Для обрезки до и после построения необходимо указать tree_complexity > 0.
quantile_sketch_epsilon число с плавающей точкой от 0 до 1. Граница ошибки для вычисления квантиля. Используется только для столбцов признаков с плавающей точкой, и количество создаваемых бинов на признак с плавающей точкой равно 1/quantile_sketch_epsilon.
Исключения
ValueError при ошибочных аргументах или запросе неподдерживаемых функций.
Атрибуты
config
model_dir
model_fn Возвращает model_fn, привязанный к self.params.
params

Методы

eval_dir

Просмотреть исходный код

eval_dir(
    name=None
)

Отображает имя директории, куда записываются метрики оценки.

Аргументы
name Имя оценки, если пользователю необходимо выполнить несколько оценок на разных наборах данных, например, на обучающих и тестовых данных. Метрики для различных оценок сохраняются в отдельных папках и отображаются отдельно в TensorBoard.
Возвращаемое значение
Строка, представляющая путь к директории, содержащей метрики оценки.

evaluate

Просмотреть исходный код

evaluate(
    input_fn, steps=None, hooks=None, checkpoint_path=None, name=None
)

Оценивает модель на заданных данных для оценки input_fn.

На каждом шаге вызывается input_fn, который возвращает одну партию данных. Оценивает до:

  • steps обработанных батчей, или
  • input_fn генерирует исключение конца ввода (tf.errors.OutOfRangeError или StopIteration).
Аргументы
input_fn Функция, которая строит входные данные для оценки. См. Предопределённые эстиматоры для получения дополнительной информации. Функция должна создать и вернуть один из следующих элементов: * Объект tf.data.Dataset: Выходные данные объекта Dataset должны быть кортежем (features, labels) с теми же ограничениями, что и ниже. * Кортеж (features, labels): где features — это tf.Tensor или словарь имен признаков в виде строк к Tensor, и labels — это Tensor или словарь имен меток в виде строк к Tensor. Оба features и labels потребляются функцией model_fn. Они должны соответствовать ожиданиям model_fn от входных данных.
steps Количество шагов для оценки модели. Если None, оценивает до тех пор, пока input_fn не сгенерирует исключение конца ввода.
hooks Список экземпляров подклассов tf.train.SessionRunHook. Используется для обратных вызовов внутри вызова оценки.
checkpoint_path Путь к конкретной контрольной точке для оценки. Если None, используется последняя контрольная точка в model_dir. Если в model_dir нет контрольных точек, оценка выполняется с новыми инициализированными Variables вместо восстановленных из контрольной точки.
name Имя оценки, если пользователю необходимо выполнить несколько оценок на разных наборах данных, например, на обучающих и тестовых данных. Метрики для различных оценок сохраняются в отдельных папках и отображаются отдельно в TensorBoard.
Возвращаемое значение
Словарь, содержащий метрики оценки, указанные в model_fn, с ключами по имени, а также запись global_step, которая содержит значение глобального шага, для которого была выполнена эта оценка. Для предопределённых эстиматоров словарь содержит loss (средняя потеря на мини-батче) и average_loss (средняя потеря на образец). Предопределённые классификаторы также возвращают accuracy. Предопределённые регрессоры также возвращают label/mean и prediction/mean .
Исключения
ValueError Если steps <= 0.

experimental_export_all_saved_models

Просмотреть исходный код

experimental_export_all_saved_models(
    export_dir_base, input_receiver_fn_map, assets_extra=None, as_text=False,
    checkpoint_path=None
)

Экспортирует SavedModel с tf.MetaGraphDefs для каждого запрошенного режима.

Для каждого режима, переданного в input_receiver_fn_map, этот метод строит новую граф, вызывая input_receiver_fn для получения признаков и меток Tensor. Затем этот метод вызывает Estimator в переданном режиме для генерации графа модели на основе этих признаков и меток и восстанавливает заданную контрольную точку (или, при её отсутствии, последнюю контрольную точку) в графе. Только один из режимов используется для сохранения переменных в SavedModel (порядок предпочтения: tf.estimator.ModeKeys.TRAIN, tf.estimator.ModeKeys.EVAL, затем tf.estimator.ModeKeys.PREDICT), так что до трёх tf.MetaGraphDefs сохраняются с одним набором переменных в одной директории SavedModel.

Для переменных и tf.MetaGraphDefs, создаётся временная директория экспорта под export_dir_base, и записывается SavedModel в неё, содержащий tf.MetaGraphDef для заданного режима и связанных сигнатур.

Для предсказания экспортированный MetaGraphDef предоставит по одному SignatureDef для каждого элемента словаря export_outputs , возвращенного функцией model_fn, используя те же ключи. Одним из этих ключей всегда является tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY, указывающий, какая подпись будет использоваться, когда запрос об обслуживании не указывает её. Для каждой подписи выходные данные предоставляются соответствующими tf.estimator.export.ExportOutputs, а входные данные всегда являются приемниками ввода, предоставленными serving_input_receiver_fn.

Для обучения и оценки train_op хранится в дополнительной коллекции, а потеря, метрики и прогнозы включаются в SignatureDef для соответствующего режима.

END_OF_DOCUMENT_MARKER

Дополнительные ресурсы могут быть записаны в SavedModel с помощью аргумента assets_extra. Это должен быть словарь, где каждый ключ указывает путь назначения (включая имя файла) относительно директории assets.extra. Соответствующее значение указывает полный путь исходного файла, который нужно скопировать. Например, простой случай копирования одного файла без переименования задаётся как {'my_asset_file.txt': '/path/to/my_asset_file.txt'}.

Аргументы
export_dir_base Строка, содержащая директорию, в которой нужно создать поддиректории с отметками времени, содержащие экспортированные SavedModel.
input_receiver_fn_map Словарь сопоставлений tf.estimator.ModeKeys к input_receiver_fn. Где input_receiver_fn — функция без аргументов, возвращающая соответствующий подкласс InputReceiver.
assets_extra Словарь, определяющий, как заполнить директорию assets.extra в экспортированном SavedModel, или None если дополнительные ресурсы не нужны.
as_text Нужно ли записать прото SavedModel в текстовом формате.
checkpoint_path Путь к контрольной точке для экспорта. Если None (по умолчанию), выбирается самая последняя контрольная точка, найденная в директории модели.
Возвращаемое значение
Строковый путь к экспортированной директории.
Исключения
ValueError если какой-либо input_receiver_fn является None, не предоставлены export_outputs или не найдена контрольная точка.

experimental_feature_importances

Посмотреть исходный код

experimental_feature_importances(
    normalize=False
)

Вычисляет важности признаков на основе приростов.

Чем выше значение, тем важнее соответствующий признак.

Аргументы
normalize Если True, нормализует важности признаков.
Возвращаемое значение
feature_importances словарь OrderedDict, где ключи — имена столбцов признаков, а значения — важности. Он отсортирован по важности.
Исключения
ValueError При попытке нормализации на пустом ансамбле или ансамбле деревьев, у которых нет разбиений. Или при попытке нормализации, когда важности признаков имеют отрицательные значения.

experimental_predict_with_explanations

Посмотреть исходный код

experimental_predict_with_explanations(
    input_fn, predict_keys=None, hooks=None, checkpoint_path=None
)

Вычисляет объяснения модели на пример в совокупности с прогнозами.

В настоящее время поддерживаются направленные вклады признаков (DFC). Для каждого экземпляра DFC показывают совокупный вклад каждого признака. Смотрите https://arxiv.org/abs/1312.1121 и http://blog.datadive.net/interpreting-random-forests/ для получения более подробной информации.

Аргументы
input_fn Функция, которая предоставляет входные данные для прогнозирования в виде мини-пакетов. Смотрите Предопределенные оценщики для получения более подробной информации. Функция должна создавать и возвращать один из следующих вариантов:
  • Объект tf.data.Dataset: Выходы объекта Dataset должны быть кортежем (features, labels) с теми же ограничениями, что и ниже.
  • Кортеж (features, labels): Где features является tf.Tensor или словарем со строковым именем признака и Tensor, а labels является Tensor или словарем со строковым именем метки и Tensor. И features и labels потребляются model_fn. Они должны удовлетворять ожиданию model_fn от входов.
predict_keys Список str, имена ключей для прогнозирования. Используется, если tf.estimator.EstimatorSpec.predictions является dict. Если predict_keys используется, остальные прогнозы будут отфильтрованы из словаря, за исключением 'bias' и 'dfc', которые всегда будут в словаре. Если None, возвращает все ключи в словаре прогнозов, а также два новых ключа 'dfc' и 'bias'.
hooks Список экземпляров подкласса tf.train.SessionRunHook. Используется для обратных вызовов внутри вызова прогноза.
checkpoint_path Путь к определённой контрольной точке для прогнозирования. Если None, используется последняя контрольная точка в model_dir. Если контрольных точек в model_dir нет, прогноз выполняется с вновь инициализированными Variables вместо восстановленных из контрольной точки.

Выходные данные:

Вычисленные значения тензоров predictions. Тензоры predictions будут содержать, как минимум, два ключа 'dfc' и 'bias' для объяснений модели. Значение dfc соответствует вкладу каждого признака в общий прогноз для этого экземпляра (положительное значение означает, что признак делает более вероятным выбор класса 1, а отрицательное — менее вероятным). Значение dfc — словарь OrderedDict, где ключи — имена столбцов признаков, а значения — вклады. Он отсортирован по абсолютному значению вклада (например, OrderedDict([('возраст', -0.54), ('пол', 0.4), ('тариф', 0.21)])). Значение 'bias' будет одинаковым для всех экземпляров, соответствуя вероятности (классификация) или прогнозу (регрессия) распределения обучающих данных.

Исключения
ValueError при передаче неправильных аргументов или запросе недоступных функций.

export_saved_model

Посмотреть исходный код

export_saved_model(
    export_dir_base, serving_input_receiver_fn, assets_extra=None, as_text=False,
    checkpoint_path=None, experimental_mode=ModeKeys.PREDICT
)

Экспортирует граф вывода как SavedModel в указанную директорию.

Подробное руководство см. в Использование SavedModel с оценщиками.

Этот метод строит новую граф, сначала вызвав serving_input_receiver_fn для получения признаков Tensor, а затем вызвав Estimator's model_fn для создания графа модели на основе этих признаков. Он восстанавливает заданную контрольную точку (или, если её нет, самую последнюю контрольную точку) в эту граф в свежем сеансе. Наконец, он создаёт временную директорию экспорта ниже указанной export_dir_base, и записывает в неё SavedModel содержащий один сохранённый из этого сеанса tf.MetaGraphDef.

Экспортированный MetaGraphDef предоставит один SignatureDef для каждого элемента словаря export_outputs, возвращаемого из model_fn, используя те же ключи. Один из этих ключей всегда tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY, указывающий на то, какая сигнатура будет обслуживаться, когда запрос обслуживания не указывает её. Для каждой сигнатуры выходы предоставляются соответствующими tf.estimator.export.ExportOutputами, а входы всегда — входными приемниками, предоставленными serving_input_receiver_fn.

Дополнительные ресурсы могут быть записаны в SavedModel с помощью аргумента assets_extra. Это должен быть словарь, где каждый ключ указывает путь назначения (включая имя файла) относительно директории assets.extra. Соответствующее значение указывает полный путь исходного файла, который нужно скопировать. Например, простой случай копирования одного файла без переименования задаётся как {'my_asset_file.txt': '/path/to/my_asset_file.txt'}.

Экспериментальный параметр experimental_mode может быть использован для экспорта одного графа обучения/валидации/прогнозирования как SavedModel. Смотрите experimental_export_all_saved_models для полного документации.

Аргументы
export_dir_base Строка, содержащая директорию, в которой нужно создать поддиректории с отметками времени, содержащие экспортированные SavedModel.
serving_input_receiver_fn Функция без аргументов, возвращающая tf.estimator.export.ServingInputReceiver или tf.estimator.export.TensorServingInputReceiver.
assets_extra Словарь, определяющий, как заполнить директорию assets.extra в экспортированном SavedModel, или None если дополнительные ресурсы не нужны.
as_text Нужно ли записать прото SavedModel в текстовом формате.
checkpoint_path Путь к контрольной точке для экспорта. Если None (по умолчанию), выбирается самая последняя контрольная точка, найденная в директории модели.
experimental_mode значение tf.estimator.ModeKeys, указывающее, в каком режиме будет производиться экспорт. Обратите внимание, что эта функция является экспериментальной.
Возвращаемое значение
Строковый путь к экспортированной директории.
Исключения
ValueError если не предоставлен serving_input_receiver_fn, не предоставлены export_outputs или не найдена контрольная точка.

export_savedmodel

Посмотреть исходный код

export_savedmodel(
    export_dir_base, serving_input_receiver_fn, assets_extra=None, as_text=False,
    checkpoint_path=None, strip_default_attrs=False
)

Экспортирует граф вывода как SavedModel в указанную директорию. (устарело)

Предупреждение: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена в будущей версии. Инструкции по обновлению: переименуйте эту функцию, используйте export_saved_model вместо неё.

Для подробного руководства см. Использование SavedModel с Estimators.

Этот метод строит новую графу, сначала вызвав serving_input_receiver_fn, чтобы получить признаки Tensor, а затем вызвав у этого Estimator метод model_fn, чтобы сгенерировать графу модели на основе этих признаков. Он восстанавливает заданный контрольный пункт (или, если его нет, самый недавний контрольный пункт) в эту графу в новой сессии. Наконец, он создаёт каталог экспорта с отметкой времени ниже указанного export_dir_base, и записывает в него SavedModel, содержащий один tf.MetaGraphDef, сохранённый из этой сессии.

Экспортированный MetaGraphDef будет предоставлять по одному SignatureDef для каждого элемента словаря export_outputs, возвращаемого функцией model_fn, с использованием тех же ключей. Один из этих ключей всегда tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY, указывающий, какая сигнатура будет использоваться при запросе обслуживания, если не указана другая. Для каждой сигнатуры выходные данные предоставляются соответствующими tf.estimator.export.ExportOutput, а входные данные всегда являются получателями ввода, предоставленными serving_input_receiver_fn.

Дополнительные ресурсы могут быть записаны в SavedModel через аргумент assets_extra. Это должен быть словарь, где каждый ключ задаёт путь назначения (включая имя файла) относительно каталога assets.extra. Соответствующее значение — полный путь исходного файла, который необходимо скопировать. Например, простой случай копирования одного файла без переименования задаётся как {'my_asset_file.txt': '/path/to/my_asset_file.txt'}.

Аргументы
export_dir_base Строка, содержащая каталог, в котором нужно создать подкаталоги с отметкой времени, содержащие экспортированные SavedModels.
serving_input_receiver_fn Функция, которая не принимает аргументов и возвращает tf.estimator.export.ServingInputReceiver или tf.estimator.export.TensorServingInputReceiver.
assets_extra Словарь, определяющий, как заполнить каталог assets.extra в экспортированном SavedModel, или None, если дополнительные ресурсы не нужны.
as_text Нужно ли записывать прото SavedModel в текстовом формате.
checkpoint_path Путь к контрольному пункту для экспорта. Если None (по умолчанию), выбирается самый недавний контрольный пункт, найденный в каталоге модели.
strip_default_attrs Логическое значение. Если True, атрибуты со значениями по умолчанию будут удалены из NodeDefs. Для подробного руководства см. Удаление атрибутов со значениями по умолчанию.
Возвращает
Путь к экспортированному каталогу.
Возможные исключения
ValueError если не указан serving_input_receiver_fn, не указаны export_outputs, или контрольный пункт не найден.

get_variable_names

Просмотреть исходный код

get_variable_names()

Возвращает список всех имён переменных в этой модели.

Возвращает
Список имён.
Возможные исключения
ValueError Если модель ещё не создала контрольный пункт.

get_variable_value

Просмотреть исходный код

get_variable_value(
    name
)

Возвращает значение переменной, заданной по имени.

Аргументы
name Строка или список строк, имя тензора.
Возвращает
Массив NumPy — значение тензора.
Возможные исключения
ValueError Если модель ещё не создала контрольный пункт.

latest_checkpoint

Просмотреть исходный код

latest_checkpoint()

Находит имя файла последнего сохранённого контрольного пункта в model_dir.

Возвращает
Полный путь к последнему контрольному пункту или None если контрольный пункт не был найден.

predict

Просмотреть исходный код

predict(
    input_fn, predict_keys=None, hooks=None, checkpoint_path=None,
    yield_single_examples=True
)

Возвращает предсказания для заданных признаков.

Обратите внимание, что чередование двух результатов предсказания не работает. См.: issue/20506

Аргументы
input_fn Функция, которая строит признаки. Предсказание продолжается до тех пор, пока input_fn не возбудит исключение конца ввода (tf.errors.OutOfRangeError или StopIteration). См. Предопределённые Estimators для получения дополнительной информации. Функция должна строить и возвращать один из следующих вариантов:
  • Объект tf.data.Dataset: Выходные данные объекта Dataset должны удовлетворять тем же ограничениям, что и ниже.
  • Признаки: тензор tf.Tensor или словарь, сопоставляющий имя признака (строка) с Tensor. Признаки потребляются model_fn. Они должны соответствовать ожиданиям model_fn от входных данных.
  • Кортеж, в этом случае извлекается первый элемент в качестве признаков.
predict_keys Список str, имя ключей для предсказания. Используется, если tf.estimator.EstimatorSpec.predictions является dict. Если predict_keys используется, остальная часть предсказаний отфильтруется из словаря. Если None, возвращает все.
hooks Список экземпляров подкласса tf.train.SessionRunHook. Используется для обратных вызовов внутри вызова предсказания.
checkpoint_path Путь к конкретному контрольному пункту для предсказания. Если None, используется последний контрольный пункт в model_dir. Если в model_dir нет контрольных пунктов, предсказание выполняется с только что инициализированными Variables вместо тех, что восстановлены из контрольного пункта.
yield_single_examples Если False, возвращает всю партию, как возвращает model_fn, вместо разбиения партии на отдельные элементы. Это полезно, если model_fn возвращает некоторые тензоры, размер первой размерности которых не равен размеру партии.

Возвращает:

Вычисленные значения тензоров predictions.

Возможные исключения
ValueError Если длина партии предсказаний не совпадает и yield_single_examples является True.
ValueError Если есть конфликт между predict_keys и predictions. Например, если predict_keys не является None но tf.estimator.EstimatorSpec.predictions не является dict.

train

Просмотреть исходный код

train(
    input_fn, hooks=None, steps=None, max_steps=None, saving_listeners=None
)

Обучает модель с использованием обучающих данных input_fn.

Аргументы
input_fn Функция, предоставляющая входные данные для обучения в виде мини-пакетов. См. Предопределённые оценщики для получения дополнительной информации. Функция должна создавать и возвращать один из следующих объектов:
  • Объект tf.data.Dataset: Выходы объекта Dataset должны быть кортежем (features, labels) с теми же ограничениями, что и ниже.
  • Кортеж (features, labels): где features является tf.Tensor или словарем имен признаков типа string к Tensor, и labels является Tensor или словарем имен меток типа string к Tensor. Оба features и labels потребляются model_fn. Они должны соответствовать ожиданиям model_fn от входных данных.
hooks Список экземпляров подклассов tf.train.SessionRunHook. Используется для обратных вызовов внутри цикла обучения.
steps Количество шагов обучения модели. Если None, обучение продолжается бесконечно или до тех пор, пока input_fn не сгенерирует ошибку tf.errors.OutOfRange или исключение StopIteration. steps работает инкрементально. Если вы вызовете train(steps=10) дважды, то обучение будет происходить в общей сложности 20 шагов. Если произойдёт OutOfRange или StopIteration в середине процесса, обучение прекратится до достижения 20 шагов. Если вы не хотите инкрементального поведения, установите max_steps вместо него. Если установлено, max_steps должно быть None.
max_steps Общее количество шагов обучения модели. Если None, обучение продолжается бесконечно или до тех пор, пока input_fn не сгенерирует ошибку tf.errors.OutOfRange или исключение StopIteration. Если установлено, steps должно быть None. Если OutOfRange или StopIteration произойдёт в середине, обучение прекратится до достижения max_steps шагов. Два вызова train(steps=100) означают 200 итераций обучения. С другой стороны, два вызова train(max_steps=100) означают, что второй вызов не выполнит никаких итераций, поскольку первый вызов выполнил все 100 шагов.
saving_listeners Список объектов CheckpointSaverListener. Используется для обратных вызовов, выполняемых непосредственно перед или после сохранения контрольных точек.
Возвращает
self, для цепочки вызовов.
Возбуждает
ValueError Если оба steps и max_steps не являются None.
ValueError Если любой из steps или max_steps <= 0 является неверным.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/estimator/BoostedTreesEstimator

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API