Spec-Zone.ru › TensorFlow 1.15

tf.contrib.kernel_methods.KernelLinearClassifier

Линейный классификатор, использующий методы ядра в качестве предобработки признаков.

tf.contrib.kernel_methods.KernelLinearClassifier(
    feature_columns=None, model_dir=None, n_classes=2, weight_column_name=None,
    optimizer=None, kernel_mappers=None, config=None
)

Он обучает линейную модель после, возможно, отображения начальных входных признаков в отображение пространства с использованием явных отображений ядра. Благодаря отображениям ядра, обучение линейного классификатора в отображённом (выходном) пространстве может обнаруживать нелинейности во входном пространстве.

Пользователь может предоставить список отображателей ядер, которые будут применяться ко всем или подмножеству существующих столбцов признаков. Таким образом, пользователь может эффективно предоставить 2 типа столбцов признаков:

  • те, которые передаются как элементы feature_columns в конструкторе классификатора
  • те, которые появляются как ключ словаря kernel_mappers.

Если столбец появляется только в feature_columns, к нему не применяется отображение. Если он появляется в качестве ключа в kernel_mappers, к нему применяются соответствующие отображатели ядер. Обратите внимание, что столбец может появиться в обоих местах. В настоящее время kernel_mappers поддерживаются только для _RealValuedColumns.

Пример использования:

real_column_a = real_valued_column(name='real_column_a',...)
sparse_column_b = sparse_column_with_hash_bucket(...)
kernel_mappers = {real_column_a : [RandomFourierFeatureMapper(...)]}
optimizer = ...

# real_column_a is used as a feature in both its initial and its transformed
# (mapped) form. sparse_column_b is not affected by kernel mappers.
kernel_classifier = KernelLinearClassifier(
    feature_columns=[real_column_a, sparse_column_b],
    model_dir=...,
    optimizer=optimizer,
    kernel_mappers=kernel_mappers)

# real_column_a is used as a feature in its transformed (mapped) form only.
# sparse_column_b is not affected by kernel mappers.
kernel_classifier = KernelLinearClassifier(
    feature_columns=[sparse_column_b],
    model_dir=...,
    optimizer=optimizer,
    kernel_mappers=kernel_mappers)

# Input builders
def train_input_fn: # returns x, y
  ...
def eval_input_fn: # returns x, y
  ...

kernel_classifier.fit(input_fn=train_input_fn)
kernel_classifier.evaluate(input_fn=eval_input_fn)
kernel_classifier.predict(...)

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

  • если weight_column_name не None, признак с key=weight_column_name, значение которого является Tensor.
  • для каждого column в feature_columns:
    • если column является SparseColumn, признак с key=column.name, значение которого является SparseTensor.
    • если column является WeightedSparseColumn, два признака: первый с именем столбца key, второй с именем столбца key. Значение обоих признаков должно быть SparseTensor.
    • если column является RealValuedColumn, признак с key=column.name, значение которого является Tensor.
Аргументы
feature_columns Итерируемый объект, содержащий все столбцы признаков, используемые моделью. Все элементы множества должны быть экземплярами классов, производных от FeatureColumn.
model_dir Директория для сохранения параметров модели, графа и т.д. Это также может быть использовано для загрузки контрольных точек из директории в оценщик для продолжения обучения ранее сохранённой модели.
n_classes количество классов метки. По умолчанию — бинарная классификация. Обратите внимание, что метки классов — это целые числа, представляющие индекс класса (т.е. значения от 0 до n_classes-1). Для произвольных значений меток (например, строковых меток) сначала преобразуйте их в индексы классов.
weight_column_name Строка, определяющая имя столбца признаков, представляющих веса. Используется для уменьшения или увеличения веса примеров во время обучения. Он будет умножаться на потерю примера.
optimizer Оптимизатор, используемый для обучения модели. Если указано, это должен быть экземпляр tf.Optimizer. Если None, по умолчанию используется оптимизатор Ftrl.
kernel_mappers Словарь отображателей ядер, которые будут применяться к входным признакам перед обучением (линейной) модели. Ключи — столбцы признаков, значения — списки отображателей, которые будут применяться к соответствующему столбцу признаков. В настоящее время поддерживаются только _RealValuedColumns, и поэтому все отображатели должны соответствовать интерфейсу DenseKernelMapper (см. ./mappers/dense_kernel_mapper.py).
config Объект RunConfig для настройки параметров выполнения.
Исключения
ValueError если n_classes < 2.
ValueError если не указаны ни feature_columns, ни kernel_mappers.
ValueError если отображатели, предоставленные в качестве значений kernel_mappers, недействительны.
Атрибуты
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. Инструкции по обновлению: оценщик отвязан от интерфейса Scikit Learn путём перевода в отдельный класс SKCompat. Аргументы x, y и batch_size доступны только в классе SKCompat, оценщик будет принимать только input_fn. Пример преобразования: est = Estimator(...) -> est = SKCompat(Estimator(...))
Исключения
ValueError Если хотя бы один из x или y указан, и хотя бы один из input_fn или feed_fn указан. Или если metrics не None или dict .

export

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

export(
    export_dir, input_fn=export._default_input_fn, input_feature_key=None,
    use_deprecated_input_fn=True, signature_fn=None, prediction_key=None,
    default_batch_size=1, exports_to_keep=None, checkpoint_path=None
)

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

Предупреждение: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена после 2017-03-25. Инструкции по обновлению: Пожалуйста, используйте Estimator.export_savedmodel() вместо этого.
Аргументы
export_dir Строка, содержащая директорию для записи экспортированного графа и контрольных точек.
input_fn Если use_deprecated_input_fn имеет значение true, то функция, которая, принимая Tensor строк Example, парсит их в признаки, которые затем передаются в модель. В противном случае, функция, которая не принимает аргументов и возвращает кортеж (признаки, метки), где признаки — словарь из строковых ключей к Tensor, а метки — Tensor, который в настоящее время не используется (и поэтому может быть None).
input_feature_key Используется только если use_deprecated_input_fn имеет значение false. Строковый ключ в словаре признаков, возвращаемом input_fn, который соответствует необработанным строкам Example Tensor, которые будет принимать на вход экспортированная модель. Может быть только None если вы используете пользовательскую функцию signature_fn которая не использует первый аргумент (примеры).
use_deprecated_input_fn Определяет формат подписи input_fn.
signature_fn Функция, которая возвращает стандартную подпись и словарь подписей с именами, заданные Tensor строк Example, dict Tensor для признаков и Tensor или dict Tensor для предсказаний.
prediction_key Ключ для тензора в словаре predictions (вывод от model_fn ) для использования в качестве входного predictions для signature_fn . Дополнительно. Если None, предсказания будут переданы в signature_fn без фильтрации.
default_batch_size Размер пакета по умолчанию для заполнителя Example .
exports_to_keep Количество экспортов для хранения.
checkpoint_path путь к контрольной точке модели, подлежащей экспорту. Если он None (что является по умолчанию), будет использоваться последняя контрольная точка в export_dir.
Возвращает
Путь к директории экспорта. Примечание: эта функциональность была добавлена ок. 2016/09/25; клиентам, зависящим от возвращаемого значения, может потребоваться обработать случай, когда эта функция возвращает None, потому что подклассы не возвращают значение.

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, атрибуты с значениями по умолчанию будут удалены из NodeDef. Для подробного руководства см. Удаление атрибутов со значениями по умолчанию.
Возвращаемое значение
Строка с путем к экспортированному каталогу.
Исключения
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 булево значение, необязательно

Если 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,
    iterate_batches=False
)

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

Предупреждение: НЕКОТОРЫЕ АРГУМЕНТЫ УСТАРЕЛИ: (as_iterable, batch_size, x). Они будут удалены после 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.
input_fn Функция ввода. Если задано, x и 'batch_size' должны быть None.
batch_size Переопределение размера пакета по умолчанию. Если задано, 'input_fn' должно быть 'None'.
outputs список str, имя выходного значения для предсказания. Если None, возвращает все.
as_iterable Если True, возвращает итерируемый объект, который продолжает генерировать предсказания для каждого примера до тех пор, пока входные данные не будут исчерпаны. Примечание: входные данные должны завершаться, если вы хотите, чтобы итерируемый объект завершился (например, убедитесь, что вы передали num_epochs=1, если используете что-то вроде read_batch_features).
iterate_batches Если True, возвращает всю партию сразу, вместо разбиения партии на отдельные образцы. Актуально только при as_iterable = True.
Возвращаемое значение
Массив NumPy с предсказанными классами или значениями регрессии, если конструктор model_fn возвращает Tensor для predictions или массив NumPy, если model_fn возвращает dict. Возвращает итерируемый объект предсказаний, если as_iterable равно True.
Исключения
ValueError Если x и input_fn оба заданы или оба None.

predict_classes

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

predict_classes(
    input_fn=None
)

Выполняет вывод, чтобы определить предсказанный класс для каждой записи.

Аргументы
input_fn Функция ввода, предоставляющая признаки.
Возвращаемое значение
Генератор предсказанных классов для признаков, предоставленных функцией input_fn. Каждый предсказанный класс представлен его индексом класса (т. е. целым числом от 0 до n_classes-1).

predict_proba

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

predict_proba(
    input_fn=None
)

Выполняет вывод, чтобы определить предсказания вероятностей классов.

Аргументы
input_fn Функция ввода, предоставляющая признаки.
Возвращаемое значение
Генератор предсказанных вероятностей классов для признаков, предоставленных функцией input_fn.

set_params

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

set_params(
    **params
)

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

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

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

© 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/kernel_methods/KernelLinearClassifier

Spec-Zone.ru

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