constructor(shape, dtype, values){
        this.dtype = dtype;
        this.shape = shape.slice();
        this.size = _util.sizeFromShape(shape);
        if (values != null) {
            const n = values.length;
            _util.assert(n === this.size, ()=>`Length of values '${n}' does not match the size ` + `inferred by the shape '${this.size}'.`);
        }
        if (dtype === "complex64") throw new Error(`complex64 dtype TensorBuffers are not supported. Please create ` + `a TensorBuffer for the real and imaginary parts separately and ` + `call tf.complex(real, imag).`);
        this.values = values || _util.getArrayFromDType(dtype, this.size);
        this.strides = (0, _util.computeStrides)(shape);
    }
A mutable `tf.Tensor`, useful for persisting state, e.g. for training.

@doc {heading: 'Tensors', subheading: 'Classes'}