Spec-Zone.ru › TensorFlow 1.15

tf.contrib.lookup.index_table_from_file

Возвращает таблицу поиска, которая преобразует тензор строк в идентификаторы int64.

tf.contrib.lookup.index_table_from_file(
    vocabulary_file=None, num_oov_buckets=0, vocab_size=None, default_value=-1,
    hasher_spec=tf.contrib.lookup.FastHashSpec, key_dtype=tf.dtypes.string,
    name=None, key_column_index=TextFileIndex.WHOLE_LINE,
    value_column_index=TextFileIndex.LINE_NUMBER, delimiter='\t'
)

Эта операция строит таблицу поиска для преобразования тензора строк в идентификаторы int64. Сопоставление может быть инициализировано из файла словаря, указанного в vocabulary_file, где вся строка является ключом, а нулевой индекс строки — идентификатором.

Любой поиск вне словаря вернёт идентификатор корзины, основанный на его хэше, если num_oov_buckets больше нуля. В противном случае ему назначается default_value. Диапазон идентификаторов корзины — [vocabulary size, vocabulary size + num_oov_buckets - 1].

Базовая таблица должна быть инициализирована, вызвав session.run(tf.compat.v1.tables_initializer()) или session.run(table.init()) один раз.

Чтобы указать файлы словаря с несколькими столбцами, используйте key_column_index и value_column_index и разделитель.

  • TextFileIndex.LINE_NUMBER означает использование номера строки, начиная с нуля, ожидается тип данных int64.
  • TextFileIndex.WHOLE_LINE означает использование всего содержимого строки, ожидается тип данных string.
  • Значение >=0 означает использование индекса (начиная с нуля) разделённой строки на основе delimiter.

Примеры использования:

Если у нас есть файл словаря "test.txt" со следующим содержимым:

emerson
lake
palmer
features = tf.constant(["emerson", "lake", "and", "palmer"])
table = tf.lookup.index_table_from_file(
    vocabulary_file="test.txt", num_oov_buckets=1)
ids = table.lookup(features)
...
tf.compat.v1.tables_initializer().run()

ids.eval()  ==> [0, 1, 3, 2]  # where 3 is the out-of-vocabulary bucket
Аргументы
vocabulary_file Имя файла словаря, может быть константой-скаляром Tensor.
num_oov_buckets Количество корзин для слов, отсутствующих в словаре.
vocab_size Количество элементов в словаре, если известно.
default_value Значение, используемое для слов, отсутствующих в словаре. По умолчанию -1.
hasher_spec Функцию хэширования для распределения корзин слов, отсутствующих в словаре.
key_dtype Тип данных key.
name Имя этой операции (необязательно).
key_column_index Индекс столбца в текстовом файле для получения key значений. По умолчанию используется всё содержимое строки.
value_column_index Индекс столбца в текстовом файле для получения value значений. По умолчанию используется номер строки, начиная с нуля.
delimiter Разделитель для полей в строке.
Возвращаемое значение
Таблица поиска для сопоставления key_dtype Tensor с индексом int64 Tensor.
Исключения
ValueError Если vocabulary_file не задано.
ValueError Если num_oov_buckets отрицательно или vocab_size не больше нуля.

© 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/lookup/index_table_from_file

Spec-Zone.ru

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