tf.contrib.estimator.DNNClassifierWithLayerAnnotations
Классификатор для моделей TensorFlow DNN с аннотациями слоёв.
tf.contrib.estimator.DNNClassifierWithLayerAnnotations(
hidden_units, feature_columns, model_dir=None, n_classes=2, weight_column=None,
label_vocabulary=None, optimizer='Adagrad', activation_fn=tf.nn.relu,
dropout=None, input_layer_partitioner=None, config=None, warm_start_from=None,
loss_reduction=losses.Reduction.SUM
)
Этот классификатор функционально идентичен классификатору estimator.DNNClassifier, что касается обучения и оценки моделей. Ключевое различие заключается в том, что этот классификатор добавляет дополнительные аннотации слоёв, которые могут быть использованы для вычисления интегрированных градиентов.
Интегрированные градиенты — это метод присвоения прогнозов классификатора входным признакам (https://arxiv.org/pdf/1703.01365.pdf). Для данного входного экземпляра метод назначает баллы атрибуции отдельным признакам пропорционально важности признака для прогноза классификатора.
См. estimator.DNNClassifer для примера кода обучения и оценки моделей с использованием этого классификатора.
Этот классификатор совместим с контрольными точками классификатора estimator.DNNClassifier, и поэтому следующее должно работать беспрепятственно:
Инициализация обычного оценщика как обычно.
estimator = tf.estimator.DNNClassifier( config, feature_columns, hidden_units, ...)
Обучить оценщик, экспортировать контрольную точку.
tf.estimator.train_and_evaluate(estimator, ...)
Инициализировать оценщик с аннотациями с той же конфигурацией, что и
обычный оценщик.
estimator_with_annotations = ( tf.contrib.estimator.DNNClassifierWithLayerAnnotations( config, feature_columns, hidden_units, ...))
Вызов export_savedmodel с теми же аргументами, что и у обычного оценщика,
используя контрольную точку, созданную для обычного оценщика.
estimator_with_annotations.export_saved_model( export_dir_base, serving_input_receiver, ... checkpoint_path='/path/to/ordinary/estimator/checkpoint/model.ckpt-1234')
| Аргументы | |
|---|---|
hidden_units | Последовательность числа скрытых узлов на каждом слое. Все слои полностью соединены. Например, [64, 32] означает, что первый слой имеет 64 узла, а второй — 32. |
feature_columns | Последовательность, содержащая все столбцы признаков, используемые моделью. Все элементы набора должны быть экземплярами классов, полученных от _FeatureColumn. |
model_dir | Каталог для сохранения параметров модели, графа и т. д. Его также можно использовать для загрузки контрольных точек из каталога в оценщик для продолжения обучения ранее сохранённой модели. |
n_classes | Количество классов меток. По умолчанию 2, то есть бинарная классификация. Должно быть > 1. |
weight_column | Строка или _NumericColumn, созданный tf.feature_column.numeric_column, определяющий столбец признаков, представляющий веса. Он используется для уменьшения или увеличения примера во время обучения. Он будет умножаться на потерю примера. Если это строка, она используется в качестве ключа для извлечения тензора весов из features. Если это _NumericColumn, сырой тензор извлекается по ключу weight_column.key, затем weight_column.normalizer_fn применяется к нему для получения тензора весов. |
label_vocabulary | Список строк, представляющих возможные значения меток. Если указан, метки должны быть строкового типа и иметь любое значение в label_vocabulary. Если он не указан, это означает, что метки уже закодированы как целые или вещественные числа в диапазоне [0, 1] для n_classes=2 и закодированы как целые значения в {0, 1,..., n_classes-1} для n_classes>2 . Также будут ошибки, если словарь не указан, а метки являются строками. |
optimizer | Экземпляр tf.Optimizer для обучения модели. По умолчанию оптимизатор Adagrad. |
activation_fn | Функция активации, применяемая к каждому слою. Если None, будет использоваться tf.nn.relu. |
dropout | Если не None, вероятность того, что заданная координата будет исключена. |
input_layer_partitioner | Необязательно. Разделитель для входного слоя. По умолчанию min_max_variable_partitioner с min_slice_size 64 << 20. |
config | Объект RunConfig для конфигурации параметров выполнения. |
warm_start_from | Путь к файлу с контрольной точкой для инициализации обучения, или объект WarmStartSettings для полной настройки инициализации. Если указан путь к файлу вместо объекта WarmStartSettings, то все веса будут инициализированы, и предполагается, что словари и имена тензоров не изменены. |
loss_reduction | Один из tf.losses.Reduction кроме NONE. Описывает, как уменьшить потерю обучения по пакету. По умолчанию SUM. |
| Возвращаемое значение | |
|---|---|
| DNNClassifier с аннотациями слоев. |
© 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/estimator/DNNClassifierWithLayerAnnotations