Spec-Zone.ru › TensorFlow 1.15

tf.contrib.learn.DNNEstimator

Estimator для моделей TensorFlow DNN с пользовательским _Head.

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

tf.contrib.learn.DNNEstimator(
    head, hidden_units, feature_columns, model_dir=None, optimizer=None,
    activation_fn=tf.nn.relu, dropout=None, gradient_clip_norm=None, config=None,
    feature_engineering_fn=None, embedding_lr_multipliers=None,
    input_layer_min_slice_size=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,
                                        ...)
To create a DNNEstimator for binary classification, where
estimator = DNNEstimator(
    feature_columns=[sparse_feature_a_emb, sparse_feature_b_emb],
    head=tf.contrib.learn.multi_class_head(n_classes=2),
    hidden_units=[1024, 512, 256])

If your label is keyed with "y" in your labels dict, and weights are keyed
with "w" in features dict, and you want to enable centered bias,
head = tf.contrib.learn.multi_class_head(
    n_classes=2,
    label_name="x",
    weight_column_name="w",
    enable_centered_bias=True)
estimator = DNNEstimator(
    feature_columns=[sparse_feature_a_emb, sparse_feature_b_emb],
    head=head,
    hidden_units=[1024, 512, 256])

# 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)
estimator.predict(x=x) # returns predicted labels (i.e. label's class index).

Вход 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.
Аргументы
head Экземпляр Head.
hidden_units Список скрытых узлов на слой. Все слои являются полностью связанными. Например, [64, 32] означает, что первый слой имеет 64 узла, а второй — 32.
feature_columns Итерируемый объект, содержащий все столбцы признаков, используемые моделью. Все элементы набора должны быть экземплярами классов, производных от FeatureColumn.
model_dir Каталог для сохранения параметров модели, графа и т.д. Его также можно использовать для загрузки контрольных точек из каталога в оценщик для продолжения обучения ранее сохраненной модели.
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 для получения дополнительных сведений.
config Объект RunConfig для настройки параметров выполнения.
feature_engineering_fn Функция обработки признаков. Принимает признаки и метки, которые являются результатом input_fn, и возвращает признаки и метки, которые будут переданы в модель.
embedding_lr_multipliers Необязательно. Словарь, где ключами являются EmbeddingColumn, а значениями — множители float. Множитель будет использоваться для умножения на скорость обучения для переменных вложения.
input_layer_min_slice_size Необязательно. Минимальный размер куска разделенных слоев входного слоя. Если не указано, используется значение по умолчанию 64 МБ.
Атрибуты
config
model_dir Возвращает путь, в котором процесс оценки будет искать контрольные точки.
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. Инструкции по обновлению: 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=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 истинно, то функция, которая, учитывая Tensor строк Example, парсит их в атрибуты, которые затем передаются в модель. В противном случае, функция, которая не принимает аргументов и возвращает кортеж (признаки, метки), где признаки — это словарь строк-ключей к Tensor, а метки — это Tensor, который в данный момент не используется (и, следовательно, может быть None).
input_feature_key Используется только если use_deprecated_input_fn ложно. Строковый ключ в словаре признаков, возвращаемом 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, атрибуты со значениями по умолчанию будут удалены из NodeDefs. Для подробного руководства см. Удаление атрибутов со значениями по умолчанию.
Возвращаемое значение
Строка пути к экспортированному каталогу.
Исключения
ValueError если запрошен неизвестный тип экспорта.

fit

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

fit(
    x=None, y=None, input_fn=None, steps=None, batch_size=None, monitors=None,
    max_steps=None
)

См. Trainable. (аргументы устарели)

END_OF_DOCUMENT_MARKER
Предупреждение: НЕКОТОРЫЕ АРГУМЕНТЫ УСТРЕПАЛИ: (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 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,
    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.

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/DNNEstimator

Spec-Zone.ru

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