Spec-Zone.ru › TensorFlow 1.15

tf.contrib.training.HParams

Класс для хранения набора гиперпараметров в виде пар имя-значение.

tf.contrib.training.HParams(
    hparam_def=None, model_structure=None, **kwargs
)

Объект HParams содержит гиперпараметры, используемые для построения и обучения модели, такие как количество скрытых узлов в слое нейронной сети или скорость обучения.

Сначала вы создаёте объект HParams, указав имена и значения гиперпараметров.

Для удобного доступа имена параметров добавляются в качестве прямых атрибутов класса. Типичное использование приведено ниже:

# Create a HParams object specifying names and values of the model
# hyperparameters:
hparams = HParams(learning_rate=0.1, num_hidden_units=100)

# The hyperparameter are available as attributes of the HParams object:
hparams.learning_rate ==> 0.1
hparams.num_hidden_units ==> 100

Гиперпараметры имеют тип, который определяется из типа значения, переданного при создании. В настоящее время поддерживаются типы: целое число, число с плавающей запятой, булево значение, строка, а также списки целых чисел, чисел с плавающей запятой, булевых значений или строк.

Вы можете переопределить значения гиперпараметров, вызвав метод parse(), передав строку с запятыми, разделяющими пары name=value. Это предназначено для того, чтобы можно было переопределить любые значения гиперпараметров из одной командной строки, в которой пользователю передаются пары «гиперпараметр=значение». Это позволяет избежать необходимости определения одного флага для каждого гиперпараметра.

Синтаксис, ожидаемый для каждого значения, зависит от типа параметра. Смотрите parse() для описания синтаксиса.

Пример:

# Define a command line flag to pass name=value pairs.
# For example using argparse:
import argparse
parser = argparse.ArgumentParser(description='Train my model.')
parser.add_argument('--hparams', type=str,
                    help='Comma separated list of "name=value" pairs.')
args = parser.parse_args()
...
def my_program():
  # Create a HParams object specifying the names and values of the
  # model hyperparameters:
  hparams = tf.contrib.training.HParams(
      learning_rate=0.1,
      num_hidden_units=100,
      activations=['relu', 'tanh'])

  # Override hyperparameters values by parsing the command line
  hparams.parse(args.hparams)

  # If the user passed `--hparams=learning_rate=0.3` on the command line
  # then 'hparams' has the following attributes:
  hparams.learning_rate ==> 0.3
  hparams.num_hidden_units ==> 100
  hparams.activations ==> ['relu', 'tanh']

  # If the hyperparameters are in json format use parse_json:
  hparams.parse_json('{"learning_rate": 0.3, "activations": "relu"}')
Аргументы
hparam_def Сериализованные гиперпараметры, закодированные как протокол буфера hparam_pb2.HParamDef. Если предоставлен, этот объект инициализируется посредством десериализации hparam_def. В противном случае используется **kwargs.
model_structure Экземпляр ModelStructure, определяющий перекрестные характеристики признаков, которые будут использоваться в Trial.
**kwargs Пара имя-значение, где ключ — имя гиперпараметра, а значение — значение параметра.
Исключения
ValueError Если оба hparam_def и значения инициализации предоставлены, или если один из аргументов некорректен.

Методы

add_hparam

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

add_hparam(
    name, value
)

Добавляет пару {имя, значение} к гиперпараметрам.

Аргументы
name Имя гиперпараметра.
value Значение гиперпараметра. Может быть одного из следующих типов: int, float, string, список int, список float или список string.
Исключения
ValueError если один из аргументов некорректен.

del_hparam

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

del_hparam(
    name
)

Удаляет гиперпараметр с ключом 'имя'.

Ничего не делает, если он отсутствует.

Аргументы
name Имя гиперпараметра.

from_proto

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

@staticmethod
from_proto(
    hparam_def, import_scope=None
)

get

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

get(
    key, default=None
)

Возвращает значение key, если оно существует, иначе default.

get_model_structure

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

get_model_structure()

override_from_dict

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

override_from_dict(
    values_dict
)

Переопределяет существующие значения гиперпараметров, парсингу новые значения из словаря.

Аргументы
values_dict Словарь пар имя:значение.
Возвращаемое значение
Экземпляр HParams.
Исключения
KeyError Если гиперпараметр в values_dict не существует.
ValueError Если values_dict не может быть распарсен.

parse

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

parse(
    values
)

Переопределяет существующие значения гиперпараметров, парсингу новые значения из строки.

См. parse_values для получения более подробной информации о допустимом формате значений.

Аргументы
values Строка. Список пар «имя=значение», разделенных запятыми, где «значение» должно соответствовать синтаксису, описанному выше.
Возвращаемое значение
Экземпляр HParams.
Исключения
ValueError Если values не может быть распарсен или гиперпараметр в values не существует.

parse_json

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

parse_json(
    values_json
)

Переопределяет существующие значения гиперпараметров, парсингу новые значения из JSON объекта.

Аргументы
values_json Строка, содержащая JSON объект пар имя:значение.
Возвращаемое значение
Экземпляр HParams.
Исключения
KeyError Если гиперпараметр в values_json не существует.
ValueError Если values_json не может быть распарсен.

set_from_map

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

set_from_map(
    values_map
)

УСТАРЕВШАЯ функция. Используйте override_from_dict. (устарело)

Предупреждение: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена в будущей версии. Инструкции по обновлению: используйте override_from_dict.

set_hparam

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

set_hparam(
    name, value
)

Устанавливает значение существующего гиперпараметра.

Эта функция проверяет, что тип значения соответствует типу существующего гиперпараметра.

Аргументы
name Имя гиперпараметра.
value Новое значение гиперпараметра.
Исключения
KeyError Если гиперпараметр не существует.
ValueError Если есть несоответствие типов.

set_model_structure

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

set_model_structure(
    model_structure
)

to_json

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

to_json(
    indent=None, separators=None, sort_keys=False
)

Сериализует гиперпараметры в JSON.

Аргументы
indent Если целое число больше или равно 0, элементы массива JSON и члены объектов будут красиво отформатированы с указанным уровнем отступа. Уровень отступа 0 или меньше вставит только новые строки. None (по умолчанию) выбирает наиболее компактное представление.
separators Необязательная кортеж (item_separator, key_separator). Значение по умолчанию — (', ', ': ').
sort_keys Если True, выходные словари будут отсортированы по ключу.
Возвращаемое значение
Строка JSON.

to_proto

Просмотр исходного кода

to_proto(
    export_scope=None
)

Преобразует объект HParams в протокол HParamDef.

Аргументы
export_scope Необязательный string. Имя области именования для удаления.
Возвращаемое значение
Протокол HParamDef.

values

Просмотр исходного кода

values()

Возвращает значения гиперпараметров в виде словаря Python.

Возвращаемое значение
Словарь, где ключами являются имена гиперпараметров, а значениями — их значения.

__contains__

Просмотр исходного кода

__contains__(
    key
)

© 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/training/HParams

Spec-Zone.ru

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