Skip to content

zaccharieramzi/tf-slice-assign

Repository files navigation

tf-slice-assign

GitHub Workflow Build Status

A tool for assignment to a slice in TensorFlow.

In TensorFlow, as opposed to Pytorch, it is currently impossible to assign to the slice of a tensor in a range of different settings. To mitigate this issue, tf-slice-assign introduces a single function that allows to do exactly this using tensor_scatter_nd_update.

Use

from tf_slice_assign import slice_assign

new_tensor = slice_assign(old_tensor, assignment, *slice_args)

You can find a relatively simple example here.

Installation

pip install tf-slice-assign

List of GitHub issues and StackOverflow questions regarding TensorFlow slice assignment

In the following table, I am trying to give the reasons as to why no mitigation for the current problem exists.

Link Status
SO Current answer requires creating a tf.Variable for each slice assignment you make
GH Question is about tf.Variable
SO Answers for tf.Variable or using tensor_scatter_update in a non-adaptable way
GH Suggestion to use tensor_scatter_nd_update
GH An answer suggest creating a mask, but a mask can actually be as difficult to create as the indices for tensor_scatter_nd_update