tf.contrib.linear_optimizer.SDCAOptimizer
Класс-обёртка для оптимизатора SDCA.
tf.contrib.linear_optimizer.SDCAOptimizer(
example_id_column, num_loss_partitions=1, num_table_shards=None,
symmetric_l1_regularization=0.0, symmetric_l2_regularization=1.0, adaptive=True,
partitioner=None
)
В настоящее время обёртка предназначена для использования в качестве оптимизатора в tf.learn Estimator.
Пример использования:
real_feature_column = real_valued_column(...)
sparse_feature_column = sparse_column_with_hash_bucket(...)
sdca_optimizer = linear.SDCAOptimizer(example_id_column='example_id',
num_loss_partitions=1,
num_table_shards=1,
symmetric_l2_regularization=2.0)
classifier = tf.contrib.learn.LinearClassifier(
feature_columns=[real_feature_column, sparse_feature_column],
weight_column_name=...,
optimizer=sdca_optimizer)
classifier.fit(input_fn_train, steps=50)
classifier.evaluate(input_fn=input_fn_eval)
Здесь ожидается, что функции, переданные в train и evaluate, возвращают пару (dict, label_tensor), где dict имеет example_id_column в качестве key, значение которого является Tensor формы [batch_size] и типа string. num_loss_partitions определяет количество разделов глобальной функции потерь и должно быть установлено в (#concurrent train ops/per worker) x (#workers). Сходимость (глобальных) потерь гарантируется, если num_loss_partitions больше или равно указанному произведению. Более высокие значения для num_loss_partitions приводят к более медленной сходимости. Рекомендуемое значение для num_loss_partitions в tf.learn (в настоящее время используется по одному процессу на рабочий узел) равно количеству рабочих узлов, выполняющих шаги обучения. По умолчанию оно равно 1 (один компьютер). num_table_shards определяет количество фрагментов для внутренней таблицы состояния, обычно устанавливается в соответствии с количеством серверов параметров для больших наборов данных. Также можно указать объект partitioner для разбиения весов первоначальной задачи во время обучения (будет использоваться стратегия разбиения div).
| Атрибуты | |
|---|---|
adaptive | |
example_id_column | |
num_loss_partitions | |
num_table_shards | |
partitioner | |
symmetric_l1_regularization | |
symmetric_l2_regularization | |
Методы
get_name
get_name()
get_train_step
get_train_step(
columns_to_variables, weight_column_name, loss_type, features, targets,
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/r1.15/api_docs/python/tf/contrib/linear_optimizer/SDCAOptimizer