Spec-Zone.ru › TensorFlow 2.4

tf.estimator.experimental.LinearSDCA

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

Помощник Stochastic Dual Coordinate Ascent для линейных оценок.

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

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

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

tf.compat.v1.estimator.experimental.LinearSDCA

tf.estimator.experimental.LinearSDCA(
    example_id_column, num_loss_partitions=1, num_table_shards=None,
    symmetric_l1_regularization=0.0, symmetric_l2_regularization=1.0, adaptive=False
)

Объекты этого класса предназначены для использования в качестве аргумента оптимизатора (хотя объекты LinearSDCA не реализуют интерфейс tf.train.Optimizer ) при создании tf.estimator.LinearClassifier или tf.estimator.LinearRegressor.

SDCA может использоваться только с LinearClassifier и LinearRegressor при следующих условиях:

  • Столбцы признаков имеют тип V2.
  • Многозначные категориальные столбцы не нормализованы. Другими словами, аргумент sparse_combiner в конструкторе оценщика должен быть «sum».
  • Для классификации: бинарная метка.
  • Для регрессии: одномерная метка.

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

real_feature_column = numeric_column(...)
sparse_feature_column = categorical_column_with_hash_bucket(...)
linear_sdca = tf.estimator.experimental.LinearSDCA(
    example_id_column='example_id',
    num_loss_partitions=1,
    num_table_shards=1,
    symmetric_l2_regularization=2.0)
classifier = tf.estimator.LinearClassifier(
    feature_columns=[real_feature_column, sparse_feature_column],
    weight_column=...,
    optimizer=linear_sdca)
classifier.train(input_fn_train, steps=50)
classifier.evaluate(input_fn=input_fn_eval)

Здесь ожидается, что функции input_fn_* , переданные для обучения и оценки, возвращают пару (словарь, тензор_метки), где словарь имеет example_id_column в качестве key , значение которого — Tensor формы [размер_пакета] и типа string. num_loss_partitions определяет σ' в уравнении (11) из [3]. Сходимость (глобальной) функции потерь гарантируется, если num_loss_partitions больше или равно произведению (#concurrent train ops/per worker) x (#workers). Большие значения для num_loss_partitions приводят к более медленной сходимости. Рекомендуемое значение для num_loss_partitions в tf.estimator (в настоящее время используется по одному процессу на узел) — число узлов, выполняющих шаги обучения. По умолчанию — 1 (один компьютер). num_table_shards определяет число фрагментов для внутренней таблицы состояния, обычно устанавливается так, чтобы соответствовать числу серверов параметров для больших наборов данных.

Алгоритм SDCA был первоначально представлен в [1], за которым последовал L1-ближайший шаг [2], распределенная версия [3] и адаптивная выборка [4]. [1] www.jmlr.org/papers/volume14/shalev-shwartz13a/shalev-shwartz13a.pdf [2] https://arxiv.org/pdf/1309.2375.pdf [3] https://arxiv.org/pdf/1502.03508.pdf [4] https://arxiv.org/pdf/1502.08053.pdf Подробности, относящиеся к этой реализации, приведены по адресу: https://github.com/tensorflow/estimator/tree/master/tensorflow_estimator/python/estimator/canned/linear_optimizer/doc/sdca.ipynb

Args
example_id_column Имя столбца, содержащего идентификаторы примеров.
num_loss_partitions Число узлов.
num_table_shards Число фрагментов внутренней таблицы состояния, обычно соответствует числу серверов параметров.
symmetric_l1_regularization Вещественное значение, должно быть больше или равно нулю.
symmetric_l2_regularization Вещественное значение, должно быть больше нуля и обычно больше 1.
adaptive Булево значение, указывающее, использовать ли адаптивную выборку.

Методы

get_train_step

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

get_train_step(
    state_manager, weight_column_name, loss_type, feature_columns, features,
    targets, bias_var, global_step
)

Возвращает операцию обучения оптимизатора SdcaModel.

© 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/r2.4/api_docs/python/tf/estimator/experimental/LinearSDCA

Spec-Zone.ru

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