小心:算子列表会经常更新。
TensorFlow 核心算子
以下是具有精选 TensorFlow 算子功能的 TensorFlow Lite 运行时支持的 TensorFlow 核心算子的详尽列表。
raw_ops.Abortraw_ops.Absraw_ops.Addraw_ops.AddNraw_ops.AddV2raw_ops.AdjustContrastraw_ops.AdjustContrastv2raw_ops.AdjustHueraw_ops.AdjustSaturationraw_ops.Allraw_ops.Angleraw_ops.Anyraw_ops.ApplyAdadeltaraw_ops.ApplyAdagradraw_ops.ApplyAdagradDAraw_ops.ApplyAdagradV2raw_ops.ApplyAdamraw_ops.ApplyAdaMaxraw_ops.ApplyAddSignraw_ops.ApplyCenteredRMSPropraw_ops.ApplyFtrlraw_ops.ApplyFtrlV2raw_ops.ApplyGradientDescentraw_ops.ApplyMomentumraw_ops.ApplyPowerSignraw_ops.ApplyProximalAdagradraw_ops.ApplyProximalGradientDescentraw_ops.ApplyRMSPropraw_ops.ApproximateEqualraw_ops.ArgMaxraw_ops.ArgMinraw_ops.AsStringraw_ops.Assertraw_ops.Assignraw_ops.AssignAddraw_ops.AssignAddVariableOpraw_ops.AssignSubraw_ops.AssignSubVariableOpraw_ops.AssignVariableOpraw_ops.Atanraw_ops.Atan2raw_ops.AudioSpectrogramraw_ops.AvgPoolraw_ops.AvgPool3Draw_ops.AvgPool3DGradraw_ops.AvgPoolGradraw_ops.BatchCholeskyraw_ops.BatchDatasetV2raw_ops.BatchMatMulraw_ops.BatchMatMulV2raw_ops.BatchMatrixBandPartraw_ops.BatchMatrixDiagraw_ops.BatchMatrixDiagPartraw_ops.BatchMatrixInverseraw_ops.BatchMatrixSetDiagraw_ops.BatchMatrixTriangularSolveraw_ops.BatchNormWithGlobalNormalizationraw_ops.BatchNormWithGlobalNormalizationGradraw_ops.BatchToSpaceraw_ops.BatchToSpaceNDraw_ops.BiasAddraw_ops.BiasAddGradraw_ops.BiasAddV1raw_ops.Bincountraw_ops.Bitcastraw_ops.BitwiseAndraw_ops.BitwiseOrraw_ops.BitwiseXorraw_ops.BroadcastArgsraw_ops.BroadcastGradientArgsraw_ops.BroadcastToraw_ops.Bucketizeraw_ops.CTCBeamSearchDecoderraw_ops.CTCGreedyDecoderraw_ops.Castraw_ops.Ceilraw_ops.CheckNumericsraw_ops.CheckNumericsV2raw_ops.Choleskyraw_ops.CombinedNonMaxSuppressionraw_ops.Complexraw_ops.ComplexAbsraw_ops.Concatraw_ops.ConcatOffsetraw_ops.ConcatV2raw_ops.Conjraw_ops.ConjugateTransposeraw_ops.Constraw_ops.ControlTriggerraw_ops.Conv2Draw_ops.Conv2DBackpropFilterraw_ops.Conv2DBackpropInputraw_ops.Conv3Draw_ops.Conv3DBackpropFilterraw_ops.Conv3DBackpropFilterV2raw_ops.Conv3DBackpropInputraw_ops.Conv3DBackpropInputV2raw_ops.Cosraw_ops.Coshraw_ops.CropAndResizeraw_ops.CropAndResizeGradBoxesraw_ops.CropAndResizeGradImageraw_ops.CTCBeamSearchDecoderraw_ops.CTCGreedyDecoderraw_ops.Cumprodraw_ops.Cumsumraw_ops.CumulativeLogsumexpraw_ops.DataFormatDimMapraw_ops.DataFormatVecPermuteraw_ops.DebugGradientIdentityraw_ops.DebugGradientRefIdentityraw_ops.DecodeAndCropJpegraw_ops.DecodeBase64raw_ops.DecodeBmpraw_ops.DecodeGifraw_ops.DecodeImageraw_ops.DecodeJpegraw_ops.DecodePaddedRawraw_ops.DecodePngraw_ops.DecodeRawraw_ops.DecodeWavraw_ops.DeepCopyraw_ops.DeleteSessionTensorraw_ops.DenseBincountraw_ops.DenseToDenseSetOperationraw_ops.DenseToSparseSetOperationraw_ops.DepthToSpaceraw_ops.DepthwiseConv2dNativeraw_ops.DepthwiseConv2dNativeBackpropFilterraw_ops.DepthwiseConv2dNativeBackpropInputraw_ops.Dequantizeraw_ops.DestroyResourceOpraw_ops.DestroyTemporaryVariableraw_ops.Diagraw_ops.DiagPartraw_ops.Dilation2Draw_ops.Dilation2DBackpropFilterraw_ops.Dilation2DBackpropInputraw_ops.Divraw_ops.DivNoNanraw_ops.DynamicPartitionraw_ops.DynamicStitchraw_ops.Einsumraw_ops.Eluraw_ops.EluGradraw_ops.Emptyraw_ops.EmptyTensorListraw_ops.EmptyTensorMapraw_ops.EncodeBase64raw_ops.EncodeJpegraw_ops.EncodeJpegVariableQualityraw_ops.EncodePngraw_ops.EncodeWavraw_ops.EnsureShaperaw_ops.Enterraw_ops.Equalraw_ops.Erfraw_ops.Exitraw_ops.Expraw_ops.ExpandDimsraw_ops.ExtractImagePatchesraw_ops.FakeQuantWithMinMaxArgsraw_ops.FakeQuantWithMinMaxArgsGradientraw_ops.FakeQuantWithMinMaxVarsraw_ops.FakeQuantWithMinMaxVarsGradientraw_ops.FakeQuantWithMinMaxVarsPerChannelraw_ops.FakeQuantWithMinMaxVarsPerChannelGradientraw_ops.FakeQueueraw_ops.FFTraw_ops.FFT2Draw_ops.FFT3Draw_ops.FIFOQueueraw_ops.FIFOQueueV2raw_ops.Fillraw_ops.FilterDatasetraw_ops.FinalizeDatasetraw_ops.Fingerprintraw_ops.FlatMapDatasetraw_ops.Floorraw_ops.FloorDivraw_ops.FloorModraw_ops.FusedBatchNormraw_ops.FusedBatchNormGradraw_ops.FusedBatchNormGradV2raw_ops.FusedBatchNormGradV3raw_ops.FusedBatchNormV2raw_ops.FusedBatchNormV3raw_ops.FusedPadConv2Draw_ops.FusedResizeAndPadConv2Draw_ops.Gatherraw_ops.GatherNdraw_ops.GatherV2raw_ops.GetSessionHandleraw_ops.GetSessionHandleV2raw_ops.GetSessionTensorraw_ops.Greaterraw_ops.GreaterEqualraw_ops.HSVToRGBraw_ops.HashTableraw_ops.HashTableV2raw_ops.HistogramSummaryraw_ops.Identityraw_ops.IdentityNraw_ops.IFFTraw_ops.IFFT2Draw_ops.IFFT3Draw_ops.Imagraw_ops.ImageProjectiveTransformV2raw_ops.ImageProjectiveTransformV3raw_ops.ImmutableConstraw_ops.InplaceAddraw_ops.InplaceSubraw_ops.InplaceUpdateraw_ops.InTopKraw_ops.InTopKV2raw_ops.InitializeTableraw_ops.InitializeTableFromDatasetraw_ops.InitializeTableFromTextFileraw_ops.InitializeTableFromTextFileV2raw_ops.InitializeTableV2raw_ops.Invraw_ops.Invertraw_ops.InvertPermutationraw_ops.InvGradraw_ops.IRFFTraw_ops.IRFFT2Draw_ops.IRFFT3Draw_ops.IsFiniteraw_ops.IsNanraw_ops.IsVariableInitializedraw_ops.LRNraw_ops.LeakyReluraw_ops.LeakyReluGradraw_ops.LeftShiftraw_ops.Lessraw_ops.LessEqualraw_ops.LinSpaceraw_ops.ListDiffraw_ops.Lograw_ops.LogMatrixDeterminantraw_ops.LogSoftmaxraw_ops.LogicalAndraw_ops.LogicalNotraw_ops.LogicalOrraw_ops.LookupTableExportraw_ops.LookupTableExportV2raw_ops.LookupTableFindraw_ops.LookupTableFindV2raw_ops.LookupTableImportraw_ops.LookupTableImportV2raw_ops.LookupTableInsertraw_ops.LookupTableInsertV2raw_ops.LookupTableRemoveV2raw_ops.LookupTableSizeraw_ops.LookupTableSizeV2raw_ops.LoopCondraw_ops.LRNraw_ops.MapDatasetraw_ops.MatMulraw_ops.MatrixBandPartraw_ops.MatrixDiagraw_ops.MatrixDiagPartraw_ops.MatrixDiagPartV2raw_ops.MatrixDiagPartV3raw_ops.MatrixDiagV2raw_ops.MatrixDiagV3raw_ops.MatrixInverseraw_ops.MatrixSetDiagraw_ops.MatrixSetDiagV2raw_ops.MatrixSetDiagV3raw_ops.MatrixTriangularSolveraw_ops.Maxraw_ops.Maximumraw_ops.MaxPoolraw_ops.MaxPool3Draw_ops.MaxPool3DGradraw_ops.MaxPool3DGradGradraw_ops.MaxPoolGradraw_ops.MaxPoolGradGradraw_ops.MaxPoolGradGradV2raw_ops.MaxPoolGradV2raw_ops.MaxPoolGradWithArgmaxraw_ops.MaxPoolV2raw_ops.MaxPoolWithArgmaxraw_ops.Meanraw_ops.Mergeraw_ops.MergeSummaryraw_ops.MergeV2Checkpointsraw_ops.Mfccraw_ops.Minraw_ops.Minimumraw_ops.MirrorPadraw_ops.MirrorPadGradraw_ops.ModelDatasetraw_ops.Mulraw_ops.MulNoNanraw_ops.Multinomialraw_ops.MutableDenseHashTableraw_ops.MutableDenseHashTableV2raw_ops.MutableHashTableraw_ops.MutableHashTableOfTensorsraw_ops.MutableHashTableOfTensorsV2raw_ops.MutableHashTableV2raw_ops.Negraw_ops.NextIterationraw_ops.NonMaxSuppressionraw_ops.NonMaxSuppressionV2raw_ops.NonMaxSuppressionV3raw_ops.NonMaxSuppressionV4raw_ops.NonMaxSuppressionV5raw_ops.NonMaxSuppressionWithOverlapsraw_ops.NoOpraw_ops.NotEqualraw_ops.OneHotraw_ops.OnesLikeraw_ops.OptimizeDatasetV2raw_ops.OptionalFromValueraw_ops.OptionalGetValueraw_ops.OptionalHasValueraw_ops.OptionalNoneraw_ops.Packraw_ops.Padraw_ops.PadV2raw_ops.PaddingFIFOQueueraw_ops.PaddingFIFOQueueV2raw_ops.PadV2raw_ops.ParallelConcatraw_ops.ParallelDynamicStitchraw_ops.ParseExampleraw_ops.ParseExampleV2raw_ops.ParseSequenceExampleraw_ops.ParseSequenceExampleV2raw_ops.ParseSingleExampleraw_ops.ParseSingleSequenceExampleraw_ops.Placeholderraw_ops.PlaceholderV2raw_ops.PlaceholderWithDefaultraw_ops.PopulationCountraw_ops.Powraw_ops.PreventGradientraw_ops.Printraw_ops.PrintV2raw_ops.Prodraw_ops.Qrraw_ops.QuantizedAddraw_ops.QuantizedAvgPoolraw_ops.QuantizedBatchNormWithGlobalNormalizationraw_ops.QuantizedBiasAddraw_ops.QuantizedConcatraw_ops.QuantizedConv2Draw_ops.QuantizedInstanceNormraw_ops.QuantizedMatMulraw_ops.QuantizedMaxPoolraw_ops.QuantizedMulraw_ops.QuantizeDownAndShrinkRangeraw_ops.QuantizedReluraw_ops.QuantizedRelu6raw_ops.QuantizedReshaperaw_ops.QuantizedResizeBilinearraw_ops.QuantizeV2raw_ops.QueueCloseraw_ops.QueueCloseV2raw_ops.QueueDequeueraw_ops.QueueDequeueManyraw_ops.QueueDequeueManyV2raw_ops.QueueDequeueUpToraw_ops.QueueDequeueUpToV2raw_ops.QueueDequeueV2raw_ops.QueueEnqueueraw_ops.QueueEnqueueManyraw_ops.QueueEnqueueManyV2raw_ops.QueueEnqueueV2raw_ops.QueueIsClosedraw_ops.QueueIsClosedV2raw_ops.QueueSizeraw_ops.QueueSizeV2raw_ops.RFFTraw_ops.RFFT2Draw_ops.RFFT3Draw_ops.RGBToHSVraw_ops.RaggedBincountraw_ops.RaggedGatherraw_ops.RaggedRangeraw_ops.RaggedTensorFromVariantraw_ops.RaggedTensorToSparseraw_ops.RaggedTensorToTensorraw_ops.RaggedTensorToVariantraw_ops.RaggedTensorToVariantGradientraw_ops.RandomGammaraw_ops.RandomPoissonraw_ops.RandomPoissonV2raw_ops.RandomShuffleraw_ops.RandomStandardNormalraw_ops.RandomUniformraw_ops.RandomUniformIntraw_ops.Rangeraw_ops.Rankraw_ops.ReadFileraw_ops.ReadVariableOpraw_ops.Realraw_ops.RealDivraw_ops.Reciprocalraw_ops.ReciprocalGradraw_ops.Recvraw_ops.ReduceDatasetraw_ops.ReduceJoinraw_ops.RefEnterraw_ops.RefExitraw_ops.RefIdentityraw_ops.RefMergeraw_ops.RefNextIterationraw_ops.RefSelectraw_ops.RefSwitchraw_ops.RegexFullMatchraw_ops.RegexReplaceraw_ops.Reluraw_ops.Relu6raw_ops.Relu6Gradraw_ops.ReluGradraw_ops.RemoteCallraw_ops.RepeatDatasetraw_ops.RequantizationRangeraw_ops.Requantizeraw_ops.Reshaperaw_ops.ResizeBicubicraw_ops.ResizeBicubicGradraw_ops.ResizeBilinearraw_ops.ResizeBilinearGradraw_ops.ResizeNearestNeighborraw_ops.ResizeNearestNeighborGradraw_ops.ResourceApplyAdadeltaraw_ops.ResourceApplyAdagradraw_ops.ResourceApplyAdagradDAraw_ops.ResourceApplyAdagradV2raw_ops.ResourceApplyAdamraw_ops.ResourceApplyAdaMaxraw_ops.ResourceApplyAdamWithAmsgradraw_ops.ResourceApplyAddSignraw_ops.ResourceApplyCenteredRMSPropraw_ops.ResourceApplyFtrlraw_ops.ResourceApplyFtrlV2raw_ops.ResourceApplyGradientDescentraw_ops.ResourceApplyKerasMomentumraw_ops.ResourceApplyMomentumraw_ops.ResourceApplyPowerSignraw_ops.ResourceApplyProximalAdagradraw_ops.ResourceApplyProximalGradientDescentraw_ops.ResourceApplyRMSPropraw_ops.ResourceGatherraw_ops.ResourceGatherNdraw_ops.ResourceScatterAddraw_ops.ResourceScatterDivraw_ops.ResourceScatterMaxraw_ops.ResourceScatterMinraw_ops.ResourceScatterMulraw_ops.ResourceScatterNdAddraw_ops.ResourceScatterNdMaxraw_ops.ResourceScatterNdMinraw_ops.ResourceScatterNdSubraw_ops.ResourceScatterNdUpdateraw_ops.ResourceScatterSubraw_ops.ResourceScatterUpdateraw_ops.ResourceSparseApplyAdadeltaraw_ops.ResourceSparseApplyAdagradraw_ops.ResourceSparseApplyAdagradDAraw_ops.ResourceSparseApplyAdagradV2raw_ops.ResourceSparseApplyCenteredRMSPropraw_ops.ResourceSparseApplyFtrlraw_ops.ResourceSparseApplyFtrlV2raw_ops.ResourceSparseApplyKerasMomentumraw_ops.ResourceSparseApplyMomentumraw_ops.ResourceSparseApplyProximalAdagradraw_ops.ResourceSparseApplyProximalGradientDescentraw_ops.ResourceSparseApplyRMSPropraw_ops.ResourceStridedSliceAssignraw_ops.Restoreraw_ops.RestoreSliceraw_ops.RestoreV2raw_ops.Reverseraw_ops.ReverseSequenceraw_ops.ReverseV2raw_ops.RightShiftraw_ops.Rollraw_ops.Roundraw_ops.Rsqrtraw_ops.RsqrtGradraw_ops.SampleDistortedBoundingBoxraw_ops.SampleDistortedBoundingBoxV2raw_ops.Saveraw_ops.SaveSlicesraw_ops.SaveV2raw_ops.ScalarSummaryraw_ops.ScatterNdraw_ops.ScatterNdAddraw_ops.ScatterNdMaxraw_ops.ScatterNdMinraw_ops.ScatterNdNonAliasingAddraw_ops.ScatterNdSubraw_ops.ScatterNdUpdateraw_ops.SegmentMaxraw_ops.SegmentMeanraw_ops.SegmentMinraw_ops.SegmentProdraw_ops.SegmentSumraw_ops.Selectraw_ops.SelectV2raw_ops.Seluraw_ops.SeluGradraw_ops.Sendraw_ops.SerializeTensorraw_ops.Shaperaw_ops.ShapeNraw_ops.ShardedFilenameraw_ops.ShardedFilespecraw_ops.Sigmoidraw_ops.SigmoidGradraw_ops.Signraw_ops.Sinraw_ops.Sinhraw_ops.Sizeraw_ops.Sliceraw_ops.Softmaxraw_ops.SoftmaxCrossEntropyWithLogitsraw_ops.Softplusraw_ops.SoftplusGradraw_ops.Softsignraw_ops.SoftsignGradraw_ops.SpaceToBatchraw_ops.SpaceToBatchNDraw_ops.SpaceToDepthraw_ops.SparseAddraw_ops.SparseApplyAdadeltaraw_ops.SparseApplyAdagradraw_ops.SparseApplyAdagradDAraw_ops.SparseApplyAdagradV2raw_ops.SparseApplyCenteredRMSPropraw_ops.SparseApplyFtrlraw_ops.SparseApplyFtrlV2raw_ops.SparseApplyMomentumraw_ops.SparseApplyProximalAdagradraw_ops.SparseApplyProximalGradientDescentraw_ops.SparseApplyRMSPropraw_ops.SparseBincountraw_ops.SparseCrossraw_ops.SparseCrossHashedraw_ops.SparseCrossV2raw_ops.SparseFillEmptyRowsraw_ops.SparseFillEmptyRowsGradraw_ops.SparseReduceSumraw_ops.SparseReshaperaw_ops.SparseReorderraw_ops.SparseSegmentMeanraw_ops.SparseSegmentMeanGradraw_ops.SparseSegmentMeanWithNumSegmentsraw_ops.SparseSegmentSqrtNraw_ops.SparseSegmentSqrtNGradraw_ops.SparseSegmentSqrtNWithNumSegmentsraw_ops.SparseSegmentSumraw_ops.SparseSegmentSumGradraw_ops.SparseSegmentSumWithNumSegmentsraw_ops.SparseSliceraw_ops.SparseSoftmaxCrossEntropyWithLogitsraw_ops.SparseTensorDenseMatMulraw_ops.SparseToDenseraw_ops.SparseToSparseSetOperationraw_ops.Splitraw_ops.SplitVraw_ops.Sqrtraw_ops.SqrtGradraw_ops.Squareraw_ops.SquaredDifferenceraw_ops.Squeezeraw_ops.Stackraw_ops.StackCloseraw_ops.StackCloseV2raw_ops.StackPopraw_ops.StackPopV2raw_ops.StackPushraw_ops.StackPushV2raw_ops.StackV2raw_ops.StatelessMultinomialraw_ops.StatelessRandomGammaV2raw_ops.StatelessRandomGetAlgraw_ops.StatelessRandomGetKeyCounterraw_ops.StatelessRandomGetKeyCounterAlgraw_ops.StatelessRandomNormalraw_ops.StatelessRandomNormalV2raw_ops.StatelessRandomPoissonraw_ops.StatelessRandomUniformraw_ops.StatelessRandomUniformFullIntraw_ops.StatelessRandomUniformFullIntV2raw_ops.StatelessRandomUniformIntraw_ops.StatelessRandomUniformIntV2raw_ops.StatelessRandomUniformV2raw_ops.StatelessSampleDistortedBoundingBoxraw_ops.StatelessTruncatedNormalraw_ops.StatelessTruncatedNormalV2raw_ops.StaticRegexFullMatchraw_ops.StaticRegexReplaceraw_ops.StopGradientraw_ops.StridedSliceraw_ops.StridedSliceAssignraw_ops.StridedSliceGradraw_ops.StringFormatraw_ops.StringJoinraw_ops.StringLengthraw_ops.StringLowerraw_ops.StringSplitraw_ops.StringSplitV2raw_ops.StringStripraw_ops.StringToHashBucketraw_ops.StringToHashBucketFastraw_ops.StringToHashBucketStrongraw_ops.StringToNumberraw_ops.Subraw_ops.Substrraw_ops.Sumraw_ops.Switchraw_ops.SymbolicGradientraw_ops.TakeDatasetraw_ops.TakeWhileDatasetraw_ops.Tanraw_ops.Tanhraw_ops.TanhGradraw_ops.TemporaryVariableraw_ops.TensorArrayraw_ops.TensorArrayCloseraw_ops.TensorArrayCloseV2raw_ops.TensorArrayCloseV3raw_ops.TensorArrayConcatraw_ops.TensorArrayConcatV2raw_ops.TensorArrayConcatV3raw_ops.TensorArrayGatherraw_ops.TensorArrayGatherV2raw_ops.TensorArrayGatherV3raw_ops.TensorArrayGradraw_ops.TensorArrayGradV2raw_ops.TensorArrayGradV3raw_ops.TensorArrayGradWithShaperaw_ops.TensorArrayPackraw_ops.TensorArrayReadraw_ops.TensorArrayReadV2raw_ops.TensorArrayReadV3raw_ops.TensorArrayScatterraw_ops.TensorArrayScatterV2raw_ops.TensorArrayScatterV3raw_ops.TensorArraySizeraw_ops.TensorArraySizeV2raw_ops.TensorArraySizeV3raw_ops.TensorArraySplitraw_ops.TensorArraySplitV2raw_ops.TensorArraySplitV3raw_ops.TensorArrayUnpackraw_ops.TensorArrayV2raw_ops.TensorArrayV3raw_ops.TensorArrayWriteraw_ops.TensorArrayWriteV2raw_ops.TensorArrayWriteV3raw_ops.TensorListConcatraw_ops.TensorListConcatListsraw_ops.TensorListConcatV2raw_ops.TensorListElementShaperaw_ops.TensorListFromTensorraw_ops.TensorListGatherraw_ops.TensorListGetItemraw_ops.TensorListLengthraw_ops.TensorListPopBackraw_ops.TensorListPushBackraw_ops.TensorListPushBackBatchraw_ops.TensorListReserveraw_ops.TensorListResizeraw_ops.TensorListScatterraw_ops.TensorListScatterIntoExistingListraw_ops.TensorListScatterV2raw_ops.TensorListSetItemraw_ops.TensorListSplitraw_ops.TensorListStackraw_ops.TensorMapEraseraw_ops.TensorMapHasKeyraw_ops.TensorMapInsertraw_ops.TensorMapLookupraw_ops.TensorMapSizeraw_ops.TensorMapStackKeysraw_ops.TensorScatterAddraw_ops.TensorScatterMaxraw_ops.TensorScatterMinraw_ops.TensorScatterSubraw_ops.TensorScatterUpdateraw_ops.TensorSliceDatasetraw_ops.TensorStridedSliceUpdateraw_ops.Tileraw_ops.TileGradraw_ops.Timestampraw_ops.TokenizerFromLogitsraw_ops.TopKraw_ops.TopKV2raw_ops.Transposeraw_ops.TruncateDivraw_ops.TruncatedNormalraw_ops.UnicodeDecoderaw_ops.UnicodeDecodeWithOffsetsraw_ops.UnicodeEncoderaw_ops.UnicodeTranscoderaw_ops.Uniqueraw_ops.UniqueV2raw_ops.UniqueWithCountsraw_ops.UniqueWithCountsV2raw_ops.Unpackraw_ops.UnsortedSegmentJoinraw_ops.UnsortedSegmentMaxraw_ops.UnsortedSegmentMinraw_ops.UnsortedSegmentProdraw_ops.UnsortedSegmentSumraw_ops.UnwrapDatasetVariantraw_ops.UpperBoundraw_ops.VarHandleOpraw_ops.Variableraw_ops.VariableShaperaw_ops.VariableV2raw_ops.VarIsInitializedOpraw_ops.Whereraw_ops.WrapDatasetVariantraw_ops.WriteFileraw_ops.Xdivyraw_ops.Xlog1pyraw_ops.Xlogyraw_ops.ZerosLike
TensorFlow Text 和 SentencePiece 算子
如果使用 Python API 进行转换并导入以下库,则支持下列 TensorFlow Text 和 SentencePiece 算子。
TF.Text 算子:
CaseFoldUTF8ConstrainedSequenceMaxSpanningTreeNormalizeUTF8NormalizeUTF8WithOffsetsMapRegexSplitWithOffsetsRougeLSentenceFragmentsSentencepieceOpSentencepieceTokenizeOpSentencepieceTokenizeWithOffsetsOpSentencepieceDetokenizeOpSentencepieceVocabSizeOpSplitMergeTokenizeWithOffsetsUnicodeScriptTokenizeWithOffsetsWhitespaceTokenizeWithOffsetsWordpieceTokenizeWithOffsets
SentencePiece 算子:
SentencepieceGetPieceSizeSentencepiecePieceToIdSentencepieceIdToPieceSentencepieceEncodeDenseSentencepieceEncodeSparseSentencepieceDecode
以下代码段展示了如何使用上述算子转换模型:
import tensorflow as tf
# These imports are required to load operators' definition.
import tensorflow_text as tf_text
import sentencepiece as spm
converter = tf.lite.TFLiteConverter.from_keras_model(your_model)
converter.target_spec.supported_ops = [
tf.lite.OpsSet.TFLITE_BUILTINS, tf.lite.OpsSet.SELECT_TF_OPS
]
model_data = converter.convert()
在运行时端,还需要将 TensorFlow Text 或 SentencePiece 库链接到最终的应用或二进制文件。
用户定义的算子
注:此功能仅从 TensorFlow 2.5 版开始提供
如果您创建了自己的 TensorFlow 算子,您还可以通过在 experimental_select_user_tf_ops 中列出所需的算子,将包含它们的模型转换为 TensorFlow Lite,如下所示:
import tensorflow as tf
ops_module = tf.load_op_library('./your_ops_library.so')
converter = tf.lite.TFLiteConverter.from_saved_model(your_model)
converter.target_spec.supported_ops = [
tf.lite.OpsSet.TFLITE_BUILTINS, tf.lite.OpsSet.SELECT_TF_OPS
]
converter.target_spec.experimental_select_user_tf_ops = [
'your_op_name1',
'your_op_name2'
]
model_data = converter.convert()
在运行时端,还需要将算子库链接到最终的应用或二进制文件。
将 TensorFlow 核心算子添加到允许列表。
如果您遇到 TensorFlow 核心算子不在上面允许列表中的情况,您可以在此处报告功能请求,并提供未在允许列表中列出的 TensorFlow 核心算子的名称。
您还可以从源代码创建自己的拉取请求。例如,如果您想要在允许列表中添加 raw_ops.StringToNumber 算子,则有三个地方可以像此提交一样更新。
(1) 将算子内核源代码添加到 portable_extended_ops_group2 BUILD 规则中。
filegroup(
name = "portable_extended_ops_group2",
srcs = [
...
+ "string_to_number_op.cc",
...
],
)
为了在 tensorflow/core/kernels 目录下找到相关的算子内核源文件,您可以搜索源代码位置,其中包含以下带有算子名称的内核声明:
REGISTER_KERNEL_BUILDER(Name("StringToNumber") \
.Device(DEVICE_CPU) \
.TypeConstraint<type>("out_type"), \
StringToNumberOp<type>)
如果算子内核源代码需要在 tensorflow/core/kernels 目录下有任何头文件,则需要将头文件添加到 portable_extended_ops_headers BUILD 规则中,如下所示:
filegroup(
name = "portable_extended_ops_headers",
srcs = [
...
+ "string_util.h",
...
],
)
(2) 将算子名称添加到允许列表。
允许列表在 tensorflow/lite/delegates/flex/allowlisted_flex_ops.cc 中定义。需要列出 TensorFlow 核心算子名称,才能通过 Select TF 选项获得允许。
static const std::set<std::string>* allowlisted_flex_ops =
new std::set<std::string>({
...
+ "StringToNumber",
...
});
因为上面的列表按字母顺序排序,因此能确保名称处于正确的位置。
(3) 将算子名称添加到此指南页面。
为了向其他开发者展示算子成员,本指南页面也应该更新。此页面位于 tensorflow/lite/g3doc/guide/op_select_allowlist.md。
## TensorFlow core operators
The following is an exhaustive list of TensorFlow core operations that are
supported by TensorFlow Lite runtime with the Select TensorFlow Ops feature.
...
+* `raw_ops.StringToNumber`
...
因为上面的列表按字母顺序排序,因此能确保名称处于正确的位置。