tf.raw_ops.LoadAndRemapMatrix
Загружает 2-мерную (матрицу) Tensor с именем old_tensor_name из контрольной точки
tf.raw_ops.LoadAndRemapMatrix(
ckpt_path, old_tensor_name, row_remapping, col_remapping, initializing_values,
num_rows, num_cols, max_rows_in_memory=-1, name=None
)
по адресу ckpt_path и, возможно, переупорядочивает ее строки и столбцы с помощью указанных переназначений.
Большинство пользователей должны использовать один из обёртных инициализаторов (например, tf.contrib.framework.load_and_remap_matrix_initializer) вместо непосредственного использования этой функции.
Переназначения — это одномерные тензоры со следующими свойствами:
-
row_remappingдолжно содержать ровноnum_rowsэлементов. Строкаiвыходной матрицы будет инициализирована из строки, соответствующей индексуrow_remapping[i]в старойTensorиз контрольной точки. -
col_remappingдолжно содержать либо 0 элементов (что указывает на то, что переупорядочивание столбцов не требуется), либоnum_colsэлементов. Если указано, столбецjвыходной матрицы будет инициализирован из столбца, соответствующего индексуcol_remapping[j]в старойTensorиз контрольной точки. - Значение -1 в любом из переназначений указывает на «отсутствующий» элемент. В этом случае для заполнения этой отсутствующей строки или столбца будут использованы значения из тензора
initializing_values. Если у тензораrow_remappingестьrотсутствующих элементов, а у тензораcol_remappingестьcотсутствующих элементов, то должно выполняться следующее условие:
(r * num_cols) + (c * num_rows) - (r * c) == len(initializing_values)
Тензоры переназначения можно сгенерировать, используя оператор GenerateVocabRemapping.
Например, при row_remapping = [1, 0, -1], col_remapping = [0, 2, -1], initializing_values = [0.5, -0.5, 0.25, -0.25, 42] и w(i, j) — значение из строки i, столбца j старого тензора в контрольной точке, выходная матрица будет выглядеть следующим образом:
[[w(1, 0), w(1, 2), 0.5], [w(0, 0), w(0, 2), -0.5], [0.25, -0.25, 42]]
| Аргументы | |
|---|---|
ckpt_path | A Tensor типа string. Путь к контрольной точке TensorFlow (версия 2, TensorBundle) из которой будет загружена старая матрица Tensor. |
old_tensor_name | A Tensor типа string. Имя загружаемой 2-мерной Tensor из контрольной точки. |
row_remapping | A Tensor типа int64. Целочисленный тензор переназначений строк (обычно создаётся с помощью generate_vocab_remapping). Даже если переназначения строк не нужны, это должен быть тензор с индексными значениями (например, [0, 1, 2, ...]), или сдвинутые индексные значения (например, [8, 9, 10, ...], для разбиеной Variables). |
col_remapping | A Tensor типа int64. Целочисленный тензор переназначений столбцов (обычно создаётся с помощью generate_vocab_remapping). Может быть тензор нулевого размера, если требуется только переназначение строк (например, порядок столбцов тот же). |
initializing_values | A Tensor типа float32. Вещественный тензор, содержащий значения для заполнения ячеек выходной матрицы, которые не загружаются из контрольной точки. Длина должна точно соответствовать количеству отсутствующих/новых ячеек. |
num_rows | A int, который равен >= 0. Количество строк (длина первого измерения) в выходной матрице. |
num_cols | A int, который равен >= 1. Количество столбцов (длина второго измерения) в выходной матрице. |
max_rows_in_memory | Необязательный int. По умолчанию -1. Максимальное количество строк, загружаемых из контрольной точки за один раз. Если меньше или равно 0, вся матрица загрузится в память. Указание этого аргумента обеспечивает повышенные дисковые чтения в обмен на снижение использования памяти. |
name | Имя операции (необязательно). |
| Возвращаемые значения | |
|---|---|
A Tensor типа float32. |
© 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.3/api_docs/python/tf/raw_ops/LoadAndRemapMatrix