Spec-Zone.ru › TensorFlow 2.4

tf.lookup.TextFileInitializer

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

Инициализаторы таблицы из текстового файла.

Просмотр псевдонимов

Псевдонимы для миграции

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.lookup.TextFileInitializer

tf.lookup.TextFileInitializer(
    filename, key_dtype, key_index, value_dtype, value_index, vocab_size=None,
    delimiter='\t', name=None
)

Этот инициализатор назначает одну запись в таблицу для каждой строки в файле.

Тип ключа и значения таблицы для инициализации задаётся key_dtype и value_dtype.

Содержание ключа и значения, которые нужно получить из каждой строки, задаётся key_index и value_index.

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

Например, если у нас есть файл со следующим содержимым:

import tempfile
f = tempfile.NamedTemporaryFile(delete=False)
content='\n'.join(["emerson 10", "lake 20", "palmer 30",])
f.file.write(content.encode('utf-8'))
f.file.close()

Следующий фрагмент инициализирует таблицу с первым столбцом в качестве ключей и вторым столбцом в качестве значений:

  • emerson -> 10
  • lake -> 20
  • palmer -> 30
init= tf.lookup.TextFileInitializer(
   filename=f.name,
   key_dtype=tf.string, key_index=0,
   value_dtype=tf.int64, value_index=1,
   delimiter=" ")
table = tf.lookup.StaticHashTable(init, default_value=-1)
table.lookup(tf.constant(['palmer','lake','tarkus'])).numpy()

Аналогично, для инициализации всей строки в качестве ключей и номера строки в качестве значений.

  • emerson 10 -> 0
  • lake 20 -> 1
  • palmer 30 -> 2
init = tf.lookup.TextFileInitializer(
  filename=f.name,
  key_dtype=tf.string, key_index=tf.lookup.TextFileIndex.WHOLE_LINE,
  value_dtype=tf.int64, value_index=tf.lookup.TextFileIndex.LINE_NUMBER,
  delimiter=" ")
table = tf.lookup.StaticHashTable(init, -1)
table.lookup(tf.constant('palmer 30')).numpy()
2
Аргументы
filename Имя файла текстового файла, используемого для инициализации. Путь должен быть доступен из места, где инициализируется граф (например, рабочие процессы обучения или оценки). Имя файла может быть скалярным Tensor.
key_dtype Тип данных key.
key_index Индекс, представляющий информацию о строке для получения значений ключа таблицы.
value_dtype Тип данных value.
value_index Индекс, представляющий информацию о строке для получения значений значения таблицы.
vocab_size Количество элементов в файле, если известно.
delimiter Разделитель для разделения полей в строке.
name Имя операции (необязательно).
Возможные исключения
ValueError при пустом имени файла или при несоответствии типов данных ключа и значения таблицы ожидаемым типам данных.
Атрибуты
key_dtype Ожидаемый тип данных ключа таблицы.
value_dtype Ожидаемый тип данных значения таблицы.

Методы

initialize

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

initialize(
    table
)

Инициализирует таблицу из текстового файла.

Аргументы
table Таблица, которая должна быть инициализирована.
Возвращаемое значение
Операция, которая инициализирует таблицу.
Возможные исключения
TypeError при несоответствии типов данных ключей и значений типам данных ключа и значения таблицы.

© 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/r2.4/api_docs/python/tf/lookup/TextFileInitializer

Spec-Zone.ru

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