tf.contrib.learn.DNNRegressor
Регрессор для моделей TensorFlow DNN.
Наследуется от: Estimator
tf.contrib.learn.DNNRegressor(
hidden_units, feature_columns, model_dir=None, 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,
label_dimension=1, 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,
...)
estimator = DNNRegressor(
feature_columns=[sparse_feature_a, sparse_feature_b],
hidden_units=[1024, 512, 256])
# Or estimator using the ProximalAdagradOptimizer optimizer with
# regularization.
estimator = DNNRegressor(
feature_columns=[sparse_feature_a, sparse_feature_b],
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
pass
estimator.fit(input_fn=input_fn_train)
def input_fn_eval: # returns x, y
pass
estimator.evaluate(input_fn=input_fn_eval)
def input_fn_predict: # returns x, None
pass
estimator.predict_scores(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, чьёvalueявляетсяSparseTensor. - если
columnявляетсяWeightedSparseColumn, два признака: первый сkeyименем столбца, второй сkeyименем столбца веса.valueобоих признаков должен бытьSparseTensor. - если
columnявляетсяRealValuedColumn, то признак сkey=column.name, чьёvalueявляетсяTensor.
- если
| Аргументы | |
|---|---|
hidden_units | Список скрытых узлов на слой. Все слои являются полностью связанными. Например, [64, 32] означает, что первый слой имеет 64 узла, а второй - 32. |
feature_columns | Итерируемый объект, содержащий все столбцы признаков, используемые моделью. Все элементы в наборе должны быть экземплярами классов, производных от FeatureColumn . |
model_dir | Директория для сохранения параметров модели, графа и т.д. Это также может быть использовано для загрузки контрольных точек из каталога в оценщик для продолжения обучения ранее сохранённой модели. |
weight_column_name | Строка, определяющая имя столбца признака, представляющего веса. Используется для снижения или повышения важности примеров во время обучения. Будет умножаться на потерю примера. |
optimizer | Экземпляр tf.Optimizer для обучения модели. Если None, будет использоваться оптимизатор Adagrad. |
activation_fn | Функция активации, применяемая к каждому слою. Если None, будет использоваться tf.nn.relu. Обратите внимание, что также может быть предоставлена строка, содержащая неофициальное имя операции, например, "relu", "tanh" или "sigmoid". |
dropout | Если не None, вероятность, что заданная координата будет пропущена (dropout). |
gradient_clip_norm | Величина float > 0. Если задано, градиенты обрезаются до глобальной нормы с этим коэффициентом обрезки. См. tf.clip_by_global_norm для получения дополнительной информации. |
enable_centered_bias | Булево значение. Если True, оценщик обучит централизованную переменную смещения для каждого класса. Остальная часть структуры модели обучает остаток после централизованного смещения. |
config | Объект RunConfig для настройки параметров выполнения. |
feature_engineering_fn | Функция обработки признаков. Принимает признаки и метки, которые являются результатом input_fn и возвращает признаки и метки, которые будут поданы в модель. |
label_dimension | Количество целевых значений регрессии на пример. Это размер последнего измерения меток и объектов логарифмов Tensor (обычно, эти имеют форму [batch_size, label_dimension]). |
embedding_lr_multipliers | Необязательно. Словарь из EbeddingColumn в float множитель. Множитель будет использоваться для умножения на скорость обучения для переменных встраивания. |
input_layer_min_slice_size | Необязательно. Минимальный размер фрагмента входного слоя. Если не предоставлено, будет использоваться значение по умолчанию 64 МБ. |
| Атрибуты | |
|---|---|
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
)
См. evaluable.Evaluable.
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. (устарело)
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. (устаревшие аргументы)
| Возможные исключения | |
|---|---|
ValueError | Если x или y не являются None при том, как input_fn не является None . |
ValueError | Если и steps и max_steps не являются None . |
get_params
get_params(
deep=True
)
Получить параметры для этой оценки.
| Аргументы | |
|---|---|
deep | boolean, optional Если |
| Возвращает | |
|---|---|
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
)
Инкрементная подгонка на наборе выборок. (устаревшие аргументы)
Ожидается, что этот метод будет вызываться несколько раз последовательно на разных или тех же фрагментах набора данных. Это может реализовывать итеративное обучение или обучение вне памяти/онлайн-обучение.
Это особенно полезно, когда весь набор данных слишком велик, чтобы поместиться в памяти одновременно. Или когда модели требуется много времени для сходимости, и вы хотите разбить обучение на подчасти.
| Аргументы | |
|---|---|
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
)
Возвращает прогнозы для заданных признаков. (устаревшие значения аргументов) (устаревшие значения аргументов)
По умолчанию возвращает предсказанные значения. Но это значение по умолчанию будет вскоре удалено. Пользователи должны либо передать outputs, либо вызвать метод predict_scores.
| Аргументы | |
|---|---|
x | признаки. |
input_fn | Функция ввода. Если задано, x должно быть None. |
batch_size | Переопределяет размер пакета по умолчанию. |
outputs | список str, имя выходного значения для прогнозирования. Если None, возвращает значения. |
as_iterable | Если True, возвращает итерируемый объект, который продолжает генерировать прогнозы для каждого примера, пока входные данные не закончатся. Примечание: входные данные должны завершаться, если вы хотите, чтобы итерируемый объект завершился (например, убедитесь, что вы передали num_epochs=1, если вы используете что-то вроде read_batch_features). |
| Возвращаемое значение | |
|---|---|
Массив NumPy предсказанных значений (или итерируемый объект предсказанных значений, если as_iterable равен True). Если label_dimension == 1, форма выходных данных — [batch_size], в противном случае форма — [batch_size, label_dimension]. Если outputs задано, возвращается словарь прогнозов. |
predict_scores
predict_scores(
x=None, input_fn=None, batch_size=None, as_iterable=True
)
Возвращает предсказанные значения для заданных признаков. (устаревшие значения аргументов)
| Аргументы | |
|---|---|
x | признаки. |
input_fn | Функция ввода. Если задано, x должно быть None. |
batch_size | Переопределяет размер пакета по умолчанию. |
as_iterable | Если True, возвращает итерируемый объект, который продолжает генерировать прогнозы для каждого примера, пока входные данные не закончатся. Примечание: входные данные должны завершаться, если вы хотите, чтобы итерируемый объект завершился (например, убедитесь, что вы передали num_epochs=1, если вы используете что-то вроде read_batch_features). |
| Возвращаемое значение | |
|---|---|
Массив NumPy предсказанных значений (или итерируемый объект предсказанных значений, если as_iterable равен True). Если label_dimension == 1, форма выходных данных — [batch_size], в противном случае форма — [batch_size, label_dimension]. |
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/DNNRegressor