Warning: This API is deprecated and will be removed in a future
version of TensorFlow after
the replacement is stable.
MlirPassthroughOp
Stay organized with collections
Save and categorize content based on your preferences.
Wraps an arbitrary MLIR computation expressed as a module with a main() function.
This operation does not have an associated kernel and is not intended to be
executed in a regular TensorFlow session. Instead it is intended to be used for
testing or for special case where a user intends to pass custom MLIR computation
through a TensorFlow graph with the intent of having custom tooling processing
it downstream (when targeting a different environment, like TensorFlow lite for
example).
The MLIR module is expected to have a main() function that will be used as an
entry point. The inputs to the operations will be passed as argument to the
main() function and the returned values of the main function mapped to the
outputs.
Example usage:
{@code
import tensorflow as tf
from tensorflow.compiler.mlir.tensorflow.gen_mlir_passthrough_op import mlir_passthrough_op
mlir_module = '''python
func @main(%arg0 : tensor<10xf32>, %arg1 : tensor<10xf32>) -> tensor<10x10xf32> {
%add = "magic.op"(%arg0, %arg1) : (tensor<10xf32>, tensor<10xf32>) -> tensor<10x10xf32>
return %ret : tensor<10x10xf32>
}
'''
Inherited Methods
From class
java.lang.Object
boolean
|
equals(Object arg0)
|
final
Class<?>
|
getClass()
|
int
|
hashCode()
|
final
void
|
notify()
|
final
void
|
notifyAll()
|
String
|
toString()
|
final
void
|
wait(long arg0, int arg1)
|
final
void
|
wait(long arg0)
|
final
void
|
wait()
|
From interface
java.lang.Iterable
void
|
forEach(Consumer<? super T> arg0)
|
abstract
Iterator<Operand<Object>>
|
iterator()
|
Spliterator<Operand<Object>>
|
spliterator()
|
Public Methods
Factory method to create a class wrapping a new MlirPassthroughOp operation.
Returns
- a new instance of MlirPassthroughOp
public
Iterator<Operand<Object>>
iterator
()
public
List<Output<?>>
outputs
()
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2022-02-12 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2022-02-12 UTC."],[],[],null,["# MlirPassthroughOp\n\npublic final class **MlirPassthroughOp** \nWraps an arbitrary MLIR computation expressed as a module with a main() function.\n\n\nThis operation does not have an associated kernel and is not intended to be\nexecuted in a regular TensorFlow session. Instead it is intended to be used for\ntesting or for special case where a user intends to pass custom MLIR computation\nthrough a TensorFlow graph with the intent of having custom tooling processing\nit downstream (when targeting a different environment, like TensorFlow lite for\nexample).\nThe MLIR module is expected to have a main() function that will be used as an\nentry point. The inputs to the operations will be passed as argument to the\nmain() function and the returned values of the main function mapped to the\noutputs.\nExample usage: \n\n```\n{@code\n import tensorflow as tf\n from tensorflow.compiler.mlir.tensorflow.gen_mlir_passthrough_op import mlir_passthrough_op\n \n mlir_module = '''python\n func @main(%arg0 : tensor\u003c10xf32\u003e, %arg1 : tensor\u003c10xf32\u003e) -\u003e tensor\u003c10x10xf32\u003e {\n %add = \"magic.op\"(%arg0, %arg1) : (tensor\u003c10xf32\u003e, tensor\u003c10xf32\u003e) -\u003e tensor\u003c10x10xf32\u003e\n return %ret : tensor\u003c10x10xf32\u003e\n }\n '''\n```\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n### Public Methods\n\n|-------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| static [MlirPassthroughOp](/api_docs/java/org/tensorflow/op/core/MlirPassthroughOp) | [create](/api_docs/java/org/tensorflow/op/core/MlirPassthroughOp#create(org.tensorflow.op.Scope,%20java.lang.Iterable\u003corg.tensorflow.Operand\u003c?\u003e\u003e,%20java.lang.String,%20java.util.List\u003cjava.lang.Class\u003c?\u003e\u003e))([Scope](/api_docs/java/org/tensorflow/op/Scope) scope, Iterable\\\u003c[Operand](/api_docs/java/org/tensorflow/Operand)\\\u003c?\\\u003e\\\u003e inputs, String mlirModule, List\\\u003cClass\\\u003c?\\\u003e\\\u003e Toutputs) Factory method to create a class wrapping a new MlirPassthroughOp operation. |\n| Iterator\\\u003c[Operand](/api_docs/java/org/tensorflow/Operand)\\\u003cObject\\\u003e\\\u003e | [iterator](/api_docs/java/org/tensorflow/op/core/MlirPassthroughOp#iterator())() |\n| List\\\u003c[Output](/api_docs/java/org/tensorflow/Output)\\\u003c?\\\u003e\\\u003e | [outputs](/api_docs/java/org/tensorflow/op/core/MlirPassthroughOp#outputs())() |\n\n### Inherited Methods\n\nFrom class [org.tensorflow.op.PrimitiveOp](/api_docs/java/org/tensorflow/op/PrimitiveOp) \n\n|------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|\n| final boolean | [equals](/api_docs/java/org/tensorflow/op/PrimitiveOp#equals(java.lang.Object))(Object obj) |\n| final int | [hashCode](/api_docs/java/org/tensorflow/op/PrimitiveOp#hashCode())() |\n| [Operation](/api_docs/java/org/tensorflow/Operation) | [op](/api_docs/java/org/tensorflow/op/PrimitiveOp#op())() Returns the underlying [Operation](/api_docs/java/org/tensorflow/Operation) |\n| final String | [toString](/api_docs/java/org/tensorflow/op/PrimitiveOp#toString())() |\n\nFrom class java.lang.Object \n\n|------------------|---------------------------|\n| boolean | equals(Object arg0) |\n| final Class\\\u003c?\\\u003e | getClass() |\n| int | hashCode() |\n| final void | notify() |\n| final void | notifyAll() |\n| String | toString() |\n| final void | wait(long arg0, int arg1) |\n| final void | wait(long arg0) |\n| final void | wait() |\n\nFrom interface java.lang.Iterable \n\n|---------------------------------------------------------------------------------|-------------------------------------|\n| void | forEach(Consumer\\\u003c? super T\\\u003e arg0) |\n| abstract Iterator\\\u003c[Operand](/api_docs/java/org/tensorflow/Operand)\\\u003cObject\\\u003e\\\u003e | iterator() |\n| Spliterator\\\u003c[Operand](/api_docs/java/org/tensorflow/Operand)\\\u003cObject\\\u003e\\\u003e | spliterator() |\n\nPublic Methods\n--------------\n\n#### public static [MlirPassthroughOp](/api_docs/java/org/tensorflow/op/core/MlirPassthroughOp)\n**create**\n([Scope](/api_docs/java/org/tensorflow/op/Scope) scope, Iterable\\\u003c[Operand](/api_docs/java/org/tensorflow/Operand)\\\u003c?\\\u003e\\\u003e inputs, String mlirModule, List\\\u003cClass\\\u003c?\\\u003e\\\u003e Toutputs)\n\nFactory method to create a class wrapping a new MlirPassthroughOp operation. \n\n##### Parameters\n\n| scope | current scope |\n|-------|---------------|\n\n##### Returns\n\n- a new instance of MlirPassthroughOp \n\n#### public Iterator\\\u003c[Operand](/api_docs/java/org/tensorflow/Operand)\\\u003cObject\\\u003e\\\u003e\n**iterator**\n()\n\n\u003cbr /\u003e\n\n#### public List\\\u003c[Output](/api_docs/java/org/tensorflow/Output)\\\u003c?\\\u003e\\\u003e\n**outputs**\n()\n\n\u003cbr /\u003e"]]