aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/kernels/identity_op.h
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow/core/kernels/identity_op.h')
-rw-r--r--tensorflow/core/kernels/identity_op.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/tensorflow/core/kernels/identity_op.h b/tensorflow/core/kernels/identity_op.h
new file mode 100644
index 0000000000..7adc1eace0
--- /dev/null
+++ b/tensorflow/core/kernels/identity_op.h
@@ -0,0 +1,25 @@
+#ifndef TENSORFLOW_KERNELS_IDENTITY_OP_H_
+#define TENSORFLOW_KERNELS_IDENTITY_OP_H_
+
+#include "tensorflow/core/framework/op_kernel.h"
+
+namespace tensorflow {
+
+class IdentityOp : public OpKernel {
+ public:
+ explicit IdentityOp(OpKernelConstruction* context) : OpKernel(context) {}
+
+ void Compute(OpKernelContext* context) override {
+ if (IsRefType(context->input_dtype(0))) {
+ context->forward_ref_input_to_ref_output(0, 0);
+ } else {
+ context->set_output(0, context->input(0));
+ }
+ }
+
+ bool IsExpensive() override { return false; }
+};
+
+} // namespace tensorflow
+
+#endif // TENSORFLOW_KERNELS_IDENTITY_OP_H_