A TensorFlow variable is a mutable tensor-like object for storing model state that changes during computation. Unlike a regular tensor, it supports assignment and in-place-style updates. section 3.3.1 section 3.2
Create and update a variable
Create a variable from a zero-filled tensor, replace its contents, then add to every element:\n\n```r\nv <- tf$Variable(initial_value = tf$zeros(shape = shape(3, 1)))\nv$assign(tf$ones(shape(3, 1)))\nv$assign_add(tf$ones(shape(3, 1)))\n```\n\nAssignment changes the stored value, whereas direct item assignment on an ordinary tensor is unsupported. section 3.3.1
Variables also participate naturally in automatic differentiation: GradientTape tracks operations involving them and can compute gradients with respect to their values. section 3.2

