Spec-Zone.ru › TensorFlow 1.15

tf.contrib.learn.DNNClassifier

Классификатор для моделей TensorFlow DNN.

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

tf.contrib.learn.DNNClassifier(
    hidden_units, feature_columns, model_dir=None, n_classes=2,
    weight_column_name=None, optimizer=None, activation_fn=tf.nn.relu, 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
)

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

Пример:

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

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 = DNNClassifier(
    feature_columns=[sparse_feature_a_emb, sparse_feature_b_emb],
    hidden_units=[1024, 512, 256])

# Or estimator using the ProximalAdagradOptimizer optimizer with
# regularization.
estimator = DNNClassifier(
    feature_columns=[sparse_feature_a_emb, sparse_feature_b_emb],
    hidden_units=[1024, 512, 256],
    optimizer=tf.compat.v1.train.ProximalAdagradOptimizer(
      learning_rate=0.1,
      l1_regularization_strength=0.001
    ))

# Input builders
def input_fn_train: # returns x, y (where y represents label's class index).
  pass
estimator.fit(input_fn=input_fn_train)

def input_fn_eval: # returns x, y (where y represents label's class index).
  pass
estimator.evaluate(input_fn=input_fn_eval)

def input_fn_predict: # returns x, None
  pass
# predict_classes returns class indices.
estimator.predict_classes(input_fn=input_fn_predict)

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

label_keys = ['label0', 'label1', 'label2']
estimator = DNNClassifier(
    feature_columns=[sparse_feature_a_emb, sparse_feature_b_emb],
    hidden_units=[1024, 512, 256],
    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 в feature_columns:
    • если column является SparseColumn, признак с key=column.name, значение которого является SparseTensor.
    • если column является WeightedSparseColumn, два признака: первый с key именем столбца идентификатора, второй с key именем столбца весов. Значение обоих признаков должно быть SparseTensor.
    • если column является RealValuedColumn, признак с key=column.name, значение которого является Tensor.
Аргументы
hidden_units Список скрытых узлов на слой. Все слои полностью соединены. Например, [64, 32] означает, что первый слой имеет 64 узла, а второй — 32.
feature_columns Итерируемый объект, содержащий все столбцы признаков, используемые моделью. Все элементы набора должны быть экземплярами классов, полученных из FeatureColumn.
model_dir Каталог для сохранения параметров модели, графа и т. д. Это также может быть использовано для загрузки контрольных точек из каталога в оценщик для продолжения обучения ранее сохранённой модели.
n_classes Количество классов меток. По умолчанию — бинарная классификация. Должно быть больше 1. Примечание: метки классов — это целые числа, представляющие индекс класса (т. е. значения от 0 до n_classes-1). Для произвольных значений меток (например, строковых меток) сначала преобразуйте их в индексы классов.
weight_column_name Строка, определяющая имя столбца признака, представляющего веса. Используется для уменьшения или увеличения примеров во время обучения. Будет умножено на потерю примера.
optimizer Экземпляр tf.Optimizer, используемый для обучения модели. Если None, будет использоваться оптимизатор Adagrad.
activation_fn Функция активации, применяемая к каждому слою. Если None, будет использоваться tf.nn.relu. Также может быть предоставлена строка, содержащая неопределённое имя операции, например, "relu", "tanh" или "sigmoid".
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.
Исключения
ValueError Если n_classes < 2.
Атрибуты
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). Они будут удалены после 01.12.2016. Инструкции по обновлению: Класс 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
)

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

Предупреждение: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена после 25.03.2017. Инструкции по обновлению: Пожалуйста, используйте 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). Они будут удалены после 01.12.2016. Инструкции по обновлению: Класс 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 признаки.
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 Если 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/learn/DNNClassifier

Spec-Zone.ru

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