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.
Экспортирует график вывода в указанный каталог. (устарело)
Аргументы
export_dir
Строка, содержащая каталог для записи экспортированного графа и контрольных точек.
input_fn
Если use_deprecated_input_fn истинно, то функция, которая, учитывая Tensor строк Example, парсит их в атрибуты, которые затем передаются в модель. В противном случае, функция, которая не принимает аргументов и возвращает кортеж (признаки, метки), где признаки — это словарь строк-ключей к Tensor, а метки — это Tensor, который в данный момент не используется (и, следовательно, может быть None).
input_feature_key
Используется только если use_deprecated_input_fn ложно. Строковый ключ в словаре признаков, возвращаемом input_fn, который соответствует исходным строкам ExampleTensor, которые будет принимать экспортированная модель в качестве входных данных. Может быть только None, если вы используете пользовательскую signature_fn, которая не использует первый аргумент (примеры).
use_deprecated_input_fn
Определяет формат сигнатуры input_fn.
signature_fn
Функция, которая возвращает стандартную сигнатуру и словарь именованных сигнатур, учитывая Tensor строк Example, dictTensor для признаков и Tensor или dictTensor для прогнозов.
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, потому что подклассы не возвращают значение.
Экспортирует график вывода как 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") и без перезаписи.
Инкрементная подгонка на наборе образцов. (устаревшие аргументы)
Ожидается, что этот метод будет вызываться несколько раз последовательно на разных или тех же фрагментах набора данных. Это может реализовать итеративное обучение или обучение вне памяти/онлайн.
Это особенно полезно, когда весь набор данных слишком большой, чтобы поместиться в памяти одновременно. Или когда модели требуется много времени для сходимости, и вы хотите разделить обучение на части.
Аргументы
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 предоставлен.
Возвращает прогнозы для заданных признаков. (устаревшие аргументы)
Аргументы
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.
Метод работает как с простыми оценщиками, так и с вложенными объектами (например, с конвейерами). Первые имеют параметры вида <component>__<parameter>, чтобы было возможно обновить каждый компонент вложенного объекта.