# tf.raw_ops.LoadAndRemapMatrix

<br />

Loads a 2-D (matrix) `Tensor` with name `old_tensor_name` from the checkpoint

#### View aliases


**Compat aliases for migration**

See
[Migration guide](https://www.tensorflow.org/guide/migrate) for
more details.

[`tf.compat.v1.raw_ops.LoadAndRemapMatrix`](https://www.tensorflow.org/api_docs/python/tf/raw_ops/LoadAndRemapMatrix)

<br />

    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
    )

at `ckpt_path` and potentially reorders its rows and columns using the
specified remappings.

Most users should use one of the wrapper initializers (such as
`tf.contrib.framework.load_and_remap_matrix_initializer`) instead of this
function directly.

The remappings are 1-D tensors with the following properties:

- `row_remapping` must have exactly `num_rows` entries. Row `i` of the output matrix will be initialized from the row corresponding to index `row_remapping[i]` in the old `Tensor` from the checkpoint.
- `col_remapping` must have either 0 entries (indicating that no column reordering is needed) or `num_cols` entries. If specified, column `j` of the output matrix will be initialized from the column corresponding to index `col_remapping[j]` in the old `Tensor` from the checkpoint.
- A value of -1 in either of the remappings signifies a "missing" entry. In that case, values from the `initializing_values` tensor will be used to fill that missing row or column. If `row_remapping` has `r` missing entries and `col_remapping` has `c` missing entries, then the following condition must be true:

`(r * num_cols) + (c * num_rows) - (r * c) == len(initializing_values)`

The remapping tensors can be generated using the GenerateVocabRemapping op.

As an example, with row_remapping = \[1, 0, -1\], col_remapping = \[0, 2, -1\],
initializing_values = \[0.5, -0.5, 0.25, -0.25, 42\], and w(i, j) representing
the value from row i, column j of the old tensor in the checkpoint, the output
matrix will look like the following:

\[\[w(1, 0), w(1, 2), 0.5\],
\[w(0, 0), w(0, 2), -0.5\],
\[0.25, -0.25, 42\]\]

<br />

<br />

<br />

| ## Args ||
|---|---|
| `ckpt_path` | A `Tensor` of type `string`. Path to the TensorFlow checkpoint (version 2, `TensorBundle`) from which the old matrix `Tensor` will be loaded. |
| `old_tensor_name` | A `Tensor` of type `string`. Name of the 2-D `Tensor` to load from checkpoint. |
| `row_remapping` | A `Tensor` of type `int64`. An int `Tensor` of row remappings (generally created by `generate_vocab_remapping`). Even if no row remapping is needed, this must still be an index-valued Tensor (e.g. \[0, 1, 2, ...\]), or a shifted index-valued `Tensor` (e.g. \[8, 9, 10, ...\], for partitioned `Variables`). |
| `col_remapping` | A `Tensor` of type `int64`. An int `Tensor` of column remappings (generally created by `generate_vocab_remapping`). May be a size-0 `Tensor` if only row remapping is to be done (e.g. column ordering is the same). |
| `initializing_values` | A `Tensor` of type `float32`. A float `Tensor` containing values to fill in for cells in the output matrix that are not loaded from the checkpoint. Length must be exactly the same as the number of missing / new cells. |
| `num_rows` | An `int` that is `>= 0`. Number of rows (length of the 1st dimension) in the output matrix. |
| `num_cols` | An `int` that is `>= 1`. Number of columns (length of the 2nd dimension) in the output matrix. |
| `max_rows_in_memory` | An optional `int`. Defaults to `-1`. The maximum number of rows to load from the checkpoint at once. If less than or equal to 0, the entire matrix will be loaded into memory. Setting this arg trades increased disk reads for lower memory usage. |
| `name` | A name for the operation (optional). |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| A `Tensor` of type `float32`. ||

<br />