tf.contrib.training.parse_values
Разбирает значения гиперпараметров из строки в словарь Python.
tf.contrib.training.parse_values(
values, type_map, ignore_unknown=False
)
values — это строка, содержащая список name=value пар, разделённых запятыми. Для каждой пары значение гиперпараметра с именем name устанавливается в value.
Если имя гиперпараметра встречается несколько раз в values, генерируется исключение ValueError (например, 'a=1,a=2', 'a[1]=1,a[1]=2').
Если имя гиперпараметра используется как в присваивании индексу, так и в скалярном присваивании, генерируется исключение ValueError (например, 'a=[1,2,3],a[0] = 1').
Имя гиперпараметра может содержать символы '.', что приведет к имени атрибута, доступному только через функции getattr и setattr. (И должно быть явно добавлено через add_hparam.)
Значения value в name=value должны соответствовать синтаксису, соответствующему типу параметра:
- Скалярное целое число: целое число, которое можно разобрать с помощью Python. Например: 1, 100, -12.
- Скалярное число с плавающей точкой: число с плавающей точкой, которое можно разобрать с помощью Python. Например: 1.0, -.54e89.
- Булево значение: true или false.
- Скалярная строка: непустая последовательность символов, исключая запятые, пробелы и квадратные скобки. Например: foo, bar_1.
- Список: список скалярных значений указанного типа параметра, разделённых запятыми и заключённых в квадратные скобки. Например: [1,2,3], [1.0,1e-12], [high,low].
При использовании присваивания индексу соответствующий ключ type_map должен быть именем списка. Например, для "arr[1]=0" в type_map должен быть ключ "arr" (а не "arr[1]").
| Аргументы | |
|---|---|
values | Строка. Список пар name=value, разделённых запятыми, где 'значение' должно соответствовать описанному выше синтаксису. |
type_map | Словарь, сопоставляющий имена гиперпараметров с их типами. Обратите внимание, что каждое имя параметра в значениях должно быть ключом в type_map. Значения должны соответствовать указанным типам, где значение V соответствует типу T, если либо V имеет тип T, либо V является списком элементов типа T. Таким образом, для многомерного параметра 'x', принимающего значения с плавающей точкой, 'x=[0.1,0.2]' будет успешно разобран, если type_map['x'] = float. |
ignore_unknown | Булево значение. Указывает, следует ли игнорировать значения, для которых отсутствует тип в type_map. Если установлено в True, для неизвестного типа гиперпараметра не будет генерироваться исключение ValueError. |
| Возвращаемые значения | |
|---|---|
Словарь Python, сопоставляющий каждое имя с одним из следующих:
|
| Возможные исключения | |
|---|---|
ValueError | Если возникла проблема с вводом.
|
© 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/parse_values