Spec-Zone.ru › TensorFlow 1.15

tf.contrib.learn.DNNLinearCombinedClassifier

Классификатор для моделей TensorFlow Linear и DNN объединённого обучения.

Наследуется от: Estimator

tf.contrib.learn.DNNLinearCombinedClassifier(
    model_dir=None, n_classes=2, weight_column_name=None,
    linear_feature_columns=None, linear_optimizer=None, _joint_linear_weights=False,
    dnn_feature_columns=None, dnn_optimizer=None, dnn_hidden_units=None,
    dnn_activation_fn=tf.nn.relu, dnn_dropout=None, gradient_clip_norm=None,
    enable_centered_bias=False, config=None, feature_engineering_fn=None,
    embedding_lr_multipliers=None, input_layer_min_slice_size=None, label_keys=None,
    fix_global_step_increment_bug=False
)

ЭТОТ КЛАСС УСТАНОВЛЕН КАК УСТАРЕВШИЙ. Обратитесь к contrib/learn/README.md для общих инструкций по миграции.

Примечание: Новые пользователи должны установить fix_global_step_increment_bug=True при создании оценщика.

Пример:

sparse_feature_a = sparse_column_with_hash_bucket(...)
sparse_feature_b = sparse_column_with_hash_bucket(...)

sparse_feature_a_x_sparse_feature_b = crossed_column(...)

sparse_feature_a_emb = embedding_column(sparse_id_column=sparse_feature_a,
                                        ...)
sparse_feature_b_emb = embedding_column(sparse_id_column=sparse_feature_b,
                                        ...)

estimator = DNNLinearCombinedClassifier(
    # common settings
    n_classes=n_classes,
    weight_column_name=weight_column_name,
    # wide settings
    linear_feature_columns=[sparse_feature_a_x_sparse_feature_b],
    linear_optimizer=tf.compat.v1.train.FtrlOptimizer(...),
    # deep settings
    dnn_feature_columns=[sparse_feature_a_emb, sparse_feature_b_emb],
    dnn_hidden_units=[1000, 500, 100],
    dnn_optimizer=tf.compat.v1.train.AdagradOptimizer(...))

# Input builders
def input_fn_train: # returns x, y (where y represents label's class index).
  ...
def input_fn_eval: # returns x, y (where y represents label's class index).
  ...
def input_fn_predict: # returns x, None.
  ...
estimator.fit(input_fn=input_fn_train)
estimator.evaluate(input_fn=input_fn_eval)
# predict_classes returns class indices.
estimator.predict_classes(input_fn=input_fn_predict)

Если пользователь указывает label_keys в конструкторе, метки должны быть строками из label_keys словаря. Пример:

label_keys = ['label0', 'label1', 'label2']
estimator = DNNLinearCombinedClassifier(
    n_classes=n_classes,
    linear_feature_columns=[sparse_feature_a_x_sparse_feature_b],
    dnn_feature_columns=[sparse_feature_a_emb, sparse_feature_b_emb],
    dnn_hidden_units=[1000, 500, 100],
    label_keys=label_keys)

def input_fn_train: # returns x, y (where y is one of label_keys).
  pass
estimator.fit(input_fn=input_fn_train)

def input_fn_eval: # returns x, y (where y is one of label_keys).
  pass
estimator.evaluate(input_fn=input_fn_eval)
def input_fn_predict: # returns x, None
# predict_classes returns one of label_keys.
estimator.predict_classes(input_fn=input_fn_predict)

Входные данные fit и evaluate должны иметь следующие характеристики, в противном случае возникнет KeyError:

  • если weight_column_name не None, признак с key=weight_column_name, значение которого является Tensor.
  • для каждого column в dnn_feature_columns + linear_feature_columns:
    • если column является SparseColumn, признак с key=column.name, значение которого является SparseTensor.
    • если column является WeightedSparseColumn, два признака: первый с key именем столбца id, второй с key именем столбца веса. Значения обоих признаков должны быть SparseTensor.
    • если column является RealValuedColumn, a feature withkey=column.namewhosevalueis aTensor`.
Аргументы
model_dir Директория для сохранения параметров модели, графа и т. д. Это также можно использовать для загрузки контрольных точек из директории в оценщик для продолжения обучения ранее сохранённой модели.
n_classes Количество классов меток. По умолчанию используется бинарная классификация. Обратите внимание, что метки классов являются целыми числами, представляющими индекс класса (т. е. значения от 0 до n_classes-1). Для произвольных значений меток (например, строковых меток) сначала преобразуйте их в индексы классов.
weight_column_name Строка, определяющая имя столбца признака, представляющего веса. Используется для уменьшения или увеличения весов примеров во время обучения. Он будет умножаться на потерю примера.
linear_feature_columns Итерируемый объект, содержащий все столбцы признаков, используемые линейной частью модели. Все элементы набора должны быть экземплярами классов, производных от FeatureColumn.
linear_optimizer Экземпляр tf.Optimizer для применения градиентов к линейной части модели. Если None, будет использоваться оптимизатор FTRL.
_joint_linear_weights Если True, для хранения весов линейной модели будет использоваться одна (возможно, разнесённая) переменная. Это быстрее, но требует, чтобы все столбцы были разреженными и имели объединитель 'sum'.
dnn_feature_columns Итерируемый объект, содержащий все столбцы признаков, используемые глубокой частью модели. Все элементы набора должны быть экземплярами классов, производных от FeatureColumn.
dnn_optimizer Экземпляр tf.Optimizer для применения градиентов к глубокой части модели. Если None, будет использоваться оптимизатор Adagrad.
dnn_hidden_units Список скрытых узлов на слой. Все слои являются полностью связанными.
dnn_activation_fn Функция активации, применяемая к каждому слою. Если None, будет использоваться tf.nn.relu.
dnn_dropout Если не равно None, вероятность того, что данный координат будет пропущен.
gradient_clip_norm Вещественное число > 0. Если задано, градиенты обрезаются до их глобальной нормы с этим коэффициентом обрезки. Подробнее см. tf.clip_by_global_norm.
enable_centered_bias Булево значение. Если True, оценщик обучит смещённую переменную для каждого класса. Остальная часть модели будет обучать остаток после центральной смещения.
config Объект RunConfig для настройки параметров выполнения.
feature_engineering_fn Функция обработки признаков. Принимает признаки и метки, которые являются результатом input_fn, и возвращает признаки и метки, которые будут поданы в модель.
embedding_lr_multipliers Необязательно. Словарь из EmbeddingColumn к множителю float. Множитель будет использоваться для умножения на скорость обучения для переменных вложения.
input_layer_min_slice_size Необязательно. Минимальный размер разбиения входного слоя. Если не указано, будет использовано значение по умолчанию 64 МБ.
label_keys Необязательный список строк с размером [n_classes], определяющий словарь меток. Поддерживается только для n_classes > 2.
fix_global_step_increment_bug Если False, оценщик нуждается в двух шагах подгонки для оптимизации линейной и dnn частей. Если True, эта ошибка исправлена. Новые пользователи должны установить это значение в True, но значение по умолчанию составляет False для обратной совместимости.
Исключения
ValueError Если n_classes < 2.
ValueError Если оба linear_feature_columns и dnn_features_columns пусты одновременно.
Атрибуты
config
model_dir Возвращает путь, в котором процесс оценки будет искать контрольные точки.
model_fn Возвращает model_fn, привязанный к self.params.

Методы

evaluate

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

evaluate(
    x=None, y=None, input_fn=None, feed_fn=None, batch_size=None, steps=None,
    metrics=None, name=None, checkpoint_path=None, hooks=None, log_progress=True
)

См. Evaluable. (устаревшие аргументы)

Предупреждение: НЕКОТОРЫЕ АРГУМЕНТЫ УСТАНОВЛЕНЫ КАК УСТАРЕВШИЕ: (batch_size, x, y). Они будут удалены после 2016-12-01. Инструкции по обновлению: Estimator отвязан от интерфейса Scikit Learn, переместив в отдельный класс SKCompat. Аргументы x, y и batch_size доступны только в классе SKCompat, Estimator будет принимать только input_fn. Пример преобразования: est = Estimator(...) -> est = SKCompat(Estimator(...))
Исключения
ValueError Если по крайней мере один из x или y указан, и по крайней мере один из input_fn или feed_fn указан. Или если metrics не None или dict.

export

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

export(
    export_dir, input_fn=None, input_feature_key=None, use_deprecated_input_fn=True,
    signature_fn=None, default_batch_size=1, exports_to_keep=None
)

См. BasEstimator.export. (устарело)

Предупреждение: ЭТА ФУНКЦИЯ УСТАНОВЛЕНА КАК УСТАРЕВШАЯ. Она будет удалена после 2017-03-25. Инструкции по обновлению: Пожалуйста, используйте Estimator.export_savedmodel() вместо этого.

export_savedmodel

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

export_savedmodel(
    export_dir_base, serving_input_fn, default_output_alternative_key=None,
    assets_extra=None, as_text=False, checkpoint_path=None,
    graph_rewrite_specs=(GraphRewriteSpec((tag_constants.SERVING,), ()),),
    strip_default_attrs=False
)

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

Аргументы
export_dir_base Строка, содержащая директорию для записи экспортированного графа и контрольных точек.
serving_input_fn Функция, которая не принимает аргументов и возвращает InputFnOps.
default_output_alternative_key Имя головы для обслуживания, если не указано. Не нужно для моделей с одной головой.
assets_extra Словарь, определяющий, как заполнить директорию assets.extra в экспортированном SavedModel. Каждый ключ должен указать путь назначения (включая имя файла) относительно директории assets.extra. Соответствующее значение даёт полный путь к исходному файлу, который будет скопирован. Например, простой случай копирования одного файла без переименования задаётся как {'my_asset_file.txt': '/path/to/my_asset_file.txt'}.
as_text требуется ли запись протокола SavedModel в текстовом формате.
checkpoint_path Путь к контрольной точке для экспорта. Если None (по умолчанию), выбирается самая последняя контрольная точка, найденная в директории модели.
graph_rewrite_specs Итерируемый объект GraphRewriteSpec. Каждый элемент будет создавать отдельный MetaGraphDef в экспортированном SavedModel, помеченный и переписанный, как указано. По умолчанию используется один элемент с использованием служебной метки по умолчанию ("serve") и без переписывания.
strip_default_attrs Булево значение. Если True, атрибуты со значениями по умолчанию будут удалены из NodeDefs. Для подробного руководства см. Удаление атрибутов со значениями по умолчанию.
Возвращаемые значения
Строка, содержащая путь к экспортированной директории.
Исключения
ValueError если запрашивается неизвестный тип экспорта.

fit

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

fit(
    x=None, y=None, input_fn=None, steps=None, batch_size=None, monitors=None,
    max_steps=None
)

См. Trainable. (устаревшие аргументы)

Предупреждение: НЕКОТОРЫЕ АРГУМЕНТЫ УСТРЕПАЛИ: (batch_size, x, y). Они будут удалены после 2016-12-01. Инструкции по обновлению: Estimator отвязан от интерфейса Scikit Learn, переместившись в отдельный класс SKCompat. Аргументы x, y и batch_size доступны только в классе SKCompat, Estimator будет принимать только input_fn. Пример преобразования: est = Estimator(...) -> est = SKCompat(Estimator(...))
Исключения
ValueError Если x или y не None в то время как input_fn не None.
ValueError Если оба steps и max_steps не None.

get_params

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

get_params(
    deep=True
)

Получить параметры для этого оценщика.

Аргументы
deep boolean, необязательно

Если True, вернёт параметры для этого оценщика и содержащихся под-объектов, являющихся оценщиками.

Возвращает
params отображение строки на любой Параметры имен, сопоставленные с их значениями.

get_variable_names

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

get_variable_names()

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

Возвращает
Список имён.

get_variable_value

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

get_variable_value(
    name
)

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

Аргументы
name строка, имя тензора.
Возвращает
Массив NumPy - значение тензора.

partial_fit

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

partial_fit(
    x=None, y=None, input_fn=None, steps=1, batch_size=None, monitors=None
)

Инкрементное обучение на наборе выборок. (устаревшие аргументы)

Предупреждение: НЕКОТОРЫЕ АРГУМЕНТЫ УСТРЕПАЛИ: (batch_size, x, y). Они будут удалены после 2016-12-01. Инструкции по обновлению: Estimator отвязан от интерфейса Scikit Learn, переместившись в отдельный класс SKCompat. Аргументы x, y и batch_size доступны только в классе SKCompat, Estimator будет принимать только input_fn. Пример преобразования: est = Estimator(...) -> est = SKCompat(Estimator(...))

Ожидается, что этот метод будет вызываться несколько раз последовательно на разных или одних и тех же кусках набора данных. Это может реализовать итеративное обучение или обучение вне памяти/онлайн.

Это особенно полезно, когда весь набор данных слишком большой, чтобы поместиться в памяти одновременно. Или когда модель долго сходится, и вы хотите разбить обучение на подчасти.

Аргументы
x Матрица формы [n_samples, n_features...]. Может быть итератором, возвращающим массивы признаков. Входные обучающие образцы для обучения модели. Если задано, input_fn должно быть None.
y Вектор или матрица [n_samples] или [n_samples, n_outputs]. Может быть итератором, возвращающим массив меток. Значения обучающих меток (метки классов в классификации, вещественные числа в регрессии). Если задано, input_fn должно быть None.
input_fn Функция ввода. Если задано, x, y, и batch_size должны быть None.
steps Количество шагов для обучения модели. Если None, тренироваться вечно.
batch_size размер минипакета для использования на входе, по умолчанию первое измерение x. Должно быть None если input_fn предоставлено.
monitors Список экземпляров подкласса BaseMonitor. Используется для обратных вызовов внутри цикла обучения.
Возвращает
self, для объединения.
Исключения
ValueError Если хотя бы одно из x и y предоставлено, и input_fn предоставлено.

predict

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

predict(
    x=None, input_fn=None, batch_size=None, outputs=None, as_iterable=True
)

Возвращает прогнозы для заданных признаков. (устаревшие значения аргументов) (устаревшие значения аргументов)

Предупреждение: НЕКОТОРЫЕ ЗНАЧЕНИЯ АРГУМЕНТОВ УСТРЕПАЛИ: (as_iterable=False). Они будут удалены после 2016-09-15. Инструкции по обновлению: Поведение predict() по умолчанию меняется. Значение по умолчанию для as_iterable изменится на True, а затем флаг будет полностью удалён. Поведение этого флага описано ниже.
Предупреждение: НЕКОТОРЫЕ ЗНАЧЕНИЯ АРГУМЕНТОВ УСТРЕПАЛИ: (outputs=None). Они будут удалены после 2017-03-01. Инструкции по обновлению: Переключитесь на predict_classes или установите аргумент outputs.

По умолчанию возвращает предсказанные классы. Но это значение по умолчанию скоро будет удалено. Пользователи должны либо передать outputs, либо вызвать метод predict_classes.

Аргументы
x признаки.
input_fn Функция ввода. Если задано, x должен быть None.
batch_size Переопределение размера пакета по умолчанию.
outputs список str, имя выходного значения для предсказания. Если None, возвращает классы.
as_iterable Если True, возвращает итерируемый объект, который продолжает генерировать прогнозы для каждого примера, пока входные данные не будут исчерпаны. Примечание: Входные данные должны завершиться, если вы хотите, чтобы итерируемый объект завершился (например, убедитесь, что передали num_epochs=1, если используете что-то вроде read_batch_features).
Возвращает
Массив NumPy предсказанных классов с формой размер_пакета. Каждый предсказанный класс представлен своим индексом класса (т.е. целое число от 0 до n_classes-1). Если outputs задано, возвращает словарь прогнозов.

predict_classes

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

predict_classes(
    x=None, input_fn=None, batch_size=None, as_iterable=True
)

Возвращает предсказанные классы для заданных признаков. (устаревшие значения аргументов)

Предупреждение: НЕКОТОРЫЕ ЗНАЧЕНИЯ АРГУМЕНТОВ УСТРЕПАЛИ: (as_iterable=False). Они будут удалены после 2016-09-15. Инструкции по обновлению: Поведение predict() по умолчанию меняется. Значение по умолчанию для as_iterable изменится на True, а затем флаг будет полностью удалён. Поведение этого флага описано ниже.
Аргументы
x признаки.
input_fn Функция ввода. Если задано, x должен быть None.
batch_size Переопределение размера пакета по умолчанию.
as_iterable Если True, возвращает итерируемый объект, который продолжает генерировать прогнозы для каждого примера, пока входные данные не будут исчерпаны. Примечание: Входные данные должны завершиться, если вы хотите, чтобы итерируемый объект завершился (например, убедитесь, что передали num_epochs=1, если используете что-то вроде read_batch_features).
Возвращает
Массив NumPy предсказанных классов с формой размер_пакета. Каждый предсказанный класс представлен своим индексом класса (т.е. целое число от 0 до n_classes-1).

predict_proba

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

predict_proba(
    x=None, input_fn=None, batch_size=None, as_iterable=True
)

Возвращает вероятности прогнозов для заданных признаков. (устаревшие значения аргументов)

Предупреждение: НЕКОТОРЫЕ ЗНАЧЕНИЯ АРГУМЕНТОВ УСТРЕПАЛИ: (as_iterable=False). Они будут удалены после 2016-09-15. Инструкции по обновлению: Поведение predict() по умолчанию меняется. Значение по умолчанию для as_iterable изменится на True, а затем флаг будет полностью удалён. Поведение этого флага описано ниже.
Аргументы
x features.
input_fn Функция ввода. Если установлено, x и y должны быть None.
batch_size Переопределение размера пакета по умолчанию.
as_iterable Если True, возвращает итератор, который продолжает выдавать предсказания для каждого примера, пока входные данные не будут исчерпаны. Примечание: входные данные должны завершиться, если вы хотите, чтобы итератор завершился (например, убедитесь, что передали num_epochs=1, если используете что-то вроде read_batch_features).
Возвращаемые значения
Массив NumPy предсказанных вероятностей с формой размер_пакета, n_классов.

set_params

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

set_params(
    **params
)

Устанавливает параметры этого оценщика.

Метод работает как с простыми оценщиками, так и со вложенными объектами (такими как конвейеры). У первых параметры имеют вид <component>__<parameter>, чтобы можно было обновлять каждый компонент вложенного объекта.

Аргументы
**params Параметры.
Возвращаемые значения
self
Исключения
ValueError Если параметры содержат недопустимые имена.

© 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/contrib/learn/DNNLinearCombinedClassifier

Spec-Zone.ru

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