Go: Update generated wrapper functions for TensorFlow ops.

PiperOrigin-RevId: 241410512
This commit is contained in:
A. Unique TensorFlower 2019-04-01 15:18:22 -07:00 committed by TensorFlower Gardener
parent 764fdc6fb1
commit 8c4dcea821

View File

@ -7970,6 +7970,43 @@ func DynamicStitch(scope *Scope, indices []tf.Output, data []tf.Output) (merged
// dimension be equal to sizeof(`type`)/sizeof(`T`). The shape then goes from
// [..., sizeof(`type`)/sizeof(`T`)] to [...].
//
// tf.bitcast() and tf.cast() work differently when real dtype is casted as a complex dtype
// (e.g. tf.complex64 or tf.complex128) as tf.cast() make imaginary part 0 while tf.bitcast()
// gives module error.
// For example,
//
// Example 1:
// ```python
// >>> a = [1., 2., 3.]
// >>> equality_bitcast = tf.bitcast(a,tf.complex128)
// tensorflow.python.framework.errors_impl.InvalidArgumentError: Cannot bitcast from float to complex128: shape [3] [Op:Bitcast]
// >>> equality_cast = tf.cast(a,tf.complex128)
// >>> print(equality_cast)
// tf.Tensor([1.+0.j 2.+0.j 3.+0.j], shape=(3,), dtype=complex128)
// ```
// Example 2:
// ```python
// >>> tf.bitcast(tf.constant(0xffffffff, dtype=tf.uint32), tf.uint8)
// <tf.Tensor: ... shape=(4,), dtype=uint8, numpy=array([255, 255, 255, 255], dtype=uint8)>
// ```
// Example 3:
// ```python
// >>> x = [1., 2., 3.]
// >>> y = [0., 2., 3.]
// >>> equality= tf.equal(x,y)
// >>> equality_cast = tf.cast(equality,tf.float32)
// >>> equality_bitcast = tf.bitcast(equality_cast,tf.uint8)
// >>> print(equality)
// tf.Tensor([False True True], shape=(3,), dtype=bool)
// >>> print(equality_cast)
// tf.Tensor([0. 1. 1.], shape=(3,), dtype=float32)
// >>> print(equality_bitcast)
// tf.Tensor(
// [[ 0 0 0 0]
// [ 0 0 128 63]
// [ 0 0 128 63]], shape=(3, 4), dtype=uint8)
// ```
//
// *NOTE*: Bitcast is implemented as a low-level cast, so machines with different
// endian orderings will give different results.
func Bitcast(scope *Scope, input tf.Output, type_ tf.DataType) (output tf.Output) {