Available TensorFlow Ops
This page lists the TensorFlow Python APIs and graph operators available on Cloud TPU.
Available Python APIs
The list below is a guide to the set of available TensorFlow Python APIs. This list is not exhaustive. Library functions not on this list may work if they are composed of available primitives.
See the performance guide for recommendations about specific operators.
Module | Available Python API | Comments |
---|---|---|
tf | tf.abs | |
tf.acosh | ||
tf.add | ||
tf.add_n | ||
tf.angle | ||
tf.arg_max | dimension argument must be a compile-time constant. | |
tf.arg_min | dimension argument must be a compile-time constant. | |
tf.asinh | ||
tf.assign | Available only for resource variable. | |
tf.assign_add | Available only for resource variable. | |
tf.assign_sub | Available only for resource variable. | |
tf.atan | ||
tf.atan2 | ||
tf.atanh | ||
tf.batch_to_space | crops and block_shape arguments must be compile-time constant. | |
tf.batch_to_space_nd | crops argument must be a compile-time constant. | |
tf.broadcast_dynamic_shape | ||
tf.broadcast_static_shape | ||
tf.case | Experimental (control-flow). May not work reliably yet. | |
tf.cast | ||
tf.ceil | ||
tf.cholesky | Experimental. May have issues with numerical precision. | |
tf.cholesky_solve | Experimental. May have issues with numerical precision. | |
tf.clip_by_average_norm | ||
tf.clip_by_global_norm | ||
tf.clip_by_norm | ||
tf.clip_by_value | ||
tf.complex | ||
tf.concat | concat_dim must be a compile-time constant. | |
tf.cond | Experimental (control-flow). May not work reliably yet. | |
tf.conj | ||
tf.constant | ||
tf.convert_to_tensor | ||
tf.cos | ||
tf.cosh | ||
tf.cross | ||
tf.cumprod | axis must be a compile-time constant. | |
tf.cumsum | axis must be a compile-time constant. | |
tf.depth_to_space | ||
tf.diag | ||
tf.diag_part | ||
tf.div | int32 division is slower than other types. | |
tf.divide | int32 division is slower than other types. | |
tf.dynamic_stitch | indices must be a compile-time constant. | |
tf.einsum | ||
tf.equal | ||
tf.erf | ||
tf.erfc | ||
tf.exp | ||
tf.expand_dims | dims must be a compile-time constant. | |
tf.expm1 | ||
tf.extract_image_patches | ||
tf.eye | ||
tf.fake_quant_with_min_max_args | ||
tf.fake_quant_with_min_max_args_gradient | ||
tf.fake_quant_with_min_max_vars | ||
tf.fake_quant_with_min_max_vars_gradient | ||
tf.fft | ||
tf.fft2d | ||
tf.fft3d | ||
tf.fill | dims argument must be a compile-time constant. | |
tf.floor | ||
tf.floordiv | ||
tf.floormod | ||
tf.foldl | Experimental (control-flow). | |
tf.foldr | Experimental (control-flow). | |
tf.gather | axis must be a compile-time constant. | |
tf.gather_nd | ||
tf.greater | ||
tf.greater_equal | ||
tf.hessians | Experimental (control-flow. | |
tf.identity | ||
tf.identity_n | ||
tf.ifft | ||
tf.ifft2d | ||
tf.ifft3d | ||
tf.imag | ||
tf.invert_permutation | x argument must be a compile-time constant. | |
tf.is_finite | ||
tf.is_inf | ||
tf.is_nan | ||
tf.is_non_decreasing | ||
tf.is_strictly_increasing | ||
tf.less | ||
tf.less_equal | ||
tf.linspace | start , stop and num arguments must be compile-time constants. | |
tf.log | ||
tf.log1p | ||
tf.log_sigmoid | ||
tf.logical_and | ||
tf.logical_or | ||
tf.logical_not | ||
tf.logical_xor | ||
tf.matmul | Uses a bfloat16 matmul with float32 accumulation. | |
tf.matrix_band_part | ||
tf.matrix_diag | ||
tf.matrix_diag_part | ||
tf.matrix_set_diag | ||
tf.matrix_triangular_solve | Experimental. May have issues with numerical precision. | |
tf.maximum | ||
tf.meshgrid | ||
tf.minimum | ||
tf.mod | ||
tf.multinomial | num_samples argument must be a compile-time constant. | |
tf.multiply | ||
tf.negative | ||
tf.no_op | ||
tf.norm | ||
tf.not_equal | ||
tf.one_hot | depth must be a compile-time constant. | |
tf.ones | ||
tf.ones_like | ||
tf.pad | paddings argument must be a compile-time constant. Gradient of REFLECT padding is not yet available. | |
tf.pow | ||
tf.random_normal | shape must be a compile-time constant. | |
tf.random_uniform | shape must be a compile-time constant. | |
tf.range | start , limit and delta arguments must be compile-time constants. | |
tf.rank | ||
tf.real | ||
tf.realdiv | ||
tf.reciprocal | ||
tf.reduce_all | axis must be a compile-time constant. | |
tf.reduce_any | axis must be a compile-time constant. | |
tf.reduce_logsumexp | ||
tf.reduce_max | axis must be a compile-time constant. | |
tf.reduce_min | axis must be a compile-time constant. | |
tf.reduce_prod | axis must be a compile-time constant. | |
tf.reduce_sum | axis must be a compile-time constant. | |
tf.reshape | shape argument must be a compile-time constant. | |
tf.reverse | dims argument must be a compile-time constant. | |
tf.reverse_sequence | ||
tf.reverse_v2 | axis argument must be a compile-time constant. | |
tf.rint | ||
tf.round | ||
tf.rsqrt | ||
tf.saturate_cast | ||
tf.scalar_mul | ||
tf.scan | Experimental (control-flow). | |
tf.scatter_nd | ||
tf.sequence_mask | ||
tf.shape | ||
tf.shape_n | ||
tf.sigmoid | ||
tf.sign | ||
tf.sin | ||
tf.sinh | ||
tf.size | ||
tf.slice | size must be a compile-time constant. In addition, either begin must be a compile-time constant or size must be non-negative. Backpropagation is only supported if begin and size are compile-time constants. | |
tf.space_to_batch | paddings and block_shape must be compile-time constants. | |
tf.space_to_batch_nd | paddings must be a compile-time constant. | |
tf.space_to_depth | ||
tf.split | axis must be a compile-time constant. | |
tf.sqrt | ||
tf.square | ||
tf.squared_difference | ||
tf.squeeze | ||
tf.stack | ||
tf.stop_gradient | ||
tf.strided_slice | ||
tf.tan | ||
tf.tanh | ||
tf.tensordot | ||
tf.tile | multiples argument must be a compile-time constant. | |
tf.to_bfloat16 | ||
tf.to_float | ||
tf.to_int32 | ||
tf.to_int64 | int64 support is limited. | |
tf.trace | ||
tf.transpose | perm argument must be a compile-time constant. | |
tf.truediv | ||
tf.truncated_normal | shape must be a compile-time constant. | |
tf.truncatediv | ||
tf.truncatemod | ||
tf.unsorted_segment_sum | ||
tf.unstack | ||
tf.where | Both x and y must be non-None . If both x and y are None , the operator would not have a static shape. | |
tf.while_loop | Computing the gradient of a while loop requires that the maximum_iterations argument is passed. | |
tf.zeros | ||
tf.zeros_like | ||
tf.Tensor.__getitem__ | The start, end, and strides of a slice must be compile-time constants. | |
tf.bitwise | tf.bitwise_and | |
tf.bitwise_or | ||
tf.bitwise_invert | ||
tf.contrib.stateless | tf.contrib.stateless.stateless_random_normal | |
tf.contrib.stateless.stateless_random_uniform | ||
tf.image | tf.image.adjust_brightness | |
tf.image.adjust_contrast | ||
tf.image.adjust_gamma | ||
tf.image.adjust_hue | ||
tf.image.adjust_saturation | ||
tf.image.central_crop | Crop factor must be a compile-time constant. | |
tf.image.convert_image_dtype | ||
tf.image.flip_left_right | ||
tf.image.flip_up_down | ||
tf.image.grayscale_to_rgb | ||
tf.image.hsv_to_rgb | ||
tf.image.resize_bilinear | Only align_corners=True is available. size must be a compile-time constant. | |
tf.image.random_brightness | ||
tf.image.random_contrast | ||
tf.image.random_flip_left_right | ||
tf.image.random_flip_up_down | ||
tf.image.random_hue | ||
tf.image.random_saturation | ||
tf.image.rgb_to_hsv | ||
tf.image.rgb_to_grayscale | ||
tf.image.rot90 | ||
tf.image.total_variation | ||
tf.image.transpose_image | ||
tf.layers | tf.layers.average_pooling1d | |
tf.layers.average_pooling2d | ||
tf.layers.average_pooling1d | ||
tf.layers.batch_normalization | ||
tf.layers.conv1d | ||
tf.layers.conv2d | ||
tf.layers.conv2d_transpose | ||
tf.layers.conv3d | ||
tf.layers.conv3d_transpose | ||
tf.layers.dense | ||
tf.layers.dropout | ||
tf.layers.flatten | ||
tf.layers.max_pooling1d | ||
tf.layers.max_pooling2d | ||
tf.layers.max_pooling3d | ||
tf.layers.separable_conv2d | ||
tf.nn | tf.nn.atrous_conv2d | |
tf.nn.atrous_conv2d_transpose | ||
tf.nn.avg_pool | ||
tf.nn.avg_pool3d | ||
tf.nn.batch_normalization | ||
tf.nn.bias_add | ||
tf.nn.conv1d | ||
tf.nn.conv2d | ||
tf.nn.conv2d_backprop_filter | ||
tf.nn.conv2d_backprop_input | ||
tf.nn.conv2d_transpose | ||
tf.nn.conv3d | ||
tf.nn.conv3d_backprop_filter | ||
tf.nn.conv3d_backprop_input | ||
tf.nn.conv3d_transpose | ||
tf.nn.convolution | ||
tf.nn.crelu | ||
tf.nn.depthwise_conv2d | ||
tf.nn.depthwise_conv2d_native | ||
tf.nn.depthwise_conv2d_native_backprop_filter | ||
tf.nn.depthwise_conv2d_native_backprop_input | ||
tf.nn.dropout | ||
tf.nn.dynamic_rnn | Experimental. | |
tf.nn.elu | ||
tf.nn.fused_batch_norm | ||
tf.nn.l2_loss | ||
tf.nn.l2_normalize | ||
tf.nn.leaky_relu | ||
tf.nn.local_response_normalization | ||
tf.nn.log_poisson_loss | ||
tf.nn.log_softmax | ||
tf.nn.max_pool | ||
tf.nn.max_pool3d | ||
tf.nn.moments | ||
tf.nn.normalize_moments | ||
tf.nn.pool | ||
tf.nn.relu | ||
tf.nn.relu6 | ||
tf.nn.relu_layer | ||
tf.nn.selu | ||
tf.nn.separable_conv2d | ||
tf.nn.sigmoid_cross_entropy_with_logits | ||
tf.nn.softmax | ||
tf.nn.softmax_cross_entropy_with_logits | ||
tf.nn.softplus | ||
tf.nn.softsign | ||
tf.nn.sparse_softmax_cross_entropy_with_logits | ||
tf.nn.static_bidirectional_rnn | Experimental. | |
tf.nn.static_rnn | Experimental. | |
tf.nn.weighted_cross_entropy_with_logits | Experimental. | |
tf.nn.weighted_moments | ||
tf.nn.with_space_to_batch | ||
tf.nn.xw_plus_b | ||
tf.nn.zero_fraction | ||
tf.spectral | tf.spectral.fft | |
tf.spectral.fft2d | ||
tf.spectral.fft3d | ||
tf.spectral.ifft | ||
tf.spectral.ifft2d | ||
tf.spectral.ifft3d | ||
tf.spectral.irfft | fft_length must be a compile-time constant. | |
tf.spectral.irfft2d | fft_length must be a compile-time constant. | |
tf.spectral.irfft3d | fft_length must be a compile-time constant. | |
tf.spectral.rfft | fft_length must be a compile-time constant. | |
tf.spectral.rfft2d | fft_length must be a compile-time constant. | |
tf.spectral.rfft3d | fft_length must be a compile-time constant. |
Unavailable Python APIs
This list is not exhaustive. Ops that are not available on Cloud TPU include the following:
Module | Unavailable Python API | Comments |
---|---|---|
tf | tf.accumulate_n | Uses Ref variables. |
tf.acos | ||
tf.asin | ||
tf.betainc | ||
tf.bitcast | ||
tf.add_check_numerics_ops | Programs containing check numerics operators should run, but the check numerics operator is currently ignored. | |
tf.assert_... | Programs containing assertions should run, but the assertions are ignored. | |
tf.check_numerics | Programs containing check numerics operators should run, but the check numerics operator is currently ignored. | |
tf.confusion_matrix | ||
tf.count_nonzero | Uses int64 reduction. | |
tf.count_up_to | ||
tf.create_partitioned_variables | ||
tf.dequantize | ||
tf.digamma | ||
tf.dynamic_partition | ||
tf.edit_distance | ||
tf.fake_quant_with_min_max_vars_per_channel | ||
tf.fake_quant_with_min_max_vars_per_channel_gradient | ||
tf.histogram_fixed_width | ||
tf.igamma | ||
tf.igammac | ||
tf.lbeta | ||
tf.lgamma | ||
tf.matrix_determinant | ||
tf.matrix_inverse | ||
tf.matrix_solve | ||
tf.matrix_solve_ls | ||
tf.polygamma | ||
tf.py_func | ||
tf.qr | ||
tf.quantize_v2 | ||
tf.quantized_concat | ||
tf.random_crop | ||
tf.random_gamma | ||
tf.random_poisson | ||
tf.random_shuffle | ||
tf.scatter_add | ||
tf.scatter_div | ||
tf.scatter_mul | ||
tf.scatter_nd_add | ||
tf.scatter_nd_sub | ||
tf.scatter_nd_update | ||
tf.segment_mean | ||
tf.segment_max | ||
tf.segment_min | ||
tf.segment_prod | ||
tf.segment_sum | ||
tf.self_adjoint_eig | ||
tf.self_adjoint_eigvals | ||
tf.setdiff1d | ||
tf.sparse_... | ||
tf.string_... | ||
tf.substr | ||
tf.svd | ||
tf.to_double | ||
tf.unique | ||
tf.unsorted_segment_max | ||
tf.zeta | ||
tf.bitwise.bitwise_xor | ||
tf.contrib.stateless.stateless_truncated_normal |
Available graph operators
Operator | Type Constraint |
---|---|
Abs | T={bfloat16,float,int32,int64} |
Acos | T={bfloat16,complex64,float,int32,int64} |
Acosh | T={bfloat16,complex64,float} |
Add | T={bfloat16,complex64,float,int32,int64} |
AddN | T={bfloat16,complex64,float,int32,int64,uint32,uint64} |
AdjustContrastv2 | T={float} |
AdjustHue | T={float} |
AdjustSaturation | T={float} |
All | Tidx={int32,int64} |
AllToAll | T={bfloat16,float} |
Angle | Tout={float} T={complex64} |
Any | Tidx={int32,int64} |
ApproximateEqual | T={bfloat16,complex64,float,int32,int64,uint32,uint64} |
ArgMax | Tidx={int32,int64} output_type={int32,int64} T={bfloat16,complex64,float,int32,int64,uint32,uint64} |
ArgMin | Tidx={int32,int64} output_type={int32,int64} T={bfloat16,complex64,float,int32,int64,uint32,uint64} |
Asin | T={bfloat16,complex64,float,int32,int64} |
Asinh | T={bfloat16,complex64,float} |
Assert | T={bfloat16,bool,complex64,float,int32,int64,string,uint32,uint64} |
AssignAddVariableOp | dtype={bfloat16,complex64,float,int32,int64,uint32,uint64} |
AssignSubVariableOp | dtype={bfloat16,complex64,float,int32,int64,uint32,uint64} |
AssignVariableOp | dtype={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Atan | T={bfloat16,complex64,float,int32,int64} |
Atan2 | T={bfloat16,float} |
Atanh | T={bfloat16,complex64,float} |
AvgPool | T={bfloat16,float} |
AvgPool3D | T={bfloat16,float} |
AvgPool3DGrad | T={bfloat16,float} |
AvgPoolGrad | T={bfloat16,float} |
BatchMatMul | T={bfloat16,complex64,float,int32,int64} |
BatchToSpace | Tidx={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
BatchToSpaceND | Tcrops={int32,int64} Tblock_shape={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
BiasAdd | T={bfloat16,complex64,float,int32,int64,uint32,uint64} |
BiasAddGrad | T={bfloat16,complex64,float,int32,int64,uint32,uint64} |
BiasAddV1 | T={bfloat16,complex64,float,int32,int64,uint32,uint64} |
Bitcast | type={bfloat16,complex64,float,int32,int64,uint32,uint64} T={bfloat16,complex64,float,int32,int64,uint32,uint64} |
BitwiseAnd | T={int32,int64,uint32,uint64} |
BitwiseOr | T={int32,int64,uint32,uint64} |
BitwiseXor | T={int32,int64,uint32,uint64} |
BroadcastArgs | T={int32,int64} |
BroadcastGradientArgs | T={int32,int64} |
BroadcastTo | Tidx={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Bucketize | T={float,int32,int64} |
Cast | DstT={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} SrcT={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Ceil | T={bfloat16,float} |
CheckNumerics | T={bfloat16,float} |
Cholesky | T={float} |
ClipByValue | T={bfloat16,complex64,float,int32,int64,uint32,uint64} |
CollectivePermute | T={bfloat16,float} |
Complex | Tout={complex64} T={float} |
ComplexAbs | Tout={float} T={complex64} |
Concat | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
ConcatOffset | |
ConcatV2 | Tidx={int32} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Conj | T={complex64} |
ConjugateTranspose | Tperm={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Const | dtype={bfloat16,bool,complex64,float,int32,int64,string,uint32,uint64} |
ControlTrigger | |
Conv2D | T={bfloat16,float} |
Conv2DBackpropFilter | T={bfloat16,float} |
Conv2DBackpropInput | T={bfloat16,float} |
Conv3D | T={bfloat16,float} |
Conv3DBackpropFilterV2 | T={bfloat16,float} |
Conv3DBackpropInputV2 | Tshape={int32,int64} T={bfloat16,float} |
Cos | T={bfloat16,complex64,float} |
Cosh | T={bfloat16,complex64,float} |
Cross | T={bfloat16,float,int32,int64,uint32,uint64} |
CrossReplicaSum | T={bfloat16,float} |
Cumprod | Tidx={int32,int64} T={bfloat16,float,int32} |
Cumsum | Tidx={int32,int64} T={bfloat16,float,int32} |
DataFormatVecPermute | T={int32,int64} |
DepthToSpace | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
DepthwiseConv2dNative | T={bfloat16,float} |
DepthwiseConv2dNativeBackpropFilter | T={bfloat16,float} |
DepthwiseConv2dNativeBackpropInput | T={bfloat16,float} |
Diag | T={bfloat16,complex64,float,int32,int64} |
DiagPart | T={bfloat16,complex64,float,int32,int64} |
Digamma | T={bfloat16,float} |
Div | T={bfloat16,complex64,float,int32,int64} |
DivNoNan | T={float} |
DynamicStitch | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Elu | T={bfloat16,float} |
EluGrad | T={bfloat16,float} |
Empty | dtype={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
EmptyTensorList | shape_type={int32,int64} element_dtype={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Equal | T={bfloat16,bool,complex64,float,int32,int64} |
Erf | T={bfloat16,float} |
Erfc | T={bfloat16,float} |
Exp | T={bfloat16,complex64,float} |
ExpandDims | Tdim={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Expm1 | T={bfloat16,complex64,float} |
ExtractImagePatches | T={bfloat16,float,int32,int64,uint32,uint64} |
FFT | Tcomplex={complex64} |
FFT2D | Tcomplex={complex64} |
FFT3D | Tcomplex={complex64} |
FakeParam | dtype={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
FakeQuantWithMinMaxArgs | |
FakeQuantWithMinMaxArgsGradient | |
FakeQuantWithMinMaxVars | |
FakeQuantWithMinMaxVarsGradient | |
Fill | index_type={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Floor | T={bfloat16,float} |
FloorDiv | T={bfloat16,complex64,float,int32,int64} |
FloorMod | T={bfloat16,float,int32,int64} |
FusedBatchNorm | T={float} |
FusedBatchNormGrad | T={float} |
FusedBatchNormGradV2 | U={float} T={bfloat16,float} |
FusedBatchNormV2 | U={float} T={bfloat16,float} |
Gather | Tindices={int32,int64} Tparams={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
GatherNd | Tindices={int32,int64} Tparams={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
GatherV2 | Taxis={int32,int64} Tindices={int32,int64} Tparams={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
GetItem | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Greater | T={bfloat16,float,int32,int64,uint32,uint64} |
GreaterEqual | T={bfloat16,float,int32,int64,uint32,uint64} |
HSVToRGB | T={bfloat16,float} |
IFFT | Tcomplex={complex64} |
IFFT2D | Tcomplex={complex64} |
IFFT3D | Tcomplex={complex64} |
IRFFT | |
IRFFT2D | |
IRFFT3D | |
Identity | T={bfloat16,bool,complex64,float,int32,int64,resource,uint32,uint64} |
IdentityN | T={bfloat16,bool,complex64,float,int32,int64,resource,uint32,uint64} |
If | Tout={bfloat16,bool,complex64,float,int32,int64,resource,uint32,uint64} Tin={bfloat16,bool,complex64,float,int32,int64,resource,uint32,uint64} Tcond={bfloat16,bool,complex64,float,int32,int64,resource,uint32,uint64} |
Imag | Tout={float} T={complex64} |
InfeedDequeue | dtype={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
InfeedDequeueTuple | dtypes={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
InplaceAdd | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
InplaceUpdate | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Inv | T={bfloat16,complex64,float,int32,int64} |
Invert | T={int32,int64,uint32,uint64} |
InvertPermutation | T={int32} |
IsFinite | T={bfloat16,float} |
IsInf | T={bfloat16,float} |
IsNan | T={bfloat16,float} |
L2Loss | T={bfloat16,float} |
LRN | T={bfloat16,float} |
LRNGrad | T={bfloat16,float} |
LeakyRelu | T={bfloat16,float} |
LeakyReluGrad | T={bfloat16,float} |
LeftShift | T={int32,int64,uint32,uint64} |
Less | T={bfloat16,float,int32,int64,uint32,uint64} |
LessEqual | T={bfloat16,float,int32,int64,uint32,uint64} |
Lgamma | T={bfloat16,float} |
LinSpace | Tidx={int32,int64} T={bfloat16,float} |
ListDiff | out_idx={int32,int64} T={int32,int64} |
Log | T={bfloat16,complex64,float} |
Log1p | T={bfloat16,complex64,float} |
LogSoftmax | T={bfloat16,float} |
LogicalAnd | |
LogicalNot | |
LogicalOr | |
MatMul | T={bfloat16,complex64,float} |
MatrixBandPart | Tindex={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
MatrixDiag | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
MatrixDiagPart | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
MatrixSetDiag | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
MatrixTriangularSolve | T={complex64,float} |
Max | Tidx={int32,int64} T={bfloat16,complex64,float,int32,int64,uint32,uint64} |
MaxPool | T={bfloat16,float,int32,int64} |
MaxPool3D | T={bfloat16,float} |
MaxPool3DGrad | TInput={bfloat16,float} T={bfloat16,float} |
MaxPool3DGradGrad | T={float} |
MaxPoolGrad | T={bfloat16,float,int32,int64,uint32,uint64} |
MaxPoolGradGrad | T={float} |
MaxPoolGradGradV2 | T={float} |
MaxPoolGradV2 | T={bfloat16,float,int32,int64,uint32,uint64} |
MaxPoolV2 | T={bfloat16,float,int32,int64} |
Maximum | T={bfloat16,float,int32,int64} |
Mean | Tidx={int32,int64} T={bfloat16,complex64,float,int32,int64,uint32,uint64} |
Min | Tidx={int32,int64} T={bfloat16,complex64,float,int32,int64,uint32,uint64} |
Minimum | T={bfloat16,float,int32,int64} |
MirrorPad | Tpaddings={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Mod | T={bfloat16,float,int32,int64} |
Mul | T={bfloat16,complex64,float,int32,int64} |
Multinomial | output_dtype={int32,int64} T={bfloat16,float,int32,int64,uint32,uint64} |
Neg | T={bfloat16,complex64,float,int32,int64} |
NoOp | |
NonMaxSuppressionV4 | T={float} |
NotEqual | T={bfloat16,bool,complex64,float,int32,int64} |
OneHot | TI={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
OnesLike | T={bfloat16,bool,complex64,float,int32,int64} |
OutfeedEnqueue | dtype={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
OutfeedEnqueueTuple | dtypes={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Pack | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Pad | Tpaddings={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
PadV2 | Tpaddings={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
ParallelDynamicStitch | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
PlaceholderWithDefault | dtype={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Pow | T={bfloat16,complex64,float,int32,int64} |
PreventGradient | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Prod | Tidx={int32,int64} T={bfloat16,complex64,float,int32,int64,uint32,uint64} |
Qr | T={float} |
QuantizeAndDequantizeV2 | T={bfloat16,float} |
QuantizeAndDequantizeV3 | T={bfloat16,float} |
RFFT | |
RFFT2D | |
RFFT3D | |
RGBToHSV | T={bfloat16,float} |
RandomShuffle | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
RandomStandardNormal | T={int32,int64} dtype={bfloat16,float} |
RandomUniform | T={int32,int64} dtype={bfloat16,float} |
RandomUniformInt | T={int32,int64} Tout={int32,int64} |
Range | Tidx={bfloat16,float,int32,int64} |
Rank | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
ReadVariableOp | dtype={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Real | Tout={float} T={complex64} |
RealDiv | T={bfloat16,complex64,float,int32,int64} |
Reciprocal | T={bfloat16,complex64,float,int32,int64} |
ReciprocalGrad | T={bfloat16,complex64,float} |
RecvTPUEmbeddingActivations | |
Relu | T={bfloat16,float,int32,int64,uint32,uint64} |
Relu6 | T={bfloat16,float,int32,int64,uint32,uint64} |
Relu6Grad | T={bfloat16,float,int32,int64,uint32,uint64} |
ReluGrad | T={bfloat16,float,int32,int64,uint32,uint64} |
Reshape | Tshape={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
ResizeBilinear | T={bfloat16,float,int32,int64} |
ResizeBilinearGrad | T={bfloat16,float} |
ResizeNearestNeighbor | T={float,int32,int64} |
ResourceApplyAdaMax | T={bfloat16,float} |
ResourceApplyAdadelta | T={bfloat16,float} |
ResourceApplyAdagrad | T={bfloat16,float} |
ResourceApplyAdagradDA | T={bfloat16,float} |
ResourceApplyAdam | T={bfloat16,float} |
ResourceApplyAddSign | T={bfloat16,float} |
ResourceApplyCenteredRMSProp | T={bfloat16,float} |
ResourceApplyFtrl | T={bfloat16,float} |
ResourceApplyFtrlV2 | T={bfloat16,float} |
ResourceApplyGradientDescent | T={bfloat16,float} |
ResourceApplyKerasMomentum | T={bfloat16,float} |
ResourceApplyMomentum | T={bfloat16,float} |
ResourceApplyPowerSign | T={bfloat16,float} |
ResourceApplyProximalAdagrad | T={bfloat16,float} |
ResourceApplyProximalGradientDescent | T={bfloat16,float} |
ResourceApplyRMSProp | T={bfloat16,float} |
ResourceGather | Tindices={int32,int64} dtype={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
ResourceScatterAdd | Tindices={int32,int64} dtype={bfloat16,complex64,float,int32,int64,uint32,uint64} |
ResourceScatterDiv | Tindices={int32,int64} dtype={bfloat16,complex64,float,int32,int64,uint32,uint64} |
ResourceScatterMax | Tindices={int32,int64} dtype={bfloat16,complex64,float,int32,int64,uint32,uint64} |
ResourceScatterMin | Tindices={int32,int64} dtype={bfloat16,complex64,float,int32,int64,uint32,uint64} |
ResourceScatterMul | Tindices={int32,int64} dtype={bfloat16,complex64,float,int32,int64,uint32,uint64} |
ResourceScatterNdAdd | Tindices={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
ResourceScatterNdSub | Tindices={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
ResourceScatterNdUpdate | Tindices={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
ResourceScatterSub | Tindices={int32,int64} dtype={bfloat16,complex64,float,int32,int64,uint32,uint64} |
ResourceScatterUpdate | Tindices={int32,int64} dtype={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
ResourceStridedSliceAssign | Index={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Reverse | T={bool,complex64,float,int32,int64} |
ReverseSequence | Tlen={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
ReverseV2 | T={bfloat16,bool,complex64,float,int32,int64} Tidx={int32,int64} |
RightShift | T={int32,int64,uint32,uint64} |
Rint | T={bfloat16,float} |
Round | T={bfloat16,complex64,float,int32,int64} |
Rsqrt | T={bfloat16,complex64,float} |
RsqrtGrad | T={bfloat16,complex64,float} |
ScatterNd | Tindices={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Select | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Selu | T={bfloat16,float} |
SeluGrad | T={bfloat16,float} |
SendTPUEmbeddingGradients | |
Shape | out_type={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
ShapeN | out_type={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Sigmoid | T={bfloat16,complex64,float} |
SigmoidGrad | T={bfloat16,complex64,float} |
Sign | T={bfloat16,complex64,float,int32,int64} |
Sin | T={bfloat16,complex64,float} |
Sinh | T={bfloat16,complex64,float} |
Size | out_type={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Slice | Index={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Snapshot | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Softmax | T={bfloat16,float} |
SoftmaxCrossEntropyWithLogits | T={bfloat16,float} |
Softplus | T={bfloat16,float} |
SoftplusGrad | T={bfloat16,float} |
Softsign | T={bfloat16,float} |
SoftsignGrad | T={bfloat16,float} |
SpaceToBatch | Tpaddings={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
SpaceToBatchND | Tblock_shape={int32,int64} Tpaddings={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
SpaceToDepth | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
SparseMatMul | Tb={bfloat16,float} Ta={bfloat16,float} |
SparseSoftmaxCrossEntropyWithLogits | Tlabels={int32,int64} T={bfloat16,float} |
SparseToDense | Tindices={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Split | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
SplitV | Tlen={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Sqrt | T={bfloat16,complex64,float} |
SqrtGrad | T={bfloat16,complex64,float} |
Square | T={bfloat16,complex64,float,int32,int64} |
SquaredDifference | T={bfloat16,complex64,float,int32,int64} |
Squeeze | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
StackCloseV2 | |
StackPopV2 | elem_type={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
StackPushV2 | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
StackV2 | elem_type={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
StatelessIf | Tout={bfloat16,bool,complex64,float,int32,int64,resource,uint32,uint64} Tin={bfloat16,bool,complex64,float,int32,int64,resource,uint32,uint64} Tcond={bfloat16,bool,complex64,float,int32,int64,resource,uint32,uint64} |
StatelessMultinomial | output_dtype={int32,int64} Tseed={int32} T={bfloat16,float} |
StatelessRandomNormal | Tseed={int32} T={int32,int64} dtype={bfloat16,float} |
StatelessRandomUniform | Tseed={int32} T={int32,int64} dtype={bfloat16,float} |
StatelessRandomUniformInt | Tseed={int32} T={int32,int64} dtype={int32,int64} |
StatelessTruncatedNormal | Tseed={int32} T={int32,int64} dtype={bfloat16,float} |
StatelessWhile | T={bfloat16,bool,complex64,float,int32,int64,resource,uint32,uint64} |
StopGradient | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
StridedSlice | Index={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
StridedSliceGrad | Index={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Sub | T={bfloat16,complex64,float,int32,int64} |
Sum | Tidx={int32,int64} T={bfloat16,complex64,float,int32,int64,uint32,uint64} |
SymbolicGradient | Tout={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} Tin={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
TPUEmbeddingActivations | |
Tan | T={bfloat16,complex64,float,int32,int64} |
Tanh | T={bfloat16,complex64,float} |
TanhGrad | T={bfloat16,complex64,float} |
TensorArrayCloseV3 | |
TensorArrayConcatV3 | dtype={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
TensorArrayGatherV3 | dtype={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
TensorArrayGradV3 | |
TensorArrayReadV3 | dtype={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
TensorArrayScatterV3 | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
TensorArraySizeV3 | |
TensorArraySplitV3 | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
TensorArrayV3 | dtype={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
TensorArrayWriteV3 | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
TensorListElementShape | shape_type={int32,int64} |
TensorListPopBack | element_dtype={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
TensorListPushBack | element_dtype={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
TensorListReserve | shape_type={int32,int64} element_dtype={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
Tile | Tmultiples={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
TopKV2 | T={bfloat16,float,int32,uint32} |
Transpose | Tperm={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
TruncateDiv | T={bfloat16,complex64,float,int32,int64} |
TruncateMod | T={bfloat16,float,int32,int64} |
TruncatedNormal | T={int32,int64} dtype={float} |
Unpack | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
UnsortedSegmentMax | Tnumsegments={int32,int64} Tindices={int32,int64} T={bfloat16,float,int32,int64,uint32,uint64} |
UnsortedSegmentMin | Tnumsegments={int32,int64} Tindices={int32,int64} T={bfloat16,float,int32,int64,uint32,uint64} |
UnsortedSegmentProd | Tnumsegments={int32,int64} Tindices={int32,int64} T={bfloat16,complex64,float,int32,int64,uint32,uint64} |
UnsortedSegmentSum | Tnumsegments={int32,int64} Tindices={int32,int64} T={bfloat16,complex64,float,int32,int64,uint32,uint64} |
VarIsInitializedOp | |
VariableShape | out_type={int32,int64} |
While | T={bfloat16,bool,complex64,float,int32,int64,resource,uint32,uint64} |
Xdivy | T={complex64,float} |
XlaBroadcastHelper | Tindices={int32,int64} T={bfloat16,complex64,float,int32,int64,uint32,uint64} |
XlaConv | Tindices={int32,int64} T={bfloat16,complex64,float,int32,int64,uint32,uint64} |
XlaDequantize | |
XlaDot | T={bfloat16,complex64,float,int32,int64,uint32,uint64} |
XlaDynamicSlice | Tindices={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
XlaDynamicUpdateSlice | Tindices={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
XlaHostCompute | Toutputs={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} Tinputs={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
XlaIf | Tout={bfloat16,bool,complex64,float,int32,int64,resource,uint32,uint64} Tin={bfloat16,bool,complex64,float,int32,int64,resource,uint32,uint64} Tcond={bfloat16,bool,complex64,float,int32,int64,resource,uint32,uint64} |
XlaKeyValueSort | V={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} K={bfloat16,float,int32,int64,uint32,uint64} |
XlaPad | Tindices={int32,int64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
XlaRecv | dtype={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
XlaRecvFromHost | Toutput={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
XlaReduce | T={bfloat16,complex64,float,int32,int64,uint32,uint64} |
XlaReduceWindow | Tindices={int32,int64} T={bfloat16,complex64,float,int32,int64,uint32,uint64} |
XlaSelectAndScatter | Tindices={int32,int64} T={bfloat16,complex64,float,int32,int64,uint32,uint64} |
XlaSend | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
XlaSendToHost | Tinput={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
XlaSort | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
XlaWhile | T={bfloat16,bool,complex64,float,int32,int64,resource,uint32,uint64} |
Xlogy | T={complex64,float} |
ZerosLike | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
_Arg | T={bfloat16,bool,complex64,float,int32,int64,resource,uint32,uint64} |
_ArrayToList | out_types={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
_ListToArray | T={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} Tin={bfloat16,bool,complex64,float,int32,int64,uint32,uint64} |
_Retval | T={bfloat16,bool,complex64,float,int32,int64,resource,uint32,uint64} |