From e2f7be6d4358a2d23fefdc41f1847b11b4f28d0d Mon Sep 17 00:00:00 2001 From: Oceania2018 Date: Sat, 1 Aug 2020 09:26:43 -0500 Subject: [PATCH] InputLayer for Keras. --- README.md | 16 +- docs/assets/WeChatCollection.jpg | Bin 0 -> 61311 bytes src/TensorFlowNET.Console/MemoryMonitor.cs | 2 +- .../TensorFlowNET.Console.csproj | 2 +- src/TensorFlowNET.Core/APIs/keras.layers.cs | 64 - src/TensorFlowNET.Core/APIs/tf.compat.cs | 3 + src/TensorFlowNET.Core/APIs/tf.compat.v1.cs | 6 +- src/TensorFlowNET.Core/APIs/tf.layers.cs | 3 +- src/TensorFlowNET.Core/Contexts/Context.cs | 90 + .../{Eager => Contexts}/ContextOptions.cs | 3 +- .../ContextSwitch.cs} | 23 +- .../Contexts/ContextSwitchStack.cs | 40 + src/TensorFlowNET.Core/Data/ShuffleDataset.cs | 2 +- src/TensorFlowNET.Core/Eager/Context.cs | 50 - .../Eager/EagerOperation.cs | 2 +- .../Eager/EagerRunner.ArgsToMatchingEager.cs | 58 + .../{Execute.cs => EagerRunner.Execute.cs} | 64 +- .../Eager/EagerRunner.TFE_Execute.cs | 20 +- .../Eager/EagerRunner.TFE_FastPathExecute.cs | 17 +- src/TensorFlowNET.Core/Eager/EagerRunner.cs | 2 +- .../Eager/EagerTensor.Creation.cs | 10 +- src/TensorFlowNET.Core/Eager/EagerTensor.cs | 10 +- .../Eager/FastPathOpExecInfo.cs | 1 + src/TensorFlowNET.Core/Eager/IEagerRunner.cs | 16 +- .../Framework/Models/DenseSpec.cs | 4 +- .../Framework/Models/TensorSpec.cs | 2 +- .../Gradients/GradientTape.cs | 10 +- src/TensorFlowNET.Core/Gradients/math_grad.cs | 4 +- .../Graphs/Graph.Control.cs | 2 +- src/TensorFlowNET.Core/Graphs/Graph.cs | 2 +- src/TensorFlowNET.Core/Keras/Activations.cs | 17 + .../Keras/ArgsDefinition/DenseArgs.cs | 2 +- .../Keras/ArgsDefinition/InputLayerArgs.cs | 13 + .../Keras/ArgsDefinition/LayerArgs.cs | 4 +- .../Keras/ArgsDefinition/NodeArgs.cs | 17 + .../Keras/{backend.cs => BackendImpl.cs} | 56 +- src/TensorFlowNET.Core/Keras/Engine/ILayer.cs | 15 - src/TensorFlowNET.Core/Keras/Engine/Layer.cs | 146 +- src/TensorFlowNET.Core/Keras/Engine/Node.cs | 61 + .../Keras/Engine/Sequential.cs | 34 +- src/TensorFlowNET.Core/Keras/KerasApi.cs | 50 +- .../Keras/Layers/BatchNormalization.cs | 8 +- src/TensorFlowNET.Core/Keras/Layers/Conv.cs | 12 +- src/TensorFlowNET.Core/Keras/Layers/Dense.cs | 39 +- .../Keras/Layers/Embedding.cs | 10 +- .../Keras/Layers/InputLayer.cs | 88 +- src/TensorFlowNET.Core/Keras/Layers/Node.cs | 85 - .../Keras/Layers/Pooling2D.cs | 4 +- .../Keras/Utils/base_layer_utils.cs | 8 +- src/TensorFlowNET.Core/Layers/Layer.cs | 8 +- .../Operations/NnOps/BasicLSTMCell.cs | 6 +- .../Operations/NnOps/BasicRNNCell.cs | 6 +- .../Operations/NnOps/gen_nn_ops.cs | 64 +- .../Operations/Operation.Input.cs | 4 +- .../Operations/Operation.Output.cs | 4 +- .../Operations/Operation.cs | 8 +- .../Operations/array_ops.cs | 30 +- .../Operations/control_flow_ops.cs | 4 +- .../Operations/dataset_ops.cs | 52 +- .../Operations/functional_ops.cs | 2 +- .../Operations/gen_array_ops.cs | 176 +- .../Operations/gen_control_flow_ops.cs | 24 +- .../Operations/gen_ctc_ops.cs | 2 +- .../Operations/gen_data_flow_ops.cs | 42 +- .../Operations/gen_image_ops.cs | 24 +- .../Operations/gen_logging_ops.cs | 8 +- .../Operations/gen_math_ops.cs | 331 ++-- .../Operations/gen_math_ops.eager.cs | 2 +- src/TensorFlowNET.Core/Operations/gen_ops.cs | 1742 ++++++++--------- .../Operations/gen_random_ops.cs | 20 +- .../Operations/gen_resource_variable_ops.cs | 36 +- .../Operations/gen_sparse_ops.cs | 4 +- .../Operations/image_ops_impl.cs | 2 +- src/TensorFlowNET.Core/Operations/io_ops.cs | 13 +- src/TensorFlowNET.Core/Operations/math_ops.cs | 2 +- .../Operations/string_ops.cs | 6 +- .../Sessions/BaseSession.cs | 2 +- .../Tensorflow.Binding.csproj | 6 +- .../Tensors/EagerTensorV2.cs | 6 +- .../Tensors/Tensor.Conversions.cs | 4 +- .../Tensors/Tensor.Creation.cs | 20 +- .../Tensors/Tensor.Value.cs | 8 +- src/TensorFlowNET.Core/Tensors/Tensor.cs | 16 +- src/TensorFlowNET.Core/Tensors/constant_op.cs | 59 +- src/TensorFlowNET.Core/Training/Optimizer.cs | 2 +- .../Training/Saving/Saver.cs | 4 +- src/TensorFlowNET.Core/Training/Trackable.cs | 2 +- .../Training/gen_training_ops.cs | 10 +- .../Variables/BaseResourceVariable.cs | 2 +- .../Variables/RefVariable.cs | 2 +- .../Variables/ResourceVariable.cs | 4 +- .../Variables/gen_state_ops.py.cs | 14 +- src/TensorFlowNET.Core/ops.cs | 5 +- src/TensorFlowNET.Core/ops.name_scope.cs | 13 +- src/TensorFlowNET.Core/tensorflow.cs | 27 +- .../tensorflow.threading.cs | 10 +- .../Tensorflow.Benchmark.csproj | 1 + tensorflowlib/README.md | 2 +- .../Keras/EmbeddingTest.cs | 11 +- .../Tensorflow.UnitTest.csproj | 2 +- 100 files changed, 2110 insertions(+), 1941 deletions(-) create mode 100644 docs/assets/WeChatCollection.jpg delete mode 100644 src/TensorFlowNET.Core/APIs/keras.layers.cs create mode 100644 src/TensorFlowNET.Core/Contexts/Context.cs rename src/TensorFlowNET.Core/{Eager => Contexts}/ContextOptions.cs (95%) rename src/TensorFlowNET.Core/{APIs/keras.preprocessing.cs => Contexts/ContextSwitch.cs} (62%) create mode 100644 src/TensorFlowNET.Core/Contexts/ContextSwitchStack.cs delete mode 100644 src/TensorFlowNET.Core/Eager/Context.cs create mode 100644 src/TensorFlowNET.Core/Eager/EagerRunner.ArgsToMatchingEager.cs rename src/TensorFlowNET.Core/Eager/{Execute.cs => EagerRunner.Execute.cs} (50%) create mode 100644 src/TensorFlowNET.Core/Keras/Activations.cs create mode 100644 src/TensorFlowNET.Core/Keras/ArgsDefinition/InputLayerArgs.cs create mode 100644 src/TensorFlowNET.Core/Keras/ArgsDefinition/NodeArgs.cs rename src/TensorFlowNET.Core/Keras/{backend.cs => BackendImpl.cs} (68%) delete mode 100644 src/TensorFlowNET.Core/Keras/Engine/ILayer.cs create mode 100644 src/TensorFlowNET.Core/Keras/Engine/Node.cs delete mode 100644 src/TensorFlowNET.Core/Keras/Layers/Node.cs diff --git a/README.md b/README.md index 9087c023..f437ad8e 100644 --- a/README.md +++ b/README.md @@ -26,11 +26,11 @@ In comparison to other projects, like for instance TensorFlowSharp which only pr ### How to use -| TensorFlow | tf 1.13 | tf 1.14 | tf 1.15 | tf 2.2 | -| ----------- | ------- | ------- | ------- | ------ | -| tf.net 0.20 | | | x | x | -| tf.net 0.15 | | x | x | | -| tf.net 0.14 | x | x | | | +| TensorFlow | tf native1.14 | tf native 1.15 | tf native 2.3 | +| ----------- | ------------- | -------------- | ------------- | +| tf.net 0.20 | | x | x | +| tf.net 0.15 | x | x | | +| tf.net 0.14 | x | | | Install TF.NET and TensorFlow binary through NuGet. ```sh @@ -138,6 +138,10 @@ Scan QR code to join Tencent TIM group: ![SciSharp STACK](docs/TIM.jpg) +WeChat Sponsor 微信打赏: + +![SciSharp STACK](docs/assets/WeChatCollection.jpg) + TensorFlow.NET is a part of [SciSharp STACK](https://scisharp.github.io/SciSharp/)
- + \ No newline at end of file diff --git a/docs/assets/WeChatCollection.jpg b/docs/assets/WeChatCollection.jpg new file mode 100644 index 0000000000000000000000000000000000000000..587b5499123ac15ce6e41fcb0b09e2a9411b88d4 GIT binary patch literal 61311 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 CU{oal literal 0 HcmV?d00001 diff --git a/src/TensorFlowNET.Console/MemoryMonitor.cs b/src/TensorFlowNET.Console/MemoryMonitor.cs index 86130583..a7e5be37 100644 --- a/src/TensorFlowNET.Console/MemoryMonitor.cs +++ b/src/TensorFlowNET.Console/MemoryMonitor.cs @@ -10,7 +10,7 @@ namespace Tensorflow { public void WarmUp() { - print(tf.VERSION); + print($"tensorflow native version: v{tf.VERSION}"); } public void Execute(int epoch, int iterate, Action process) diff --git a/src/TensorFlowNET.Console/TensorFlowNET.Console.csproj b/src/TensorFlowNET.Console/TensorFlowNET.Console.csproj index a047afb9..8c31d20e 100644 --- a/src/TensorFlowNET.Console/TensorFlowNET.Console.csproj +++ b/src/TensorFlowNET.Console/TensorFlowNET.Console.csproj @@ -8,7 +8,7 @@ - + diff --git a/src/TensorFlowNET.Core/APIs/keras.layers.cs b/src/TensorFlowNET.Core/APIs/keras.layers.cs deleted file mode 100644 index 92900e76..00000000 --- a/src/TensorFlowNET.Core/APIs/keras.layers.cs +++ /dev/null @@ -1,64 +0,0 @@ -/***************************************************************************** - Copyright 2018 The TensorFlow.NET Authors. All Rights Reserved. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -******************************************************************************/ - -using System.Linq; -using Tensorflow.Keras.Layers; - -namespace Tensorflow -{ - public static partial class keras - { - public static class layers - { - public static Embedding Embedding(int input_dim, int output_dim, - IInitializer embeddings_initializer = null, - bool mask_zero = false) => new Embedding(input_dim, output_dim, - embeddings_initializer, - mask_zero); - - public static Tensor[] Input(int[] batch_shape = null, - TF_DataType dtype = TF_DataType.DtInvalid, - string name = null, - bool sparse = false, - Tensor tensor = null) - { - var batch_size = batch_shape[0]; - var shape = batch_shape.Skip(1).ToArray(); - - InputLayer input_layer = null; - if (batch_shape != null) - input_layer = new InputLayer( - batch_input_shape: batch_shape, - name: name, - dtype: dtype, - sparse: sparse, - input_tensor: tensor); - else - input_layer = new InputLayer( - input_shape: shape, - batch_size: batch_size, - name: name, - dtype: dtype, - sparse: sparse, - input_tensor: tensor); - - var outputs = input_layer.inbound_nodes[0].output_tensors; - - return outputs; - } - } - } -} diff --git a/src/TensorFlowNET.Core/APIs/tf.compat.cs b/src/TensorFlowNET.Core/APIs/tf.compat.cs index 870ef82f..d29de189 100644 --- a/src/TensorFlowNET.Core/APIs/tf.compat.cs +++ b/src/TensorFlowNET.Core/APIs/tf.compat.cs @@ -26,5 +26,8 @@ namespace Tensorflow { public CompatV1Api v1 { get; } = new CompatV1Api(); } + + public bool executing_eagerly() + => Context.executing_eagerly(); } } diff --git a/src/TensorFlowNET.Core/APIs/tf.compat.v1.cs b/src/TensorFlowNET.Core/APIs/tf.compat.v1.cs index 63833991..a08597a8 100644 --- a/src/TensorFlowNET.Core/APIs/tf.compat.v1.cs +++ b/src/TensorFlowNET.Core/APIs/tf.compat.v1.cs @@ -16,7 +16,7 @@ using System; using System.Collections.Generic; -using Tensorflow.Eager; +using Tensorflow.Contexts; using static Tensorflow.Binding; namespace Tensorflow @@ -24,9 +24,7 @@ namespace Tensorflow public class CompatV1Api { public void disable_eager_execution() - { - tf.context.default_execution_mode = Context.GRAPH_MODE; - } + => tf.Context.graph_mode(); public IVariableV1 get_variable(string name, TensorShape shape = null, diff --git a/src/TensorFlowNET.Core/APIs/tf.layers.cs b/src/TensorFlowNET.Core/APIs/tf.layers.cs index 3ebddbcf..085df3c5 100644 --- a/src/TensorFlowNET.Core/APIs/tf.layers.cs +++ b/src/TensorFlowNET.Core/APIs/tf.layers.cs @@ -18,6 +18,7 @@ using System; using System.Collections.Generic; using System.Linq; using NumSharp; +using Tensorflow.Keras; using Tensorflow.Keras.ArgsDefinition; using Tensorflow.Keras.Layers; using Tensorflow.Operations.Activation; @@ -164,7 +165,7 @@ namespace Tensorflow /// public Tensor dense(Tensor inputs, int units, - IActivation activation = null, + Activation activation = null, bool use_bias = true, IInitializer kernel_initializer = null, IInitializer bias_initializer = null, diff --git a/src/TensorFlowNET.Core/Contexts/Context.cs b/src/TensorFlowNET.Core/Contexts/Context.cs new file mode 100644 index 00000000..68e816df --- /dev/null +++ b/src/TensorFlowNET.Core/Contexts/Context.cs @@ -0,0 +1,90 @@ +/***************************************************************************** + Copyright 2018 The TensorFlow.NET Authors. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +******************************************************************************/ + +using System; +using Tensorflow.Eager; + +namespace Tensorflow.Contexts +{ + /// + /// Environment in which eager operations execute. + /// + public sealed class Context : IDisposable + { + public const int GRAPH_MODE = 0; + public const int EAGER_MODE = 1; + + int defaultExecutionMode = EAGER_MODE; + public string DeviceName { get; set; } = ""; + public string ScopeName { get; set; } = ""; + bool initialized = false; + bool isEager; + ContextSwitchStack contextSwitches; + + public SafeContextHandle Handle { get; } + + public Context(ContextOptions opts, Status status) + { + Handle = c_api.TFE_NewContext(opts.Handle, status.Handle); + status.Check(true); + isEager = defaultExecutionMode == EAGER_MODE; + contextSwitches = new ContextSwitchStack(isEager); + initialized = true; + } + + /// + /// Initialize handle and devices if not already done so. + /// + public void ensure_initialized() + { + if (initialized) + return; + initialized = true; + } + + public void start_step() + => c_api.TFE_ContextStartStep(Handle); + + public void end_step() + => c_api.TFE_ContextEndStep(Handle); + + /// + /// Checks whether the current thread has eager execution enabled. + /// + /// + public bool executing_eagerly() + => isEager; + + public string shared_name(string name = null) + => !string.IsNullOrEmpty(name) || !executing_eagerly() ? + name : + "cd2c89b7-88b7-44c8-ad83-06c2a9158347"; + + public void graph_mode() + => mode(false); + + public void eager_mode() + => mode(true); + + void mode(bool mode) + { + isEager = mode; + } + + public void Dispose() + => Handle.Dispose(); + } +} diff --git a/src/TensorFlowNET.Core/Eager/ContextOptions.cs b/src/TensorFlowNET.Core/Contexts/ContextOptions.cs similarity index 95% rename from src/TensorFlowNET.Core/Eager/ContextOptions.cs rename to src/TensorFlowNET.Core/Contexts/ContextOptions.cs index 399c7a0e..6c2156a9 100644 --- a/src/TensorFlowNET.Core/Eager/ContextOptions.cs +++ b/src/TensorFlowNET.Core/Contexts/ContextOptions.cs @@ -15,8 +15,9 @@ ******************************************************************************/ using System; +using Tensorflow.Eager; -namespace Tensorflow.Eager +namespace Tensorflow.Contexts { public sealed class ContextOptions : IDisposable { diff --git a/src/TensorFlowNET.Core/APIs/keras.preprocessing.cs b/src/TensorFlowNET.Core/Contexts/ContextSwitch.cs similarity index 62% rename from src/TensorFlowNET.Core/APIs/keras.preprocessing.cs rename to src/TensorFlowNET.Core/Contexts/ContextSwitch.cs index 125b26f7..00c9a42a 100644 --- a/src/TensorFlowNET.Core/APIs/keras.preprocessing.cs +++ b/src/TensorFlowNET.Core/Contexts/ContextSwitch.cs @@ -14,15 +14,24 @@ limitations under the License. ******************************************************************************/ -using Tensorflow.Keras; -using Tensorflow.Keras.Engine; +using System; +using System.Collections.Generic; +using System.Text; -namespace Tensorflow +namespace Tensorflow.Contexts { - public static partial class keras + public class ContextSwitch { - public static Preprocessing preprocessing => new Preprocessing(); - public static Sequence sequence = new Sequence(); - public static Sequential Sequential() => new Sequential(); + /// + /// Whether the context is building a function. + /// + public bool IsBuildingFunction { get; set; } + + /// + /// A callable that executes the context switch. + /// + public Action EnterContextFn { get; set; } + + public string DeviceStack { get; set; } } } diff --git a/src/TensorFlowNET.Core/Contexts/ContextSwitchStack.cs b/src/TensorFlowNET.Core/Contexts/ContextSwitchStack.cs new file mode 100644 index 00000000..69cefe9b --- /dev/null +++ b/src/TensorFlowNET.Core/Contexts/ContextSwitchStack.cs @@ -0,0 +1,40 @@ +/***************************************************************************** + Copyright 2020 The TensorFlow.NET Authors. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +******************************************************************************/ + +using System; +using System.Collections.Generic; +using System.Text; + +namespace Tensorflow.Contexts +{ + /// + /// Match the semantics of DefaultGraphStack + /// + public class ContextSwitchStack + { + Stack stack; + + public ContextSwitchStack(bool isEager) + { + stack = new Stack(); + if (isEager) + stack.Push(new ContextSwitch + { + IsBuildingFunction = false + }); + } + } +} diff --git a/src/TensorFlowNET.Core/Data/ShuffleDataset.cs b/src/TensorFlowNET.Core/Data/ShuffleDataset.cs index bc23715b..1804ba53 100644 --- a/src/TensorFlowNET.Core/Data/ShuffleDataset.cs +++ b/src/TensorFlowNET.Core/Data/ShuffleDataset.cs @@ -25,7 +25,7 @@ namespace Tensorflow (_seed, _seed2) = random_seed.get_seed_tensor(seed); _reshuffle_each_iteration = reshuffle_each_iteration; var seed_generator = ops.dummy_seed_generator(); - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) variant_tensor = ops.shuffle_dataset_v3(input_dataset.variant_tensor, _buffer_size, _seed, _seed2, seed_generator, output_types, output_shapes, diff --git a/src/TensorFlowNET.Core/Eager/Context.cs b/src/TensorFlowNET.Core/Eager/Context.cs deleted file mode 100644 index 95c2a832..00000000 --- a/src/TensorFlowNET.Core/Eager/Context.cs +++ /dev/null @@ -1,50 +0,0 @@ -using System; - -namespace Tensorflow.Eager -{ - public sealed class Context : IDisposable - { - public const int GRAPH_MODE = 0; - public const int EAGER_MODE = 1; - - public int default_execution_mode; - public string device_name = ""; - public string scope_name = ""; - bool _initialized = false; - - public SafeContextHandle Handle { get; } - - public Context(ContextOptions opts, Status status) - { - Handle = c_api.TFE_NewContext(opts.Handle, status.Handle); - status.Check(true); - } - - /// - /// Initialize handle and devices if not already done so. - /// - public void ensure_initialized() - { - if (_initialized) - return; - _initialized = true; - } - - public void start_step() - => c_api.TFE_ContextStartStep(Handle); - - public void end_step() - => c_api.TFE_ContextEndStep(Handle); - - public bool executing_eagerly() - => default_execution_mode == EAGER_MODE; - - public string shared_name(string name = null) - => !string.IsNullOrEmpty(name) || !executing_eagerly() ? - name : - "cd2c89b7-88b7-44c8-ad83-06c2a9158347"; - - public void Dispose() - => Handle.Dispose(); - } -} diff --git a/src/TensorFlowNET.Core/Eager/EagerOperation.cs b/src/TensorFlowNET.Core/Eager/EagerOperation.cs index 982198f8..2aa7c04c 100644 --- a/src/TensorFlowNET.Core/Eager/EagerOperation.cs +++ b/src/TensorFlowNET.Core/Eager/EagerOperation.cs @@ -53,7 +53,7 @@ namespace Tensorflow.Eager { object value = null; byte isList = 0; - var attrType = c_api.TFE_OpNameGetAttrType(tf.context.Handle, Name, attr_name, ref isList, tf.status.Handle); + var attrType = c_api.TFE_OpNameGetAttrType(tf.Context.Handle, Name, attr_name, ref isList, tf.Status.Handle); switch (attrType) { case TF_AttrType.TF_ATTR_BOOL: diff --git a/src/TensorFlowNET.Core/Eager/EagerRunner.ArgsToMatchingEager.cs b/src/TensorFlowNET.Core/Eager/EagerRunner.ArgsToMatchingEager.cs new file mode 100644 index 00000000..7c3f1307 --- /dev/null +++ b/src/TensorFlowNET.Core/Eager/EagerRunner.ArgsToMatchingEager.cs @@ -0,0 +1,58 @@ +/***************************************************************************** + Copyright 2018 The TensorFlow.NET Authors. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +******************************************************************************/ + +using System.Collections.Generic; +using System; +using System.Linq; +using static Tensorflow.Binding; +using Tensorflow.Contexts; + +namespace Tensorflow.Eager +{ + public partial class EagerRunner + { + public (TF_DataType, Tensor[]) ArgsToMatchingEager(Context ctx, TF_DataType default_dtype = TF_DataType.DtInvalid, object[] args = null) + { + if (args.Length == 0 && default_dtype != TF_DataType.DtInvalid) + return (default_dtype, null); + + if (args.Count(x => x is Tensor) == args.Length) + return ((args[0] as Tensor).dtype, args.Select(x => x as Tensor).ToArray()); + + var dtype = TF_DataType.DtInvalid; + foreach (var x in args) + { + if (x is Tensor et) + dtype = et.dtype; + } + + if (dtype == TF_DataType.DtInvalid) + { + var ret = new List(); + foreach (var t in args) + { + ret.Add(ops.convert_to_tensor(t, dtype, preferred_dtype: default_dtype, ctx: ctx) as Tensor); + if (dtype == TF_DataType.DtInvalid) + dtype = ret.Last().dtype; + } + + return (dtype, ret.ToArray()); + } + else + throw new NotImplementedException(""); + } + } +} diff --git a/src/TensorFlowNET.Core/Eager/Execute.cs b/src/TensorFlowNET.Core/Eager/EagerRunner.Execute.cs similarity index 50% rename from src/TensorFlowNET.Core/Eager/Execute.cs rename to src/TensorFlowNET.Core/Eager/EagerRunner.Execute.cs index 04c11a1d..2bb39bad 100644 --- a/src/TensorFlowNET.Core/Eager/Execute.cs +++ b/src/TensorFlowNET.Core/Eager/EagerRunner.Execute.cs @@ -1,11 +1,30 @@ -using System.Collections.Generic; -using System; +/***************************************************************************** + Copyright 2018 The TensorFlow.NET Authors. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +******************************************************************************/ + using System.Linq; +using System; using static Tensorflow.Binding; +using Tensorflow.Contexts; namespace Tensorflow.Eager { - public class Execute + /// + /// python\eager\pywrap_tfe_src.cc + /// + public partial class EagerRunner { /// /// Execute a TensorFlow operation. @@ -28,14 +47,14 @@ namespace Tensorflow.Eager /// The value of context.context(). /// Customized name for the operation. /// List of output Tensor objects. The list is empty if there are no outputs - public Tensor[] execute(Context ctx, string op_name, int num_outputs, - Tensor[] inputs, object[] attrs, + public Tensor[] Execute(Context ctx, string op_name, int num_outputs, + Tensor[] inputs, object[] attrs, string name = null) { ctx.ensure_initialized(); var results = tf.Runner.TFE_Execute(ctx, - ctx.device_name, + ctx.DeviceName, op_name, inputs, attrs, @@ -43,36 +62,5 @@ namespace Tensorflow.Eager return results; } - - public (TF_DataType, Tensor[]) args_to_matching_eager(Context ctx, TF_DataType default_dtype = TF_DataType.DtInvalid, object[] args = null) - { - if (args.Length == 0 && default_dtype != TF_DataType.DtInvalid) - return (default_dtype, null); - - if (args.Count(x => x is Tensor) == args.Length) - return ((args[0] as Tensor).dtype, args.Select(x => x as Tensor).ToArray()); - - var dtype = TF_DataType.DtInvalid; - foreach (var x in args) - { - if (x is Tensor et) - dtype = et.dtype; - } - - if (dtype == TF_DataType.DtInvalid) - { - var ret = new List(); - foreach (var t in args) - { - ret.Add(ops.convert_to_tensor(t, dtype, preferred_dtype: default_dtype, ctx: ctx) as Tensor); - if (dtype == TF_DataType.DtInvalid) - dtype = ret.Last().dtype; - } - - return (dtype, ret.ToArray()); - } - else - throw new NotImplementedException(""); - } } -} +} \ No newline at end of file diff --git a/src/TensorFlowNET.Core/Eager/EagerRunner.TFE_Execute.cs b/src/TensorFlowNET.Core/Eager/EagerRunner.TFE_Execute.cs index c2764cae..a4f2f345 100644 --- a/src/TensorFlowNET.Core/Eager/EagerRunner.TFE_Execute.cs +++ b/src/TensorFlowNET.Core/Eager/EagerRunner.TFE_Execute.cs @@ -1,7 +1,23 @@ -using System.Collections.Generic; +/***************************************************************************** + Copyright 2018 The TensorFlow.NET Authors. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +******************************************************************************/ + using System.Linq; using System; using static Tensorflow.Binding; +using Tensorflow.Contexts; namespace Tensorflow.Eager { @@ -25,7 +41,7 @@ namespace Tensorflow.Eager object[] attrs, int num_outputs) { - var status = tf.status; + var status = tf.Status; var op = GetOp(ctx, op_name, status); status.Check(true); c_api.TFE_OpSetDevice(op, device_name, status.Handle); diff --git a/src/TensorFlowNET.Core/Eager/EagerRunner.TFE_FastPathExecute.cs b/src/TensorFlowNET.Core/Eager/EagerRunner.TFE_FastPathExecute.cs index 13189b1d..52b811de 100644 --- a/src/TensorFlowNET.Core/Eager/EagerRunner.TFE_FastPathExecute.cs +++ b/src/TensorFlowNET.Core/Eager/EagerRunner.TFE_FastPathExecute.cs @@ -3,11 +3,9 @@ using System.Linq; using System; using static Tensorflow.OpDef.Types; using static Tensorflow.Binding; -using Google.Protobuf.WellKnownTypes; -using System.Threading; using Tensorflow.Util; -using System.Runtime.InteropServices.ComTypes; using System.Runtime.InteropServices; +using Tensorflow.Contexts; namespace Tensorflow.Eager { @@ -17,6 +15,7 @@ namespace Tensorflow.Eager public partial class EagerRunner { int kFastPathExecuteInputStartIndex = 0; + UnorderedMap thread_local_eager_operation_map = new UnorderedMap(); public Tensor[] TFE_FastPathExecute(Context ctx, string device_name, @@ -45,7 +44,7 @@ namespace Tensorflow.Eager op_exec_info.run_post_exec_callbacks = callbacks != null; op_exec_info.run_callbacks = op_exec_info.run_gradient_callback || op_exec_info.run_post_exec_callbacks; - var status = tf.status; + var status = tf.Status; var op = GetOp(ctx, opName, status); var op_def = tf.get_default_graph().GetOpDef(opName); @@ -173,7 +172,7 @@ namespace Tensorflow.Eager SafeOpHandle GetOp(Context ctx, string op_or_function_name, Status status) { if (thread_local_eager_operation_map.find(ctx, out var op)) - c_api.TFE_OpReset(op, op_or_function_name, ctx.device_name, status.Handle); + c_api.TFE_OpReset(op, op_or_function_name, ctx.DeviceName, status.Handle); else { op = c_api.TFE_NewOp(ctx.Handle, op_or_function_name, status.Handle); @@ -184,8 +183,6 @@ namespace Tensorflow.Eager return op; } - static UnorderedMap thread_local_eager_operation_map = new UnorderedMap(); - bool HasAccumulator() { //return !GetAccumulatorSet()->empty(); @@ -252,7 +249,7 @@ namespace Tensorflow.Eager public void SetOpAttrs(SafeOpHandle op, params object[] attrs) { - var status = tf.status; + var status = tf.Status; var len = attrs.Length; for (int i = 0; i < len; i += 2) { @@ -263,9 +260,9 @@ namespace Tensorflow.Eager var type = c_api.TFE_OpGetAttrType(op, key, ref is_list, status.Handle); if (!status.ok()) return; if (is_list != 0) - SetOpAttrList(tf.context, op, key, value as object[], type, null, status); + SetOpAttrList(tf.Context, op, key, value as object[], type, null, status); else - SetOpAttrScalar(tf.context, op, key, value, type, null, status); + SetOpAttrScalar(tf.Context, op, key, value, type, null, status); status.Check(true); } } diff --git a/src/TensorFlowNET.Core/Eager/EagerRunner.cs b/src/TensorFlowNET.Core/Eager/EagerRunner.cs index 28e6e2f5..637af1f4 100644 --- a/src/TensorFlowNET.Core/Eager/EagerRunner.cs +++ b/src/TensorFlowNET.Core/Eager/EagerRunner.cs @@ -11,6 +11,6 @@ namespace Tensorflow.Eager /// public partial class EagerRunner : IEagerRunner { - + } } diff --git a/src/TensorFlowNET.Core/Eager/EagerTensor.Creation.cs b/src/TensorFlowNET.Core/Eager/EagerTensor.Creation.cs index 543f671a..68ef56b8 100644 --- a/src/TensorFlowNET.Core/Eager/EagerTensor.Creation.cs +++ b/src/TensorFlowNET.Core/Eager/EagerTensor.Creation.cs @@ -22,25 +22,25 @@ namespace Tensorflow.Eager public EagerTensor(string value, string device_name) : base(value) { - EagerTensorHandle = c_api.TFE_NewTensorHandle(_handle, tf.status.Handle); + EagerTensorHandle = c_api.TFE_NewTensorHandle(_handle, tf.Status.Handle); Resolve(); } public EagerTensor(byte[] value, string device_name, TF_DataType dtype) : base(value, dType: dtype) { - EagerTensorHandle = c_api.TFE_NewTensorHandle(_handle, tf.status.Handle); + EagerTensorHandle = c_api.TFE_NewTensorHandle(_handle, tf.Status.Handle); Resolve(); } public EagerTensor(string[] value, string device_name) : base(value) { - EagerTensorHandle = c_api.TFE_NewTensorHandle(_handle, tf.status.Handle); + EagerTensorHandle = c_api.TFE_NewTensorHandle(_handle, tf.Status.Handle); Resolve(); } public EagerTensor(NDArray value, string device_name) : base(value) { - EagerTensorHandle = c_api.TFE_NewTensorHandle(_handle, tf.status.Handle); + EagerTensorHandle = c_api.TFE_NewTensorHandle(_handle, tf.Status.Handle); Resolve(); } @@ -49,7 +49,7 @@ namespace Tensorflow.Eager _id = ops.uid(); if (_handle == IntPtr.Zero) - _handle = c_api.TFE_TensorHandleResolve(EagerTensorHandle, tf.status.Handle); + _handle = c_api.TFE_TensorHandleResolve(EagerTensorHandle, tf.Status.Handle); //print($"new Tensor {Id} {_handle.ToString("x16")}"); //print($"new TensorHandle {Id} {EagerTensorHandle.ToString("x16")}"); diff --git a/src/TensorFlowNET.Core/Eager/EagerTensor.cs b/src/TensorFlowNET.Core/Eager/EagerTensor.cs index bddd8188..cf66ca48 100644 --- a/src/TensorFlowNET.Core/Eager/EagerTensor.cs +++ b/src/TensorFlowNET.Core/Eager/EagerTensor.cs @@ -13,24 +13,24 @@ namespace Tensorflow.Eager get { using var _ = EagerTensorHandle.Lease(); - return c_api.StringPiece(c_api.TFE_TensorHandleDeviceName(EagerTensorHandle, tf.status.Handle)); + return c_api.StringPiece(c_api.TFE_TensorHandleDeviceName(EagerTensorHandle, tf.Status.Handle)); } } - public override int rank => c_api.TFE_TensorHandleNumDims(EagerTensorHandle, tf.status.Handle); + public override int rank => c_api.TFE_TensorHandleNumDims(EagerTensorHandle, tf.Status.Handle); public static int GetRank(IntPtr handle) { var tfe_tensor_handle = c_api.TFE_EagerTensorHandle(handle); - return c_api.TFE_TensorHandleNumDims(tfe_tensor_handle, tf.status.Handle); + return c_api.TFE_TensorHandleNumDims(tfe_tensor_handle, tf.Status.Handle); } public static int[] GetDims(IntPtr handle) { var tfe_tensor_handle = c_api.TFE_EagerTensorHandle(handle); - var dims = new int[c_api.TFE_TensorHandleNumDims(tfe_tensor_handle, tf.status.Handle)]; + var dims = new int[c_api.TFE_TensorHandleNumDims(tfe_tensor_handle, tf.Status.Handle)]; for (int i = 0; i < dims.Length; i++) - dims[i] = c_api.TFE_TensorHandleDim(tfe_tensor_handle, i, tf.status.Handle); + dims[i] = c_api.TFE_TensorHandleDim(tfe_tensor_handle, i, tf.Status.Handle); return dims; } } diff --git a/src/TensorFlowNET.Core/Eager/FastPathOpExecInfo.cs b/src/TensorFlowNET.Core/Eager/FastPathOpExecInfo.cs index e1dc1192..4a45b2df 100644 --- a/src/TensorFlowNET.Core/Eager/FastPathOpExecInfo.cs +++ b/src/TensorFlowNET.Core/Eager/FastPathOpExecInfo.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Text; +using Tensorflow.Contexts; namespace Tensorflow.Eager { diff --git a/src/TensorFlowNET.Core/Eager/IEagerRunner.cs b/src/TensorFlowNET.Core/Eager/IEagerRunner.cs index 0e0deb3c..a752bf9e 100644 --- a/src/TensorFlowNET.Core/Eager/IEagerRunner.cs +++ b/src/TensorFlowNET.Core/Eager/IEagerRunner.cs @@ -1,27 +1,37 @@ using System; using System.Collections.Generic; using System.Text; +using Tensorflow.Contexts; using Tensorflow.Gradients; namespace Tensorflow.Eager { public interface IEagerRunner { - public Tensor[] TFE_FastPathExecute(Context ctx, + Tensor[] Execute(Context ctx, string op_name, + int num_outputs, + Tensor[] inputs, object[] attrs, + string name = null); + + (TF_DataType, Tensor[]) ArgsToMatchingEager(Context ctx, + TF_DataType default_dtype = TF_DataType.DtInvalid, + object[] args = null); + + Tensor[] TFE_FastPathExecute(Context ctx, string device_name, string opName, string name, Action callbacks, params object[] args); - public Tensor[] TFE_Execute(Context ctx, + Tensor[] TFE_Execute(Context ctx, string device_name, string op_name, Tensor[] inputs, object[] attrs, int num_outputs); - public Tensor[] TFE_TapeGradient(ITape tape, + Tensor[] TFE_TapeGradient(ITape tape, Tensor[] target, Tensor[] sources, Tensor[] output_gradients); diff --git a/src/TensorFlowNET.Core/Framework/Models/DenseSpec.cs b/src/TensorFlowNET.Core/Framework/Models/DenseSpec.cs index 0ff9738c..f4f0a62f 100644 --- a/src/TensorFlowNET.Core/Framework/Models/DenseSpec.cs +++ b/src/TensorFlowNET.Core/Framework/Models/DenseSpec.cs @@ -18,9 +18,9 @@ namespace Tensorflow.Framework.Models protected string _name; public string name => _name; - public DenseSpec(int[] shape, TF_DataType dtype = TF_DataType.TF_FLOAT, string name = null) + public DenseSpec(TensorShape shape, TF_DataType dtype = TF_DataType.TF_FLOAT, string name = null) { - _shape = new TensorShape(shape); + _shape = shape; _dtype = dtype; _name = name; } diff --git a/src/TensorFlowNET.Core/Framework/Models/TensorSpec.cs b/src/TensorFlowNET.Core/Framework/Models/TensorSpec.cs index 4ea66082..bb5874ed 100644 --- a/src/TensorFlowNET.Core/Framework/Models/TensorSpec.cs +++ b/src/TensorFlowNET.Core/Framework/Models/TensorSpec.cs @@ -7,7 +7,7 @@ namespace Tensorflow.Framework.Models { public class TensorSpec : DenseSpec { - public TensorSpec(int[] shape, TF_DataType dtype = TF_DataType.TF_FLOAT, string name = null) : + public TensorSpec(TensorShape shape, TF_DataType dtype = TF_DataType.TF_FLOAT, string name = null) : base(shape, dtype, name) { diff --git a/src/TensorFlowNET.Core/Gradients/GradientTape.cs b/src/TensorFlowNET.Core/Gradients/GradientTape.cs index c47e8af8..a8c0d8fd 100644 --- a/src/TensorFlowNET.Core/Gradients/GradientTape.cs +++ b/src/TensorFlowNET.Core/Gradients/GradientTape.cs @@ -37,14 +37,14 @@ namespace Tensorflow.Gradients { _persistent = persistent; _watch_accessed_variables = watch_accessed_variables; - _created_eagerly = tf.context.executing_eagerly(); + _created_eagerly = tf.Context.executing_eagerly(); _recording = false; - _created_eagerly = tf.context.executing_eagerly(); + _created_eagerly = tf.Context.executing_eagerly(); // Enters a context inside which operations are recorded on this tape. if (_created_eagerly) { - tf.context.ensure_initialized(); - tf.context.start_step(); + tf.Context.ensure_initialized(); + tf.Context.start_step(); } _push_tape(); } @@ -156,7 +156,7 @@ namespace Tensorflow.Gradients _pop_tape(); if (_created_eagerly) - tf.context.end_step(); + tf.Context.end_step(); } } } diff --git a/src/TensorFlowNET.Core/Gradients/math_grad.cs b/src/TensorFlowNET.Core/Gradients/math_grad.cs index 0d6afbc9..46f44eb9 100644 --- a/src/TensorFlowNET.Core/Gradients/math_grad.cs +++ b/src/TensorFlowNET.Core/Gradients/math_grad.cs @@ -515,7 +515,7 @@ namespace Tensorflow.Gradients var rank = input_0_shape.Length; if (Enumerable.SequenceEqual(Enumerable.Range(0, rank), axes.Data())) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { // should add ones_rank_cache var new_shape = constant_op.constant(range(0, rank).Select(x => 1).ToArray(), dtype: TF_DataType.TF_INT32); @@ -534,7 +534,7 @@ namespace Tensorflow.Gradients input_shape = array_ops.shape(op.inputs[0]); return new Tensor[] { gen_array_ops.tile(grad, input_shape), null }; } - else if (!input_0_shape.Contains(-1) && !tf.context.executing_eagerly()) + else if (!input_0_shape.Contains(-1) && !tf.Context.executing_eagerly()) { throw new NotImplementedException(""); } diff --git a/src/TensorFlowNET.Core/Graphs/Graph.Control.cs b/src/TensorFlowNET.Core/Graphs/Graph.Control.cs index b119745c..4db8ab2f 100644 --- a/src/TensorFlowNET.Core/Graphs/Graph.Control.cs +++ b/src/TensorFlowNET.Core/Graphs/Graph.Control.cs @@ -82,7 +82,7 @@ namespace Tensorflow /// public _ControlDependenciesController control_dependencies(object[] control_inputs) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) return new _ControlDependenciesController(this, null); if (control_inputs == null) diff --git a/src/TensorFlowNET.Core/Graphs/Graph.cs b/src/TensorFlowNET.Core/Graphs/Graph.cs index 12dc66fb..6c404276 100644 --- a/src/TensorFlowNET.Core/Graphs/Graph.cs +++ b/src/TensorFlowNET.Core/Graphs/Graph.cs @@ -518,7 +518,7 @@ namespace Tensorflow public TensorShape GetTensorShape(TF_Output output) { - var status = tf.status; + var status = tf.Status; var ndim = c_api.TF_GraphGetTensorNumDims(_handle, output, status.Handle); status.Check(); diff --git a/src/TensorFlowNET.Core/Keras/Activations.cs b/src/TensorFlowNET.Core/Keras/Activations.cs new file mode 100644 index 00000000..77a83fbc --- /dev/null +++ b/src/TensorFlowNET.Core/Keras/Activations.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Text; +using static Tensorflow.Binding; + +namespace Tensorflow.Keras +{ + public delegate Tensor Activation(Tensor x); + + public class Activations + { + /// + /// Linear activation function (pass-through). + /// + public Activation Linear = x => x; + } +} diff --git a/src/TensorFlowNET.Core/Keras/ArgsDefinition/DenseArgs.cs b/src/TensorFlowNET.Core/Keras/ArgsDefinition/DenseArgs.cs index ef05f929..e79a7c25 100644 --- a/src/TensorFlowNET.Core/Keras/ArgsDefinition/DenseArgs.cs +++ b/src/TensorFlowNET.Core/Keras/ArgsDefinition/DenseArgs.cs @@ -16,7 +16,7 @@ namespace Tensorflow.Keras.ArgsDefinition /// /// Activation function to use. /// - public IActivation Activation { get; set; } + public Activation Activation { get; set; } /// /// Whether the layer uses a bias vector. diff --git a/src/TensorFlowNET.Core/Keras/ArgsDefinition/InputLayerArgs.cs b/src/TensorFlowNET.Core/Keras/ArgsDefinition/InputLayerArgs.cs new file mode 100644 index 00000000..f02a42b1 --- /dev/null +++ b/src/TensorFlowNET.Core/Keras/ArgsDefinition/InputLayerArgs.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Tensorflow.Keras.ArgsDefinition +{ + public class InputLayerArgs : LayerArgs + { + public Tensor InputTensor { get; set; } + public bool Sparse { get; set; } + public bool Ragged { get; set; } + } +} diff --git a/src/TensorFlowNET.Core/Keras/ArgsDefinition/LayerArgs.cs b/src/TensorFlowNET.Core/Keras/ArgsDefinition/LayerArgs.cs index 8c7f6597..aaf89a0c 100644 --- a/src/TensorFlowNET.Core/Keras/ArgsDefinition/LayerArgs.cs +++ b/src/TensorFlowNET.Core/Keras/ArgsDefinition/LayerArgs.cs @@ -17,7 +17,7 @@ namespace Tensorflow.Keras.ArgsDefinition /// /// Only applicable to input layers. /// - public TF_DataType DType { get; set; } + public TF_DataType DType { get; set; } = TF_DataType.TF_FLOAT; /// /// Whether the `call` method can be used to build a TF graph without issues. @@ -36,6 +36,8 @@ namespace Tensorflow.Keras.ArgsDefinition /// public TensorShape BatchInputShape { get; set; } + public int BatchSize { get; set; } = -1; + /// /// Initial weight values. /// diff --git a/src/TensorFlowNET.Core/Keras/ArgsDefinition/NodeArgs.cs b/src/TensorFlowNET.Core/Keras/ArgsDefinition/NodeArgs.cs new file mode 100644 index 00000000..5e38da99 --- /dev/null +++ b/src/TensorFlowNET.Core/Keras/ArgsDefinition/NodeArgs.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Text; +using Tensorflow.Keras.Engine; +using Tensorflow.Keras.Layers; + +namespace Tensorflow.Keras.ArgsDefinition +{ + public class NodeArgs + { + public Layer[] InboundLayers { get; set; } + public int[] NodeIndices { get; set; } + public int[] TensorIndices { get; set; } + public Tensor[] InputTensors { get; set; } + public Tensor[] Outputs { get; set; } + } +} diff --git a/src/TensorFlowNET.Core/Keras/backend.cs b/src/TensorFlowNET.Core/Keras/BackendImpl.cs similarity index 68% rename from src/TensorFlowNET.Core/Keras/backend.cs rename to src/TensorFlowNET.Core/Keras/BackendImpl.cs index 704de00e..84b244a2 100644 --- a/src/TensorFlowNET.Core/Keras/backend.cs +++ b/src/TensorFlowNET.Core/Keras/BackendImpl.cs @@ -20,20 +20,21 @@ using static Tensorflow.Binding; namespace Tensorflow.Keras { - public class backend : BackendBase + public class BackendImpl : BackendBase { /* ---------------------------------------- KERAS BACKEND NATIVE OBJECTS ---------------------------------------- */ - public static Func py_sum = sum; - public static Func py_all = all; + public Func py_sum = sum; + public Func py_all = all; //Func py_any = any; //Func> py_slice = slice; - public static Session _SESSION = ops.get_default_session(); - public static Graph _GRAPH = null; - public static Dictionary _GRAPH_LEARNING_PHASES; + public Session _SESSION => ops.get_default_session(); + + public Graph _GRAPH; + public Dictionary _GRAPH_LEARNING_PHASES; //Dictionary> PER_GRAPH_LAYER_NAME_UIDS; - public static bool _MANUAL_VAR_INIT = false; - public static List _LOCAL_DEVICES = null; + public bool _MANUAL_VAR_INIT = false; + public List _LOCAL_DEVICES = null; /* -------------------------------------- KERAS BACKEND NATIVE OBJECTS END -------------------------------------- */ /// @@ -41,23 +42,28 @@ namespace Tensorflow.Keras /// for various layer names in each graph. /// Allows to give unique autogenerated names to layers, in a graph-specific way. /// - public static Dictionary> PER_GRAPH_LAYER_NAME_UIDS = new Dictionary>(); - public static Dictionary _GRAPH_VARIABLES = new Dictionary(); - public static Dictionary _GRAPH_TF_OPTIMIZERS = new Dictionary(); + public Dictionary> PER_GRAPH_LAYER_NAME_UIDS = new Dictionary>(); + public Dictionary _GRAPH_VARIABLES = new Dictionary(); + public Dictionary _GRAPH_TF_OPTIMIZERS = new Dictionary(); + + public _DummyEagerGraph _DUMMY_EAGER_GRAPH = new _DummyEagerGraph(); - public static _DummyEagerGraph _DUMMY_EAGER_GRAPH = new _DummyEagerGraph(); + public BackendImpl() + { + } - public static void track_variable(IVariableV1 v) + public void track_variable(IVariableV1 v) { var graph = v.Graph; _GRAPH_VARIABLES[graph.graph_key] = v; } - public static Tensor placeholder(int[] shape = null, + public Tensor placeholder(TensorShape shape = null, int ndim = -1, TF_DataType dtype = TF_DataType.DtInvalid, bool sparse = false, - string name = null) + string name = null, + bool ragged = false) { if (sparse) { @@ -65,16 +71,16 @@ namespace Tensorflow.Keras } else { - return gen_array_ops.placeholder(dtype: dtype, shape: new TensorShape(shape), name: name); + return array_ops.placeholder(dtype: dtype, shape: shape, name: name); } } - public static Graph get_graph() + public Graph get_graph() { return ops.get_default_graph(); } - public static int get_uid(string prefix, string @namespace = "") + public int get_uid(string prefix, string @namespace = "") { var graph = tf.get_default_graph(); if (!PER_GRAPH_LAYER_NAME_UIDS.ContainsKey(graph)) @@ -83,7 +89,7 @@ namespace Tensorflow.Keras return PER_GRAPH_LAYER_NAME_UIDS[graph][(@namespace, prefix)]; } - public static int get_uid((string, string) name) + public int get_uid((string, string) name) { var graph = tf.get_default_graph(); if (!PER_GRAPH_LAYER_NAME_UIDS.ContainsKey(graph)) @@ -92,21 +98,21 @@ namespace Tensorflow.Keras return PER_GRAPH_LAYER_NAME_UIDS[graph][name]; } - public static void reset_uids() => PER_GRAPH_LAYER_NAME_UIDS = new Dictionary>(); - public static void clear_session() + public void reset_uids() => PER_GRAPH_LAYER_NAME_UIDS = new Dictionary>(); + public void clear_session() { ops.reset_default_graph(); reset_uids(); - _SESSION = null; + ops.set_default_session(tf.Session(ops.get_default_graph())); var phase = tf.placeholder_with_default(false, new int[] { }, name: "keras_learning_phase"); _GRAPH_LEARNING_PHASES = new Dictionary(); _GRAPH_LEARNING_PHASES[tf.get_default_graph()] = 0; } - public static void manual_variable_initialization(bool value) + public void manual_variable_initialization(bool value) { _MANUAL_VAR_INIT = value; } - public static GraphLearningPhase learning_phase() + public GraphLearningPhase learning_phase() { var graph = tf.get_default_graph(); if (_GRAPH_LEARNING_PHASES.ContainsKey(graph)) @@ -116,7 +122,7 @@ namespace Tensorflow.Keras } return _GRAPH_LEARNING_PHASES[graph]; } - public static void set_learning_phase(bool value) + public void set_learning_phase(bool value) { _GRAPH_LEARNING_PHASES[tf.get_default_graph()] = (GraphLearningPhase)((value) ? 1 : 0); } diff --git a/src/TensorFlowNET.Core/Keras/Engine/ILayer.cs b/src/TensorFlowNET.Core/Keras/Engine/ILayer.cs deleted file mode 100644 index 0b1f422d..00000000 --- a/src/TensorFlowNET.Core/Keras/Engine/ILayer.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Tensorflow.Keras.Engine -{ - /// - /// A layer is a callable object that takes as input one or more tensors and - /// that outputs one or more tensors. - /// - public interface ILayer - { - Tensor Apply(Tensor inputs, bool is_training = false); - } -} diff --git a/src/TensorFlowNET.Core/Keras/Engine/Layer.cs b/src/TensorFlowNET.Core/Keras/Engine/Layer.cs index 349d7908..7ddb79c7 100644 --- a/src/TensorFlowNET.Core/Keras/Engine/Layer.cs +++ b/src/TensorFlowNET.Core/Keras/Engine/Layer.cs @@ -31,20 +31,22 @@ namespace Tensorflow.Keras.Engine /// A layer is a class implementing common neural networks operations, such /// as convolution, batch norm, etc. These operations require managing weights, /// losses, updates, and inter-layer connectivity. - /// - /// tensorflow\python\keras\engine\base_layer.py /// - public class Layer : AutoTrackable, ILayer + public abstract class Layer : AutoTrackable { - protected LayerArgs _args; + /// + /// Arguments initialize layer. + /// + LayerArgs args; /// /// Indicates whether `build` needs to be called upon layer call, to create /// the layer's weights. /// protected bool built; - protected bool trainable; - public TF_DataType _dtype; + public bool Trainable => args.Trainable; + public TF_DataType DType => args.DType; + /// /// A stateful layer is a layer whose updates are run during inference too, /// for instance stateful RNNs. @@ -53,53 +55,53 @@ namespace Tensorflow.Keras.Engine /// /// Provides information about which inputs are compatible with the layer. /// - protected InputSpec input_spec; - protected bool supports_masking; - protected List _trainable_weights; - public List trainable_variables => _trainable_weights; - protected List _non_trainable_weights; - private string _name; - public string name => _name; - protected string _base_name; - protected bool _compute_previous_mask; - protected List _updates; - public int[] _batch_input_shape; - - private List _inbound_nodes; - public List inbound_nodes => _inbound_nodes; - -#pragma warning disable CS0649 // Field 'Layer._outbound_nodes' is never assigned to, and will always have its default value null - private List _outbound_nodes; -#pragma warning restore CS0649 // Field 'Layer._outbound_nodes' is never assigned to, and will always have its default value null - public List outbound_nodes => _outbound_nodes; - -#pragma warning disable CS0169 // The field 'Layer._initial_weights' is never used - float _initial_weights; -#pragma warning restore CS0169 // The field 'Layer._initial_weights' is never used - - ThreadLocal _call_context; - public CallContext CallContext => _call_context.Value; + protected InputSpec inputSpec; + public bool SupportsMasking { get; set; } + protected List trainableWeights; + public List TrainableVariables => trainableWeights; + protected List nonTrainableWeights; + + string name; + public string Name => name; + + protected string baseName; + protected bool computePreviousMask; + protected List updates; + public TensorShape BatchInputShape => args.BatchInputShape; + + List inboundNodes; + public List InboundNodes => inboundNodes; + + List outboundNodes; + public List OutboundNodes => outboundNodes; + + ThreadLocal callContext; + public CallContext CallContext => callContext.Value; public Layer(LayerArgs args) { - _args = args; + this.args = args; // A stateful layer is a layer whose updates are run during inference too, // for instance stateful RNNs. stateful = false; // Indicates whether `build` needs to be called upon layer call, to create // the layer's weights. built = false; - this.supports_masking = false; + this.SupportsMasking = false; _init_set_name(name); - _trainable_weights = new List(); - _non_trainable_weights = new List(); - _compute_previous_mask = false; - _updates = new List(); + trainableWeights = new List(); + nonTrainableWeights = new List(); + computePreviousMask = false; + updates = new List(); + + inboundNodes = new List(); // Manage input shape information if passed. - - _inbound_nodes = new List(); + if(args.BatchInputShape == null && args.InputShape != null) + { + args.BatchInputShape = new int[] { args.BatchSize }.Concat(args.InputShape.dims).ToArray(); + } } /// @@ -108,39 +110,37 @@ namespace Tensorflow.Keras.Engine /// /// /// - public Tensor Apply(Tensor input, bool is_training = false) + public Tensor Apply(Tensor[] inputs, bool is_training = false) { - var input_list = new Tensor[] { input }; - - if (_call_context == null) - _call_context = new ThreadLocal() - { - Value = new CallContext() - }; + callContext = callContext ?? new ThreadLocal() + { + Value = new CallContext() + }; using var ctxManager = CallContext.enter(); - string name_scope = ""; - if (tf.context.executing_eagerly()) + string nameScope = ""; + if (tf.Context.executing_eagerly()) { - name_scope = _name; + nameScope = name; } else { throw new NotImplementedException(""); } - tf_with(ops.name_scope(name_scope), scope => + tf_with(ops.name_scope(nameScope), scope => { if (!built) - _maybe_build(input); + MaybeBuild(inputs); - call(input, is_training: is_training); + call(inputs, is_training: is_training); }); throw new NotImplementedException(""); } + [Obsolete("User Apply()")] public Tensor[] __call__(Tensor[] inputs, Tensor training = null, Tensor state = null, @@ -173,14 +173,14 @@ namespace Tensorflow.Keras.Engine { // Symbolic execution on symbolic tensors. We will attempt to build // the corresponding TF subgraph inside `backend.get_graph()` - var graph = backend.get_graph().as_default(); + var graph = tf.keras.backend.get_graph().as_default(); tf_with(ops.name_scope(_name_scope()), delegate { // Build layer if applicable (if the `build` method has been // overridden). - _maybe_build(inputs[0]); + MaybeBuild(inputs); - outputs = call(inputs[0], + outputs = call(inputs, // training: training, state: state); @@ -217,25 +217,25 @@ namespace Tensorflow.Keras.Engine return null; } - protected virtual Tensor[] call(Tensor inputs, bool is_training = false, Tensor state = null) + protected virtual Tensor[] call(Tensor[] inputs, bool is_training = false, Tensor state = null) { throw new NotImplementedException(""); } protected virtual string _name_scope() { - return name; + return Name; } - protected void _maybe_build(Tensor input) + protected void MaybeBuild(Tensor[] inputs) { // Check input assumptions set before layer building, e.g. input rank. if (built) return; - if (_dtype == TF_DataType.DtInvalid) - _dtype = input.dtype; + if (DType == TF_DataType.DtInvalid) + args.DType = inputs[0].dtype; - var input_shapes = input.TensorShape; + var input_shapes = inputs[0].TensorShape; build(input_shapes); built = true; } @@ -246,7 +246,7 @@ namespace Tensorflow.Keras.Engine } protected virtual IVariableV1 add_weight(string name, - int[] shape, + TensorShape shape, TF_DataType dtype = TF_DataType.DtInvalid, IInitializer initializer = null, bool? trainable = null, @@ -267,10 +267,10 @@ namespace Tensorflow.Keras.Engine else if (dtype.is_integer()) initializer = tf.zeros_initializer; else - throw new ValueError($"An initializer for variable {name} of type {dtype.as_base_dtype()} is required for layer {this.name}"); + throw new ValueError($"An initializer for variable {name} of type {dtype.as_base_dtype()} is required for layer {this.Name}"); } - var variable = _add_variable_with_custom_getter(new VariableArgs + var args = new VariableArgs { Name = name, Shape = shape, @@ -279,13 +279,14 @@ namespace Tensorflow.Keras.Engine Overwrite = true, Initializer = initializer, Trainable = trainable.Value - }); + }; + var variable = _add_variable_with_custom_getter(args); //backend.track_variable(variable); if (trainable == true) - _trainable_weights.Add(variable); + trainableWeights.Add(variable); else - _non_trainable_weights.Add(variable); + nonTrainableWeights.Add(variable); return variable; } @@ -293,17 +294,16 @@ namespace Tensorflow.Keras.Engine protected virtual void add_update(Tensor[] updates, bool inputs = false) { var updates_op = updates.Select(x => x.op).ToArray(); - _updates.AddRange(updates_op); + this.updates.AddRange(updates_op); } // Determine layer name (non-unique). protected virtual void _init_set_name(string name, bool zero_based = true) { var base_name = name; - _name = name; + this.name = name; if (name == null) - (_name, base_name) = _make_unique_name(); - _base_name = base_name; + (this.name, baseName) = _make_unique_name(); } protected virtual (string, string) _make_unique_name() diff --git a/src/TensorFlowNET.Core/Keras/Engine/Node.cs b/src/TensorFlowNET.Core/Keras/Engine/Node.cs new file mode 100644 index 00000000..5ada8791 --- /dev/null +++ b/src/TensorFlowNET.Core/Keras/Engine/Node.cs @@ -0,0 +1,61 @@ +/***************************************************************************** + Copyright 2018 The TensorFlow.NET Authors. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +******************************************************************************/ + +using System.Collections.Generic; +using System.Linq; +using Tensorflow.Keras.ArgsDefinition; +using Tensorflow.Keras.Layers; + +namespace Tensorflow.Keras.Engine +{ + /// + /// A `Node` describes the connectivity between two layers. + /// + /// Each time a layer is connected to some new input, + /// a node is added to `layer._inbound_nodes`. + /// Each time the output of a layer is used by another layer, + /// a node is added to `layer._outbound_nodes`. + /// + public class Node + { + NodeArgs args; + + public int[] node_indices; + public int[] tensor_indices; + public Tensor[] input_tensors; + public Tensor[] Outputs => args.Outputs; + public TensorShape[] input_shapes; + public TensorShape[] output_shapes; + List kerasInputs; + + public Node(InputLayer layer, NodeArgs args) + { + this.args = args; + + kerasInputs = new List(); + + // Wire up Node to Layers. + layer.InboundNodes.Add(this); + foreach (var input in kerasInputs) + { + if (input != null) + input.OutboundNodes.Add(this); + } + + // Set metadata on outputs. + } + } +} diff --git a/src/TensorFlowNET.Core/Keras/Engine/Sequential.cs b/src/TensorFlowNET.Core/Keras/Engine/Sequential.cs index ff9392c8..3883b2c5 100644 --- a/src/TensorFlowNET.Core/Keras/Engine/Sequential.cs +++ b/src/TensorFlowNET.Core/Keras/Engine/Sequential.cs @@ -16,6 +16,7 @@ using Tensorflow.Keras.ArgsDefinition; using Tensorflow.Keras.Layers; +using static Tensorflow.Binding; namespace Tensorflow.Keras.Engine { @@ -28,11 +29,21 @@ namespace Tensorflow.Keras.Engine Tensor[] outputs; #pragma warning restore CS0169 // The field 'Sequential.outputs' is never used - public Sequential(string name = null) + bool computeOutputAndMaskJointly; + bool autoTrackSubLayers; + TensorShape inferredInputShape; + bool hasExplicitInputShape; + TF_DataType inputDType; + Layer[] layers; + + public Sequential(Layer[] layers = null, string name = null) : base(new ModelArgs { Name = name}) { - supports_masking = true; - // _compute_output_and_mask_jointly = true; + this.layers = layers ?? new Layer[0]; + SupportsMasking = true; + computeOutputAndMaskJointly = true; + autoTrackSubLayers = false; + hasExplicitInputShape = false; } public void __enter__() @@ -48,27 +59,26 @@ namespace Tensorflow.Keras.Engine { built = false; var set_inputs = false; - //if(_layers.Count == 0) + if(layers.Length == 0) { if(layer is InputLayer) { - + set_inputs = true; } else { - var (batch_shape, dtype) = (layer._batch_input_shape, layer._dtype); - if (batch_shape != null) + if (layer.BatchInputShape != null) { // Instantiate an input layer. - var x = keras.layers.Input( - batch_shape: batch_shape, - dtype: dtype, - name: layer.name + "_input"); + var x = tf.keras.Input( + batch_shape: layer.BatchInputShape, + dtype: layer.DType, + name: layer.Name + "_input"); // This will build the current layer // and create the node connecting the current layer // to the input layer we just created. - layer.__call__(x); + layer.Apply(x); set_inputs = true; } } diff --git a/src/TensorFlowNET.Core/Keras/KerasApi.cs b/src/TensorFlowNET.Core/Keras/KerasApi.cs index f8dcadff..982ec023 100644 --- a/src/TensorFlowNET.Core/Keras/KerasApi.cs +++ b/src/TensorFlowNET.Core/Keras/KerasApi.cs @@ -1,11 +1,12 @@ using System; using System.Data; +using System.Linq; using Tensorflow.Keras; using Tensorflow.Keras.ArgsDefinition; using Tensorflow.Keras.Datasets; using Tensorflow.Keras.Engine; using Tensorflow.Keras.Layers; -using Tensorflow.Operations.Activation; +using static Tensorflow.Binding; namespace Tensorflow { @@ -14,15 +15,56 @@ namespace Tensorflow public KerasDataset datasets { get; } = new KerasDataset(); public Initializers initializers { get; } = new Initializers(); public Layers layers { get; } = new Layers(); + public Activations activations { get; } = new Activations(); + + public BackendImpl backend { get; } = new BackendImpl(); + + public Sequential Sequential() + => new Sequential(); + + public Tensor[] Input(int[] batch_shape = null, + int batch_size = -1, + TF_DataType dtype = TF_DataType.DtInvalid, + string name = null, + bool sparse = false, + bool ragged = false, + Tensor tensor = null) + { + var args = new InputLayerArgs + { + Name = name, + BatchInputShape = batch_shape, + BatchSize = batch_size, + DType = dtype, + Sparse = sparse, + Ragged = ragged, + InputTensor = tensor + }; + + var layer = new InputLayer(args); + + return layer.InboundNodes[0].Outputs; + } + + public static Embedding Embedding(int input_dim, + int output_dim, + IInitializer embeddings_initializer = null, + bool mask_zero = false) + => new Embedding(input_dim, + output_dim, + embeddings_initializer, + mask_zero); public class Layers { - public ILayer Dense(int units, - IActivation activation = null) + public Layer Dense(int units, + Activation activation = null, + TensorShape input_shape = null) => new Dense(new DenseArgs { Units = units, - Activation = activation + Activation = activation ?? tf.keras.activations.Linear, + InputShape = input_shape }); } } diff --git a/src/TensorFlowNET.Core/Keras/Layers/BatchNormalization.cs b/src/TensorFlowNET.Core/Keras/Layers/BatchNormalization.cs index ef71cd37..23992b56 100644 --- a/src/TensorFlowNET.Core/Keras/Layers/BatchNormalization.cs +++ b/src/TensorFlowNET.Core/Keras/Layers/BatchNormalization.cs @@ -80,7 +80,7 @@ namespace Tensorflow.Keras.Layers this.moving_variance_initializer = moving_variance_initializer; this.renorm = renorm; this.fused = true; - this.supports_masking = true; + this.SupportsMasking = true; this._bessels_correction_test_only = true; } @@ -95,7 +95,7 @@ namespace Tensorflow.Keras.Layers if (Enumerable.SequenceEqual(axis, new int[] { 3 })) _data_format = "NHWC"; - var param_dtype = _dtype == TF_DataType.DtInvalid ? TF_DataType.TF_FLOAT : _dtype; + var param_dtype = DType == TF_DataType.DtInvalid ? TF_DataType.TF_FLOAT : DType; var param_shape = new int[] { input_shape.dims[axis[0]] }; if (scale) @@ -143,14 +143,14 @@ namespace Tensorflow.Keras.Layers built = true; } - protected override Tensor[] call(Tensor inputs, bool is_training = false, Tensor state = null) + protected override Tensor[] call(Tensor[] inputs, bool is_training = false, Tensor state = null) { Tensor outputs = null; if (fused) { Tensor training = tf.convert_to_tensor(is_training); - outputs = _fused_batch_norm(inputs, training: training); + outputs = _fused_batch_norm(inputs[0], training: training); return new[] { outputs, outputs }; } diff --git a/src/TensorFlowNET.Core/Keras/Layers/Conv.cs b/src/TensorFlowNET.Core/Keras/Layers/Conv.cs index cc04bc0f..a1d48be1 100644 --- a/src/TensorFlowNET.Core/Keras/Layers/Conv.cs +++ b/src/TensorFlowNET.Core/Keras/Layers/Conv.cs @@ -65,7 +65,7 @@ namespace Tensorflow.Keras.Layers this.use_bias = use_bias; this.kernel_initializer = kernel_initializer; this.bias_initializer = bias_initializer; - input_spec = new InputSpec(ndim: rank + 2); + inputSpec = new InputSpec(ndim: rank + 2); } protected override void build(TensorShape input_shape) @@ -79,17 +79,17 @@ namespace Tensorflow.Keras.Layers shape: kernel_shape, initializer: kernel_initializer, trainable: true, - dtype: _dtype); + dtype: DType); if (use_bias) bias = (RefVariable)add_weight(name: "bias", shape: new int[] { filters }, initializer: bias_initializer, trainable: true, - dtype: _dtype); + dtype: DType); var axes = new Dictionary(); axes.Add(-1, input_dim); - input_spec = new InputSpec(ndim: rank + 2, axes: axes); + inputSpec = new InputSpec(ndim: rank + 2, axes: axes); string op_padding; if (padding == "causal") @@ -108,9 +108,9 @@ namespace Tensorflow.Keras.Layers built = true; } - protected override Tensor[] call(Tensor inputs, bool training = false, Tensor state = null) + protected override Tensor[] call(Tensor[] inputs, bool training = false, Tensor state = null) { - var outputs = _convolution_op.__call__(inputs, kernel); + var outputs = _convolution_op.__call__(inputs[0], kernel); if (use_bias) { if (data_format == "channels_first") diff --git a/src/TensorFlowNET.Core/Keras/Layers/Dense.cs b/src/TensorFlowNET.Core/Keras/Layers/Dense.cs index 906747b8..90109c1e 100644 --- a/src/TensorFlowNET.Core/Keras/Layers/Dense.cs +++ b/src/TensorFlowNET.Core/Keras/Layers/Dense.cs @@ -29,19 +29,16 @@ namespace Tensorflow.Keras.Layers /// public class Dense : Layer { - protected int units; - protected IActivation activation; - protected bool use_bias; - protected IInitializer kernel_initializer; - protected IInitializer bias_initializer; + DenseArgs args; protected IVariableV1 kernel; protected IVariableV1 bias; public Dense(DenseArgs args) : base(args) { - this.supports_masking = true; - this.input_spec = new InputSpec(min_ndim: 2); + this.args = args; + this.SupportsMasking = true; + this.inputSpec = new InputSpec(min_ndim: 2); } protected override void build(TensorShape input_shape) @@ -49,41 +46,41 @@ namespace Tensorflow.Keras.Layers var last_dim = input_shape.dims.Last(); var axes = new Dictionary(); axes[-1] = last_dim; - input_spec = new InputSpec(min_ndim: 2, axes: axes); + inputSpec = new InputSpec(min_ndim: 2, axes: axes); kernel = add_weight( "kernel", - shape: new int[] { last_dim, units }, - initializer: kernel_initializer, - dtype: _dtype, + shape: new TensorShape(last_dim, args.Units), + initializer: args.KernelInitializer, + dtype: DType, trainable: true); - if (use_bias) + if (args.UseBias) bias = add_weight( "bias", - shape: new int[] { units }, - initializer: bias_initializer, - dtype: _dtype, + shape: new TensorShape(args.Units), + initializer: args.BiasInitializer, + dtype: DType, trainable: true); built = true; } - protected override Tensor[] call(Tensor inputs, bool training = false, Tensor state = null) + protected override Tensor[] call(Tensor[] inputs, bool training = false, Tensor state = null) { Tensor outputs = null; - var rank = inputs.rank; + var rank = inputs[0].rank; if(rank > 2) { throw new NotImplementedException("call rank > 2"); } else { - outputs = gen_math_ops.mat_mul(inputs, kernel.Handle); + outputs = gen_math_ops.mat_mul(inputs[0], kernel.Handle); } - if (use_bias) + if (args.UseBias) outputs = tf.nn.bias_add(outputs, bias); - if (activation != null) - outputs = activation.Activate(outputs); + //if (args.Activation != null) + //outputs = args.Activation.Activate(outputs); return new[] { outputs, outputs }; } diff --git a/src/TensorFlowNET.Core/Keras/Layers/Embedding.cs b/src/TensorFlowNET.Core/Keras/Layers/Embedding.cs index 628b5ef4..5080c425 100644 --- a/src/TensorFlowNET.Core/Keras/Layers/Embedding.cs +++ b/src/TensorFlowNET.Core/Keras/Layers/Embedding.cs @@ -45,7 +45,7 @@ namespace Tensorflow.Keras.Layers this.output_dim = output_dim; this.embeddings_initializer = embeddings_initializer == null ? tf.uniform_initializer : embeddings_initializer; this.mask_zero = mask_zero; - supports_masking = mask_zero; + SupportsMasking = mask_zero; this.input_length = input_length; } @@ -57,13 +57,13 @@ namespace Tensorflow.Keras.Layers built = true; } - protected override Tensor[] call(Tensor inputs, bool is_training = false, Tensor state = null) + protected override Tensor[] call(Tensor[] inputs, bool is_training = false, Tensor state = null) { - var dtype = inputs.dtype; + var dtype = inputs[0].dtype; if (dtype != tf.int32 && dtype != tf.int64) - inputs = math_ops.cast(inputs, tf.int32); + inputs[0] = math_ops.cast(inputs[0], tf.int32); - var @out = embedding_ops.embedding_lookup(embeddings, inputs); + var @out = embedding_ops.embedding_lookup(embeddings, inputs[0]); return new[] { @out, @out }; } } diff --git a/src/TensorFlowNET.Core/Keras/Layers/InputLayer.cs b/src/TensorFlowNET.Core/Keras/Layers/InputLayer.cs index 66ba6625..02473904 100644 --- a/src/TensorFlowNET.Core/Keras/Layers/InputLayer.cs +++ b/src/TensorFlowNET.Core/Keras/Layers/InputLayer.cs @@ -17,8 +17,10 @@ using System; using System.Collections.Generic; using System.Linq; +using Tensorflow.Framework.Models; using Tensorflow.Keras.ArgsDefinition; using Tensorflow.Keras.Engine; +using static Tensorflow.Binding; namespace Tensorflow.Keras.Layers { @@ -27,82 +29,68 @@ namespace Tensorflow.Keras.Layers /// public class InputLayer : Layer { - public bool sparse; - public int? batch_size; - public bool is_placeholder; + InputLayerArgs args; + bool isPlaceholder; + TensorSpec typeSpec; - public InputLayer(int[] input_shape = null, - int[] batch_input_shape = null, - int? batch_size = null, - TF_DataType dtype = TF_DataType.DtInvalid, - string name = null, - bool sparse = false, - Tensor input_tensor = null) : - base(new LayerArgs - { - DType = dtype, Name = name - }) + public InputLayer(InputLayerArgs args) : + base(args) { + this.args = args; built = true; - this.sparse = sparse; - this.batch_size = batch_size; - this.supports_masking = true; + this.SupportsMasking = true; - if(batch_input_shape != null) + if(BatchInputShape != null) { - batch_size = batch_input_shape[0]; - input_shape = batch_input_shape.Skip(1).ToArray(); + args.BatchSize = BatchInputShape.dims[0]; + args.InputShape = BatchInputShape.dims[1..]; } // moved to base class - if (string.IsNullOrEmpty(name)) + if (string.IsNullOrEmpty(Name)) { var prefix = "input"; - name = prefix + '_' + backend.get_uid(prefix); + args.Name = prefix + '_' + tf.keras.backend.get_uid(prefix); } - - if (input_tensor == null) + + if (args.InputTensor == null) { - if(input_shape != null) + if(args.InputShape != null) { - var dims = new List { batch_size.HasValue ? batch_size.Value : -1 }; - dims.AddRange(input_shape); - batch_input_shape = dims.ToArray(); + args.BatchInputShape = new int[] { args.BatchSize } + .Concat(args.InputShape.dims) + .ToArray(); } else { - batch_input_shape = null; + args.BatchInputShape = null; } - var graph = backend.get_graph().as_default(); - // In graph mode, create a graph placeholder to call the layer on. - if (sparse) - { - throw new NotImplementedException("InputLayer sparse is true"); - } - else - { - input_tensor = backend.placeholder( - shape: batch_input_shape, - dtype: dtype, - name: name); - } + tf.Context.graph_mode(); + args.InputTensor = tf.keras.backend.placeholder( + shape: BatchInputShape, + dtype: DType, + name: Name, + sparse: args.Sparse); + tf.Context.eager_mode(); - is_placeholder = true; - _batch_input_shape = batch_input_shape; + isPlaceholder = true; } // Create an input node to add to self.outbound_node // and set output_tensors' _keras_history. // input_tensor._keras_history = base_layer.KerasHistory(self, 0, 0) // input_tensor._keras_mask = None - new Node(this, - inbound_layers: new Layer[0], - node_indices: new int[0], - tensor_indices: new int[0], - input_tensors: new Tensor[] { input_tensor }, - output_tensors: new Tensor[] { input_tensor }); + new Node(this, new NodeArgs + { + InputTensors = new Tensor[] { args.InputTensor }, + Outputs = new Tensor[] { args.InputTensor } + }); + + typeSpec = new TensorSpec(args.InputTensor.TensorShape, + dtype: args.InputTensor.dtype, + name: Name); } } } diff --git a/src/TensorFlowNET.Core/Keras/Layers/Node.cs b/src/TensorFlowNET.Core/Keras/Layers/Node.cs deleted file mode 100644 index 11862f06..00000000 --- a/src/TensorFlowNET.Core/Keras/Layers/Node.cs +++ /dev/null @@ -1,85 +0,0 @@ -/***************************************************************************** - Copyright 2018 The TensorFlow.NET Authors. All Rights Reserved. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -******************************************************************************/ - -using System.Linq; -using Tensorflow.Keras.Engine; - -namespace Tensorflow.Keras.Layers -{ - /// - /// A `Node` describes the connectivity between two layers. - /// - public class Node - { - public InputLayer outbound_layer; - public Layer[] inbound_layers; - public int[] node_indices; - public int[] tensor_indices; - public Tensor[] input_tensors; - public Tensor[] output_tensors; - public int[][] input_shapes; - public int[][] output_shapes; - - /// - /// - /// - /// - /// the layer that takes - /// `input_tensors` and turns them into `output_tensors` - /// (the node gets created when the `call` - /// method of the layer was called). - /// - /// - /// a list of layers, the same length as `input_tensors`, - /// the layers from where `input_tensors` originate. - /// - /// - /// a list of integers, the same length as `inbound_layers`. - /// `node_indices[i]` is the origin node of `input_tensors[i]` - /// (necessary since each inbound layer might have several nodes, - /// e.g. if the layer is being shared with a different data stream). - /// - /// - /// list of input tensors. - /// list of output tensors. - public Node(InputLayer outbound_layer, - Layer[] inbound_layers, - int[] node_indices, - int[] tensor_indices, - Tensor[] input_tensors, - Tensor[] output_tensors) - { - this.outbound_layer = outbound_layer; - this.inbound_layers = inbound_layers; - this.node_indices = node_indices; - this.tensor_indices = tensor_indices; - this.input_tensors = input_tensors; - this.output_tensors = output_tensors; - - input_shapes = input_tensors.Select(x => x._shape_tuple()).ToArray(); - output_shapes = output_tensors.Select(x => x._shape_tuple()).ToArray(); - - // Add nodes to all layers involved. - foreach (var layer in inbound_layers) - { - if (layer != null) - layer.outbound_nodes.Add(this); - } - - outbound_layer.inbound_nodes.Add(this); - } - } -} diff --git a/src/TensorFlowNET.Core/Keras/Layers/Pooling2D.cs b/src/TensorFlowNET.Core/Keras/Layers/Pooling2D.cs index 3c9d0a38..6ee054bf 100644 --- a/src/TensorFlowNET.Core/Keras/Layers/Pooling2D.cs +++ b/src/TensorFlowNET.Core/Keras/Layers/Pooling2D.cs @@ -45,7 +45,7 @@ namespace Tensorflow.Keras.Layers this.input_spec = new InputSpec(ndim: 4); } - protected override Tensor[] call(Tensor inputs, bool is_training = false, Tensor state = null) + protected override Tensor[] call(Tensor[] inputs, bool is_training = false, Tensor state = null) { int[] pool_shape; if (data_format == "channels_last") @@ -60,7 +60,7 @@ namespace Tensorflow.Keras.Layers } var outputs = pool_function.Apply( - inputs, + inputs[0], ksize: pool_shape, strides: strides, padding: padding.ToUpper(), diff --git a/src/TensorFlowNET.Core/Keras/Utils/base_layer_utils.cs b/src/TensorFlowNET.Core/Keras/Utils/base_layer_utils.cs index a3667867..18325a49 100644 --- a/src/TensorFlowNET.Core/Keras/Utils/base_layer_utils.cs +++ b/src/TensorFlowNET.Core/Keras/Utils/base_layer_utils.cs @@ -40,7 +40,7 @@ namespace Tensorflow.Keras.Utils var variable_dtype = args.DType.as_base_dtype(); var v = tf.Variable(init_val, - dtype: args.DType, + dtype: variable_dtype, shape: args.Shape, name: args.Name, trainable: args.Trainable, @@ -94,14 +94,14 @@ namespace Tensorflow.Keras.Utils { var graph = ops.get_default_graph(); Dictionary<(string, string), int> name_uid_map = null; - if (backend.PER_GRAPH_LAYER_NAME_UIDS.ContainsKey(graph)) + if (tf.keras.backend.PER_GRAPH_LAYER_NAME_UIDS.ContainsKey(graph)) { - name_uid_map = backend.PER_GRAPH_LAYER_NAME_UIDS[graph]; + name_uid_map = tf.keras.backend.PER_GRAPH_LAYER_NAME_UIDS[graph]; } else { name_uid_map = new Dictionary<(string, string), int>(); - backend.PER_GRAPH_LAYER_NAME_UIDS[graph] = name_uid_map; + tf.keras.backend.PER_GRAPH_LAYER_NAME_UIDS[graph] = name_uid_map; } return name_uid_map; diff --git a/src/TensorFlowNET.Core/Layers/Layer.cs b/src/TensorFlowNET.Core/Layers/Layer.cs index 2d98d081..48003b94 100644 --- a/src/TensorFlowNET.Core/Layers/Layer.cs +++ b/src/TensorFlowNET.Core/Layers/Layer.cs @@ -49,8 +49,8 @@ namespace Tensorflow.Layers this._reuse = _reuse; // Avoid an incorrect lint error - _trainable_weights = new List(); - _non_trainable_weights = new List(); + trainableWeights = new List(); + nonTrainableWeights = new List(); this.built = false; _keras_style = false; } @@ -95,7 +95,7 @@ namespace Tensorflow.Layers // Update global default collections. - _add_elements_to_collection(_updates.ToArray(), new string[] { tf.GraphKeys.UPDATE_OPS }); + _add_elements_to_collection(updates.ToArray(), new string[] { tf.GraphKeys.UPDATE_OPS }); return outputs; } @@ -202,7 +202,7 @@ namespace Tensorflow.Layers } else { - tf_with(tf.variable_scope(scope, default_name: _base_name), captured_scope => + tf_with(tf.variable_scope(scope, default_name: baseName), captured_scope => { // convert variable_scope to VariableScope _scope = captured_scope; diff --git a/src/TensorFlowNET.Core/Operations/NnOps/BasicLSTMCell.cs b/src/TensorFlowNET.Core/Operations/NnOps/BasicLSTMCell.cs index b08fc78d..a0fbc007 100644 --- a/src/TensorFlowNET.Core/Operations/NnOps/BasicLSTMCell.cs +++ b/src/TensorFlowNET.Core/Operations/NnOps/BasicLSTMCell.cs @@ -40,7 +40,7 @@ namespace Tensorflow IActivation activation = null, bool? reuse = null, string name = null, TF_DataType dtype = TF_DataType.DtInvalid) : base(_reuse: reuse, name: name, dtype: dtype) { - input_spec = new InputSpec(ndim: 2); + inputSpec = new InputSpec(ndim: 2); _num_units = num_units; _forget_bias = forget_bias; _state_is_tuple = state_is_tuple; @@ -74,7 +74,7 @@ namespace Tensorflow /// /// /// - protected override Tensor[] call(Tensor inputs, bool is_training = false, Tensor state = null) + protected override Tensor[] call(Tensor[] inputs, bool is_training = false, Tensor state = null) { var one = constant_op.constant(1, dtype: dtypes.int32); // Parameters of gates are concatenated into one multiply for efficiency. @@ -87,7 +87,7 @@ namespace Tensorflow // array_ops.split(value: state, num_or_size_splits: 2, axis: one); throw new NotImplementedException("BasicLstmCell call"); } - var gate_inputs = math_ops.matmul(array_ops.concat(new[] { inputs, h }, 1), _kernel as RefVariable); + var gate_inputs = math_ops.matmul(array_ops.concat(new[] { inputs[0], h }, 1), _kernel as RefVariable); gate_inputs = nn_ops.bias_add(gate_inputs, _bias as RefVariable); // i = input_gate, j = new_input, f = forget_gate, o = output_gate diff --git a/src/TensorFlowNET.Core/Operations/NnOps/BasicRNNCell.cs b/src/TensorFlowNET.Core/Operations/NnOps/BasicRNNCell.cs index 8ddd4599..de8e7b95 100644 --- a/src/TensorFlowNET.Core/Operations/NnOps/BasicRNNCell.cs +++ b/src/TensorFlowNET.Core/Operations/NnOps/BasicRNNCell.cs @@ -42,7 +42,7 @@ namespace Tensorflow dtype: dtype) { // Inputs must be 2-dimensional. - input_spec = new InputSpec(ndim: 2); + inputSpec = new InputSpec(ndim: 2); _num_units = num_units; if (activation == null) @@ -67,10 +67,10 @@ namespace Tensorflow built = true; } - protected override Tensor[] call(Tensor inputs, bool is_training = false, Tensor state = null) + protected override Tensor[] call(Tensor[] inputs, bool is_training = false, Tensor state = null) { // Most basic RNN: output = new_state = act(W * input + U * state + B). - var concat = array_ops.concat(new[] { inputs, state }, 1); + var concat = array_ops.concat(new[] { inputs[0], state }, 1); var gate_inputs = math_ops.matmul(concat, _kernel as RefVariable); gate_inputs = nn_ops.bias_add(gate_inputs, _bias as RefVariable); var output = _activation(gate_inputs, null); diff --git a/src/TensorFlowNET.Core/Operations/NnOps/gen_nn_ops.cs b/src/TensorFlowNET.Core/Operations/NnOps/gen_nn_ops.cs index 659247b0..ccc83864 100644 --- a/src/TensorFlowNET.Core/Operations/NnOps/gen_nn_ops.cs +++ b/src/TensorFlowNET.Core/Operations/NnOps/gen_nn_ops.cs @@ -42,7 +42,7 @@ namespace Tensorflow.Operations /// public static Tensor conv2d(Conv2dParams parameters) { - var _op = tf._op_def_lib._apply_op_helper("Conv2D", name: parameters.Name, args: new + var _op = tf.OpDefLib._apply_op_helper("Conv2D", name: parameters.Name, args: new { input = parameters.Input, filter = parameters.Filter, @@ -64,7 +64,7 @@ namespace Tensorflow.Operations /// public static Tensor conv2d_backprop_filter(Conv2dParams parameters) { - var _op = tf._op_def_lib._apply_op_helper("Conv2DBackpropFilter", name: parameters.Name, args: new + var _op = tf.OpDefLib._apply_op_helper("Conv2DBackpropFilter", name: parameters.Name, args: new { input = parameters.Input, filter_sizes = parameters.FilterSizes, @@ -87,7 +87,7 @@ namespace Tensorflow.Operations /// public static Tensor conv2d_backprop_input(Conv2dParams parameters) { - var _op = tf._op_def_lib._apply_op_helper("Conv2DBackpropInput", name: parameters.Name, args: new + var _op = tf.OpDefLib._apply_op_helper("Conv2DBackpropInput", name: parameters.Name, args: new { input_sizes = parameters.InputSizes, filter = parameters.Filter, @@ -111,7 +111,7 @@ namespace Tensorflow.Operations if (data_format == null) data_format = "NHWC"; - var _op = tf._op_def_lib._apply_op_helper("BiasAdd", name: name, args: new + var _op = tf.OpDefLib._apply_op_helper("BiasAdd", name: name, args: new { value, bias, @@ -128,7 +128,7 @@ namespace Tensorflow.Operations if (data_format == null) data_format = "NHWC"; - var _op = tf._op_def_lib._apply_op_helper("BiasAddGrad", name: name, args: new + var _op = tf.OpDefLib._apply_op_helper("BiasAddGrad", name: name, args: new { out_backprop, data_format @@ -154,7 +154,7 @@ namespace Tensorflow.Operations /// public static Tensor elu(Tensor features, string name = "Elu") { - var op = tf._op_def_lib._apply_op_helper("Elu", name: name, args: new { features }); + var op = tf.OpDefLib._apply_op_helper("Elu", name: name, args: new { features }); return op.output; } @@ -165,7 +165,7 @@ namespace Tensorflow.Operations /// public static Tensor[] fused_batch_norm_grad(FusedBatchNormParams @params) { - var op = tf._op_def_lib._apply_op_helper("FusedBatchNormGrad", name: @params.Name, args: new + var op = tf.OpDefLib._apply_op_helper("FusedBatchNormGrad", name: @params.Name, args: new { y_backprop = @params.YBackprop, x = @params.X, @@ -181,7 +181,7 @@ namespace Tensorflow.Operations public static Tensor[] fused_batch_norm_grad_v3(FusedBatchNormParams @params) { - var op = tf._op_def_lib._apply_op_helper("FusedBatchNormGradV3", name: @params.Name, args: new + var op = tf.OpDefLib._apply_op_helper("FusedBatchNormGradV3", name: @params.Name, args: new { y_backprop = @params.YBackprop, x = @params.X, @@ -206,7 +206,7 @@ namespace Tensorflow.Operations bool is_training = true, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("FusedBatchNorm", name: name, args: new + var _op = tf.OpDefLib._apply_op_helper("FusedBatchNorm", name: name, args: new { x, scale, @@ -231,7 +231,7 @@ namespace Tensorflow.Operations bool is_training = true, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("FusedBatchNormV3", name: name, args: new + var _op = tf.OpDefLib._apply_op_helper("FusedBatchNormV3", name: name, args: new { x, scale, @@ -259,7 +259,7 @@ namespace Tensorflow.Operations public static Tensor local_response_normalization(Tensor input, int depth_radius = 5, int bias = 1, int alpha = 1, float beta = 0.5f, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("LRN", name: name, args: new + var _op = tf.OpDefLib._apply_op_helper("LRN", name: name, args: new { input, depth_radius, @@ -273,7 +273,7 @@ namespace Tensorflow.Operations public static Tensor log_softmax(Tensor logits, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("LogSoftmax", name: name, args: new + var _op = tf.OpDefLib._apply_op_helper("LogSoftmax", name: name, args: new { logits }); @@ -291,7 +291,7 @@ namespace Tensorflow.Operations /// A `Tensor` of type `bool`. public static Tensor in_top_kv2(Tensor predictions, Tensor targets, int k, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("InTopKV2", name: name, args: new + var _op = tf.OpDefLib._apply_op_helper("InTopKV2", name: name, args: new { predictions, targets, @@ -303,7 +303,7 @@ namespace Tensorflow.Operations public static Tensor leaky_relu(Tensor features, float alpha = 0.2f, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("LeakyRelu", name: name, args: new + var _op = tf.OpDefLib._apply_op_helper("LeakyRelu", name: name, args: new { features, alpha @@ -319,7 +319,7 @@ namespace Tensorflow.Operations string data_format = "NHWC", string name = null) { - var _op = tf._op_def_lib._apply_op_helper("MaxPool", name: name, args: new + var _op = tf.OpDefLib._apply_op_helper("MaxPool", name: name, args: new { input, ksize, @@ -334,7 +334,7 @@ namespace Tensorflow.Operations public static Tensor max_pool_grad(Tensor orig_input, Tensor orig_output, Tensor grad, int[] ksize, int[] strides, string padding, string data_format= "NHWC", string name= null) { - var _op = tf._op_def_lib._apply_op_helper("MaxPoolGrad", name: name, args: new + var _op = tf.OpDefLib._apply_op_helper("MaxPoolGrad", name: name, args: new { orig_input, orig_output, @@ -350,7 +350,7 @@ namespace Tensorflow.Operations public static Tensor[] top_kv2(Tensor input, int k, bool sorted = true, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("TopKV2", name: name, args: new + var _op = tf.OpDefLib._apply_op_helper("TopKV2", name: name, args: new { input, k, @@ -362,9 +362,9 @@ namespace Tensorflow.Operations public static Tensor relu_grad(Tensor gradients, Tensor features, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "ReluGrad", name, null, gradients, features); @@ -372,7 +372,7 @@ namespace Tensorflow.Operations return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("ReluGrad", name: name, args: new + var _op = tf.OpDefLib._apply_op_helper("ReluGrad", name: name, args: new { gradients, features @@ -383,7 +383,7 @@ namespace Tensorflow.Operations public static Tensor leaky_relu_grad(Tensor gradients, Tensor features, float alpha = 0.2f, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("LeakyReluGrad", name: name, args: new + var _op = tf.OpDefLib._apply_op_helper("LeakyReluGrad", name: name, args: new { gradients, features, @@ -395,9 +395,9 @@ namespace Tensorflow.Operations public static Tensor softmax(Tensor logits, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Softmax", name, null, logits); @@ -405,7 +405,7 @@ namespace Tensorflow.Operations return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Softmax", name: name, args: new + var _op = tf.OpDefLib._apply_op_helper("Softmax", name: name, args: new { logits }); @@ -422,7 +422,7 @@ namespace Tensorflow.Operations /// public static (Tensor, Tensor) softmax_cross_entropy_with_logits(Tensor features, Tensor labels, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("SoftmaxCrossEntropyWithLogits", name: name, args: new + var _op = tf.OpDefLib._apply_op_helper("SoftmaxCrossEntropyWithLogits", name: name, args: new { features, labels @@ -460,7 +460,7 @@ namespace Tensorflow.Operations /// public static (Tensor loss, Tensor backprop) sparse_softmax_cross_entropy_with_logits(Tensor features, Tensor labels, string name = "SparseSoftmaxCrossEntropyWithLogits") { - var op = tf._op_def_lib._apply_op_helper("SparseSoftmaxCrossEntropyWithLogits", name: name, args: new { features, labels }); + var op = tf.OpDefLib._apply_op_helper("SparseSoftmaxCrossEntropyWithLogits", name: name, args: new { features, labels }); int _idx = 0; var loss = op.outputs[_idx++]; var backprop = op.outputs[_idx++]; @@ -475,9 +475,9 @@ namespace Tensorflow.Operations /// A `Tensor`. Has the same type as `features`. public static Tensor relu(Tensor features, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Relu", name, null, features); @@ -485,15 +485,15 @@ namespace Tensorflow.Operations return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Relu", name: name, args: new { features }); + var _op = tf.OpDefLib._apply_op_helper("Relu", name: name, args: new { features }); return _op.outputs[0]; } public static Tensor tanh(Tensor x, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Tanh", name, null, x); @@ -501,7 +501,7 @@ namespace Tensorflow.Operations return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Tanh", name: name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("Tanh", name: name, args: new { x }); return _op.outputs[0]; } } diff --git a/src/TensorFlowNET.Core/Operations/Operation.Input.cs b/src/TensorFlowNET.Core/Operations/Operation.Input.cs index 336d1d5c..62c03203 100644 --- a/src/TensorFlowNET.Core/Operations/Operation.Input.cs +++ b/src/TensorFlowNET.Core/Operations/Operation.Input.cs @@ -31,8 +31,8 @@ namespace Tensorflow public int InputListLength(string name) { int num = 0; - num = c_api.TF_OperationInputListLength(_handle, name, tf.status.Handle); - tf.status.Check(true); + num = c_api.TF_OperationInputListLength(_handle, name, tf.Status.Handle); + tf.Status.Check(true); return num; } public int NumInputs => c_api.TF_OperationNumInputs(_handle); diff --git a/src/TensorFlowNET.Core/Operations/Operation.Output.cs b/src/TensorFlowNET.Core/Operations/Operation.Output.cs index 779ed185..0235cafc 100644 --- a/src/TensorFlowNET.Core/Operations/Operation.Output.cs +++ b/src/TensorFlowNET.Core/Operations/Operation.Output.cs @@ -28,8 +28,8 @@ namespace Tensorflow public int OutputListLength(string name) { - int num = c_api.TF_OperationOutputListLength(_handle, name, tf.status.Handle); - tf.status.Check(true); + int num = c_api.TF_OperationOutputListLength(_handle, name, tf.Status.Handle); + tf.Status.Check(true); return num; } diff --git a/src/TensorFlowNET.Core/Operations/Operation.cs b/src/TensorFlowNET.Core/Operations/Operation.cs index d2188e34..37ecdb7f 100644 --- a/src/TensorFlowNET.Core/Operations/Operation.cs +++ b/src/TensorFlowNET.Core/Operations/Operation.cs @@ -237,8 +237,8 @@ namespace Tensorflow lock (Locks.ProcessWide) { using var buf = new Buffer(); - c_api.TF_OperationGetAttrValueProto(_handle, name, buf.Handle, tf.status.Handle); - tf.status.Check(true); + c_api.TF_OperationGetAttrValueProto(_handle, name, buf.Handle, tf.Status.Handle); + tf.Status.Check(true); x = AttrValue.Parser.ParseFrom(buf.DangerousMemoryBlock.Stream()); } @@ -297,9 +297,9 @@ namespace Tensorflow // the updated inputs are reloaded from the c_api lock (Locks.ProcessWide) { - c_api.UpdateEdge(_graph, output, input, tf.status.Handle); + c_api.UpdateEdge(_graph, output, input, tf.Status.Handle); //var updated_inputs = inputs; - tf.status.Check(); + tf.Status.Check(); } } diff --git a/src/TensorFlowNET.Core/Operations/array_ops.cs b/src/TensorFlowNET.Core/Operations/array_ops.cs index ac101061..cd38d4f8 100644 --- a/src/TensorFlowNET.Core/Operations/array_ops.cs +++ b/src/TensorFlowNET.Core/Operations/array_ops.cs @@ -18,6 +18,8 @@ using NumSharp; using System; using System.Collections.Generic; using System.Linq; +using System.Reflection; +using Tensorflow.Contexts; using Tensorflow.Eager; using Tensorflow.Framework; using static Tensorflow.Binding; @@ -459,7 +461,7 @@ namespace Tensorflow { name = scope; - if (!tf.context.executing_eagerly()) + if (!tf.Context.executing_eagerly()) { var input_tensor = ops.convert_to_tensor(input); var input_shape = input_tensor.TensorShape; @@ -607,9 +609,9 @@ namespace Tensorflow float padding_value = 0, string align = "RIGHT_LEFT") { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "MatrixDiagV3", name, null, diagonal, k, num_rows, num_cols, padding_value, @@ -626,9 +628,9 @@ namespace Tensorflow int k = 0, string align = "RIGHT_LEFT") { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "MatrixSetDiagV3", name, null, input, diagonal, k, @@ -714,24 +716,24 @@ namespace Tensorflow { var size_splits = ops.convert_to_tensor(num_split); - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - return split_eager_fallback(axis, value, num_split: num_split, name: name, ctx: tf.context); + return split_eager_fallback(axis, value, num_split: num_split, name: name, ctx: tf.Context); } - var _op = tf._op_def_lib._apply_op_helper("Split", name, new { split_dim = axis, value, num_split }); + var _op = tf.OpDefLib._apply_op_helper("Split", name, new { split_dim = axis, value, num_split }); return _op.outputs; } private static Tensor[] split_eager_fallback(Ta axis, Tv value, int num_split, string name, Context ctx = null) { - var (_attr_T, input) = tf._execute.args_to_matching_eager(ctx, args: new object[] { value }); + var (_attr_T, input) = tf.Runner.ArgsToMatchingEager(ctx, args: new object[] { value }); var axis_tensor = ops.convert_to_tensor(axis, dtype: TF_DataType.TF_INT32); var _inputs_flat = new List { axis_tensor }; _inputs_flat.AddRange(input); var _attrs = new object[] { "num_split", num_split, "T", _attr_T }; - return tf._execute.execute(ctx, "Split", num_split, _inputs_flat.ToArray(), _attrs, name: name); + return tf.Runner.Execute(ctx, "Split", num_split, _inputs_flat.ToArray(), _attrs, name: name); } public static Tensor slice(Tensor input, Tb begin, Ts size, string name = null) @@ -780,9 +782,13 @@ namespace Tensorflow return result; } - public static Tensor placeholder(TF_DataType dtype) + public static Tensor placeholder(TF_DataType dtype, TensorShape shape = null, string name = null) { - throw new NotImplementedException("array_ops.placeholder"); + if (tf.Context.executing_eagerly()) + throw new RuntimeError("tf.placeholder() is not compatible with eager execution."); + + var _op = tf.OpDefLib._apply_op_helper("Placeholder", name: name, args: new { dtype, shape }); + return _op.output; } } } diff --git a/src/TensorFlowNET.Core/Operations/control_flow_ops.cs b/src/TensorFlowNET.Core/Operations/control_flow_ops.cs index 3a34525d..ec3824ed 100644 --- a/src/TensorFlowNET.Core/Operations/control_flow_ops.cs +++ b/src/TensorFlowNET.Core/Operations/control_flow_ops.cs @@ -376,7 +376,7 @@ namespace Tensorflow { return tf_with(ops.name_scope(name, "cond", new { pred }), delegate { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { if (pred.ToArray()[0]) return true_fn() as Tensor; @@ -460,7 +460,7 @@ namespace Tensorflow { return tf_with(ops.name_scope(name, "cond", new { pred }), delegate { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { if (pred.ToArray()[0]) return true_fn() as Tensor[]; diff --git a/src/TensorFlowNET.Core/Operations/dataset_ops.cs b/src/TensorFlowNET.Core/Operations/dataset_ops.cs index 514208e2..f3aca7a7 100644 --- a/src/TensorFlowNET.Core/Operations/dataset_ops.cs +++ b/src/TensorFlowNET.Core/Operations/dataset_ops.cs @@ -17,9 +17,9 @@ namespace Tensorflow /// public Tensor tensor_slice_dataset(Tensor[] components, TensorShape[] output_shapes, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "TensorSliceDataset", name, null, new object[] @@ -35,9 +35,9 @@ namespace Tensorflow public Tensor repeat_dataset(Tensor input_dataset, Tensor count, TF_DataType[] output_types, TensorShape[] output_shapes, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "RepeatDataset", name, null, input_dataset, count, @@ -55,9 +55,9 @@ namespace Tensorflow bool reshuffle_each_iteration = true, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "ShuffleDatasetV3", name, null, input_dataset, buffer_size, @@ -73,9 +73,9 @@ namespace Tensorflow public Tensor dummy_seed_generator(string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "DummySeedGenerator", name, null); return results[0]; @@ -101,9 +101,9 @@ namespace Tensorflow bool parallel_copy = false, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "BatchDatasetV2", name, null, input_dataset, buffer_size, drop_remainder, @@ -133,9 +133,9 @@ namespace Tensorflow bool legacy_autotune = true, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "PrefetchDataset", name, null, input_dataset, buffer_size, @@ -162,9 +162,9 @@ namespace Tensorflow TF_DataType[] output_types, TensorShape[] output_shapes, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "TakeDataset", name, null, input_dataset, count, @@ -194,9 +194,9 @@ namespace Tensorflow if (optimization_configs == null) optimization_configs = new string[0]; - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "OptimizeDataset", name, null, input_dataset, optimizations, @@ -224,9 +224,9 @@ namespace Tensorflow AutotuneAlgorithm algorithm, long cpu_budget, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "ModelDataset", name, null, input_dataset, @@ -249,9 +249,9 @@ namespace Tensorflow /// A tuple of `Tensor` objects (handle, deleter). public (Tensor, Tensor) anonymous_iterator_v2(TF_DataType[] output_types, TensorShape[] output_shapes, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "AnonymousIteratorV2", name, null, "output_types", output_types, @@ -271,9 +271,9 @@ namespace Tensorflow /// The created Operation. public ITensorOrOperation make_iterator(Tensor dataset, Tensor iterator, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "MakeIterator", name, null, dataset, iterator); @@ -292,9 +292,9 @@ namespace Tensorflow /// The created Operation. public ITensorOrOperation delete_iterator(Tensor handle, Tensor deleter, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "DeleteIterator", name, null, handle, deleter); @@ -314,9 +314,9 @@ namespace Tensorflow /// public Tensor[] iterator_get_next(Tensor iterator, TF_DataType[] output_types, TensorShape[] output_shapes, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "IteratorGetNext", name, null, iterator, diff --git a/src/TensorFlowNET.Core/Operations/functional_ops.cs b/src/TensorFlowNET.Core/Operations/functional_ops.cs index 5e7a7240..37f1b07e 100644 --- a/src/TensorFlowNET.Core/Operations/functional_ops.cs +++ b/src/TensorFlowNET.Core/Operations/functional_ops.cs @@ -60,7 +60,7 @@ namespace Tensorflow var elems_flat = input_flatten(elems); - bool in_graph_mode = tf.context.executing_eagerly(); + bool in_graph_mode = tf.Context.executing_eagerly(); return tf_with(ops.name_scope(name, "scan", new { elems_flat }), scope => { diff --git a/src/TensorFlowNET.Core/Operations/gen_array_ops.cs b/src/TensorFlowNET.Core/Operations/gen_array_ops.cs index 28115584..21c48c4a 100644 --- a/src/TensorFlowNET.Core/Operations/gen_array_ops.cs +++ b/src/TensorFlowNET.Core/Operations/gen_array_ops.cs @@ -19,6 +19,7 @@ using System.Collections.Generic; using static Tensorflow.Binding; using Tensorflow.Eager; using System.Linq; +using Tensorflow.Contexts; namespace Tensorflow { @@ -26,14 +27,14 @@ namespace Tensorflow { public static Tensor batch_to_space_nd(T input, int[] block_shape, int[,] crops, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("BatchToSpaceND", name: name, args: new { input, block_shape, crops }); + var _op = tf.OpDefLib._apply_op_helper("BatchToSpaceND", name: name, args: new { input, block_shape, crops }); return _op.output; } public static Tensor check_numerics(Tensor tensor, string message, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("CheckNumerics", name: name, args: new { tensor, message }); + var _op = tf.OpDefLib._apply_op_helper("CheckNumerics", name: name, args: new { tensor, message }); return _op.output; } @@ -47,9 +48,9 @@ namespace Tensorflow /// public static Tensor concat_v2(T[] values, Ta axis, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "ConcatV2", name, null, values, axis); @@ -57,35 +58,35 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("ConcatV2", name: name, args: new { values, axis }); + var _op = tf.OpDefLib._apply_op_helper("ConcatV2", name: name, args: new { values, axis }); return _op.output; } public static Tensor concat_v2(Tensor[] values, Tensor axis, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - return concat_v2_eager_fallback(values, axis, name, tf.context); + return concat_v2_eager_fallback(values, axis, name, tf.Context); } - var _op = tf._op_def_lib._apply_op_helper("ConcatV2", name: name, args: new { values, axis }); + var _op = tf.OpDefLib._apply_op_helper("ConcatV2", name: name, args: new { values, axis }); return _op.output; } private static Tensor concat_v2_eager_fallback(T1[] values, T2 axis, string name, Context ctx) { var _attr_N = len(values); - var (_attr_T, input) = tf._execute.args_to_matching_eager(ctx, args: values.Select(x => (object)x).ToArray()); - var (_attr_Tidx, axis1) = tf._execute.args_to_matching_eager(ctx, default_dtype: tf.int32, args: new object[] { axis }); + var (_attr_T, input) = tf.Runner.ArgsToMatchingEager(ctx, args: values.Select(x => (object)x).ToArray()); + var (_attr_Tidx, axis1) = tf.Runner.ArgsToMatchingEager(ctx, default_dtype: tf.int32, args: new object[] { axis }); var _inputs_flat = input.concat(axis1); var _attrs = new object[] { "N", _attr_N, "T", _attr_T, "Tidx", _attr_Tidx }; - return tf._execute.execute(ctx, "ConcatV2", 1, _inputs_flat, _attrs, name: name)[0]; + return tf.Runner.Execute(ctx, "ConcatV2", 1, _inputs_flat, _attrs, name: name)[0]; } public static Tensor[] concat_offset(Tensor concat_dim, Tensor[] shape, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("ConcatOffset", name: name, args: new { concat_dim, shape }); + var _op = tf.OpDefLib._apply_op_helper("ConcatOffset", name: name, args: new { concat_dim, shape }); return _op.outputs; } @@ -123,9 +124,9 @@ namespace Tensorflow /// public static Tensor diag(Tensor diagonal, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Diag", name, null, diagonal); @@ -133,16 +134,16 @@ namespace Tensorflow return results[0]; } - var op = tf._op_def_lib._apply_op_helper("Diag", name: name, args: new { diagonal }); + var op = tf.OpDefLib._apply_op_helper("Diag", name: name, args: new { diagonal }); return op.output; } public static Tensor expand_dims(Tensor input, int axis, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "ExpandDims", name, null, input, tf.convert_to_tensor(axis)); @@ -150,30 +151,30 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("ExpandDims", name: name, args: new { input, dim = axis }); + var _op = tf.OpDefLib._apply_op_helper("ExpandDims", name: name, args: new { input, dim = axis }); return _op.outputs[0]; } public static Tensor gather_v2(T1 @params, T2 indices, int axis, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("GatherV2", name: name, new { @params, indices, axis }); + var _op = tf.OpDefLib._apply_op_helper("GatherV2", name: name, new { @params, indices, axis }); return _op.outputs[0]; } public static Tensor pad(Tensor input, Tensor paddings, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Pad", name: name, args: new { input, paddings }); + var _op = tf.OpDefLib._apply_op_helper("Pad", name: name, args: new { input, paddings }); return _op.output; } public static Tensor pack(Tensor[] values, int axis = 0, string name = null) { - if(tf.context.executing_eagerly()) + if(tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Pack", name, null, values, @@ -181,23 +182,10 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Pack", name: name, args: new { values, axis }); + var _op = tf.OpDefLib._apply_op_helper("Pack", name: name, args: new { values, axis }); return _op.output; } - public static Tensor placeholder(TF_DataType dtype, TensorShape shape = null, string name = null) - { - var _op = tf._op_def_lib._apply_op_helper("Placeholder", name: name, args: new { dtype, shape }); - var _result = _op.outputs; - var _inputs_flat = _op.inputs; - - var _attrs = new Dictionary(); - _attrs["dtype"] = _op.get_attr("dtype"); - _attrs["shape"] = _op.get_attr("shape"); - - return new Tensor(_op, 0, dtype); - } - /// /// An identity op that triggers an error if a gradient is requested. /// @@ -226,7 +214,7 @@ namespace Tensorflow /// public static Tensor prevent_gradient(Tensor input, string message = "", string name = null) { - var op = tf._op_def_lib._apply_op_helper("PreventGradient", name: name, args: new { input, message }); + var op = tf.OpDefLib._apply_op_helper("PreventGradient", name: name, args: new { input, message }); return op.output; } @@ -237,9 +225,9 @@ namespace Tensorflow /// public static Tensor identity(Tensor input, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Identity", name, null, input); @@ -247,30 +235,30 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Identity", name, new { input }); + var _op = tf.OpDefLib._apply_op_helper("Identity", name, new { input }); return _op.output; } public static Tensor invert_permutation(Tensor x, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("InvertPermutation", name, new { x }); + var _op = tf.OpDefLib._apply_op_helper("InvertPermutation", name, new { x }); return _op.outputs[0]; } public static Tensor log(Tensor x, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Log", name: name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("Log", name: name, args: new { x }); return _op.outputs[0]; } public static Tensor rank(Tensor input, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Rank", name, null, input); @@ -278,7 +266,7 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Rank", name: name, args: new { input }); + var _op = tf.OpDefLib._apply_op_helper("Rank", name: name, args: new { input }); return _op.outputs[0]; } @@ -292,9 +280,9 @@ namespace Tensorflow /// A `Tensor`. Has the same type as `value`. public static Tensor fill(Tensor dims, T value, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Fill", name, null, dims, value); @@ -302,7 +290,7 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Fill", name, new { dims, value }); + var _op = tf.OpDefLib._apply_op_helper("Fill", name, new { dims, value }); return _op.output; } @@ -315,9 +303,9 @@ namespace Tensorflow /// A tuple of `Tensor` objects (r0, r1). public static (Tensor, Tensor) broadcast_gradient_args(Tensor s0, Tensor s1, string name = "") { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "BroadcastGradientArgs", name, null, s0,s1); @@ -325,22 +313,22 @@ namespace Tensorflow return (results[0], results[1]); } - var _op = tf._op_def_lib._apply_op_helper("BroadcastGradientArgs", name, new { s0, s1 }); + var _op = tf.OpDefLib._apply_op_helper("BroadcastGradientArgs", name, new { s0, s1 }); return (_op.outputs[0], _op.outputs[1]); } public static Tensor reverse(Tensor tensor, T axis, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("ReverseV2", name, new { tensor, axis }); + var _op = tf.OpDefLib._apply_op_helper("ReverseV2", name, new { tensor, axis }); return _op.output; } public static Tensor reshape(T1 tensor, T2 shape, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Reshape", name, null, tensor, shape); @@ -348,13 +336,13 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Reshape", name, new { tensor, shape }); + var _op = tf.OpDefLib._apply_op_helper("Reshape", name, new { tensor, shape }); return _op.output; } public static Tensor reshape(Tensor tensor, int[] shape, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Reshape", name, new { tensor, shape }); + var _op = tf.OpDefLib._apply_op_helper("Reshape", name, new { tensor, shape }); return _op.outputs[0]; } @@ -367,7 +355,7 @@ namespace Tensorflow /// public static (Tensor, Tensor) unique(Tensor x, TF_DataType out_idx = TF_DataType.TF_INT32, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Unique", name, new { x, out_idx }); + var _op = tf.OpDefLib._apply_op_helper("Unique", name, new { x, out_idx }); // TODO //var _result = _UniqueOutput._make(_op.outputs); return (_op.outputs[0], _op.outputs[1]); @@ -375,13 +363,13 @@ namespace Tensorflow public static Tensor[] unpack(Tensor value, int num, int axis = 0, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Unpack", name, new { value, num, axis }); + var _op = tf.OpDefLib._apply_op_helper("Unpack", name, new { value, num, axis }); return _op.outputs; } public static Tensor where(Tensor condition, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Where", name, new { input = condition }); + var _op = tf.OpDefLib._apply_op_helper("Where", name, new { input = condition }); return _op.output; } @@ -392,9 +380,9 @@ namespace Tensorflow int axis = -1, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "OneHot", name, null, indices, depth, on_value, off_value, @@ -403,7 +391,7 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("OneHot", name, new { indices, depth, on_value, off_value, axis }); + var _op = tf.OpDefLib._apply_op_helper("OneHot", name, new { indices, depth, on_value, off_value, axis }); return _op.outputs[0]; } @@ -416,15 +404,15 @@ namespace Tensorflow /// public static Tensor placeholder_with_default(T input, int[] shape, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("PlaceholderWithDefault", name, new { input, shape, name }); + var _op = tf.OpDefLib._apply_op_helper("PlaceholderWithDefault", name, new { input, shape, name }); return _op.outputs[0]; } public static Tensor select(Tensor condition, Tx t, Ty e, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "SelectV2", name, null, condition, t, e); @@ -432,21 +420,21 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Select", name, new { condition, t, e }); + var _op = tf.OpDefLib._apply_op_helper("Select", name, new { condition, t, e }); return _op.outputs[0]; } public static Tensor scatter_nd(Tensor indices, Tensor updates, Tensor[] shape, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("ScatterNd", name, new { indices, updates, shape }); + var _op = tf.OpDefLib._apply_op_helper("ScatterNd", name, new { indices, updates, shape }); return _op.outputs[0]; } public static Tensor shape(Tensor input, TF_DataType out_type = TF_DataType.TF_INT32, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Shape", name, null, input, @@ -455,7 +443,7 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Shape", name, new { input, out_type }); + var _op = tf.OpDefLib._apply_op_helper("Shape", name, new { input, out_type }); return _op.outputs[0]; } @@ -468,13 +456,13 @@ namespace Tensorflow /// public static Tensor[] shape_n(Tensor[] input, TF_DataType out_type = TF_DataType.TF_INT32, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("ShapeN", name, new { input, out_type }); + var _op = tf.OpDefLib._apply_op_helper("ShapeN", name, new { input, out_type }); return _op.outputs; } public static Tensor size(Tensor input, TF_DataType out_type = TF_DataType.TF_INT32, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Size", name, new { input, out_type }); + var _op = tf.OpDefLib._apply_op_helper("Size", name, new { input, out_type }); return _op.outputs[0]; } @@ -488,15 +476,15 @@ namespace Tensorflow /// public static Tensor slice(Tensor input, Tensor begin, Tensor size, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Slice", name, new { input, begin, size }); + var _op = tf.OpDefLib._apply_op_helper("Slice", name, new { input, begin, size }); return _op.outputs[0]; } public static Tensor tile(Tensor input, T multiples, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Tile", name, null, input, multiples); @@ -504,34 +492,34 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Tile", name, new { input, multiples }); + var _op = tf.OpDefLib._apply_op_helper("Tile", name, new { input, multiples }); return _op.outputs[0]; } public static Tensor transpose(T1 x, T2 perm, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Transpose", name, null, x, perm); return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Transpose", name, new { x, perm }); + var _op = tf.OpDefLib._apply_op_helper("Transpose", name, new { x, perm }); return _op.outputs[0]; } public static Tensor zeros_like(Tensor x, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("ZerosLike", name, new { x }); + var _op = tf.OpDefLib._apply_op_helper("ZerosLike", name, new { x }); return _op.outputs[0]; } public static Tensor stop_gradient(Tensor x, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("StopGradient", name, args: new { input = x, name }); + var _op = tf.OpDefLib._apply_op_helper("StopGradient", name, args: new { input = x, name }); return _op.output; } @@ -544,9 +532,9 @@ namespace Tensorflow int shrink_axis_mask = 0, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "StridedSlice", name, null, input, begin, end, strides, @@ -559,7 +547,7 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("StridedSlice", name, new + var _op = tf.OpDefLib._apply_op_helper("StridedSlice", name, new { input, begin, @@ -583,7 +571,7 @@ namespace Tensorflow int shrink_axis_mask = 0, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("StridedSlice", name, new + var _op = tf.OpDefLib._apply_op_helper("StridedSlice", name, new { input, begin, @@ -623,7 +611,7 @@ namespace Tensorflow int begin_mask = 0, int end_mask = 0, int ellipsis_mask = 0, int new_axis_mask = 0, int shrink_axis_mask = 0, string name = null) { - var op = tf._op_def_lib._apply_op_helper("StridedSliceGrad", name: name, args: new + var op = tf.OpDefLib._apply_op_helper("StridedSliceGrad", name: name, args: new { shape, begin, @@ -642,7 +630,7 @@ namespace Tensorflow public static Tensor slice(Tensor input, Tb begin, Ts size, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Slice", name, new { input, begin, size }); + var _op = tf.OpDefLib._apply_op_helper("Slice", name, new { input, begin, size }); return _op.outputs[0]; } @@ -659,9 +647,9 @@ namespace Tensorflow /// A `Tensor`. Has the same type as `input`. public static Tensor squeeze(Tensor input, int[] axis = null, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Squeeze", name, null, input, @@ -671,7 +659,7 @@ namespace Tensorflow } if (axis == null) axis = new int[0]; - var _op = tf._op_def_lib._apply_op_helper("Squeeze", name, args: new { input, squeeze_dims = axis }); + var _op = tf.OpDefLib._apply_op_helper("Squeeze", name, args: new { input, squeeze_dims = axis }); return _op.outputs[0]; } @@ -687,7 +675,7 @@ namespace Tensorflow /// `Tensor`. Has the same type as `s0`. public static Tensor broadcast_args(Tensor s0, Tensor s1, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("BroadcastArgs", name, args: new { s0, s1, name }); + var _op = tf.OpDefLib._apply_op_helper("BroadcastArgs", name, args: new { s0, s1, name }); return _op.outputs[0]; } @@ -701,9 +689,9 @@ namespace Tensorflow /// public static Tensor broadcast_to(Tensor input, T shape, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "BroadcastTo", name, null, input, shape); @@ -711,7 +699,7 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("BroadcastTo", name, args: new { input, shape, name }); + var _op = tf.OpDefLib._apply_op_helper("BroadcastTo", name, args: new { input, shape, name }); return _op.outputs[0]; } diff --git a/src/TensorFlowNET.Core/Operations/gen_control_flow_ops.cs b/src/TensorFlowNET.Core/Operations/gen_control_flow_ops.cs index a860d9dc..c4c2d441 100644 --- a/src/TensorFlowNET.Core/Operations/gen_control_flow_ops.cs +++ b/src/TensorFlowNET.Core/Operations/gen_control_flow_ops.cs @@ -23,7 +23,7 @@ namespace Tensorflow { public static Operation control_trigger(string name = null) { - var _op = tf._op_def_lib._apply_op_helper("ControlTrigger", name, new + var _op = tf.OpDefLib._apply_op_helper("ControlTrigger", name, new { }); @@ -41,7 +41,7 @@ namespace Tensorflow /// public static Tensor enter(Tensor data, string frame_name = "frame_name", bool is_constant = false, int parallel_iterations = 10, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Enter", name, new + var _op = tf.OpDefLib._apply_op_helper("Enter", name, new { data, frame_name, @@ -60,7 +60,7 @@ namespace Tensorflow /// public static Tensor loop_cond(Tensor input, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("LoopCond", name, new { input }); + var _op = tf.OpDefLib._apply_op_helper("LoopCond", name, new { input }); return _op.output; } @@ -73,7 +73,7 @@ namespace Tensorflow /// public static Tensor ref_next_iteration(Tensor data, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("RefNextIteration", name, new { data }); + var _op = tf.OpDefLib._apply_op_helper("RefNextIteration", name, new { data }); return _op; } @@ -86,7 +86,7 @@ namespace Tensorflow /// public static Tensor next_iteration(Tensor data, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("NextIteration", name, new { data }); + var _op = tf.OpDefLib._apply_op_helper("NextIteration", name, new { data }); return _op; } @@ -99,7 +99,7 @@ namespace Tensorflow /// public static Tensor ref_exit(Tensor data, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("RefExit", name, new { data }); + var _op = tf.OpDefLib._apply_op_helper("RefExit", name, new { data }); return _op; } @@ -112,21 +112,21 @@ namespace Tensorflow /// public static Tensor _exit(Tensor data, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Exit", name, new { data }); + var _op = tf.OpDefLib._apply_op_helper("Exit", name, new { data }); return _op; } public static Operation no_op(string name = null) { - var _op = tf._op_def_lib._apply_op_helper("NoOp", name, null); + var _op = tf.OpDefLib._apply_op_helper("NoOp", name, null); return _op; } public static Tensor[] ref_switch(Tensor data, Tensor pred, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("RefSwitch", name, new { data, pred }); + var _op = tf.OpDefLib._apply_op_helper("RefSwitch", name, new { data, pred }); return _op.outputs; } @@ -150,7 +150,7 @@ namespace Tensorflow /// public static Tensor[] @switch(Tensor data, Tensor pred, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Switch", name, new { data, pred }); + var _op = tf.OpDefLib._apply_op_helper("Switch", name, new { data, pred }); var _inputs_flat = _op.inputs; #pragma warning disable CS0219 // Variable is assigned but its value is never used var _attrs = ("T", _op.get_attr("T")); @@ -162,14 +162,14 @@ namespace Tensorflow public static MergeOutput ref_merge(Tensor[] inputs, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("RefMerge", name, new { inputs }); + var _op = tf.OpDefLib._apply_op_helper("RefMerge", name, new { inputs }); return new MergeOutput(_op.outputs); } public static MergeOutput merge(Tensor[] inputs, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Merge", name, new { inputs }); + var _op = tf.OpDefLib._apply_op_helper("Merge", name, new { inputs }); return new MergeOutput(_op.outputs); } diff --git a/src/TensorFlowNET.Core/Operations/gen_ctc_ops.cs b/src/TensorFlowNET.Core/Operations/gen_ctc_ops.cs index 69f0ac04..37ecbba8 100644 --- a/src/TensorFlowNET.Core/Operations/gen_ctc_ops.cs +++ b/src/TensorFlowNET.Core/Operations/gen_ctc_ops.cs @@ -22,7 +22,7 @@ namespace Tensorflow { public static Tensor[] ctc_greedy_decoder(Tensor inputs, Tensor sequence_length, bool merge_repeated = true, string name = "CTCGreedyDecoder") { - var op = tf._op_def_lib._apply_op_helper("CTCGreedyDecoder", name: name, args: new + var op = tf.OpDefLib._apply_op_helper("CTCGreedyDecoder", name: name, args: new { inputs, sequence_length, diff --git a/src/TensorFlowNET.Core/Operations/gen_data_flow_ops.cs b/src/TensorFlowNET.Core/Operations/gen_data_flow_ops.cs index e96c8a95..beaebce0 100644 --- a/src/TensorFlowNET.Core/Operations/gen_data_flow_ops.cs +++ b/src/TensorFlowNET.Core/Operations/gen_data_flow_ops.cs @@ -22,7 +22,7 @@ namespace Tensorflow { public static Tensor dynamic_stitch(Tensor[] indices, Tensor[] data, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("DynamicStitch", name, new { indices, data }); + var _op = tf.OpDefLib._apply_op_helper("DynamicStitch", name, new { indices, data }); return _op.output; } @@ -30,7 +30,7 @@ namespace Tensorflow public static Tensor[] dynamic_partition(Tensor data, Tensor partitions, int num_partitions, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("DynamicPartition", name, new + var _op = tf.OpDefLib._apply_op_helper("DynamicPartition", name, new { data, partitions, @@ -44,7 +44,7 @@ namespace Tensorflow TensorShape element_shape = null, bool dynamic_size = false, bool clear_after_read = true, bool identical_element_shapes = false, string tensor_array_name = "", string name = null) { - var _op = tf._op_def_lib._apply_op_helper("TensorArrayV3", name, new + var _op = tf.OpDefLib._apply_op_helper("TensorArrayV3", name, new { size, dtype, @@ -61,7 +61,7 @@ namespace Tensorflow public static Tensor tensor_array_scatter_v3(Tensor handle, Tensor indices, Tensor value, Tensor flow_in, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("TensorArrayScatterV3", name, new + var _op = tf.OpDefLib._apply_op_helper("TensorArrayScatterV3", name, new { handle, indices, @@ -76,7 +76,7 @@ namespace Tensorflow int capacity = -1, string container = "", string shared_name = "", string name = null) { - var _op = tf._op_def_lib._apply_op_helper("PaddingFIFOQueueV2", name, new + var _op = tf.OpDefLib._apply_op_helper("PaddingFIFOQueueV2", name, new { component_types, shapes, @@ -92,7 +92,7 @@ namespace Tensorflow int capacity = -1, string container = "", string shared_name = "", string name = null) { - var _op = tf._op_def_lib._apply_op_helper("FIFOQueueV2", name, new + var _op = tf.OpDefLib._apply_op_helper("FIFOQueueV2", name, new { component_types, shapes, @@ -108,7 +108,7 @@ namespace Tensorflow int capacity = -1, string container = "", string shared_name = "", string name = null) { - var _op = tf._op_def_lib._apply_op_helper("PriorityQueueV2", name, new + var _op = tf.OpDefLib._apply_op_helper("PriorityQueueV2", name, new { component_types, shapes, @@ -124,7 +124,7 @@ namespace Tensorflow int capacity = -1, int min_after_dequeue = 0, int seed = 0, int seed2 = 0, string container = "", string shared_name = "", string name = null) { - var _op = tf._op_def_lib._apply_op_helper("RandomShuffleQueueV2", name, new + var _op = tf.OpDefLib._apply_op_helper("RandomShuffleQueueV2", name, new { component_types, shapes, @@ -141,7 +141,7 @@ namespace Tensorflow public static Operation queue_enqueue(Tensor handle, Tensor[] components, int timeout_ms = -1, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("QueueEnqueue", name, new + var _op = tf.OpDefLib._apply_op_helper("QueueEnqueue", name, new { handle, components, @@ -153,7 +153,7 @@ namespace Tensorflow public static Operation queue_enqueue_v2(Tensor handle, Tensor[] components, int timeout_ms = -1, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("QueueEnqueueV2", name, new + var _op = tf.OpDefLib._apply_op_helper("QueueEnqueueV2", name, new { handle, components, @@ -165,7 +165,7 @@ namespace Tensorflow public static Tensor[] queue_dequeue_v2(Tensor handle, TF_DataType[] component_types, int timeout_ms = -1, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("QueueDequeueV2", name, new + var _op = tf.OpDefLib._apply_op_helper("QueueDequeueV2", name, new { handle, component_types, @@ -177,7 +177,7 @@ namespace Tensorflow public static Tensor[] queue_dequeue(Tensor handle, TF_DataType[] component_types, int timeout_ms = -1, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("QueueDequeue", name, new + var _op = tf.OpDefLib._apply_op_helper("QueueDequeue", name, new { handle, component_types, @@ -189,7 +189,7 @@ namespace Tensorflow public static Operation queue_enqueue_many_v2(Tensor handle, Tensor[] components, int timeout_ms = -1, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("QueueEnqueueManyV2", name, new + var _op = tf.OpDefLib._apply_op_helper("QueueEnqueueManyV2", name, new { handle, components, @@ -201,7 +201,7 @@ namespace Tensorflow public static Tensor[] queue_dequeue_many_v2(Tensor handle, int n, TF_DataType[] component_types, int timeout_ms = -1, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("QueueDequeueManyV2", name, new + var _op = tf.OpDefLib._apply_op_helper("QueueDequeueManyV2", name, new { handle, n, @@ -223,7 +223,7 @@ namespace Tensorflow /// public static Tensor tensor_array_read_v3(Tensor handle, Tensor index, Tensor flow_in, TF_DataType dtype, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("TensorArrayReadV3", name, new + var _op = tf.OpDefLib._apply_op_helper("TensorArrayReadV3", name, new { handle, index, @@ -236,7 +236,7 @@ namespace Tensorflow public static Tensor tensor_array_write_v3(Tensor handle, Tensor index, Tensor value, Tensor flow_in, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("TensorArrayWriteV3", name, new + var _op = tf.OpDefLib._apply_op_helper("TensorArrayWriteV3", name, new { handle, index, @@ -249,7 +249,7 @@ namespace Tensorflow public static Tensor tensor_array_size_v3(Tensor handle, Tensor flow_in, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("TensorArraySizeV3", name, new + var _op = tf.OpDefLib._apply_op_helper("TensorArraySizeV3", name, new { handle, flow_in @@ -261,7 +261,7 @@ namespace Tensorflow public static Tensor tensor_array_gather_v3(Tensor handle, Tensor indices, Tensor flow_in, TF_DataType dtype, TensorShape element_shape = null, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("TensorArrayGatherV3", name, new + var _op = tf.OpDefLib._apply_op_helper("TensorArrayGatherV3", name, new { handle, indices, @@ -276,7 +276,7 @@ namespace Tensorflow public static Tensor stack_v2(Tensor max_size, TF_DataType elem_type, string stack_name = "", string name = null) { - var _op = tf._op_def_lib._apply_op_helper("StackV2", name, new + var _op = tf.OpDefLib._apply_op_helper("StackV2", name, new { max_size, elem_type, @@ -289,7 +289,7 @@ namespace Tensorflow public static Tensor stack_push_v2(Tensor handle, Tensor elem, bool swap_memory = false, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("StackPushV2", name, new + var _op = tf.OpDefLib._apply_op_helper("StackPushV2", name, new { handle, elem, @@ -301,7 +301,7 @@ namespace Tensorflow public static Tensor stack_pop_v2(Tensor handle, TF_DataType elem_type, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("StackPopV2", name, new + var _op = tf.OpDefLib._apply_op_helper("StackPopV2", name, new { handle, elem_type diff --git a/src/TensorFlowNET.Core/Operations/gen_image_ops.cs b/src/TensorFlowNET.Core/Operations/gen_image_ops.cs index 173b8e3a..0775f736 100644 --- a/src/TensorFlowNET.Core/Operations/gen_image_ops.cs +++ b/src/TensorFlowNET.Core/Operations/gen_image_ops.cs @@ -65,13 +65,13 @@ namespace Tensorflow string name = null) { // Add nodes to the TensorFlow graph. - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { throw new NotImplementedException("decode_jpeg"); } else { - var _op = tf._op_def_lib._apply_op_helper("DecodeJpeg", name: name, args: new + var _op = tf.OpDefLib._apply_op_helper("DecodeJpeg", name: name, args: new { contents, channels, @@ -90,13 +90,13 @@ namespace Tensorflow string name = null) { // Add nodes to the TensorFlow graph. - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { throw new NotImplementedException("decode_gif"); } else { - var _op = tf._op_def_lib._apply_op_helper("DecodeGif", name: name, args: new + var _op = tf.OpDefLib._apply_op_helper("DecodeGif", name: name, args: new { contents }); @@ -111,13 +111,13 @@ namespace Tensorflow string name = null) { // Add nodes to the TensorFlow graph. - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { throw new NotImplementedException("decode_png"); } else { - var _op = tf._op_def_lib._apply_op_helper("DecodePng", name: name, args: new + var _op = tf.OpDefLib._apply_op_helper("DecodePng", name: name, args: new { contents, channels, @@ -133,13 +133,13 @@ namespace Tensorflow string name = null) { // Add nodes to the TensorFlow graph. - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { throw new NotImplementedException("decode_bmp"); } else { - var _op = tf._op_def_lib._apply_op_helper("DecodeBmp", name: name, args: new + var _op = tf.OpDefLib._apply_op_helper("DecodeBmp", name: name, args: new { contents, channels @@ -151,13 +151,13 @@ namespace Tensorflow public static Tensor resize_bilinear(Tensor images, Tensor size, bool align_corners = false, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { throw new NotImplementedException("resize_bilinear"); } else { - var _op = tf._op_def_lib._apply_op_helper("ResizeBilinear", name: name, args: new + var _op = tf.OpDefLib._apply_op_helper("ResizeBilinear", name: name, args: new { images, size, @@ -171,7 +171,7 @@ namespace Tensorflow public static Tensor resize_nearest_neighbor(Tensor images, Tsize size, bool align_corners = false, bool half_pixel_centers = false, string name = null) { - var op = tf._op_def_lib._apply_op_helper("ResizeNearestNeighbor", name: name, args: new + var op = tf.OpDefLib._apply_op_helper("ResizeNearestNeighbor", name: name, args: new { images, size, @@ -185,7 +185,7 @@ namespace Tensorflow public static Tensor resize_nearest_neighbor_grad(Tensor grads, Tsize size, bool align_corners = false, bool half_pixel_centers = false, string name = null) { - var op = tf._op_def_lib._apply_op_helper("ResizeNearestNeighborGrad", name: name, args: new + var op = tf.OpDefLib._apply_op_helper("ResizeNearestNeighborGrad", name: name, args: new { grads, size, diff --git a/src/TensorFlowNET.Core/Operations/gen_logging_ops.cs b/src/TensorFlowNET.Core/Operations/gen_logging_ops.cs index 8d4353f8..e9a31442 100644 --- a/src/TensorFlowNET.Core/Operations/gen_logging_ops.cs +++ b/src/TensorFlowNET.Core/Operations/gen_logging_ops.cs @@ -26,7 +26,7 @@ namespace Tensorflow if (!summarize.HasValue) summarize = 3; - var _op = tf._op_def_lib._apply_op_helper("Assert", name, args: new { condition, data, summarize }); + var _op = tf.OpDefLib._apply_op_helper("Assert", name, args: new { condition, data, summarize }); return _op; } @@ -34,7 +34,7 @@ namespace Tensorflow public static Tensor histogram_summary(string tag, Tensor values, string name = null) { var dict = new Dictionary(); - var op = tf._op_def_lib._apply_op_helper("HistogramSummary", name: name, args: new { tag, values }); + var op = tf.OpDefLib._apply_op_helper("HistogramSummary", name: name, args: new { tag, values }); return op.output; } @@ -63,7 +63,7 @@ namespace Tensorflow var dict = new Dictionary(); dict["tags"] = tags; dict["values"] = values; - var op = tf._op_def_lib._apply_op_helper("ScalarSummary", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ScalarSummary", name: name, keywords: dict); return op.output; } @@ -94,7 +94,7 @@ namespace Tensorflow { var dict = new Dictionary(); dict["inputs"] = inputs; - var op = tf._op_def_lib._apply_op_helper("MergeSummary", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MergeSummary", name: name, keywords: dict); return op.output; } } diff --git a/src/TensorFlowNET.Core/Operations/gen_math_ops.cs b/src/TensorFlowNET.Core/Operations/gen_math_ops.cs index b057cd15..6ec7e261 100644 --- a/src/TensorFlowNET.Core/Operations/gen_math_ops.cs +++ b/src/TensorFlowNET.Core/Operations/gen_math_ops.cs @@ -17,6 +17,7 @@ using System; using System.Linq; using System.Runtime.InteropServices; +using Tensorflow.Contexts; using Tensorflow.Eager; using static Tensorflow.Binding; @@ -26,7 +27,7 @@ namespace Tensorflow { public static Tensor _all(Tensor input, Tensor axis, bool keep_dims = false, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("All", name, args: new { input, reduction_indices = axis, keep_dims = keep_dims }); + var _op = tf.OpDefLib._apply_op_helper("All", name, args: new { input, reduction_indices = axis, keep_dims = keep_dims }); return _op.outputs[0]; } @@ -39,16 +40,16 @@ namespace Tensorflow /// public static Tensor add_n(Tensor[] inputs, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "AddN", name, null, new[] { inputs }); return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("AddN", name, args: new { inputs }); + var _op = tf.OpDefLib._apply_op_helper("AddN", name, args: new { inputs }); return _op.outputs[0]; } @@ -63,9 +64,9 @@ namespace Tensorflow /// public static Tensor arg_max(Tensor input, int dimension, TF_DataType output_type = TF_DataType.TF_INT64, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "ArgMax", name, null, input, dimension, @@ -74,7 +75,7 @@ namespace Tensorflow return results[0]; } - return tf._op_def_lib._apply_op_helper("ArgMax", name, args: new { input, dimension, output_type }).output; + return tf.OpDefLib._apply_op_helper("ArgMax", name, args: new { input, dimension, output_type }).output; } /// @@ -86,7 +87,7 @@ namespace Tensorflow /// /// public static Tensor arg_min(Tensor input, int dimension, TF_DataType output_type= TF_DataType.TF_INT64, string name= null) - => tf._op_def_lib._apply_op_helper("ArgMin", name, args: new { input, dimension, output_type }).outputs[0]; + => tf.OpDefLib._apply_op_helper("ArgMin", name, args: new { input, dimension, output_type }).outputs[0]; /// /// Computes Psi, the derivative of Lgamma (the log of the absolute value of @@ -96,7 +97,7 @@ namespace Tensorflow /// /// public static Tensor digamma(Tensor x, string name = null) - => tf._op_def_lib._apply_op_helper("Digamma", name, args: new { x }).output; + => tf.OpDefLib._apply_op_helper("Digamma", name, args: new { x }).output; /// /// Returns 0 if the denominator is zero. @@ -118,7 +119,7 @@ namespace Tensorflow /// public static Tensor div_no_nan(Tensor x, Tensor y, string name = null) { - var op = tf._op_def_lib._apply_op_helper("DivNoNan", name: name, args: new { x, y }); + var op = tf.OpDefLib._apply_op_helper("DivNoNan", name: name, args: new { x, y }); return op.output; } @@ -137,9 +138,9 @@ namespace Tensorflow /// A `Tensor`. Has the same type as `input`. public static Tensor mean(T1 input, T2 axis, bool keep_dims= false, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Mean", name, null, input, axis, @@ -148,40 +149,40 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Mean", name, args: new { input, reduction_indices = axis, keep_dims = keep_dims }); + var _op = tf.OpDefLib._apply_op_helper("Mean", name, args: new { input, reduction_indices = axis, keep_dims = keep_dims }); return _op.output; } public static Tensor mean(Tensor[] inputs, Tensor axis, bool keep_dims = false, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - return mean_eager_fallback(inputs, axis, keep_dims: keep_dims, name: name, ctx: tf.context); + return mean_eager_fallback(inputs, axis, keep_dims: keep_dims, name: name, ctx: tf.Context); } - var _op = tf._op_def_lib._apply_op_helper("Mean", name, args: new { inputs, reduction_indices = axis, keep_dims = keep_dims }); + var _op = tf.OpDefLib._apply_op_helper("Mean", name, args: new { inputs, reduction_indices = axis, keep_dims = keep_dims }); return _op.output; } private static Tensor mean_eager_fallback(Tensor[] inputs, Tensor axis, bool keep_dims = false, string name = null, Context ctx = null) { - var (_attr_T, input) = tf._execute.args_to_matching_eager(ctx, args: new[] { inputs }); - var (_attr_Tidx, axis1) = tf._execute.args_to_matching_eager(ctx, default_dtype: tf.int32, args: new[] { axis }); + var (_attr_T, input) = tf.Runner.ArgsToMatchingEager(ctx, args: new[] { inputs }); + var (_attr_Tidx, axis1) = tf.Runner.ArgsToMatchingEager(ctx, default_dtype: tf.int32, args: new[] { axis }); var _inputs_flat = input.concat(axis1); var _attrs = new object[] { "keep_dims", keep_dims, "T", _attr_T, "Tidx", _attr_Tidx }; - return tf._execute.execute(ctx, "Mean", 1, _inputs_flat, _attrs, name: name)[0]; + return tf.Runner.Execute(ctx, "Mean", 1, _inputs_flat, _attrs, name: name)[0]; } public static Tensor prod(T1 input, T2 axis, bool keep_dims = false, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { try { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Prod", name, null, input, axis, @@ -191,58 +192,58 @@ namespace Tensorflow } catch (Exception) { - return prod_eager_fallback(input as Tensor, axis as int[], keep_dims, name, tf.context); + return prod_eager_fallback(input as Tensor, axis as int[], keep_dims, name, tf.Context); } } - var _op = tf._op_def_lib._apply_op_helper("Prod", name, args: new { input, reduction_indices = axis, keep_dims }); + var _op = tf.OpDefLib._apply_op_helper("Prod", name, args: new { input, reduction_indices = axis, keep_dims }); return _op.output; } private static Tensor prod_eager_fallback(Tensor input_t, int[] axis, bool keep_dims, string name, Context ctx = null) { - var (_attr_T, input) = tf._execute.args_to_matching_eager(ctx, args: new[] { input_t }); - var (_attr_Tidx, axis1) = tf._execute.args_to_matching_eager(ctx, default_dtype: tf.int32, args: new[] { axis }); + var (_attr_T, input) = tf.Runner.ArgsToMatchingEager(ctx, args: new[] { input_t }); + var (_attr_Tidx, axis1) = tf.Runner.ArgsToMatchingEager(ctx, default_dtype: tf.int32, args: new[] { axis }); var _inputs_flat = input.concat(axis1); var _attrs = new object[] { "keep_dims", keep_dims, "T", _attr_T, "Tidx", _attr_Tidx }; - return tf._execute.execute(ctx, "Prod", 1, _inputs_flat, _attrs, name: name)[0]; + return tf.Runner.Execute(ctx, "Prod", 1, _inputs_flat, _attrs, name: name)[0]; } public static Tensor acos(Tensor x, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Acos", name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("Acos", name, args: new { x }); return _op.outputs[0]; } public static Tensor asin(Tensor x, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Asin", name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("Asin", name, args: new { x }); return _op.outputs[0]; } public static Tensor add(Tensor x, Tensor y, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Add", name, null, x, y); return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Add", name, args: new { x, y }); + var _op = tf.OpDefLib._apply_op_helper("Add", name, args: new { x, y }); return _op.output; } public static Tensor add(Tx x, Ty y, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Add", name, null, x, y); @@ -250,7 +251,7 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Add", name, args: new { x, y }); + var _op = tf.OpDefLib._apply_op_helper("Add", name, args: new { x, y }); return _op.output; } @@ -258,39 +259,39 @@ namespace Tensorflow public static Tensor add_v2(Tx x, Ty y, string name = null) { // forward_compatible(2019, 6, 25): - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "AddV2", name, null, x, y); return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("AddV2", name, args: new { x, y }); + var _op = tf.OpDefLib._apply_op_helper("AddV2", name, args: new { x, y }); return _op.output; } public static Tensor atan(Tensor x, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Atan", name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("Atan", name, args: new { x }); return _op.outputs[0]; } public static Tensor ceil(Tensor x, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Ceil", name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("Ceil", name, args: new { x }); return _op.outputs[0]; } public static Tensor sin(Tensor x, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Sin", name, null, x); @@ -298,7 +299,7 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Sin", name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("Sin", name, args: new { x }); return _op.outputs[0]; } @@ -319,9 +320,9 @@ namespace Tensorflow /// public static Tensor sigmoid(Tensor x, string name = "Sigmoid") { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Sigmoid", name, null, x); @@ -329,7 +330,7 @@ namespace Tensorflow return results[0]; } - var op = tf._op_def_lib._apply_op_helper("Sigmoid", name: name, new { x }); + var op = tf.OpDefLib._apply_op_helper("Sigmoid", name: name, new { x }); return op.output; } @@ -353,42 +354,42 @@ namespace Tensorflow /// public static Tensor sigmoid_grad(Tensor y, Tensor dy, string name = "SigmoidGrad") { - var op = tf._op_def_lib._apply_op_helper("SigmoidGrad", name: name, args: new { y, dy }); + var op = tf.OpDefLib._apply_op_helper("SigmoidGrad", name: name, args: new { y, dy }); return op.outputs[0]; } public static Tensor sign(T x, string name = "Sign") { - var op = tf._op_def_lib._apply_op_helper("Sign", name: name, args: new {x}); + var op = tf.OpDefLib._apply_op_helper("Sign", name: name, args: new {x}); return op.outputs[0]; } public static Tensor sinh(Tensor x, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Sinh", name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("Sinh", name, args: new { x }); return _op.outputs[0]; } public static Tensor cos(Tensor x, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Cos", name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("Cos", name, args: new { x }); return _op.outputs[0]; } public static Tensor cosh(Tensor x, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Cosh", name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("Cosh", name, args: new { x }); return _op.outputs[0]; } public static Tensor cumsum(Tensor x, T axis, bool exclusive = false, bool reverse = false, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Cumsum", name, args: new { x, axis, exclusive, reverse }); + var _op = tf.OpDefLib._apply_op_helper("Cumsum", name, args: new { x, axis, exclusive, reverse }); return _op.outputs[0]; } @@ -403,15 +404,15 @@ namespace Tensorflow /// public static Tensor unsorted_segment_sum(Tensor data, Tensor segment_ids, Tensor num_segments, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("UnsortedSegmentSum", name, new { data, segment_ids, num_segments }); + var _op = tf.OpDefLib._apply_op_helper("UnsortedSegmentSum", name, new { data, segment_ids, num_segments }); return _op.outputs[0]; } public static Tensor tan(Tensor x, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Tan", name, null, x); @@ -419,16 +420,16 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Tan", name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("Tan", name, args: new { x }); return _op.outputs[0]; } public static Tensor tanh(Tensor x, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Tanh", name, null, x); @@ -436,7 +437,7 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Tanh", name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("Tanh", name, args: new { x }); return _op.outputs[0]; } @@ -450,9 +451,9 @@ namespace Tensorflow /// public static Tensor tanh_grad(Tensor y, Tensor dy, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "TanhGrad", name, null, y, dy); @@ -460,29 +461,29 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("TanhGrad", name: name, args: new { y, dy }).output; + var _op = tf.OpDefLib._apply_op_helper("TanhGrad", name: name, args: new { y, dy }).output; return _op.outputs[0]; } public static Tensor floor(Tensor x, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Floor", name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("Floor", name, args: new { x }); return _op.outputs[0]; } public static Tensor _clip_by_value(Tensor t, Tensor clip_value_min, Tensor clip_value_max, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("ClipByValue", name, args: new { t, clip_value_min, clip_value_max }); + var _op = tf.OpDefLib._apply_op_helper("ClipByValue", name, args: new { t, clip_value_min, clip_value_max }); return _op.outputs[0]; } public static Tensor greater(Tx x, Ty y, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Greater", name, null, x, y); @@ -490,7 +491,7 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Greater", name: name, args: new { x, y }); + var _op = tf.OpDefLib._apply_op_helper("Greater", name: name, args: new { x, y }); return _op.outputs[0]; } @@ -508,16 +509,16 @@ namespace Tensorflow /// public static Tensor lgamma(Tensor x, string name = null) { - var op = tf._op_def_lib._apply_op_helper("Lgamma", name: name, args: new { x }); + var op = tf.OpDefLib._apply_op_helper("Lgamma", name: name, args: new { x }); return op.output; } public static Tensor greater_equal(Tx x, Ty y, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "GreaterEqual", name, null, x, y); @@ -525,16 +526,16 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("GreaterEqual", name: name, args: new { x, y }); + var _op = tf.OpDefLib._apply_op_helper("GreaterEqual", name: name, args: new { x, y }); return _op.outputs[0]; } public static Tensor less(Tx x, Ty y, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Less", name, null, x, y); @@ -542,16 +543,16 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Less", name: name, args: new { x, y }); + var _op = tf.OpDefLib._apply_op_helper("Less", name: name, args: new { x, y }); return _op.outputs[0]; } public static Tensor less_equal(Tx x, Ty y, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "LessEqual", name, null, x, y); @@ -559,35 +560,35 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("LessEqual", name: name, args: new { x, y }); + var _op = tf.OpDefLib._apply_op_helper("LessEqual", name: name, args: new { x, y }); return _op.outputs[0]; } public static Tensor log1p(Tensor x, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Log1p", name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("Log1p", name, args: new { x }); return _op.outputs[0]; } public static Tensor logical_and(Tensor x, Tensor y, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("LogicalAnd", name, args: new { x, y }); + var _op = tf.OpDefLib._apply_op_helper("LogicalAnd", name, args: new { x, y }); return _op.outputs[0]; } public static Tensor logical_not(Tensor x, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("LogicalNot", name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("LogicalNot", name, args: new { x }); return _op.outputs[0]; } public static Tensor logical_or(Tensor x, Tensor y, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("LogicalOr", name, args: new { x, y }); + var _op = tf.OpDefLib._apply_op_helper("LogicalOr", name, args: new { x, y }); return _op.outputs[0]; } @@ -602,7 +603,7 @@ namespace Tensorflow public static Tensor squared_difference(Tensor x, Tensor y, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("SquaredDifference", name, args: new { x, y, name }); + var _op = tf.OpDefLib._apply_op_helper("SquaredDifference", name, args: new { x, y, name }); return _op.outputs[0]; } @@ -615,9 +616,9 @@ namespace Tensorflow /// A `Tensor`. Has the same type as `x`. public static Tensor square(Tensor x, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Square", name, null, x); @@ -625,7 +626,7 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Square", name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("Square", name, args: new { x }); return _op.outputs[0]; } @@ -638,14 +639,14 @@ namespace Tensorflow /// A `Tensor` of type `bool`. public static Tensor is_finite(Tensor x, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("IsFinite", name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("IsFinite", name, args: new { x }); return _op.outputs[0]; } public static Tensor is_nan(Tensor x, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("IsNan", name: name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("IsNan", name: name, args: new { x }); return _op.outputs[0]; } @@ -658,7 +659,7 @@ namespace Tensorflow /// A `Tensor`. Has the same type as `x`. public static Tensor exp(Tensor x, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Exp", name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("Exp", name, args: new { x }); return _op.outputs[0]; } @@ -671,9 +672,9 @@ namespace Tensorflow /// A `Tensor`. Has the same type as `x`. public static Tensor log(Tensor x, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Log", name, null, x); @@ -681,16 +682,16 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Log", name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("Log", name, args: new { x }); return _op.outputs[0]; } public static Tensor cast(Tensor x, TF_DataType DstT, bool Truncate= false, string name= null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Cast", name, null, x, @@ -699,16 +700,16 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Cast", name, args: new { x, DstT, Truncate }); + var _op = tf.OpDefLib._apply_op_helper("Cast", name, args: new { x, DstT, Truncate }); return _op.outputs[0]; } public static Tensor neg(Tensor x, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Neg", name, null, x); @@ -716,16 +717,16 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Neg", name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("Neg", name, args: new { x }); return _op.outputs[0]; } public static Tensor sqrt(Tensor x, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Sqrt", name, null, x); @@ -733,32 +734,32 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Sqrt", name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("Sqrt", name, args: new { x }); return _op.outputs[0]; } public static Tensor sub(Tensor x, Tensor y, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Sub", name, null, x, y); return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Sub", name, args: new { x, y }); + var _op = tf.OpDefLib._apply_op_helper("Sub", name, args: new { x, y }); return _op.output; } public static Tensor sub(Tx x, Ty y, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Sub", name, null, x, y); @@ -766,7 +767,7 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Sub", name, args: new { x, y }); + var _op = tf.OpDefLib._apply_op_helper("Sub", name, args: new { x, y }); return _op.outputs[0]; } @@ -780,9 +781,9 @@ namespace Tensorflow /// public static Tensor equal(Tx x, Ty y, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Equal", name, null, x, y); @@ -790,7 +791,7 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Equal", name, args: new { x, y }); + var _op = tf.OpDefLib._apply_op_helper("Equal", name, args: new { x, y }); return _op.output; } @@ -805,9 +806,9 @@ namespace Tensorflow /// public static Tensor not_equal(Tx x, Ty y, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "NotEqual", name, null, x, y); @@ -815,16 +816,16 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("NotEqual", name, args: new { x, y }); + var _op = tf.OpDefLib._apply_op_helper("NotEqual", name, args: new { x, y }); return _op.output; } public static Tensor atan2(Tensor y, Tensor x, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Atan2", name, null, y, x); @@ -832,31 +833,31 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Atan2", name, args: new { y, x }); + var _op = tf.OpDefLib._apply_op_helper("Atan2", name, args: new { y, x }); return _op.output; } public static Tensor mul(Tensor x, Tensor y, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Mul", name, null, x, y); return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Mul", name, args: new { x, y }); + var _op = tf.OpDefLib._apply_op_helper("Mul", name, args: new { x, y }); return _op.output; } public static Tensor mul(Tx x, Ty y, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Mul", name, null, x, y); @@ -864,39 +865,39 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Mul", name, args: new { x, y }); + var _op = tf.OpDefLib._apply_op_helper("Mul", name, args: new { x, y }); return _op.outputs[0]; } public static Tensor mul_no_nan(Tx x, Ty y, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("MulNoNan", name, args: new { x, y }); + var _op = tf.OpDefLib._apply_op_helper("MulNoNan", name, args: new { x, y }); return _op.outputs[0]; } public static Tensor real_div(Tensor x, Tensor y, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "RealDiv", name, null, x, y); return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("RealDiv", name, args: new { x, y }); + var _op = tf.OpDefLib._apply_op_helper("RealDiv", name, args: new { x, y }); return _op.outputs[0]; } public static Tensor reciprocal(Tensor x, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Reciprocal", name, null, x); @@ -904,16 +905,16 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Reciprocal", name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("Reciprocal", name, args: new { x }); return _op.outputs[0]; } public static Tensor floor_mod(Tensor x, Tensor y, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "FloorMod", name, null, x, y); @@ -921,16 +922,16 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("FloorMod", name, args: new { x, y }); + var _op = tf.OpDefLib._apply_op_helper("FloorMod", name, args: new { x, y }); return _op.outputs[0]; } public static Tensor floor_div(Tensor x, Tensor y, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "FloorDiv", name, null, x, y); @@ -938,7 +939,7 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("FloorDiv", name, args: new { x, y }); + var _op = tf.OpDefLib._apply_op_helper("FloorDiv", name, args: new { x, y }); return _op.outputs[0]; } @@ -954,9 +955,9 @@ namespace Tensorflow /// public static Tensor mat_mul(Tensor a, Tensor b, bool transpose_a = false, bool transpose_b = false, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "MatMul", name, null, a, b, @@ -964,7 +965,7 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("MatMul", name, args: new { a, b, transpose_a, transpose_b }); + var _op = tf.OpDefLib._apply_op_helper("MatMul", name, args: new { a, b, transpose_a, transpose_b }); return _op.output; } @@ -996,7 +997,7 @@ namespace Tensorflow /// public static Tensor batch_mat_mul(Tensor x, Tensor y, bool adj_x = false, bool adj_y = false, string name = null) { - var _op = tf._op_def_lib._apply_op_helper( + var _op = tf.OpDefLib._apply_op_helper( "BatchMatMul", name, args: new { x, y, adj_x, adj_y }); @@ -1013,9 +1014,9 @@ namespace Tensorflow /// public static Tensor maximum(T1 x, T2 y, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Maximum", name, null, x, y); @@ -1023,16 +1024,16 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Maximum", name, args: new { x, y }); + var _op = tf.OpDefLib._apply_op_helper("Maximum", name, args: new { x, y }); return _op.outputs[0]; } public static Tensor minimum(T1 x, T2 y, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Minimum", name, null, x, y); @@ -1040,44 +1041,44 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Minimum", name, args: new { x, y }); + var _op = tf.OpDefLib._apply_op_helper("Minimum", name, args: new { x, y }); return _op.outputs[0]; } public static Tensor _abs(Tensor x, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Abs", name, args: new { x }); + var _op = tf.OpDefLib._apply_op_helper("Abs", name, args: new { x }); return _op.output; } public static Tensor _any(Tx input, Ty axis, bool keep_dims = false, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Any", name, new { input, reduction_indices = axis, keep_dims }); + var _op = tf.OpDefLib._apply_op_helper("Any", name, new { input, reduction_indices = axis, keep_dims }); return _op.outputs[0]; } public static Tensor _max(Tx input, Ty axis, bool keep_dims=false, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Max", name, new { input, reduction_indices = axis, keep_dims }); + var _op = tf.OpDefLib._apply_op_helper("Max", name, new { input, reduction_indices = axis, keep_dims }); return _op.outputs[0]; } public static Tensor _min(Tx input, Ty axis, bool keep_dims = false, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Min", name, new { input, reduction_indices = axis, keep_dims }); + var _op = tf.OpDefLib._apply_op_helper("Min", name, new { input, reduction_indices = axis, keep_dims }); return _op.outputs[0]; } public static Tensor pow(Tx x, Ty y, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Pow", name, null, x, y); @@ -1085,16 +1086,16 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Pow", name, args: new { x, y }); + var _op = tf.OpDefLib._apply_op_helper("Pow", name, args: new { x, y }); return _op.outputs[0]; } public static Tensor _sum(Tx input, Ty axis = default, bool keep_dims = false, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Sum", name, null, input, axis, @@ -1103,32 +1104,32 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Sum", name, args: new { input, reduction_indices = axis, keep_dims }); + var _op = tf.OpDefLib._apply_op_helper("Sum", name, args: new { input, reduction_indices = axis, keep_dims }); return _op.outputs[0]; } public static Tensor _sum(Tensor[] inputs, Tensor axis = default, bool keep_dims = false, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { return _sum_eager_fallback(inputs, axis, - keep_dims: keep_dims, name: name, ctx: tf.context); + keep_dims: keep_dims, name: name, ctx: tf.Context); } - var _op = tf._op_def_lib._apply_op_helper("Sum", name, args: new { inputs, reduction_indices = axis, keep_dims }); + var _op = tf.OpDefLib._apply_op_helper("Sum", name, args: new { inputs, reduction_indices = axis, keep_dims }); return _op.outputs[0]; } private static Tensor _sum_eager_fallback(Tensor[] inputs, Tensor axis, bool keep_dims = false, string name = null, Context ctx = null) { - var (_attr_T, input) = tf._execute.args_to_matching_eager(ctx, args: new[] { inputs }); - var (_attr_Tidx, axis1) = tf._execute.args_to_matching_eager(ctx, tf.int32, new[] { axis }); + var (_attr_T, input) = tf.Runner.ArgsToMatchingEager(ctx, args: new[] { inputs }); + var (_attr_Tidx, axis1) = tf.Runner.ArgsToMatchingEager(ctx, tf.int32, new[] { axis }); var _inputs_flat = input.concat(axis1); var _attrs = new object[] { "keep_dims", keep_dims, "T", _attr_T, "Tidx", _attr_Tidx }; - return tf._execute.execute(ctx, "Sum", 1, _inputs_flat, _attrs, name: name)[0]; + return tf.Runner.Execute(ctx, "Sum", 1, _inputs_flat, _attrs, name: name)[0]; } /// @@ -1141,16 +1142,16 @@ namespace Tensorflow /// public static Tensor range(Tensor start, Tensor limit, Tensor delta, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Range", name, null, start, limit, delta); return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Range", name, new { start, limit, delta }); + var _op = tf.OpDefLib._apply_op_helper("Range", name, new { start, limit, delta }); return _op.outputs[0]; } @@ -1172,7 +1173,7 @@ namespace Tensorflow /// public static Tensor round(Tensor x, string name = "Round") { - var op = tf._op_def_lib._apply_op_helper("Round", name: name, new { x }); + var op = tf.OpDefLib._apply_op_helper("Round", name: name, new { x }); return op.output; } @@ -1185,7 +1186,7 @@ namespace Tensorflow /// public static Tensor rsqrt(Tensor x, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Rsqrt", name, new { x }); + var _op = tf.OpDefLib._apply_op_helper("Rsqrt", name, new { x }); return _op.outputs[0]; } @@ -1198,7 +1199,7 @@ namespace Tensorflow /// The fraction of zeros in value, with type float32. public static Tensor zero_fraction(Tensor value, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("zero_fraction", name, new { value, name }); + var _op = tf.OpDefLib._apply_op_helper("zero_fraction", name, new { value, name }); return _op.outputs[0]; } diff --git a/src/TensorFlowNET.Core/Operations/gen_math_ops.eager.cs b/src/TensorFlowNET.Core/Operations/gen_math_ops.eager.cs index 1991c4b1..dc86c1e5 100644 --- a/src/TensorFlowNET.Core/Operations/gen_math_ops.eager.cs +++ b/src/TensorFlowNET.Core/Operations/gen_math_ops.eager.cs @@ -11,7 +11,7 @@ namespace Tensorflow { public static Tensor mul(IntPtr x, IntPtr y, string name = null) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Mul", name, null, x, y); diff --git a/src/TensorFlowNET.Core/Operations/gen_ops.cs b/src/TensorFlowNET.Core/Operations/gen_ops.cs index 386537b7..98e61957 100644 --- a/src/TensorFlowNET.Core/Operations/gen_ops.cs +++ b/src/TensorFlowNET.Core/Operations/gen_ops.cs @@ -33,7 +33,7 @@ namespace Tensorflow.Operations dict["error_msg"] = error_msg; if (exit_without_error.HasValue) dict["exit_without_error"] = exit_without_error.Value; - var op = tf._op_def_lib._apply_op_helper("Abort", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Abort", name: name, keywords: dict); return op; } @@ -57,7 +57,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Abs", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Abs", name: name, keywords: dict); return op.output; } @@ -92,7 +92,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["inputs"] = inputs; dict["shape"] = shape; - var op = tf._op_def_lib._apply_op_helper("AccumulateNV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AccumulateNV2", name: name, keywords: dict); return op.output; } @@ -123,7 +123,7 @@ namespace Tensorflow.Operations dict["handle"] = handle; dict["local_step"] = local_step; dict["gradient"] = gradient; - var op = tf._op_def_lib._apply_op_helper("AccumulatorApplyGradient", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AccumulatorApplyGradient", name: name, keywords: dict); return op; } @@ -144,7 +144,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["handle"] = handle; - var op = tf._op_def_lib._apply_op_helper("AccumulatorNumAccumulated", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AccumulatorNumAccumulated", name: name, keywords: dict); return op.output; } @@ -172,7 +172,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["handle"] = handle; dict["new_global_step"] = new_global_step; - var op = tf._op_def_lib._apply_op_helper("AccumulatorSetGlobalStep", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AccumulatorSetGlobalStep", name: name, keywords: dict); return op; } @@ -210,7 +210,7 @@ namespace Tensorflow.Operations dict["handle"] = handle; dict["num_required"] = num_required; dict["dtype"] = dtype; - var op = tf._op_def_lib._apply_op_helper("AccumulatorTakeGradient", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AccumulatorTakeGradient", name: name, keywords: dict); return op.output; } @@ -229,7 +229,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Acos", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Acos", name: name, keywords: dict); return op.output; } @@ -248,7 +248,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Acosh", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Acosh", name: name, keywords: dict); return op.output; } @@ -274,7 +274,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("Add", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Add", name: name, keywords: dict); return op.output; } @@ -343,7 +343,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("AddManySparseToTensorsMap", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AddManySparseToTensorsMap", name: name, keywords: dict); return op.output; } @@ -363,7 +363,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["inputs"] = inputs; - var op = tf._op_def_lib._apply_op_helper("AddN", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AddN", name: name, keywords: dict); return op.output; } @@ -420,7 +420,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("AddSparseToTensorsMap", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AddSparseToTensorsMap", name: name, keywords: dict); return op.output; } @@ -446,7 +446,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("AddV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AddV2", name: name, keywords: dict); return op.output; } @@ -474,7 +474,7 @@ namespace Tensorflow.Operations dict["contrast_factor"] = contrast_factor; dict["min_value"] = min_value; dict["max_value"] = max_value; - var op = tf._op_def_lib._apply_op_helper("AdjustContrast", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AdjustContrast", name: name, keywords: dict); return op.output; } @@ -510,7 +510,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["images"] = images; dict["contrast_factor"] = contrast_factor; - var op = tf._op_def_lib._apply_op_helper("AdjustContrastv2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AdjustContrastv2", name: name, keywords: dict); return op.output; } @@ -543,7 +543,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["images"] = images; dict["delta"] = delta; - var op = tf._op_def_lib._apply_op_helper("AdjustHue", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AdjustHue", name: name, keywords: dict); return op.output; } @@ -576,7 +576,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["images"] = images; dict["scale"] = scale; - var op = tf._op_def_lib._apply_op_helper("AdjustSaturation", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AdjustSaturation", name: name, keywords: dict); return op.output; } @@ -613,7 +613,7 @@ namespace Tensorflow.Operations dict["reduction_indices"] = reduction_indices; if (keep_dims.HasValue) dict["keep_dims"] = keep_dims.Value; - var op = tf._op_def_lib._apply_op_helper("All", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("All", name: name, keywords: dict); return op.output; } @@ -684,7 +684,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("AllCandidateSampler", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AllCandidateSampler", name: name, keywords: dict); int _idx = 0; var sampled_candidates = op.outputs[_idx++]; var true_expected_count = op.outputs[_idx++]; @@ -730,7 +730,7 @@ namespace Tensorflow.Operations dict["input"] = input; if (Tout.HasValue) dict["Tout"] = Tout.Value; - var op = tf._op_def_lib._apply_op_helper("Angle", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Angle", name: name, keywords: dict); return op.output; } @@ -758,7 +758,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("AnonymousIterator", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AnonymousIterator", name: name, keywords: dict); return op.output; } @@ -795,7 +795,7 @@ namespace Tensorflow.Operations dict["reduction_indices"] = reduction_indices; if (keep_dims.HasValue) dict["keep_dims"] = keep_dims.Value; - var op = tf._op_def_lib._apply_op_helper("Any", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Any", name: name, keywords: dict); return op.output; } @@ -860,7 +860,7 @@ namespace Tensorflow.Operations dict["grad"] = grad; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ApplyAdaMax", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ApplyAdaMax", name: name, keywords: dict); return op.output; } @@ -917,7 +917,7 @@ namespace Tensorflow.Operations dict["grad"] = grad; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ApplyAdadelta", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ApplyAdadelta", name: name, keywords: dict); return op.output; } @@ -965,7 +965,7 @@ namespace Tensorflow.Operations dict["use_locking"] = use_locking.Value; if (update_slots.HasValue) dict["update_slots"] = update_slots.Value; - var op = tf._op_def_lib._apply_op_helper("ApplyAdagrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ApplyAdagrad", name: name, keywords: dict); return op.output; } @@ -1020,7 +1020,7 @@ namespace Tensorflow.Operations dict["global_step"] = global_step; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ApplyAdagradDA", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ApplyAdagradDA", name: name, keywords: dict); return op.output; } @@ -1095,7 +1095,7 @@ namespace Tensorflow.Operations dict["use_locking"] = use_locking.Value; if (use_nesterov.HasValue) dict["use_nesterov"] = use_nesterov.Value; - var op = tf._op_def_lib._apply_op_helper("ApplyAdam", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ApplyAdam", name: name, keywords: dict); return op.output; } @@ -1152,7 +1152,7 @@ namespace Tensorflow.Operations dict["grad"] = grad; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ApplyAddSign", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ApplyAddSign", name: name, keywords: dict); return op.output; } @@ -1231,7 +1231,7 @@ namespace Tensorflow.Operations dict["grad"] = grad; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ApplyCenteredRMSProp", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ApplyCenteredRMSProp", name: name, keywords: dict); return op.output; } @@ -1294,7 +1294,7 @@ namespace Tensorflow.Operations dict["lr_power"] = lr_power; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ApplyFtrl", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ApplyFtrl", name: name, keywords: dict); return op.output; } @@ -1362,7 +1362,7 @@ namespace Tensorflow.Operations dict["lr_power"] = lr_power; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ApplyFtrlV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ApplyFtrlV2", name: name, keywords: dict); return op.output; } @@ -1397,7 +1397,7 @@ namespace Tensorflow.Operations dict["delta"] = delta; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ApplyGradientDescent", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ApplyGradientDescent", name: name, keywords: dict); return op.output; } @@ -1454,7 +1454,7 @@ namespace Tensorflow.Operations dict["use_locking"] = use_locking.Value; if (use_nesterov.HasValue) dict["use_nesterov"] = use_nesterov.Value; - var op = tf._op_def_lib._apply_op_helper("ApplyMomentum", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ApplyMomentum", name: name, keywords: dict); return op.output; } @@ -1511,7 +1511,7 @@ namespace Tensorflow.Operations dict["grad"] = grad; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ApplyPowerSign", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ApplyPowerSign", name: name, keywords: dict); return op.output; } @@ -1563,7 +1563,7 @@ namespace Tensorflow.Operations dict["grad"] = grad; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ApplyProximalAdagrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ApplyProximalAdagrad", name: name, keywords: dict); return op.output; } @@ -1610,7 +1610,7 @@ namespace Tensorflow.Operations dict["delta"] = delta; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ApplyProximalGradientDescent", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ApplyProximalGradientDescent", name: name, keywords: dict); return op.output; } @@ -1677,7 +1677,7 @@ namespace Tensorflow.Operations dict["grad"] = grad; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ApplyRMSProp", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ApplyRMSProp", name: name, keywords: dict); return op.output; } @@ -1703,7 +1703,7 @@ namespace Tensorflow.Operations dict["y"] = y; if (tolerance.HasValue) dict["tolerance"] = tolerance.Value; - var op = tf._op_def_lib._apply_op_helper("ApproximateEqual", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ApproximateEqual", name: name, keywords: dict); return op.output; } @@ -1735,7 +1735,7 @@ namespace Tensorflow.Operations dict["dimension"] = dimension; if (output_type.HasValue) dict["output_type"] = output_type.Value; - var op = tf._op_def_lib._apply_op_helper("ArgMax", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ArgMax", name: name, keywords: dict); return op.output; } @@ -1767,7 +1767,7 @@ namespace Tensorflow.Operations dict["dimension"] = dimension; if (output_type.HasValue) dict["output_type"] = output_type.Value; - var op = tf._op_def_lib._apply_op_helper("ArgMin", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ArgMin", name: name, keywords: dict); return op.output; } @@ -1819,7 +1819,7 @@ namespace Tensorflow.Operations dict["width"] = width.Value; if (fill != null) dict["fill"] = fill; - var op = tf._op_def_lib._apply_op_helper("AsString", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AsString", name: name, keywords: dict); return op.output; } @@ -1838,7 +1838,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Asin", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Asin", name: name, keywords: dict); return op.output; } @@ -1857,7 +1857,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Asinh", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Asinh", name: name, keywords: dict); return op.output; } @@ -1890,7 +1890,7 @@ namespace Tensorflow.Operations dict["data"] = data; if (summarize.HasValue) dict["summarize"] = summarize.Value; - var op = tf._op_def_lib._apply_op_helper("Assert", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Assert", name: name, keywords: dict); return op; } @@ -1933,7 +1933,7 @@ namespace Tensorflow.Operations dict["validate_shape"] = validate_shape.Value; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("Assign", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Assign", name: name, keywords: dict); return op.output; } @@ -1969,7 +1969,7 @@ namespace Tensorflow.Operations dict["value"] = value; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("AssignAdd", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AssignAdd", name: name, keywords: dict); return op.output; } @@ -1997,7 +1997,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["resource"] = resource; dict["value"] = value; - var op = tf._op_def_lib._apply_op_helper("AssignAddVariableOp", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AssignAddVariableOp", name: name, keywords: dict); return op; } @@ -2033,7 +2033,7 @@ namespace Tensorflow.Operations dict["value"] = value; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("AssignSub", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AssignSub", name: name, keywords: dict); return op.output; } @@ -2061,7 +2061,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["resource"] = resource; dict["value"] = value; - var op = tf._op_def_lib._apply_op_helper("AssignSubVariableOp", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AssignSubVariableOp", name: name, keywords: dict); return op; } @@ -2089,7 +2089,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["resource"] = resource; dict["value"] = value; - var op = tf._op_def_lib._apply_op_helper("AssignVariableOp", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AssignVariableOp", name: name, keywords: dict); return op; } @@ -2108,7 +2108,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Atan", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Atan", name: name, keywords: dict); return op.output; } @@ -2137,7 +2137,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["y"] = y; dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Atan2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Atan2", name: name, keywords: dict); return op.output; } @@ -2156,7 +2156,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Atanh", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Atanh", name: name, keywords: dict); return op.output; } @@ -2221,7 +2221,7 @@ namespace Tensorflow.Operations dict["stride"] = stride; if (magnitude_squared.HasValue) dict["magnitude_squared"] = magnitude_squared.Value; - var op = tf._op_def_lib._apply_op_helper("AudioSpectrogram", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AudioSpectrogram", name: name, keywords: dict); return op.output; } @@ -2269,7 +2269,7 @@ namespace Tensorflow.Operations dict["sample_rate"] = sample_rate; if (max_outputs.HasValue) dict["max_outputs"] = max_outputs.Value; - var op = tf._op_def_lib._apply_op_helper("AudioSummary", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AudioSummary", name: name, keywords: dict); return op.output; } @@ -2316,7 +2316,7 @@ namespace Tensorflow.Operations dict["sample_rate"] = sample_rate; if (max_outputs.HasValue) dict["max_outputs"] = max_outputs.Value; - var op = tf._op_def_lib._apply_op_helper("AudioSummaryV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AudioSummaryV2", name: name, keywords: dict); return op.output; } @@ -2365,7 +2365,7 @@ namespace Tensorflow.Operations dict["padding"] = padding; if (data_format != null) dict["data_format"] = data_format; - var op = tf._op_def_lib._apply_op_helper("AvgPool", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AvgPool", name: name, keywords: dict); return op.output; } @@ -2412,7 +2412,7 @@ namespace Tensorflow.Operations dict["padding"] = padding; if (data_format != null) dict["data_format"] = data_format; - var op = tf._op_def_lib._apply_op_helper("AvgPool3D", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AvgPool3D", name: name, keywords: dict); return op.output; } @@ -2463,7 +2463,7 @@ namespace Tensorflow.Operations dict["padding"] = padding; if (data_format != null) dict["data_format"] = data_format; - var op = tf._op_def_lib._apply_op_helper("AvgPool3DGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AvgPool3DGrad", name: name, keywords: dict); return op.output; } @@ -2513,7 +2513,7 @@ namespace Tensorflow.Operations dict["padding"] = padding; if (data_format != null) dict["data_format"] = data_format; - var op = tf._op_def_lib._apply_op_helper("AvgPoolGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("AvgPoolGrad", name: name, keywords: dict); return op.output; } @@ -2570,7 +2570,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("Barrier", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Barrier", name: name, keywords: dict); return op.output; } @@ -2605,7 +2605,7 @@ namespace Tensorflow.Operations dict["handle"] = handle; if (cancel_pending_enqueues.HasValue) dict["cancel_pending_enqueues"] = cancel_pending_enqueues.Value; - var op = tf._op_def_lib._apply_op_helper("BarrierClose", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BarrierClose", name: name, keywords: dict); return op; } @@ -2627,7 +2627,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["handle"] = handle; - var op = tf._op_def_lib._apply_op_helper("BarrierIncompleteSize", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BarrierIncompleteSize", name: name, keywords: dict); return op.output; } @@ -2667,7 +2667,7 @@ namespace Tensorflow.Operations dict["keys"] = keys; dict["values"] = values; dict["component_index"] = component_index; - var op = tf._op_def_lib._apply_op_helper("BarrierInsertMany", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BarrierInsertMany", name: name, keywords: dict); return op; } @@ -2689,7 +2689,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["handle"] = handle; - var op = tf._op_def_lib._apply_op_helper("BarrierReadySize", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BarrierReadySize", name: name, keywords: dict); return op.output; } @@ -2752,7 +2752,7 @@ namespace Tensorflow.Operations dict["wait_for_incomplete"] = wait_for_incomplete.Value; if (timeout_ms.HasValue) dict["timeout_ms"] = timeout_ms.Value; - var op = tf._op_def_lib._apply_op_helper("BarrierTakeMany", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BarrierTakeMany", name: name, keywords: dict); int _idx = 0; var indices = op.outputs[_idx++]; var keys = op.outputs[_idx++]; @@ -2853,7 +2853,7 @@ namespace Tensorflow.Operations dict["shared_name"] = shared_name; if (batching_queue != null) dict["batching_queue"] = batching_queue; - var op = tf._op_def_lib._apply_op_helper("Batch", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Batch", name: name, keywords: dict); int _idx = 0; var batched_tensors = Enumerable.Range(0, op.OutputListLength("batched_tensors")).Select(_ => op.outputs[_idx++]).ToArray(); var batch_index = op.outputs[_idx++]; @@ -2889,7 +2889,7 @@ namespace Tensorflow.Operations dict["batch_size"] = batch_size; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("BatchDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BatchDataset", name: name, keywords: dict); return op.output; } @@ -2925,7 +2925,7 @@ namespace Tensorflow.Operations dict["drop_remainder"] = drop_remainder; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("BatchDatasetV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BatchDatasetV2", name: name, keywords: dict); return op.output; } @@ -2980,7 +2980,7 @@ namespace Tensorflow.Operations dict["adj_x"] = adj_x.Value; if (adj_y.HasValue) dict["adj_y"] = adj_y.Value; - var op = tf._op_def_lib._apply_op_helper("BatchMatMul", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BatchMatMul", name: name, keywords: dict); return op.output; } @@ -3037,7 +3037,7 @@ namespace Tensorflow.Operations dict["gamma"] = gamma; dict["variance_epsilon"] = variance_epsilon; dict["scale_after_normalization"] = scale_after_normalization; - var op = tf._op_def_lib._apply_op_helper("BatchNormWithGlobalNormalization", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BatchNormWithGlobalNormalization", name: name, keywords: dict); return op.output; } @@ -3099,7 +3099,7 @@ namespace Tensorflow.Operations dict["backprop"] = backprop; dict["variance_epsilon"] = variance_epsilon; dict["scale_after_normalization"] = scale_after_normalization; - var op = tf._op_def_lib._apply_op_helper("BatchNormWithGlobalNormalizationGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BatchNormWithGlobalNormalizationGrad", name: name, keywords: dict); int _idx = 0; var dx = op.outputs[_idx++]; var dm = op.outputs[_idx++]; @@ -3216,7 +3216,7 @@ namespace Tensorflow.Operations dict["input"] = input; dict["crops"] = crops; dict["block_size"] = block_size; - var op = tf._op_def_lib._apply_op_helper("BatchToSpace", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BatchToSpace", name: name, keywords: dict); return op.output; } @@ -3361,7 +3361,7 @@ namespace Tensorflow.Operations dict["input"] = input; dict["block_shape"] = block_shape; dict["crops"] = crops; - var op = tf._op_def_lib._apply_op_helper("BatchToSpaceND", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BatchToSpaceND", name: name, keywords: dict); return op.output; } @@ -3386,7 +3386,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("BesselI0e", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BesselI0e", name: name, keywords: dict); return op.output; } @@ -3411,7 +3411,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("BesselI1e", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BesselI1e", name: name, keywords: dict); return op.output; } @@ -3451,7 +3451,7 @@ namespace Tensorflow.Operations dict["a"] = a; dict["b"] = b; dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Betainc", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Betainc", name: name, keywords: dict); return op.output; } @@ -3491,7 +3491,7 @@ namespace Tensorflow.Operations dict["bias"] = bias; if (data_format != null) dict["data_format"] = data_format; - var op = tf._op_def_lib._apply_op_helper("BiasAdd", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BiasAdd", name: name, keywords: dict); return op.output; } @@ -3528,7 +3528,7 @@ namespace Tensorflow.Operations dict["out_backprop"] = out_backprop; if (data_format != null) dict["data_format"] = data_format; - var op = tf._op_def_lib._apply_op_helper("BiasAddGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BiasAddGrad", name: name, keywords: dict); return op.output; } @@ -3559,7 +3559,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["value"] = value; dict["bias"] = bias; - var op = tf._op_def_lib._apply_op_helper("BiasAddV1", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BiasAddV1", name: name, keywords: dict); return op.output; } @@ -3600,7 +3600,7 @@ namespace Tensorflow.Operations dict["arr"] = arr; dict["size"] = size; dict["weights"] = weights; - var op = tf._op_def_lib._apply_op_helper("Bincount", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Bincount", name: name, keywords: dict); return op.output; } @@ -3637,7 +3637,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input"] = input; dict["type"] = type; - var op = tf._op_def_lib._apply_op_helper("Bitcast", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Bitcast", name: name, keywords: dict); return op.output; } @@ -3663,7 +3663,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("BitwiseAnd", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BitwiseAnd", name: name, keywords: dict); return op.output; } @@ -3689,7 +3689,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("BitwiseOr", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BitwiseOr", name: name, keywords: dict); return op.output; } @@ -3715,7 +3715,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("BitwiseXor", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BitwiseXor", name: name, keywords: dict); return op.output; } @@ -3776,7 +3776,7 @@ namespace Tensorflow.Operations dict["tree_complexity"] = tree_complexity; dict["min_node_weight"] = min_node_weight; dict["max_splits"] = max_splits; - var op = tf._op_def_lib._apply_op_helper("BoostedTreesCalculateBestGainsPerFeature", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BoostedTreesCalculateBestGainsPerFeature", name: name, keywords: dict); int _idx = 0; var node_ids_list = Enumerable.Range(0, op.OutputListLength("node_ids_list")).Select(_ => op.outputs[_idx++]).ToArray(); var gains_list = Enumerable.Range(0, op.OutputListLength("gains_list")).Select(_ => op.outputs[_idx++]).ToArray(); @@ -3819,7 +3819,7 @@ namespace Tensorflow.Operations dict["mean_hessians"] = mean_hessians; dict["l1"] = l1; dict["l2"] = l2; - var op = tf._op_def_lib._apply_op_helper("BoostedTreesCenterBias", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BoostedTreesCenterBias", name: name, keywords: dict); return op.output; } @@ -3847,7 +3847,7 @@ namespace Tensorflow.Operations dict["tree_ensemble_handle"] = tree_ensemble_handle; dict["stamp_token"] = stamp_token; dict["tree_ensemble_serialized"] = tree_ensemble_serialized; - var op = tf._op_def_lib._apply_op_helper("BoostedTreesCreateEnsemble", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BoostedTreesCreateEnsemble", name: name, keywords: dict); return op; } @@ -3878,7 +3878,7 @@ namespace Tensorflow.Operations dict["tree_ensemble_handle"] = tree_ensemble_handle; dict["stamp_token"] = stamp_token; dict["tree_ensemble_serialized"] = tree_ensemble_serialized; - var op = tf._op_def_lib._apply_op_helper("BoostedTreesDeserializeEnsemble", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BoostedTreesDeserializeEnsemble", name: name, keywords: dict); return op; } @@ -3902,7 +3902,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("BoostedTreesEnsembleResourceHandleOp", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BoostedTreesEnsembleResourceHandleOp", name: name, keywords: dict); return op.output; } @@ -3938,7 +3938,7 @@ namespace Tensorflow.Operations dict["tree_ensemble_handle"] = tree_ensemble_handle; dict["bucketized_features"] = bucketized_features; dict["logits_dimension"] = logits_dimension; - var op = tf._op_def_lib._apply_op_helper("BoostedTreesExampleDebugOutputs", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BoostedTreesExampleDebugOutputs", name: name, keywords: dict); return op.output; } @@ -3965,7 +3965,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["tree_ensemble_handle"] = tree_ensemble_handle; - var op = tf._op_def_lib._apply_op_helper("BoostedTreesGetEnsembleStates", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BoostedTreesGetEnsembleStates", name: name, keywords: dict); int _idx = 0; var stamp_token = op.outputs[_idx++]; var num_trees = op.outputs[_idx++]; @@ -4017,7 +4017,7 @@ namespace Tensorflow.Operations dict["bucketized_features_list"] = bucketized_features_list; dict["max_splits"] = max_splits; dict["num_buckets"] = num_buckets; - var op = tf._op_def_lib._apply_op_helper("BoostedTreesMakeStatsSummary", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BoostedTreesMakeStatsSummary", name: name, keywords: dict); return op.output; } @@ -4052,7 +4052,7 @@ namespace Tensorflow.Operations dict["tree_ensemble_handle"] = tree_ensemble_handle; dict["bucketized_features"] = bucketized_features; dict["logits_dimension"] = logits_dimension; - var op = tf._op_def_lib._apply_op_helper("BoostedTreesPredict", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BoostedTreesPredict", name: name, keywords: dict); return op.output; } @@ -4075,7 +4075,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["tree_ensemble_handle"] = tree_ensemble_handle; - var op = tf._op_def_lib._apply_op_helper("BoostedTreesSerializeEnsemble", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BoostedTreesSerializeEnsemble", name: name, keywords: dict); int _idx = 0; var stamp_token = op.outputs[_idx++]; var tree_ensemble_serialized = op.outputs[_idx++]; @@ -4128,7 +4128,7 @@ namespace Tensorflow.Operations dict["cached_node_ids"] = cached_node_ids; dict["bucketized_features"] = bucketized_features; dict["logits_dimension"] = logits_dimension; - var op = tf._op_def_lib._apply_op_helper("BoostedTreesTrainingPredict", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BoostedTreesTrainingPredict", name: name, keywords: dict); int _idx = 0; var partial_logits = op.outputs[_idx++]; var tree_ids = op.outputs[_idx++]; @@ -4200,7 +4200,7 @@ namespace Tensorflow.Operations dict["max_depth"] = max_depth; dict["learning_rate"] = learning_rate; dict["pruning_mode"] = pruning_mode; - var op = tf._op_def_lib._apply_op_helper("BoostedTreesUpdateEnsemble", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BoostedTreesUpdateEnsemble", name: name, keywords: dict); return op; } @@ -4226,7 +4226,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["s0"] = s0; dict["s1"] = s1; - var op = tf._op_def_lib._apply_op_helper("BroadcastArgs", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BroadcastArgs", name: name, keywords: dict); return op.output; } @@ -4254,7 +4254,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["s0"] = s0; dict["s1"] = s1; - var op = tf._op_def_lib._apply_op_helper("BroadcastGradientArgs", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BroadcastGradientArgs", name: name, keywords: dict); int _idx = 0; var r0 = op.outputs[_idx++]; var r1 = op.outputs[_idx++]; @@ -4301,7 +4301,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input"] = input; dict["shape"] = shape; - var op = tf._op_def_lib._apply_op_helper("BroadcastTo", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BroadcastTo", name: name, keywords: dict); return op.output; } @@ -4343,7 +4343,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input"] = input; dict["boundaries"] = boundaries; - var op = tf._op_def_lib._apply_op_helper("Bucketize", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Bucketize", name: name, keywords: dict); return op.output; } @@ -4373,7 +4373,7 @@ namespace Tensorflow.Operations dict["tag"] = tag; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("BytesProducedStatsDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("BytesProducedStatsDataset", name: name, keywords: dict); return op.output; } @@ -4431,7 +4431,7 @@ namespace Tensorflow.Operations dict["top_paths"] = top_paths; if (merge_repeated.HasValue) dict["merge_repeated"] = merge_repeated.Value; - var op = tf._op_def_lib._apply_op_helper("CTCBeamSearchDecoder", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CTCBeamSearchDecoder", name: name, keywords: dict); int _idx = 0; var decoded_indices = Enumerable.Range(0, op.OutputListLength("decoded_indices")).Select(_ => op.outputs[_idx++]).ToArray(); var decoded_values = Enumerable.Range(0, op.OutputListLength("decoded_values")).Select(_ => op.outputs[_idx++]).ToArray(); @@ -4485,7 +4485,7 @@ namespace Tensorflow.Operations dict["sequence_length"] = sequence_length; if (merge_repeated.HasValue) dict["merge_repeated"] = merge_repeated.Value; - var op = tf._op_def_lib._apply_op_helper("CTCGreedyDecoder", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CTCGreedyDecoder", name: name, keywords: dict); int _idx = 0; var decoded_indices = op.outputs[_idx++]; var decoded_values = op.outputs[_idx++]; @@ -4552,7 +4552,7 @@ namespace Tensorflow.Operations dict["ctc_merge_repeated"] = ctc_merge_repeated.Value; if (ignore_longer_outputs_than_inputs.HasValue) dict["ignore_longer_outputs_than_inputs"] = ignore_longer_outputs_than_inputs.Value; - var op = tf._op_def_lib._apply_op_helper("CTCLoss", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CTCLoss", name: name, keywords: dict); int _idx = 0; var loss = op.outputs[_idx++]; var gradient = op.outputs[_idx++]; @@ -4593,7 +4593,7 @@ namespace Tensorflow.Operations dict["filename"] = filename; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("CacheDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CacheDataset", name: name, keywords: dict); return op.output; } @@ -4620,7 +4620,7 @@ namespace Tensorflow.Operations dict["DstT"] = DstT; if (Truncate.HasValue) dict["Truncate"] = Truncate.Value; - var op = tf._op_def_lib._apply_op_helper("Cast", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Cast", name: name, keywords: dict); return op.output; } @@ -4639,7 +4639,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Ceil", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Ceil", name: name, keywords: dict); return op.output; } @@ -4667,7 +4667,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["tensor"] = tensor; dict["message"] = message; - var op = tf._op_def_lib._apply_op_helper("CheckNumerics", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CheckNumerics", name: name, keywords: dict); return op.output; } @@ -4703,7 +4703,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("Cholesky", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Cholesky", name: name, keywords: dict); return op.output; } @@ -4736,7 +4736,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["l"] = l; dict["grad"] = grad; - var op = tf._op_def_lib._apply_op_helper("CholeskyGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CholeskyGrad", name: name, keywords: dict); return op.output; } @@ -4773,7 +4773,7 @@ namespace Tensorflow.Operations dict["t"] = t; dict["clip_value_min"] = clip_value_min; dict["clip_value_max"] = clip_value_max; - var op = tf._op_def_lib._apply_op_helper("ClipByValue", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ClipByValue", name: name, keywords: dict); return op.output; } @@ -4809,7 +4809,7 @@ namespace Tensorflow.Operations dict["group_key"] = group_key; dict["instance_key"] = instance_key; dict["shape"] = shape; - var op = tf._op_def_lib._apply_op_helper("CollectiveBcastRecv", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CollectiveBcastRecv", name: name, keywords: dict); return op.output; } @@ -4844,7 +4844,7 @@ namespace Tensorflow.Operations dict["group_key"] = group_key; dict["instance_key"] = instance_key; dict["shape"] = shape; - var op = tf._op_def_lib._apply_op_helper("CollectiveBcastSend", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CollectiveBcastSend", name: name, keywords: dict); return op.output; } @@ -4887,7 +4887,7 @@ namespace Tensorflow.Operations dict["merge_op"] = merge_op; dict["final_op"] = final_op; dict["subdiv_offsets"] = subdiv_offsets; - var op = tf._op_def_lib._apply_op_helper("CollectiveReduce", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CollectiveReduce", name: name, keywords: dict); return op.output; } @@ -4937,7 +4937,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input"] = input; dict["threshold"] = threshold; - var op = tf._op_def_lib._apply_op_helper("CompareAndBitpack", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CompareAndBitpack", name: name, keywords: dict); return op.output; } @@ -4979,7 +4979,7 @@ namespace Tensorflow.Operations dict["imag"] = imag; if (Tout.HasValue) dict["Tout"] = Tout.Value; - var op = tf._op_def_lib._apply_op_helper("Complex", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Complex", name: name, keywords: dict); return op.output; } @@ -5008,7 +5008,7 @@ namespace Tensorflow.Operations dict["x"] = x; if (Tout.HasValue) dict["Tout"] = Tout.Value; - var op = tf._op_def_lib._apply_op_helper("ComplexAbs", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ComplexAbs", name: name, keywords: dict); return op.output; } @@ -5061,7 +5061,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("ComputeAccidentalHits", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ComputeAccidentalHits", name: name, keywords: dict); int _idx = 0; var indices = op.outputs[_idx++]; var ids = op.outputs[_idx++]; @@ -5094,7 +5094,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["concat_dim"] = concat_dim; dict["values"] = values; - var op = tf._op_def_lib._apply_op_helper("Concat", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Concat", name: name, keywords: dict); return op.output; } @@ -5132,7 +5132,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["concat_dim"] = concat_dim; dict["shape"] = shape; - var op = tf._op_def_lib._apply_op_helper("ConcatOffset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ConcatOffset", name: name, keywords: dict); int _idx = 0; var offset = Enumerable.Range(0, op.OutputListLength("offset")).Select(_ => op.outputs[_idx++]).ToArray(); return (offset); @@ -5163,7 +5163,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["values"] = values; dict["axis"] = axis; - var op = tf._op_def_lib._apply_op_helper("ConcatV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ConcatV2", name: name, keywords: dict); return op.output; } @@ -5193,7 +5193,7 @@ namespace Tensorflow.Operations dict["another_dataset"] = another_dataset; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("ConcatenateDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ConcatenateDataset", name: name, keywords: dict); return op.output; } @@ -5240,7 +5240,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("ConditionalAccumulator", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ConditionalAccumulator", name: name, keywords: dict); return op.output; } @@ -5277,7 +5277,7 @@ namespace Tensorflow.Operations dict["tpu_embedding_config"] = tpu_embedding_config; if (is_global_init.HasValue) dict["is_global_init"] = is_global_init.Value; - var op = tf._op_def_lib._apply_op_helper("ConfigureDistributedTPU", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ConfigureDistributedTPU", name: name, keywords: dict); return op.output; } @@ -5311,7 +5311,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("Conj", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Conj", name: name, keywords: dict); return op.output; } @@ -5338,7 +5338,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["perm"] = perm; - var op = tf._op_def_lib._apply_op_helper("ConjugateTranspose", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ConjugateTranspose", name: name, keywords: dict); return op.output; } @@ -5363,7 +5363,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["value"] = value; dict["dtype"] = dtype; - var op = tf._op_def_lib._apply_op_helper("Const", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Const", name: name, keywords: dict); return op.output; } @@ -5392,7 +5392,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["mutex_lock"] = mutex_lock; - var op = tf._op_def_lib._apply_op_helper("ConsumeMutexLock", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ConsumeMutexLock", name: name, keywords: dict); return op; } @@ -5411,7 +5411,7 @@ namespace Tensorflow.Operations public static Operation control_trigger (string name = "ControlTrigger") { var dict = new Dictionary(); - var op = tf._op_def_lib._apply_op_helper("ControlTrigger", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ControlTrigger", name: name, keywords: dict); return op; } @@ -5496,7 +5496,7 @@ namespace Tensorflow.Operations dict["data_format"] = data_format; if (dilations != null) dict["dilations"] = dilations; - var op = tf._op_def_lib._apply_op_helper("Conv2D", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Conv2D", name: name, keywords: dict); return op.output; } @@ -5564,7 +5564,7 @@ namespace Tensorflow.Operations dict["data_format"] = data_format; if (dilations != null) dict["dilations"] = dilations; - var op = tf._op_def_lib._apply_op_helper("Conv2DBackpropFilter", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Conv2DBackpropFilter", name: name, keywords: dict); return op.output; } @@ -5631,7 +5631,7 @@ namespace Tensorflow.Operations dict["data_format"] = data_format; if (dilations != null) dict["dilations"] = dilations; - var op = tf._op_def_lib._apply_op_helper("Conv2DBackpropInput", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Conv2DBackpropInput", name: name, keywords: dict); return op.output; } @@ -5692,7 +5692,7 @@ namespace Tensorflow.Operations dict["data_format"] = data_format; if (dilations != null) dict["dilations"] = dilations; - var op = tf._op_def_lib._apply_op_helper("Conv3D", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Conv3D", name: name, keywords: dict); return op.output; } @@ -5737,7 +5737,7 @@ namespace Tensorflow.Operations dict["padding"] = padding; if (dilations != null) dict["dilations"] = dilations; - var op = tf._op_def_lib._apply_op_helper("Conv3DBackpropFilter", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Conv3DBackpropFilter", name: name, keywords: dict); return op.output; } @@ -5798,7 +5798,7 @@ namespace Tensorflow.Operations dict["data_format"] = data_format; if (dilations != null) dict["dilations"] = dilations; - var op = tf._op_def_lib._apply_op_helper("Conv3DBackpropFilterV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Conv3DBackpropFilterV2", name: name, keywords: dict); return op.output; } @@ -5843,7 +5843,7 @@ namespace Tensorflow.Operations dict["padding"] = padding; if (dilations != null) dict["dilations"] = dilations; - var op = tf._op_def_lib._apply_op_helper("Conv3DBackpropInput", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Conv3DBackpropInput", name: name, keywords: dict); return op.output; } @@ -5904,7 +5904,7 @@ namespace Tensorflow.Operations dict["data_format"] = data_format; if (dilations != null) dict["dilations"] = dilations; - var op = tf._op_def_lib._apply_op_helper("Conv3DBackpropInputV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Conv3DBackpropInputV2", name: name, keywords: dict); return op.output; } @@ -5949,7 +5949,7 @@ namespace Tensorflow.Operations dict["tensor_name"] = tensor_name; if (debug_ops_spec != null) dict["debug_ops_spec"] = debug_ops_spec; - var op = tf._op_def_lib._apply_op_helper("Copy", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Copy", name: name, keywords: dict); return op.output; } @@ -5992,7 +5992,7 @@ namespace Tensorflow.Operations dict["tensor_name"] = tensor_name; if (debug_ops_spec != null) dict["debug_ops_spec"] = debug_ops_spec; - var op = tf._op_def_lib._apply_op_helper("CopyHost", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CopyHost", name: name, keywords: dict); return op.output; } @@ -6011,7 +6011,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Cos", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Cos", name: name, keywords: dict); return op.output; } @@ -6030,7 +6030,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Cosh", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Cosh", name: name, keywords: dict); return op.output; } @@ -6058,7 +6058,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["ref"] = referecne; dict["limit"] = limit; - var op = tf._op_def_lib._apply_op_helper("CountUpTo", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CountUpTo", name: name, keywords: dict); return op.output; } @@ -6134,7 +6134,7 @@ namespace Tensorflow.Operations dict["method"] = method; if (extrapolation_value.HasValue) dict["extrapolation_value"] = extrapolation_value.Value; - var op = tf._op_def_lib._apply_op_helper("CropAndResize", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CropAndResize", name: name, keywords: dict); return op.output; } @@ -6184,7 +6184,7 @@ namespace Tensorflow.Operations dict["box_ind"] = box_ind; if (method != null) dict["method"] = method; - var op = tf._op_def_lib._apply_op_helper("CropAndResizeGradBoxes", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CropAndResizeGradBoxes", name: name, keywords: dict); return op.output; } @@ -6239,7 +6239,7 @@ namespace Tensorflow.Operations dict["T"] = T; if (method != null) dict["method"] = method; - var op = tf._op_def_lib._apply_op_helper("CropAndResizeGradImage", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CropAndResizeGradImage", name: name, keywords: dict); return op.output; } @@ -6269,7 +6269,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["a"] = a; dict["b"] = b; - var op = tf._op_def_lib._apply_op_helper("Cross", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Cross", name: name, keywords: dict); return op.output; } @@ -6306,7 +6306,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input"] = input; dict["group_assignment"] = group_assignment; - var op = tf._op_def_lib._apply_op_helper("CrossReplicaSum", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CrossReplicaSum", name: name, keywords: dict); return op.output; } @@ -6399,7 +6399,7 @@ namespace Tensorflow.Operations dict["seed2"] = seed2.Value; if (is_training.HasValue) dict["is_training"] = is_training.Value; - var op = tf._op_def_lib._apply_op_helper("CudnnRNN", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CudnnRNN", name: name, keywords: dict); int _idx = 0; var output = op.outputs[_idx++]; var output_h = op.outputs[_idx++]; @@ -6523,7 +6523,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("CudnnRNNBackprop", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CudnnRNNBackprop", name: name, keywords: dict); int _idx = 0; var input_backprop = op.outputs[_idx++]; var input_h_backprop = op.outputs[_idx++]; @@ -6653,7 +6653,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("CudnnRNNBackpropV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CudnnRNNBackpropV2", name: name, keywords: dict); int _idx = 0; var input_backprop = op.outputs[_idx++]; var input_h_backprop = op.outputs[_idx++]; @@ -6744,7 +6744,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("CudnnRNNCanonicalToParams", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CudnnRNNCanonicalToParams", name: name, keywords: dict); return op.output; } @@ -6824,7 +6824,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("CudnnRNNParamsSize", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CudnnRNNParamsSize", name: name, keywords: dict); return op.output; } @@ -6914,7 +6914,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("CudnnRNNParamsToCanonical", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CudnnRNNParamsToCanonical", name: name, keywords: dict); int _idx = 0; var weights = Enumerable.Range(0, op.OutputListLength("weights")).Select(_ => op.outputs[_idx++]).ToArray(); var biases = Enumerable.Range(0, op.OutputListLength("biases")).Select(_ => op.outputs[_idx++]).ToArray(); @@ -7014,7 +7014,7 @@ namespace Tensorflow.Operations dict["seed2"] = seed2.Value; if (is_training.HasValue) dict["is_training"] = is_training.Value; - var op = tf._op_def_lib._apply_op_helper("CudnnRNNV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("CudnnRNNV2", name: name, keywords: dict); int _idx = 0; var output = op.outputs[_idx++]; var output_h = op.outputs[_idx++]; @@ -7087,7 +7087,7 @@ namespace Tensorflow.Operations dict["exclusive"] = exclusive.Value; if (reverse.HasValue) dict["reverse"] = reverse.Value; - var op = tf._op_def_lib._apply_op_helper("Cumprod", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Cumprod", name: name, keywords: dict); return op.output; } @@ -7154,7 +7154,7 @@ namespace Tensorflow.Operations dict["exclusive"] = exclusive.Value; if (reverse.HasValue) dict["reverse"] = reverse.Value; - var op = tf._op_def_lib._apply_op_helper("Cumsum", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Cumsum", name: name, keywords: dict); return op.output; } @@ -7189,7 +7189,7 @@ namespace Tensorflow.Operations dict["src_format"] = src_format; if (dst_format != null) dict["dst_format"] = dst_format; - var op = tf._op_def_lib._apply_op_helper("DataFormatDimMap", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DataFormatDimMap", name: name, keywords: dict); return op.output; } @@ -7223,7 +7223,7 @@ namespace Tensorflow.Operations dict["src_format"] = src_format; if (dst_format != null) dict["dst_format"] = dst_format; - var op = tf._op_def_lib._apply_op_helper("DataFormatVecPermute", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DataFormatVecPermute", name: name, keywords: dict); return op.output; } @@ -7247,7 +7247,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input_dataset"] = input_dataset; - var op = tf._op_def_lib._apply_op_helper("DatasetToGraph", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DatasetToGraph", name: name, keywords: dict); return op.output; } @@ -7276,7 +7276,7 @@ namespace Tensorflow.Operations dict["dataset"] = dataset; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("DatasetToSingleElement", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DatasetToSingleElement", name: name, keywords: dict); int _idx = 0; var components = Enumerable.Range(0, op.OutputListLength("components")).Select(_ => op.outputs[_idx++]).ToArray(); return (components); @@ -7307,7 +7307,7 @@ namespace Tensorflow.Operations dict["input_dataset"] = input_dataset; dict["filename"] = filename; dict["compression_type"] = compression_type; - var op = tf._op_def_lib._apply_op_helper("DatasetToTFRecord", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DatasetToTFRecord", name: name, keywords: dict); return op; } @@ -7331,7 +7331,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("DebugGradientIdentity", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DebugGradientIdentity", name: name, keywords: dict); return op.output; } @@ -7355,7 +7355,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("DebugGradientRefIdentity", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DebugGradientRefIdentity", name: name, keywords: dict); return op.output; } @@ -7404,7 +7404,7 @@ namespace Tensorflow.Operations dict["debug_urls"] = debug_urls; if (gated_grpc.HasValue) dict["gated_grpc"] = gated_grpc.Value; - var op = tf._op_def_lib._apply_op_helper("DebugIdentity", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DebugIdentity", name: name, keywords: dict); return op.output; } @@ -7453,7 +7453,7 @@ namespace Tensorflow.Operations dict["debug_urls"] = debug_urls; if (gated_grpc.HasValue) dict["gated_grpc"] = gated_grpc.Value; - var op = tf._op_def_lib._apply_op_helper("DebugNanCount", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DebugNanCount", name: name, keywords: dict); return op.output; } @@ -7547,7 +7547,7 @@ namespace Tensorflow.Operations dict["mute_if_healthy"] = mute_if_healthy.Value; if (gated_grpc.HasValue) dict["gated_grpc"] = gated_grpc.Value; - var op = tf._op_def_lib._apply_op_helper("DebugNumericSummary", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DebugNumericSummary", name: name, keywords: dict); return op.output; } @@ -7630,7 +7630,7 @@ namespace Tensorflow.Operations dict["acceptable_fraction"] = acceptable_fraction.Value; if (dct_method != null) dict["dct_method"] = dct_method; - var op = tf._op_def_lib._apply_op_helper("DecodeAndCropJpeg", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DecodeAndCropJpeg", name: name, keywords: dict); return op.output; } @@ -7655,7 +7655,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("DecodeBase64", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DecodeBase64", name: name, keywords: dict); return op.output; } @@ -7690,7 +7690,7 @@ namespace Tensorflow.Operations dict["contents"] = contents; if (channels.HasValue) dict["channels"] = channels.Value; - var op = tf._op_def_lib._apply_op_helper("DecodeBmp", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DecodeBmp", name: name, keywords: dict); return op.output; } @@ -7744,7 +7744,7 @@ namespace Tensorflow.Operations dict["na_value"] = na_value; if (select_cols != null) dict["select_cols"] = select_cols; - var op = tf._op_def_lib._apply_op_helper("DecodeCSV", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DecodeCSV", name: name, keywords: dict); int _idx = 0; var output = Enumerable.Range(0, op.OutputListLength("output")).Select(_ => op.outputs[_idx++]).ToArray(); return (output); @@ -7782,7 +7782,7 @@ namespace Tensorflow.Operations dict["bytes"] = bytes; if (compression_type != null) dict["compression_type"] = compression_type; - var op = tf._op_def_lib._apply_op_helper("DecodeCompressed", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DecodeCompressed", name: name, keywords: dict); return op.output; } @@ -7812,7 +7812,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["contents"] = contents; - var op = tf._op_def_lib._apply_op_helper("DecodeGif", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DecodeGif", name: name, keywords: dict); return op.output; } @@ -7843,7 +7843,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["json_examples"] = json_examples; - var op = tf._op_def_lib._apply_op_helper("DecodeJSONExample", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DecodeJSONExample", name: name, keywords: dict); return op.output; } @@ -7922,7 +7922,7 @@ namespace Tensorflow.Operations dict["acceptable_fraction"] = acceptable_fraction.Value; if (dct_method != null) dict["dct_method"] = dct_method; - var op = tf._op_def_lib._apply_op_helper("DecodeJpeg", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DecodeJpeg", name: name, keywords: dict); return op.output; } @@ -7969,7 +7969,7 @@ namespace Tensorflow.Operations dict["channels"] = channels.Value; if (dtype.HasValue) dict["dtype"] = dtype.Value; - var op = tf._op_def_lib._apply_op_helper("DecodePng", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DecodePng", name: name, keywords: dict); return op.output; } @@ -8078,7 +8078,7 @@ namespace Tensorflow.Operations dict["message_format"] = message_format; if (sanitize.HasValue) dict["sanitize"] = sanitize.Value; - var op = tf._op_def_lib._apply_op_helper("DecodeProtoV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DecodeProtoV2", name: name, keywords: dict); int _idx = 0; var sizes = op.outputs[_idx++]; var values = Enumerable.Range(0, op.OutputListLength("values")).Select(_ => op.outputs[_idx++]).ToArray(); @@ -8115,7 +8115,7 @@ namespace Tensorflow.Operations dict["out_type"] = out_type; if (little_endian.HasValue) dict["little_endian"] = little_endian.Value; - var op = tf._op_def_lib._apply_op_helper("DecodeRaw", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DecodeRaw", name: name, keywords: dict); return op.output; } @@ -8164,7 +8164,7 @@ namespace Tensorflow.Operations dict["desired_channels"] = desired_channels.Value; if (desired_samples.HasValue) dict["desired_samples"] = desired_samples.Value; - var op = tf._op_def_lib._apply_op_helper("DecodeWav", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DecodeWav", name: name, keywords: dict); int _idx = 0; var audio = op.outputs[_idx++]; var sample_rate = op.outputs[_idx++]; @@ -8189,7 +8189,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("DeepCopy", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DeepCopy", name: name, keywords: dict); return op.output; } @@ -8209,7 +8209,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["handle"] = handle; - var op = tf._op_def_lib._apply_op_helper("DeleteSessionTensor", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DeleteSessionTensor", name: name, keywords: dict); return op; } @@ -8258,7 +8258,7 @@ namespace Tensorflow.Operations dict["set_operation"] = set_operation; if (validate_indices.HasValue) dict["validate_indices"] = validate_indices.Value; - var op = tf._op_def_lib._apply_op_helper("DenseToDenseSetOperation", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DenseToDenseSetOperation", name: name, keywords: dict); int _idx = 0; var result_indices = op.outputs[_idx++]; var result_values = op.outputs[_idx++]; @@ -8301,7 +8301,7 @@ namespace Tensorflow.Operations dict["row_shape"] = row_shape; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("DenseToSparseBatchDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DenseToSparseBatchDataset", name: name, keywords: dict); return op.output; } @@ -8369,7 +8369,7 @@ namespace Tensorflow.Operations dict["set_operation"] = set_operation; if (validate_indices.HasValue) dict["validate_indices"] = validate_indices.Value; - var op = tf._op_def_lib._apply_op_helper("DenseToSparseSetOperation", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DenseToSparseSetOperation", name: name, keywords: dict); int _idx = 0; var result_indices = op.outputs[_idx++]; var result_values = op.outputs[_idx++]; @@ -8492,7 +8492,7 @@ namespace Tensorflow.Operations dict["block_size"] = block_size; if (data_format != null) dict["data_format"] = data_format; - var op = tf._op_def_lib._apply_op_helper("DepthToSpace", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DepthToSpace", name: name, keywords: dict); return op.output; } @@ -8563,7 +8563,7 @@ namespace Tensorflow.Operations dict["data_format"] = data_format; if (dilations != null) dict["dilations"] = dilations; - var op = tf._op_def_lib._apply_op_helper("DepthwiseConv2dNative", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DepthwiseConv2dNative", name: name, keywords: dict); return op.output; } @@ -8630,7 +8630,7 @@ namespace Tensorflow.Operations dict["data_format"] = data_format; if (dilations != null) dict["dilations"] = dilations; - var op = tf._op_def_lib._apply_op_helper("DepthwiseConv2dNativeBackpropFilter", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DepthwiseConv2dNativeBackpropFilter", name: name, keywords: dict); return op.output; } @@ -8697,7 +8697,7 @@ namespace Tensorflow.Operations dict["data_format"] = data_format; if (dilations != null) dict["dilations"] = dilations; - var op = tf._op_def_lib._apply_op_helper("DepthwiseConv2dNativeBackpropInput", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DepthwiseConv2dNativeBackpropInput", name: name, keywords: dict); return op.output; } @@ -8803,7 +8803,7 @@ namespace Tensorflow.Operations dict["max_range"] = max_range; if (mode != null) dict["mode"] = mode; - var op = tf._op_def_lib._apply_op_helper("Dequantize", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Dequantize", name: name, keywords: dict); return op.output; } @@ -8828,7 +8828,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["resource_handle"] = resource_handle; dict["serialized"] = serialized; - var op = tf._op_def_lib._apply_op_helper("DeserializeIterator", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DeserializeIterator", name: name, keywords: dict); return op; } @@ -8901,7 +8901,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["serialized_sparse"] = serialized_sparse; dict["dtype"] = dtype; - var op = tf._op_def_lib._apply_op_helper("DeserializeManySparse", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DeserializeManySparse", name: name, keywords: dict); int _idx = 0; var sparse_indices = op.outputs[_idx++]; var sparse_values = op.outputs[_idx++]; @@ -8978,7 +8978,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["serialized_sparse"] = serialized_sparse; dict["dtype"] = dtype; - var op = tf._op_def_lib._apply_op_helper("DeserializeSparse", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DeserializeSparse", name: name, keywords: dict); int _idx = 0; var sparse_indices = op.outputs[_idx++]; var sparse_values = op.outputs[_idx++]; @@ -9012,7 +9012,7 @@ namespace Tensorflow.Operations dict["resource"] = resource; if (ignore_lookup_error.HasValue) dict["ignore_lookup_error"] = ignore_lookup_error.Value; - var op = tf._op_def_lib._apply_op_helper("DestroyResourceOp", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DestroyResourceOp", name: name, keywords: dict); return op; } @@ -9047,7 +9047,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["ref"] = referecne; dict["var_name"] = var_name; - var op = tf._op_def_lib._apply_op_helper("DestroyTemporaryVariable", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DestroyTemporaryVariable", name: name, keywords: dict); return op.output; } @@ -9086,7 +9086,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["diagonal"] = diagonal; - var op = tf._op_def_lib._apply_op_helper("Diag", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Diag", name: name, keywords: dict); return op.output; } @@ -9127,7 +9127,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("DiagPart", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DiagPart", name: name, keywords: dict); return op.output; } @@ -9149,7 +9149,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Digamma", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Digamma", name: name, keywords: dict); return op.output; } @@ -9216,7 +9216,7 @@ namespace Tensorflow.Operations dict["strides"] = strides; dict["rates"] = rates; dict["padding"] = padding; - var op = tf._op_def_lib._apply_op_helper("Dilation2D", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Dilation2D", name: name, keywords: dict); return op.output; } @@ -9262,7 +9262,7 @@ namespace Tensorflow.Operations dict["strides"] = strides; dict["rates"] = rates; dict["padding"] = padding; - var op = tf._op_def_lib._apply_op_helper("Dilation2DBackpropFilter", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Dilation2DBackpropFilter", name: name, keywords: dict); return op.output; } @@ -9308,7 +9308,7 @@ namespace Tensorflow.Operations dict["strides"] = strides; dict["rates"] = rates; dict["padding"] = padding; - var op = tf._op_def_lib._apply_op_helper("Dilation2DBackpropInput", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Dilation2DBackpropInput", name: name, keywords: dict); return op.output; } @@ -9334,7 +9334,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("Div", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Div", name: name, keywords: dict); return op.output; } @@ -9361,7 +9361,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("DivNoNan", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DivNoNan", name: name, keywords: dict); return op.output; } @@ -9401,7 +9401,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["images"] = images; dict["boxes"] = boxes; - var op = tf._op_def_lib._apply_op_helper("DrawBoundingBoxes", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DrawBoundingBoxes", name: name, keywords: dict); return op.output; } @@ -9468,7 +9468,7 @@ namespace Tensorflow.Operations dict["data"] = data; dict["partitions"] = partitions; dict["num_partitions"] = num_partitions; - var op = tf._op_def_lib._apply_op_helper("DynamicPartition", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DynamicPartition", name: name, keywords: dict); int _idx = 0; var outputs = Enumerable.Range(0, op.OutputListLength("outputs")).Select(_ => op.outputs[_idx++]).ToArray(); return (outputs); @@ -9556,7 +9556,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["indices"] = indices; dict["data"] = data; - var op = tf._op_def_lib._apply_op_helper("DynamicStitch", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("DynamicStitch", name: name, keywords: dict); return op.output; } @@ -9646,7 +9646,7 @@ namespace Tensorflow.Operations dict["truth_shape"] = truth_shape; if (normalize.HasValue) dict["normalize"] = normalize.Value; - var op = tf._op_def_lib._apply_op_helper("EditDistance", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("EditDistance", name: name, keywords: dict); return op.output; } @@ -9669,7 +9669,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["features"] = features; - var op = tf._op_def_lib._apply_op_helper("Elu", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Elu", name: name, keywords: dict); return op.output; } @@ -9695,7 +9695,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["gradients"] = gradients; dict["outputs"] = outputs; - var op = tf._op_def_lib._apply_op_helper("EluGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("EluGrad", name: name, keywords: dict); return op.output; } @@ -9727,7 +9727,7 @@ namespace Tensorflow.Operations dict["dtype"] = dtype; if (init.HasValue) dict["init"] = init.Value; - var op = tf._op_def_lib._apply_op_helper("Empty", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Empty", name: name, keywords: dict); return op.output; } @@ -9758,7 +9758,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["element_shape"] = element_shape; dict["element_dtype"] = element_dtype; - var op = tf._op_def_lib._apply_op_helper("EmptyTensorList", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("EmptyTensorList", name: name, keywords: dict); return op.output; } @@ -9792,7 +9792,7 @@ namespace Tensorflow.Operations dict["input"] = input; if (pad.HasValue) dict["pad"] = pad.Value; - var op = tf._op_def_lib._apply_op_helper("EncodeBase64", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("EncodeBase64", name: name, keywords: dict); return op.output; } @@ -9877,7 +9877,7 @@ namespace Tensorflow.Operations dict["y_density"] = y_density.Value; if (xmp_metadata != null) dict["xmp_metadata"] = xmp_metadata; - var op = tf._op_def_lib._apply_op_helper("EncodeJpeg", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("EncodeJpeg", name: name, keywords: dict); return op.output; } @@ -9916,7 +9916,7 @@ namespace Tensorflow.Operations dict["image"] = image; if (compression.HasValue) dict["compression"] = compression.Value; - var op = tf._op_def_lib._apply_op_helper("EncodePng", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("EncodePng", name: name, keywords: dict); return op.output; } @@ -9994,7 +9994,7 @@ namespace Tensorflow.Operations dict["message_type"] = message_type; if (descriptor_source != null) dict["descriptor_source"] = descriptor_source; - var op = tf._op_def_lib._apply_op_helper("EncodeProto", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("EncodeProto", name: name, keywords: dict); return op.output; } @@ -10028,7 +10028,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["audio"] = audio; dict["sample_rate"] = sample_rate; - var op = tf._op_def_lib._apply_op_helper("EncodeWav", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("EncodeWav", name: name, keywords: dict); return op.output; } @@ -10058,7 +10058,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input"] = input; dict["shape"] = shape; - var op = tf._op_def_lib._apply_op_helper("EnsureShape", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("EnsureShape", name: name, keywords: dict); return op.output; } @@ -10101,7 +10101,7 @@ namespace Tensorflow.Operations dict["is_constant"] = is_constant.Value; if (parallel_iterations.HasValue) dict["parallel_iterations"] = parallel_iterations.Value; - var op = tf._op_def_lib._apply_op_helper("Enter", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Enter", name: name, keywords: dict); return op.output; } @@ -10127,7 +10127,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("Equal", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Equal", name: name, keywords: dict); return op.output; } @@ -10146,7 +10146,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Erf", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Erf", name: name, keywords: dict); return op.output; } @@ -10165,7 +10165,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Erfc", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Erfc", name: name, keywords: dict); return op.output; } @@ -10189,7 +10189,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["data"] = data; - var op = tf._op_def_lib._apply_op_helper("Exit", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Exit", name: name, keywords: dict); return op.output; } @@ -10208,7 +10208,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Exp", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Exp", name: name, keywords: dict); return op.output; } @@ -10267,7 +10267,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input"] = input; dict["dim"] = dim; - var op = tf._op_def_lib._apply_op_helper("ExpandDims", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ExpandDims", name: name, keywords: dict); return op.output; } @@ -10289,7 +10289,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Expm1", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Expm1", name: name, keywords: dict); return op.output; } @@ -10364,7 +10364,7 @@ namespace Tensorflow.Operations dict["normalized"] = normalized.Value; if (uniform_noise.HasValue) dict["uniform_noise"] = uniform_noise.Value; - var op = tf._op_def_lib._apply_op_helper("ExtractGlimpse", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ExtractGlimpse", name: name, keywords: dict); return op.output; } @@ -10422,7 +10422,7 @@ namespace Tensorflow.Operations dict["strides"] = strides; dict["rates"] = rates; dict["padding"] = padding; - var op = tf._op_def_lib._apply_op_helper("ExtractImagePatches", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ExtractImagePatches", name: name, keywords: dict); return op.output; } @@ -10452,7 +10452,7 @@ namespace Tensorflow.Operations dict["contents"] = contents; if (output_type.HasValue) dict["output_type"] = output_type.Value; - var op = tf._op_def_lib._apply_op_helper("ExtractJpegShape", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ExtractJpegShape", name: name, keywords: dict); return op.output; } @@ -10482,7 +10482,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("FFT", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FFT", name: name, keywords: dict); return op.output; } @@ -10512,7 +10512,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("FFT2D", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FFT2D", name: name, keywords: dict); return op.output; } @@ -10542,7 +10542,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("FFT3D", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FFT3D", name: name, keywords: dict); return op.output; } @@ -10590,7 +10590,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("FIFOQueue", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FIFOQueue", name: name, keywords: dict); return op.output; } @@ -10638,7 +10638,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("FIFOQueueV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FIFOQueueV2", name: name, keywords: dict); return op.output; } @@ -10669,7 +10669,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["dtype"] = dtype; dict["shape"] = shape; - var op = tf._op_def_lib._apply_op_helper("FakeParam", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FakeParam", name: name, keywords: dict); return op.output; } @@ -10713,7 +10713,7 @@ namespace Tensorflow.Operations dict["num_bits"] = num_bits.Value; if (narrow_range.HasValue) dict["narrow_range"] = narrow_range.Value; - var op = tf._op_def_lib._apply_op_helper("FakeQuantWithMinMaxArgs", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FakeQuantWithMinMaxArgs", name: name, keywords: dict); return op.output; } @@ -10755,7 +10755,7 @@ namespace Tensorflow.Operations dict["num_bits"] = num_bits.Value; if (narrow_range.HasValue) dict["narrow_range"] = narrow_range.Value; - var op = tf._op_def_lib._apply_op_helper("FakeQuantWithMinMaxArgsGradient", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FakeQuantWithMinMaxArgsGradient", name: name, keywords: dict); return op.output; } @@ -10800,7 +10800,7 @@ namespace Tensorflow.Operations dict["num_bits"] = num_bits.Value; if (narrow_range.HasValue) dict["narrow_range"] = narrow_range.Value; - var op = tf._op_def_lib._apply_op_helper("FakeQuantWithMinMaxVars", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FakeQuantWithMinMaxVars", name: name, keywords: dict); return op.output; } @@ -10848,7 +10848,7 @@ namespace Tensorflow.Operations dict["num_bits"] = num_bits.Value; if (narrow_range.HasValue) dict["narrow_range"] = narrow_range.Value; - var op = tf._op_def_lib._apply_op_helper("FakeQuantWithMinMaxVarsGradient", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FakeQuantWithMinMaxVarsGradient", name: name, keywords: dict); int _idx = 0; var backprops_wrt_input = op.outputs[_idx++]; var backprop_wrt_min = op.outputs[_idx++]; @@ -10898,7 +10898,7 @@ namespace Tensorflow.Operations dict["num_bits"] = num_bits.Value; if (narrow_range.HasValue) dict["narrow_range"] = narrow_range.Value; - var op = tf._op_def_lib._apply_op_helper("FakeQuantWithMinMaxVarsPerChannel", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FakeQuantWithMinMaxVarsPerChannel", name: name, keywords: dict); return op.output; } @@ -10949,7 +10949,7 @@ namespace Tensorflow.Operations dict["num_bits"] = num_bits.Value; if (narrow_range.HasValue) dict["narrow_range"] = narrow_range.Value; - var op = tf._op_def_lib._apply_op_helper("FakeQuantWithMinMaxVarsPerChannelGradient", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FakeQuantWithMinMaxVarsPerChannelGradient", name: name, keywords: dict); int _idx = 0; var backprops_wrt_input = op.outputs[_idx++]; var backprop_wrt_min = op.outputs[_idx++]; @@ -10972,7 +10972,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["resource"] = resource; - var op = tf._op_def_lib._apply_op_helper("FakeQueue", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FakeQueue", name: name, keywords: dict); return op.output; } @@ -11021,7 +11021,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["dims"] = dims; dict["value"] = value; - var op = tf._op_def_lib._apply_op_helper("Fill", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Fill", name: name, keywords: dict); return op.output; } @@ -11048,7 +11048,7 @@ namespace Tensorflow.Operations dict["input_dataset"] = input_dataset; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("FilterByLastComponentDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FilterByLastComponentDataset", name: name, keywords: dict); return op.output; } @@ -11087,7 +11087,7 @@ namespace Tensorflow.Operations dict["record_bytes"] = record_bytes; dict["footer_bytes"] = footer_bytes; dict["buffer_size"] = buffer_size; - var op = tf._op_def_lib._apply_op_helper("FixedLengthRecordDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FixedLengthRecordDataset", name: name, keywords: dict); return op.output; } @@ -11137,7 +11137,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("FixedLengthRecordReader", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FixedLengthRecordReader", name: name, keywords: dict); return op.output; } @@ -11193,7 +11193,7 @@ namespace Tensorflow.Operations dict["shared_name"] = shared_name; if (encoding != null) dict["encoding"] = encoding; - var op = tf._op_def_lib._apply_op_helper("FixedLengthRecordReaderV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FixedLengthRecordReaderV2", name: name, keywords: dict); return op.output; } @@ -11321,7 +11321,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("FixedUnigramCandidateSampler", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FixedUnigramCandidateSampler", name: name, keywords: dict); int _idx = 0; var sampled_candidates = op.outputs[_idx++]; var true_expected_count = op.outputs[_idx++]; @@ -11344,7 +11344,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Floor", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Floor", name: name, keywords: dict); return op.output; } @@ -11370,7 +11370,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("FloorDiv", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FloorDiv", name: name, keywords: dict); return op.output; } @@ -11399,7 +11399,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("FloorMod", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FloorMod", name: name, keywords: dict); return op.output; } @@ -11479,7 +11479,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("FractionalAvgPool", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FractionalAvgPool", name: name, keywords: dict); int _idx = 0; var output = op.outputs[_idx++]; var row_pooling_sequence = op.outputs[_idx++]; @@ -11539,7 +11539,7 @@ namespace Tensorflow.Operations dict["col_pooling_sequence"] = col_pooling_sequence; if (overlapping.HasValue) dict["overlapping"] = overlapping.Value; - var op = tf._op_def_lib._apply_op_helper("FractionalAvgPoolGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FractionalAvgPoolGrad", name: name, keywords: dict); return op.output; } @@ -11643,7 +11643,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("FractionalMaxPool", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FractionalMaxPool", name: name, keywords: dict); int _idx = 0; var output = op.outputs[_idx++]; var row_pooling_sequence = op.outputs[_idx++]; @@ -11700,7 +11700,7 @@ namespace Tensorflow.Operations dict["col_pooling_sequence"] = col_pooling_sequence; if (overlapping.HasValue) dict["overlapping"] = overlapping.Value; - var op = tf._op_def_lib._apply_op_helper("FractionalMaxPoolGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FractionalMaxPoolGrad", name: name, keywords: dict); return op.output; } @@ -11768,7 +11768,7 @@ namespace Tensorflow.Operations dict["data_format"] = data_format; if (is_training.HasValue) dict["is_training"] = is_training.Value; - var op = tf._op_def_lib._apply_op_helper("FusedBatchNorm", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FusedBatchNorm", name: name, keywords: dict); int _idx = 0; var y = op.outputs[_idx++]; var batch_mean = op.outputs[_idx++]; @@ -11845,7 +11845,7 @@ namespace Tensorflow.Operations dict["data_format"] = data_format; if (is_training.HasValue) dict["is_training"] = is_training.Value; - var op = tf._op_def_lib._apply_op_helper("FusedBatchNormGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FusedBatchNormGrad", name: name, keywords: dict); int _idx = 0; var x_backprop = op.outputs[_idx++]; var scale_backprop = op.outputs[_idx++]; @@ -11922,7 +11922,7 @@ namespace Tensorflow.Operations dict["data_format"] = data_format; if (is_training.HasValue) dict["is_training"] = is_training.Value; - var op = tf._op_def_lib._apply_op_helper("FusedBatchNormGradV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FusedBatchNormGradV2", name: name, keywords: dict); int _idx = 0; var x_backprop = op.outputs[_idx++]; var scale_backprop = op.outputs[_idx++]; @@ -11996,7 +11996,7 @@ namespace Tensorflow.Operations dict["data_format"] = data_format; if (is_training.HasValue) dict["is_training"] = is_training.Value; - var op = tf._op_def_lib._apply_op_helper("FusedBatchNormV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FusedBatchNormV2", name: name, keywords: dict); int _idx = 0; var y = op.outputs[_idx++]; var batch_mean = op.outputs[_idx++]; @@ -12060,7 +12060,7 @@ namespace Tensorflow.Operations dict["mode"] = mode; dict["strides"] = strides; dict["padding"] = padding; - var op = tf._op_def_lib._apply_op_helper("FusedPadConv2D", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FusedPadConv2D", name: name, keywords: dict); return op.output; } @@ -12128,7 +12128,7 @@ namespace Tensorflow.Operations dict["padding"] = padding; if (resize_align_corners.HasValue) dict["resize_align_corners"] = resize_align_corners.Value; - var op = tf._op_def_lib._apply_op_helper("FusedResizeAndPadConv2D", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("FusedResizeAndPadConv2D", name: name, keywords: dict); return op.output; } @@ -12181,7 +12181,7 @@ namespace Tensorflow.Operations dict["indices"] = indices; if (validate_indices.HasValue) dict["validate_indices"] = validate_indices.Value; - var op = tf._op_def_lib._apply_op_helper("Gather", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Gather", name: name, keywords: dict); return op.output; } @@ -12313,7 +12313,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["params"] = parameters; dict["indices"] = indices; - var op = tf._op_def_lib._apply_op_helper("GatherNd", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("GatherNd", name: name, keywords: dict); return op.output; } @@ -12374,7 +12374,7 @@ namespace Tensorflow.Operations dict["params"] = parameters; dict["indices"] = indices; dict["axis"] = axis; - var op = tf._op_def_lib._apply_op_helper("GatherV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("GatherV2", name: name, keywords: dict); return op.output; } @@ -12449,7 +12449,7 @@ namespace Tensorflow.Operations dict["num_new_vocab"] = num_new_vocab; if (old_vocab_size.HasValue) dict["old_vocab_size"] = old_vocab_size.Value; - var op = tf._op_def_lib._apply_op_helper("GenerateVocabRemapping", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("GenerateVocabRemapping", name: name, keywords: dict); int _idx = 0; var remapping = op.outputs[_idx++]; var num_present = op.outputs[_idx++]; @@ -12474,7 +12474,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["value"] = value; - var op = tf._op_def_lib._apply_op_helper("GetSessionHandle", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("GetSessionHandle", name: name, keywords: dict); return op.output; } @@ -12496,7 +12496,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["value"] = value; - var op = tf._op_def_lib._apply_op_helper("GetSessionHandleV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("GetSessionHandleV2", name: name, keywords: dict); return op.output; } @@ -12522,7 +12522,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["handle"] = handle; dict["dtype"] = dtype; - var op = tf._op_def_lib._apply_op_helper("GetSessionTensor", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("GetSessionTensor", name: name, keywords: dict); return op.output; } @@ -12548,7 +12548,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("Greater", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Greater", name: name, keywords: dict); return op.output; } @@ -12574,7 +12574,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("GreaterEqual", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("GreaterEqual", name: name, keywords: dict); return op.output; } @@ -12601,7 +12601,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("GuaranteeConst", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("GuaranteeConst", name: name, keywords: dict); return op.output; } @@ -12629,7 +12629,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["images"] = images; - var op = tf._op_def_lib._apply_op_helper("HSVToRGB", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("HSVToRGB", name: name, keywords: dict); return op.output; } @@ -12679,7 +12679,7 @@ namespace Tensorflow.Operations dict["shared_name"] = shared_name; if (use_node_name_sharing.HasValue) dict["use_node_name_sharing"] = use_node_name_sharing.Value; - var op = tf._op_def_lib._apply_op_helper("HashTable", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("HashTable", name: name, keywords: dict); return op.output; } @@ -12729,7 +12729,7 @@ namespace Tensorflow.Operations dict["shared_name"] = shared_name; if (use_node_name_sharing.HasValue) dict["use_node_name_sharing"] = use_node_name_sharing.Value; - var op = tf._op_def_lib._apply_op_helper("HashTableV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("HashTableV2", name: name, keywords: dict); return op.output; } @@ -12781,7 +12781,7 @@ namespace Tensorflow.Operations dict["nbins"] = nbins; if (dtype.HasValue) dict["dtype"] = dtype.Value; - var op = tf._op_def_lib._apply_op_helper("HistogramFixedWidth", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("HistogramFixedWidth", name: name, keywords: dict); return op.output; } @@ -12813,7 +12813,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["tag"] = tag; dict["values"] = values; - var op = tf._op_def_lib._apply_op_helper("HistogramSummary", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("HistogramSummary", name: name, keywords: dict); return op.output; } @@ -12838,7 +12838,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["value"] = value; dict["dtype"] = dtype; - var op = tf._op_def_lib._apply_op_helper("HostConst", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("HostConst", name: name, keywords: dict); return op.output; } @@ -12868,7 +12868,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("IFFT", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("IFFT", name: name, keywords: dict); return op.output; } @@ -12898,7 +12898,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("IFFT2D", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("IFFT2D", name: name, keywords: dict); return op.output; } @@ -12928,7 +12928,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("IFFT3D", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("IFFT3D", name: name, keywords: dict); return op.output; } @@ -12974,7 +12974,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input"] = input; dict["fft_length"] = fft_length; - var op = tf._op_def_lib._apply_op_helper("IRFFT", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("IRFFT", name: name, keywords: dict); return op.output; } @@ -13021,7 +13021,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input"] = input; dict["fft_length"] = fft_length; - var op = tf._op_def_lib._apply_op_helper("IRFFT2D", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("IRFFT2D", name: name, keywords: dict); return op.output; } @@ -13068,7 +13068,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input"] = input; dict["fft_length"] = fft_length; - var op = tf._op_def_lib._apply_op_helper("IRFFT3D", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("IRFFT3D", name: name, keywords: dict); return op.output; } @@ -13087,7 +13087,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("Identity", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Identity", name: name, keywords: dict); return op.output; } @@ -13123,7 +13123,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("IdentityN", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("IdentityN", name: name, keywords: dict); int _idx = 0; var output = Enumerable.Range(0, op.OutputListLength("output")).Select(_ => op.outputs[_idx++]).ToArray(); return (output); @@ -13158,7 +13158,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("IdentityReader", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("IdentityReader", name: name, keywords: dict); return op.output; } @@ -13191,7 +13191,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("IdentityReaderV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("IdentityReaderV2", name: name, keywords: dict); return op.output; } @@ -13228,7 +13228,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["a"] = a; dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Igamma", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Igamma", name: name, keywords: dict); return op.output; } @@ -13250,7 +13250,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["a"] = a; dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("IgammaGradA", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("IgammaGradA", name: name, keywords: dict); return op.output; } @@ -13286,7 +13286,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["a"] = a; dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Igammac", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Igammac", name: name, keywords: dict); return op.output; } @@ -13322,7 +13322,7 @@ namespace Tensorflow.Operations dict["input"] = input; if (Tout.HasValue) dict["Tout"] = Tout.Value; - var op = tf._op_def_lib._apply_op_helper("Imag", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Imag", name: name, keywords: dict); return op.output; } @@ -13393,7 +13393,7 @@ namespace Tensorflow.Operations dict["max_images"] = max_images.Value; if (bad_color != null) dict["bad_color"] = bad_color; - var op = tf._op_def_lib._apply_op_helper("ImageSummary", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ImageSummary", name: name, keywords: dict); return op.output; } @@ -13428,7 +13428,7 @@ namespace Tensorflow.Operations dict["dtype"] = dtype; dict["shape"] = shape; dict["memory_region_name"] = memory_region_name; - var op = tf._op_def_lib._apply_op_helper("ImmutableConst", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ImmutableConst", name: name, keywords: dict); return op.output; } @@ -13474,7 +13474,7 @@ namespace Tensorflow.Operations dict["predictions"] = predictions; dict["targets"] = targets; dict["k"] = k; - var op = tf._op_def_lib._apply_op_helper("InTopK", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("InTopK", name: name, keywords: dict); return op.output; } @@ -13519,7 +13519,7 @@ namespace Tensorflow.Operations dict["predictions"] = predictions; dict["targets"] = targets; dict["k"] = k; - var op = tf._op_def_lib._apply_op_helper("InTopKV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("InTopKV2", name: name, keywords: dict); return op.output; } @@ -13546,7 +13546,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["dtype"] = dtype; dict["shape"] = shape; - var op = tf._op_def_lib._apply_op_helper("InfeedDequeue", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("InfeedDequeue", name: name, keywords: dict); return op.output; } @@ -13576,7 +13576,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["dtypes"] = dtypes; dict["shapes"] = shapes; - var op = tf._op_def_lib._apply_op_helper("InfeedDequeueTuple", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("InfeedDequeueTuple", name: name, keywords: dict); int _idx = 0; var outputs = Enumerable.Range(0, op.OutputListLength("outputs")).Select(_ => op.outputs[_idx++]).ToArray(); return (outputs); @@ -13610,7 +13610,7 @@ namespace Tensorflow.Operations dict["shape"] = shape; if (device_ordinal.HasValue) dict["device_ordinal"] = device_ordinal.Value; - var op = tf._op_def_lib._apply_op_helper("InfeedEnqueue", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("InfeedEnqueue", name: name, keywords: dict); return op; } @@ -13642,7 +13642,7 @@ namespace Tensorflow.Operations dict["shapes"] = shapes; if (device_ordinal.HasValue) dict["device_ordinal"] = device_ordinal.Value; - var op = tf._op_def_lib._apply_op_helper("InfeedEnqueueTuple", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("InfeedEnqueueTuple", name: name, keywords: dict); return op; } @@ -13670,7 +13670,7 @@ namespace Tensorflow.Operations dict["table_handle"] = table_handle; dict["keys"] = keys; dict["values"] = values; - var op = tf._op_def_lib._apply_op_helper("InitializeTable", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("InitializeTable", name: name, keywords: dict); return op; } @@ -13727,7 +13727,7 @@ namespace Tensorflow.Operations dict["vocab_size"] = vocab_size.Value; if (delimiter != null) dict["delimiter"] = delimiter; - var op = tf._op_def_lib._apply_op_helper("InitializeTableFromTextFile", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("InitializeTableFromTextFile", name: name, keywords: dict); return op; } @@ -13784,7 +13784,7 @@ namespace Tensorflow.Operations dict["vocab_size"] = vocab_size.Value; if (delimiter != null) dict["delimiter"] = delimiter; - var op = tf._op_def_lib._apply_op_helper("InitializeTableFromTextFileV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("InitializeTableFromTextFileV2", name: name, keywords: dict); return op; } @@ -13812,7 +13812,7 @@ namespace Tensorflow.Operations dict["table_handle"] = table_handle; dict["keys"] = keys; dict["values"] = values; - var op = tf._op_def_lib._apply_op_helper("InitializeTableV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("InitializeTableV2", name: name, keywords: dict); return op; } @@ -13843,7 +13843,7 @@ namespace Tensorflow.Operations dict["x"] = x; dict["i"] = i; dict["v"] = v; - var op = tf._op_def_lib._apply_op_helper("InplaceAdd", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("InplaceAdd", name: name, keywords: dict); return op.output; } @@ -13874,7 +13874,7 @@ namespace Tensorflow.Operations dict["x"] = x; dict["i"] = i; dict["v"] = v; - var op = tf._op_def_lib._apply_op_helper("InplaceSub", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("InplaceSub", name: name, keywords: dict); return op.output; } @@ -13905,7 +13905,7 @@ namespace Tensorflow.Operations dict["x"] = x; dict["i"] = i; dict["v"] = v; - var op = tf._op_def_lib._apply_op_helper("InplaceUpdate", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("InplaceUpdate", name: name, keywords: dict); return op.output; } @@ -13927,7 +13927,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Inv", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Inv", name: name, keywords: dict); return op.output; } @@ -13953,7 +13953,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["y"] = y; dict["dy"] = dy; - var op = tf._op_def_lib._apply_op_helper("InvGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("InvGrad", name: name, keywords: dict); return op.output; } @@ -13976,7 +13976,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Invert", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Invert", name: name, keywords: dict); return op.output; } @@ -14014,7 +14014,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("InvertPermutation", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("InvertPermutation", name: name, keywords: dict); return op.output; } @@ -14035,7 +14035,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["tree_ensemble_handle"] = tree_ensemble_handle; - var op = tf._op_def_lib._apply_op_helper("IsBoostedTreesEnsembleInitialized", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("IsBoostedTreesEnsembleInitialized", name: name, keywords: dict); return op.output; } @@ -14059,7 +14059,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("IsFinite", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("IsFinite", name: name, keywords: dict); return op.output; } @@ -14083,7 +14083,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("IsInf", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("IsInf", name: name, keywords: dict); return op.output; } @@ -14107,7 +14107,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("IsNan", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("IsNan", name: name, keywords: dict); return op.output; } @@ -14130,7 +14130,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["ref"] = referecne; - var op = tf._op_def_lib._apply_op_helper("IsVariableInitialized", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("IsVariableInitialized", name: name, keywords: dict); return op.output; } @@ -14164,7 +14164,7 @@ namespace Tensorflow.Operations dict["container"] = container; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("Iterator", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Iterator", name: name, keywords: dict); return op.output; } @@ -14197,7 +14197,7 @@ namespace Tensorflow.Operations dict["output_types"] = output_types; if (output_shapes != null) dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("IteratorFromStringHandle", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("IteratorFromStringHandle", name: name, keywords: dict); return op.output; } @@ -14224,7 +14224,7 @@ namespace Tensorflow.Operations dict["iterator"] = iterator; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("IteratorGetNext", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("IteratorGetNext", name: name, keywords: dict); int _idx = 0; var components = Enumerable.Range(0, op.OutputListLength("components")).Select(_ => op.outputs[_idx++]).ToArray(); return (components); @@ -14253,7 +14253,7 @@ namespace Tensorflow.Operations dict["iterator"] = iterator; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("IteratorGetNextAsOptional", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("IteratorGetNextAsOptional", name: name, keywords: dict); return op.output; } @@ -14286,7 +14286,7 @@ namespace Tensorflow.Operations dict["iterator"] = iterator; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("IteratorGetNextSync", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("IteratorGetNextSync", name: name, keywords: dict); int _idx = 0; var components = Enumerable.Range(0, op.OutputListLength("components")).Select(_ => op.outputs[_idx++]).ToArray(); return (components); @@ -14309,7 +14309,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["resource_handle"] = resource_handle; - var op = tf._op_def_lib._apply_op_helper("IteratorToStringHandle", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("IteratorToStringHandle", name: name, keywords: dict); return op.output; } @@ -14335,7 +14335,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["t"] = t; - var op = tf._op_def_lib._apply_op_helper("L2Loss", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("L2Loss", name: name, keywords: dict); return op.output; } @@ -14364,7 +14364,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("LMDBReader", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LMDBReader", name: name, keywords: dict); return op.output; } @@ -14417,7 +14417,7 @@ namespace Tensorflow.Operations dict["alpha"] = alpha.Value; if (beta.HasValue) dict["beta"] = beta.Value; - var op = tf._op_def_lib._apply_op_helper("LRN", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LRN", name: name, keywords: dict); return op.output; } @@ -14466,7 +14466,7 @@ namespace Tensorflow.Operations dict["alpha"] = alpha.Value; if (beta.HasValue) dict["beta"] = beta.Value; - var op = tf._op_def_lib._apply_op_helper("LRNGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LRNGrad", name: name, keywords: dict); return op.output; } @@ -14496,7 +14496,7 @@ namespace Tensorflow.Operations dict["tag"] = tag; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("LatencyStatsDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LatencyStatsDataset", name: name, keywords: dict); return op.output; } @@ -14572,7 +14572,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("LearnedUnigramCandidateSampler", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LearnedUnigramCandidateSampler", name: name, keywords: dict); int _idx = 0; var sampled_candidates = op.outputs[_idx++]; var true_expected_count = op.outputs[_idx++]; @@ -14602,7 +14602,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("LeftShift", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LeftShift", name: name, keywords: dict); return op.output; } @@ -14628,7 +14628,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("Less", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Less", name: name, keywords: dict); return op.output; } @@ -14654,7 +14654,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("LessEqual", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LessEqual", name: name, keywords: dict); return op.output; } @@ -14673,7 +14673,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Lgamma", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Lgamma", name: name, keywords: dict); return op.output; } @@ -14713,7 +14713,7 @@ namespace Tensorflow.Operations dict["start"] = start; dict["stop"] = stop; dict["num"] = num; - var op = tf._op_def_lib._apply_op_helper("LinSpace", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LinSpace", name: name, keywords: dict); return op.output; } @@ -14767,7 +14767,7 @@ namespace Tensorflow.Operations dict["y"] = y; if (out_idx.HasValue) dict["out_idx"] = out_idx.Value; - var op = tf._op_def_lib._apply_op_helper("ListDiff", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ListDiff", name: name, keywords: dict); int _idx = 0; var output = op.outputs[_idx++]; var idx = op.outputs[_idx++]; @@ -14869,7 +14869,7 @@ namespace Tensorflow.Operations dict["num_cols"] = num_cols; if (max_rows_in_memory.HasValue) dict["max_rows_in_memory"] = max_rows_in_memory.Value; - var op = tf._op_def_lib._apply_op_helper("LoadAndRemapMatrix", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LoadAndRemapMatrix", name: name, keywords: dict); return op.output; } @@ -14891,7 +14891,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Log", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Log", name: name, keywords: dict); return op.output; } @@ -14913,7 +14913,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Log1p", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Log1p", name: name, keywords: dict); return op.output; } @@ -14948,7 +14948,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("LogMatrixDeterminant", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LogMatrixDeterminant", name: name, keywords: dict); int _idx = 0; var sign = op.outputs[_idx++]; var log_abs_determinant = op.outputs[_idx++]; @@ -14977,7 +14977,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["logits"] = logits; - var op = tf._op_def_lib._apply_op_helper("LogSoftmax", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LogSoftmax", name: name, keywords: dict); return op.output; } @@ -15053,7 +15053,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("LogUniformCandidateSampler", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LogUniformCandidateSampler", name: name, keywords: dict); int _idx = 0; var sampled_candidates = op.outputs[_idx++]; var true_expected_count = op.outputs[_idx++]; @@ -15083,7 +15083,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("LogicalAnd", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LogicalAnd", name: name, keywords: dict); return op.output; } @@ -15102,7 +15102,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("LogicalNot", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LogicalNot", name: name, keywords: dict); return op.output; } @@ -15128,7 +15128,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("LogicalOr", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LogicalOr", name: name, keywords: dict); return op.output; } @@ -15159,7 +15159,7 @@ namespace Tensorflow.Operations dict["table_handle"] = table_handle; dict["Tkeys"] = Tkeys; dict["Tvalues"] = Tvalues; - var op = tf._op_def_lib._apply_op_helper("LookupTableExport", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LookupTableExport", name: name, keywords: dict); int _idx = 0; var keys = op.outputs[_idx++]; var values = op.outputs[_idx++]; @@ -15193,7 +15193,7 @@ namespace Tensorflow.Operations dict["table_handle"] = table_handle; dict["Tkeys"] = Tkeys; dict["Tvalues"] = Tvalues; - var op = tf._op_def_lib._apply_op_helper("LookupTableExportV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LookupTableExportV2", name: name, keywords: dict); int _idx = 0; var keys = op.outputs[_idx++]; var values = op.outputs[_idx++]; @@ -15232,7 +15232,7 @@ namespace Tensorflow.Operations dict["table_handle"] = table_handle; dict["keys"] = keys; dict["default_value"] = default_value; - var op = tf._op_def_lib._apply_op_helper("LookupTableFind", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LookupTableFind", name: name, keywords: dict); return op.output; } @@ -15268,7 +15268,7 @@ namespace Tensorflow.Operations dict["table_handle"] = table_handle; dict["keys"] = keys; dict["default_value"] = default_value; - var op = tf._op_def_lib._apply_op_helper("LookupTableFindV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LookupTableFindV2", name: name, keywords: dict); return op.output; } @@ -15300,7 +15300,7 @@ namespace Tensorflow.Operations dict["table_handle"] = table_handle; dict["keys"] = keys; dict["values"] = values; - var op = tf._op_def_lib._apply_op_helper("LookupTableImport", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LookupTableImport", name: name, keywords: dict); return op; } @@ -15332,7 +15332,7 @@ namespace Tensorflow.Operations dict["table_handle"] = table_handle; dict["keys"] = keys; dict["values"] = values; - var op = tf._op_def_lib._apply_op_helper("LookupTableImportV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LookupTableImportV2", name: name, keywords: dict); return op; } @@ -15364,7 +15364,7 @@ namespace Tensorflow.Operations dict["table_handle"] = table_handle; dict["keys"] = keys; dict["values"] = values; - var op = tf._op_def_lib._apply_op_helper("LookupTableInsert", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LookupTableInsert", name: name, keywords: dict); return op; } @@ -15396,7 +15396,7 @@ namespace Tensorflow.Operations dict["table_handle"] = table_handle; dict["keys"] = keys; dict["values"] = values; - var op = tf._op_def_lib._apply_op_helper("LookupTableInsertV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LookupTableInsertV2", name: name, keywords: dict); return op; } @@ -15417,7 +15417,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["table_handle"] = table_handle; - var op = tf._op_def_lib._apply_op_helper("LookupTableSize", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LookupTableSize", name: name, keywords: dict); return op.output; } @@ -15438,7 +15438,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["table_handle"] = table_handle; - var op = tf._op_def_lib._apply_op_helper("LookupTableSizeV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LookupTableSizeV2", name: name, keywords: dict); return op.output; } @@ -15463,7 +15463,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("LoopCond", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("LoopCond", name: name, keywords: dict); return op.output; } @@ -15489,7 +15489,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["dataset"] = dataset; dict["iterator"] = iterator; - var op = tf._op_def_lib._apply_op_helper("MakeIterator", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MakeIterator", name: name, keywords: dict); return op; } @@ -15525,7 +15525,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("MapClear", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MapClear", name: name, keywords: dict); return op; } @@ -15561,7 +15561,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("MapIncompleteSize", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MapIncompleteSize", name: name, keywords: dict); return op.output; } @@ -15607,7 +15607,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("MapPeek", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MapPeek", name: name, keywords: dict); int _idx = 0; var values = Enumerable.Range(0, op.OutputListLength("values")).Select(_ => op.outputs[_idx++]).ToArray(); return (values); @@ -15645,7 +15645,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("MapSize", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MapSize", name: name, keywords: dict); return op.output; } @@ -15698,7 +15698,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("MapStage", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MapStage", name: name, keywords: dict); return op; } @@ -15744,7 +15744,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("MapUnstage", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MapUnstage", name: name, keywords: dict); int _idx = 0; var values = Enumerable.Range(0, op.OutputListLength("values")).Select(_ => op.outputs[_idx++]).ToArray(); return (values); @@ -15792,7 +15792,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("MapUnstageNoKey", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MapUnstageNoKey", name: name, keywords: dict); int _idx = 0; var key = op.outputs[_idx++]; var values = Enumerable.Range(0, op.OutputListLength("values")).Select(_ => op.outputs[_idx++]).ToArray(); @@ -15836,7 +15836,7 @@ namespace Tensorflow.Operations dict["transpose_a"] = transpose_a.Value; if (transpose_b.HasValue) dict["transpose_b"] = transpose_b.Value; - var op = tf._op_def_lib._apply_op_helper("MatMul", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MatMul", name: name, keywords: dict); return op.output; } @@ -15862,7 +15862,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["pattern"] = pattern; - var op = tf._op_def_lib._apply_op_helper("MatchingFiles", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MatchingFiles", name: name, keywords: dict); return op.output; } @@ -15934,7 +15934,7 @@ namespace Tensorflow.Operations dict["input"] = input; dict["num_lower"] = num_lower; dict["num_upper"] = num_upper; - var op = tf._op_def_lib._apply_op_helper("MatrixBandPart", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MatrixBandPart", name: name, keywords: dict); return op.output; } @@ -15960,7 +15960,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("MatrixDeterminant", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MatrixDeterminant", name: name, keywords: dict); return op.output; } @@ -16009,7 +16009,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["diagonal"] = diagonal; - var op = tf._op_def_lib._apply_op_helper("MatrixDiag", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MatrixDiag", name: name, keywords: dict); return op.output; } @@ -16061,7 +16061,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("MatrixDiagPart", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MatrixDiagPart", name: name, keywords: dict); return op.output; } @@ -16080,7 +16080,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("MatrixExponential", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MatrixExponential", name: name, keywords: dict); return op.output; } @@ -16122,7 +16122,7 @@ namespace Tensorflow.Operations dict["input"] = input; if (adjoint.HasValue) dict["adjoint"] = adjoint.Value; - var op = tf._op_def_lib._apply_op_helper("MatrixInverse", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MatrixInverse", name: name, keywords: dict); return op.output; } @@ -16164,7 +16164,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("MatrixLogarithm", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MatrixLogarithm", name: name, keywords: dict); return op.output; } @@ -16203,7 +16203,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input"] = input; dict["diagonal"] = diagonal; - var op = tf._op_def_lib._apply_op_helper("MatrixSetDiag", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MatrixSetDiag", name: name, keywords: dict); return op.output; } @@ -16242,7 +16242,7 @@ namespace Tensorflow.Operations dict["rhs"] = rhs; if (adjoint.HasValue) dict["adjoint"] = adjoint.Value; - var op = tf._op_def_lib._apply_op_helper("MatrixSolve", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MatrixSolve", name: name, keywords: dict); return op.output; } @@ -16315,7 +16315,7 @@ namespace Tensorflow.Operations dict["l2_regularizer"] = l2_regularizer; if (fast.HasValue) dict["fast"] = fast.Value; - var op = tf._op_def_lib._apply_op_helper("MatrixSolveLs", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MatrixSolveLs", name: name, keywords: dict); return op.output; } @@ -16373,7 +16373,7 @@ namespace Tensorflow.Operations dict["lower"] = lower.Value; if (adjoint.HasValue) dict["adjoint"] = adjoint.Value; - var op = tf._op_def_lib._apply_op_helper("MatrixTriangularSolve", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MatrixTriangularSolve", name: name, keywords: dict); return op.output; } @@ -16410,7 +16410,7 @@ namespace Tensorflow.Operations dict["reduction_indices"] = reduction_indices; if (keep_dims.HasValue) dict["keep_dims"] = keep_dims.Value; - var op = tf._op_def_lib._apply_op_helper("Max", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Max", name: name, keywords: dict); return op.output; } @@ -16456,7 +16456,7 @@ namespace Tensorflow.Operations dict["padding"] = padding; if (data_format != null) dict["data_format"] = data_format; - var op = tf._op_def_lib._apply_op_helper("MaxPool", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MaxPool", name: name, keywords: dict); return op.output; } @@ -16503,7 +16503,7 @@ namespace Tensorflow.Operations dict["padding"] = padding; if (data_format != null) dict["data_format"] = data_format; - var op = tf._op_def_lib._apply_op_helper("MaxPool3D", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MaxPool3D", name: name, keywords: dict); return op.output; } @@ -16557,7 +16557,7 @@ namespace Tensorflow.Operations dict["padding"] = padding; if (data_format != null) dict["data_format"] = data_format; - var op = tf._op_def_lib._apply_op_helper("MaxPool3DGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MaxPool3DGrad", name: name, keywords: dict); return op.output; } @@ -16612,7 +16612,7 @@ namespace Tensorflow.Operations dict["padding"] = padding; if (data_format != null) dict["data_format"] = data_format; - var op = tf._op_def_lib._apply_op_helper("MaxPool3DGradGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MaxPool3DGradGrad", name: name, keywords: dict); return op.output; } @@ -16666,7 +16666,7 @@ namespace Tensorflow.Operations dict["padding"] = padding; if (data_format != null) dict["data_format"] = data_format; - var op = tf._op_def_lib._apply_op_helper("MaxPoolGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MaxPoolGrad", name: name, keywords: dict); return op.output; } @@ -16720,7 +16720,7 @@ namespace Tensorflow.Operations dict["padding"] = padding; if (data_format != null) dict["data_format"] = data_format; - var op = tf._op_def_lib._apply_op_helper("MaxPoolGradGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MaxPoolGradGrad", name: name, keywords: dict); return op.output; } @@ -16772,7 +16772,7 @@ namespace Tensorflow.Operations dict["padding"] = padding; if (data_format != null) dict["data_format"] = data_format; - var op = tf._op_def_lib._apply_op_helper("MaxPoolGradGradV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MaxPoolGradGradV2", name: name, keywords: dict); return op.output; } @@ -16818,7 +16818,7 @@ namespace Tensorflow.Operations dict["ksize"] = ksize; dict["strides"] = strides; dict["padding"] = padding; - var op = tf._op_def_lib._apply_op_helper("MaxPoolGradGradWithArgmax", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MaxPoolGradGradWithArgmax", name: name, keywords: dict); return op.output; } @@ -16870,7 +16870,7 @@ namespace Tensorflow.Operations dict["padding"] = padding; if (data_format != null) dict["data_format"] = data_format; - var op = tf._op_def_lib._apply_op_helper("MaxPoolGradV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MaxPoolGradV2", name: name, keywords: dict); return op.output; } @@ -16916,7 +16916,7 @@ namespace Tensorflow.Operations dict["ksize"] = ksize; dict["strides"] = strides; dict["padding"] = padding; - var op = tf._op_def_lib._apply_op_helper("MaxPoolGradWithArgmax", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MaxPoolGradWithArgmax", name: name, keywords: dict); return op.output; } @@ -16960,7 +16960,7 @@ namespace Tensorflow.Operations dict["padding"] = padding; if (data_format != null) dict["data_format"] = data_format; - var op = tf._op_def_lib._apply_op_helper("MaxPoolV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MaxPoolV2", name: name, keywords: dict); return op.output; } @@ -17013,7 +17013,7 @@ namespace Tensorflow.Operations dict["padding"] = padding; if (Targmax.HasValue) dict["Targmax"] = Targmax.Value; - var op = tf._op_def_lib._apply_op_helper("MaxPoolWithArgmax", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MaxPoolWithArgmax", name: name, keywords: dict); int _idx = 0; var output = op.outputs[_idx++]; var argmax = op.outputs[_idx++]; @@ -17042,7 +17042,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("Maximum", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Maximum", name: name, keywords: dict); return op.output; } @@ -17079,7 +17079,7 @@ namespace Tensorflow.Operations dict["reduction_indices"] = reduction_indices; if (keep_dims.HasValue) dict["keep_dims"] = keep_dims.Value; - var op = tf._op_def_lib._apply_op_helper("Mean", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Mean", name: name, keywords: dict); return op.output; } @@ -17109,7 +17109,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["inputs"] = inputs; - var op = tf._op_def_lib._apply_op_helper("Merge", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Merge", name: name, keywords: dict); int _idx = 0; var output = op.outputs[_idx++]; var value_index = op.outputs[_idx++]; @@ -17143,7 +17143,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["inputs"] = inputs; - var op = tf._op_def_lib._apply_op_helper("MergeSummary", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MergeSummary", name: name, keywords: dict); return op.output; } @@ -17183,7 +17183,7 @@ namespace Tensorflow.Operations dict["destination_prefix"] = destination_prefix; if (delete_old_dirs.HasValue) dict["delete_old_dirs"] = delete_old_dirs.Value; - var op = tf._op_def_lib._apply_op_helper("MergeV2Checkpoints", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MergeV2Checkpoints", name: name, keywords: dict); return op; } @@ -17238,7 +17238,7 @@ namespace Tensorflow.Operations dict["filterbank_channel_count"] = filterbank_channel_count.Value; if (dct_coefficient_count.HasValue) dict["dct_coefficient_count"] = dct_coefficient_count.Value; - var op = tf._op_def_lib._apply_op_helper("Mfcc", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Mfcc", name: name, keywords: dict); return op.output; } @@ -17275,7 +17275,7 @@ namespace Tensorflow.Operations dict["reduction_indices"] = reduction_indices; if (keep_dims.HasValue) dict["keep_dims"] = keep_dims.Value; - var op = tf._op_def_lib._apply_op_helper("Min", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Min", name: name, keywords: dict); return op.output; } @@ -17301,7 +17301,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("Minimum", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Minimum", name: name, keywords: dict); return op.output; } @@ -17363,7 +17363,7 @@ namespace Tensorflow.Operations dict["input"] = input; dict["paddings"] = paddings; dict["mode"] = mode; - var op = tf._op_def_lib._apply_op_helper("MirrorPad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MirrorPad", name: name, keywords: dict); return op.output; } @@ -17414,7 +17414,7 @@ namespace Tensorflow.Operations dict["input"] = input; dict["paddings"] = paddings; dict["mode"] = mode; - var op = tf._op_def_lib._apply_op_helper("MirrorPadGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MirrorPadGrad", name: name, keywords: dict); return op.output; } @@ -17443,7 +17443,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("Mod", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Mod", name: name, keywords: dict); return op.output; } @@ -17469,7 +17469,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("Mul", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Mul", name: name, keywords: dict); return op.output; } @@ -17511,7 +17511,7 @@ namespace Tensorflow.Operations dict["seed2"] = seed2.Value; if (output_dtype.HasValue) dict["output_dtype"] = output_dtype.Value; - var op = tf._op_def_lib._apply_op_helper("Multinomial", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Multinomial", name: name, keywords: dict); return op.output; } @@ -17579,7 +17579,7 @@ namespace Tensorflow.Operations dict["initial_num_buckets"] = initial_num_buckets.Value; if (max_load_factor.HasValue) dict["max_load_factor"] = max_load_factor.Value; - var op = tf._op_def_lib._apply_op_helper("MutableDenseHashTable", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MutableDenseHashTable", name: name, keywords: dict); return op.output; } @@ -17647,7 +17647,7 @@ namespace Tensorflow.Operations dict["initial_num_buckets"] = initial_num_buckets.Value; if (max_load_factor.HasValue) dict["max_load_factor"] = max_load_factor.Value; - var op = tf._op_def_lib._apply_op_helper("MutableDenseHashTableV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MutableDenseHashTableV2", name: name, keywords: dict); return op.output; } @@ -17697,7 +17697,7 @@ namespace Tensorflow.Operations dict["shared_name"] = shared_name; if (use_node_name_sharing.HasValue) dict["use_node_name_sharing"] = use_node_name_sharing.Value; - var op = tf._op_def_lib._apply_op_helper("MutableHashTable", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MutableHashTable", name: name, keywords: dict); return op.output; } @@ -17749,7 +17749,7 @@ namespace Tensorflow.Operations dict["use_node_name_sharing"] = use_node_name_sharing.Value; if (value_shape != null) dict["value_shape"] = value_shape; - var op = tf._op_def_lib._apply_op_helper("MutableHashTableOfTensors", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MutableHashTableOfTensors", name: name, keywords: dict); return op.output; } @@ -17801,7 +17801,7 @@ namespace Tensorflow.Operations dict["use_node_name_sharing"] = use_node_name_sharing.Value; if (value_shape != null) dict["value_shape"] = value_shape; - var op = tf._op_def_lib._apply_op_helper("MutableHashTableOfTensorsV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MutableHashTableOfTensorsV2", name: name, keywords: dict); return op.output; } @@ -17851,7 +17851,7 @@ namespace Tensorflow.Operations dict["shared_name"] = shared_name; if (use_node_name_sharing.HasValue) dict["use_node_name_sharing"] = use_node_name_sharing.Value; - var op = tf._op_def_lib._apply_op_helper("MutableHashTableV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MutableHashTableV2", name: name, keywords: dict); return op.output; } @@ -17914,7 +17914,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["mutex"] = mutex; - var op = tf._op_def_lib._apply_op_helper("MutexLock", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MutexLock", name: name, keywords: dict); return op.output; } @@ -17943,7 +17943,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("MutexV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("MutexV2", name: name, keywords: dict); return op.output; } @@ -17965,7 +17965,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Neg", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Neg", name: name, keywords: dict); return op.output; } @@ -18010,7 +18010,7 @@ namespace Tensorflow.Operations dict["lr"] = lr; dict["vocab_count"] = vocab_count; dict["num_negative_samples"] = num_negative_samples; - var op = tf._op_def_lib._apply_op_helper("NegTrain", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("NegTrain", name: name, keywords: dict); return op; } @@ -18031,7 +18031,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["data"] = data; - var op = tf._op_def_lib._apply_op_helper("NextIteration", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("NextIteration", name: name, keywords: dict); return op.output; } @@ -18047,7 +18047,7 @@ namespace Tensorflow.Operations public static Operation no_op (string name = "NoOp") { var dict = new Dictionary(); - var op = tf._op_def_lib._apply_op_helper("NoOp", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("NoOp", name: name, keywords: dict); return op; } @@ -18103,7 +18103,7 @@ namespace Tensorflow.Operations dict["max_output_size"] = max_output_size; if (iou_threshold.HasValue) dict["iou_threshold"] = iou_threshold.Value; - var op = tf._op_def_lib._apply_op_helper("NonMaxSuppression", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("NonMaxSuppression", name: name, keywords: dict); return op.output; } @@ -18160,7 +18160,7 @@ namespace Tensorflow.Operations dict["scores"] = scores; dict["max_output_size"] = max_output_size; dict["iou_threshold"] = iou_threshold; - var op = tf._op_def_lib._apply_op_helper("NonMaxSuppressionV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("NonMaxSuppressionV2", name: name, keywords: dict); return op.output; } @@ -18221,7 +18221,7 @@ namespace Tensorflow.Operations dict["max_output_size"] = max_output_size; dict["iou_threshold"] = iou_threshold; dict["score_threshold"] = score_threshold; - var op = tf._op_def_lib._apply_op_helper("NonMaxSuppressionV3", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("NonMaxSuppressionV3", name: name, keywords: dict); return op.output; } @@ -18291,7 +18291,7 @@ namespace Tensorflow.Operations dict["score_threshold"] = score_threshold; if (pad_to_max_output_size.HasValue) dict["pad_to_max_output_size"] = pad_to_max_output_size.Value; - var op = tf._op_def_lib._apply_op_helper("NonMaxSuppressionV4", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("NonMaxSuppressionV4", name: name, keywords: dict); int _idx = 0; var selected_indices = op.outputs[_idx++]; var valid_outputs = op.outputs[_idx++]; @@ -18353,7 +18353,7 @@ namespace Tensorflow.Operations dict["max_output_size"] = max_output_size; dict["overlap_threshold"] = overlap_threshold; dict["score_threshold"] = score_threshold; - var op = tf._op_def_lib._apply_op_helper("NonMaxSuppressionWithOverlaps", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("NonMaxSuppressionWithOverlaps", name: name, keywords: dict); return op.output; } @@ -18379,7 +18379,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("NotEqual", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("NotEqual", name: name, keywords: dict); return op.output; } @@ -18420,7 +18420,7 @@ namespace Tensorflow.Operations dict["n"] = n; if (reverse.HasValue) dict["reverse"] = reverse.Value; - var op = tf._op_def_lib._apply_op_helper("NthElement", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("NthElement", name: name, keywords: dict); return op.output; } @@ -18552,7 +18552,7 @@ namespace Tensorflow.Operations dict["off_value"] = off_value; if (axis.HasValue) dict["axis"] = axis.Value; - var op = tf._op_def_lib._apply_op_helper("OneHot", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("OneHot", name: name, keywords: dict); return op.output; } @@ -18573,7 +18573,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("OnesLike", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("OnesLike", name: name, keywords: dict); return op.output; } @@ -18608,7 +18608,7 @@ namespace Tensorflow.Operations dict["optimizations"] = optimizations; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("OptimizeDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("OptimizeDataset", name: name, keywords: dict); return op.output; } @@ -18627,7 +18627,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["components"] = components; - var op = tf._op_def_lib._apply_op_helper("OptionalFromValue", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("OptionalFromValue", name: name, keywords: dict); return op.output; } @@ -18654,7 +18654,7 @@ namespace Tensorflow.Operations dict["optional"] = optional; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("OptionalGetValue", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("OptionalGetValue", name: name, keywords: dict); int _idx = 0; var components = Enumerable.Range(0, op.OutputListLength("components")).Select(_ => op.outputs[_idx++]).ToArray(); return (components); @@ -18675,7 +18675,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["optional"] = optional; - var op = tf._op_def_lib._apply_op_helper("OptionalHasValue", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("OptionalHasValue", name: name, keywords: dict); return op.output; } @@ -18691,7 +18691,7 @@ namespace Tensorflow.Operations public static Tensor optional_none (string name = "OptionalNone") { var dict = new Dictionary(); - var op = tf._op_def_lib._apply_op_helper("OptionalNone", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("OptionalNone", name: name, keywords: dict); return op.output; } @@ -18727,7 +18727,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("OrderedMapClear", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("OrderedMapClear", name: name, keywords: dict); return op; } @@ -18763,7 +18763,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("OrderedMapIncompleteSize", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("OrderedMapIncompleteSize", name: name, keywords: dict); return op.output; } @@ -18810,7 +18810,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("OrderedMapPeek", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("OrderedMapPeek", name: name, keywords: dict); int _idx = 0; var values = Enumerable.Range(0, op.OutputListLength("values")).Select(_ => op.outputs[_idx++]).ToArray(); return (values); @@ -18848,7 +18848,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("OrderedMapSize", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("OrderedMapSize", name: name, keywords: dict); return op.output; } @@ -18904,7 +18904,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("OrderedMapStage", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("OrderedMapStage", name: name, keywords: dict); return op; } @@ -18950,7 +18950,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("OrderedMapUnstage", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("OrderedMapUnstage", name: name, keywords: dict); int _idx = 0; var values = Enumerable.Range(0, op.OutputListLength("values")).Select(_ => op.outputs[_idx++]).ToArray(); return (values); @@ -18998,7 +18998,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("OrderedMapUnstageNoKey", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("OrderedMapUnstageNoKey", name: name, keywords: dict); int _idx = 0; var key = op.outputs[_idx++]; var values = Enumerable.Range(0, op.OutputListLength("values")).Select(_ => op.outputs[_idx++]).ToArray(); @@ -19038,7 +19038,7 @@ namespace Tensorflow.Operations dict["shape"] = shape; if (device_ordinal.HasValue) dict["device_ordinal"] = device_ordinal.Value; - var op = tf._op_def_lib._apply_op_helper("OutfeedDequeue", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("OutfeedDequeue", name: name, keywords: dict); return op.output; } @@ -19076,7 +19076,7 @@ namespace Tensorflow.Operations dict["shapes"] = shapes; if (device_ordinal.HasValue) dict["device_ordinal"] = device_ordinal.Value; - var op = tf._op_def_lib._apply_op_helper("OutfeedDequeueTuple", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("OutfeedDequeueTuple", name: name, keywords: dict); int _idx = 0; var outputs = Enumerable.Range(0, op.OutputListLength("outputs")).Select(_ => op.outputs[_idx++]).ToArray(); return (outputs); @@ -19098,7 +19098,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("OutfeedEnqueue", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("OutfeedEnqueue", name: name, keywords: dict); return op; } @@ -19119,7 +19119,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["inputs"] = inputs; - var op = tf._op_def_lib._apply_op_helper("OutfeedEnqueueTuple", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("OutfeedEnqueueTuple", name: name, keywords: dict); return op; } @@ -19167,7 +19167,7 @@ namespace Tensorflow.Operations dict["values"] = values; if (axis.HasValue) dict["axis"] = axis.Value; - var op = tf._op_def_lib._apply_op_helper("Pack", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Pack", name: name, keywords: dict); return op.output; } @@ -19214,7 +19214,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input"] = input; dict["paddings"] = paddings; - var op = tf._op_def_lib._apply_op_helper("Pad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Pad", name: name, keywords: dict); return op.output; } @@ -19265,7 +19265,7 @@ namespace Tensorflow.Operations dict["input"] = input; dict["paddings"] = paddings; dict["constant_values"] = constant_values; - var op = tf._op_def_lib._apply_op_helper("PadV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("PadV2", name: name, keywords: dict); return op.output; } @@ -19305,7 +19305,7 @@ namespace Tensorflow.Operations dict["padded_shapes"] = padded_shapes; dict["padding_values"] = padding_values; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("PaddedBatchDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("PaddedBatchDataset", name: name, keywords: dict); return op.output; } @@ -19350,7 +19350,7 @@ namespace Tensorflow.Operations dict["padding_values"] = padding_values; dict["drop_remainder"] = drop_remainder; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("PaddedBatchDatasetV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("PaddedBatchDatasetV2", name: name, keywords: dict); return op.output; } @@ -19407,7 +19407,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("PaddingFIFOQueue", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("PaddingFIFOQueue", name: name, keywords: dict); return op.output; } @@ -19464,7 +19464,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("PaddingFIFOQueueV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("PaddingFIFOQueueV2", name: name, keywords: dict); return op.output; } @@ -19510,7 +19510,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["values"] = values; dict["shape"] = shape; - var op = tf._op_def_lib._apply_op_helper("ParallelConcat", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ParallelConcat", name: name, keywords: dict); return op.output; } @@ -19595,7 +19595,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["indices"] = indices; dict["data"] = data; - var op = tf._op_def_lib._apply_op_helper("ParallelDynamicStitch", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ParallelDynamicStitch", name: name, keywords: dict); return op.output; } @@ -19650,7 +19650,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("ParameterizedTruncatedNormal", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ParameterizedTruncatedNormal", name: name, keywords: dict); return op.output; } @@ -19733,7 +19733,7 @@ namespace Tensorflow.Operations dict["dense_defaults"] = dense_defaults; dict["sparse_types"] = sparse_types; dict["dense_shapes"] = dense_shapes; - var op = tf._op_def_lib._apply_op_helper("ParseExample", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ParseExample", name: name, keywords: dict); int _idx = 0; var sparse_indices = Enumerable.Range(0, op.OutputListLength("sparse_indices")).Select(_ => op.outputs[_idx++]).ToArray(); var sparse_values = Enumerable.Range(0, op.OutputListLength("sparse_values")).Select(_ => op.outputs[_idx++]).ToArray(); @@ -19807,7 +19807,7 @@ namespace Tensorflow.Operations dict["dense_shapes"] = dense_shapes; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("ParseExampleDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ParseExampleDataset", name: name, keywords: dict); return op.output; } @@ -19946,7 +19946,7 @@ namespace Tensorflow.Operations dict["feature_list_sparse_types"] = feature_list_sparse_types; if (feature_list_dense_shapes != null) dict["feature_list_dense_shapes"] = feature_list_dense_shapes; - var op = tf._op_def_lib._apply_op_helper("ParseSequenceExample", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ParseSequenceExample", name: name, keywords: dict); int _idx = 0; var context_sparse_indices = Enumerable.Range(0, op.OutputListLength("context_sparse_indices")).Select(_ => op.outputs[_idx++]).ToArray(); var context_sparse_values = Enumerable.Range(0, op.OutputListLength("context_sparse_values")).Select(_ => op.outputs[_idx++]).ToArray(); @@ -20033,7 +20033,7 @@ namespace Tensorflow.Operations dict["dense_keys"] = dense_keys; dict["sparse_types"] = sparse_types; dict["dense_shapes"] = dense_shapes; - var op = tf._op_def_lib._apply_op_helper("ParseSingleExample", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ParseSingleExample", name: name, keywords: dict); int _idx = 0; var sparse_indices = Enumerable.Range(0, op.OutputListLength("sparse_indices")).Select(_ => op.outputs[_idx++]).ToArray(); var sparse_values = Enumerable.Range(0, op.OutputListLength("sparse_values")).Select(_ => op.outputs[_idx++]).ToArray(); @@ -20155,7 +20155,7 @@ namespace Tensorflow.Operations dict["feature_list_sparse_types"] = feature_list_sparse_types; if (feature_list_dense_shapes != null) dict["feature_list_dense_shapes"] = feature_list_dense_shapes; - var op = tf._op_def_lib._apply_op_helper("ParseSingleSequenceExample", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ParseSingleSequenceExample", name: name, keywords: dict); int _idx = 0; var context_sparse_indices = Enumerable.Range(0, op.OutputListLength("context_sparse_indices")).Select(_ => op.outputs[_idx++]).ToArray(); var context_sparse_values = Enumerable.Range(0, op.OutputListLength("context_sparse_values")).Select(_ => op.outputs[_idx++]).ToArray(); @@ -20191,7 +20191,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["serialized"] = serialized; dict["out_type"] = out_type; - var op = tf._op_def_lib._apply_op_helper("ParseTensor", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ParseTensor", name: name, keywords: dict); return op.output; } @@ -20224,7 +20224,7 @@ namespace Tensorflow.Operations dict["dtype"] = dtype; if (shape != null) dict["shape"] = shape; - var op = tf._op_def_lib._apply_op_helper("Placeholder", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Placeholder", name: name, keywords: dict); return op.output; } @@ -20257,7 +20257,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["dtype"] = dtype; dict["shape"] = shape; - var op = tf._op_def_lib._apply_op_helper("PlaceholderV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("PlaceholderV2", name: name, keywords: dict); return op.output; } @@ -20283,7 +20283,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input"] = input; dict["shape"] = shape; - var op = tf._op_def_lib._apply_op_helper("PlaceholderWithDefault", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("PlaceholderWithDefault", name: name, keywords: dict); return op.output; } @@ -20313,7 +20313,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["a"] = a; dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Polygamma", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Polygamma", name: name, keywords: dict); return op.output; } @@ -20340,7 +20340,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("PopulationCount", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("PopulationCount", name: name, keywords: dict); return op.output; } @@ -20372,7 +20372,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("Pow", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Pow", name: name, keywords: dict); return op.output; } @@ -20404,7 +20404,7 @@ namespace Tensorflow.Operations dict["buffer_size"] = buffer_size; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("PrefetchDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("PrefetchDataset", name: name, keywords: dict); return op.output; } @@ -20440,7 +20440,7 @@ namespace Tensorflow.Operations dict["input"] = input; if (message != null) dict["message"] = message; - var op = tf._op_def_lib._apply_op_helper("PreventGradient", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("PreventGradient", name: name, keywords: dict); return op.output; } @@ -20483,7 +20483,7 @@ namespace Tensorflow.Operations dict["first_n"] = first_n.Value; if (summarize.HasValue) dict["summarize"] = summarize.Value; - var op = tf._op_def_lib._apply_op_helper("Print", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Print", name: name, keywords: dict); return op.output; } @@ -20538,7 +20538,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("PriorityQueue", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("PriorityQueue", name: name, keywords: dict); return op.output; } @@ -20593,7 +20593,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("PriorityQueueV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("PriorityQueueV2", name: name, keywords: dict); return op.output; } @@ -20630,7 +20630,7 @@ namespace Tensorflow.Operations dict["reduction_indices"] = reduction_indices; if (keep_dims.HasValue) dict["keep_dims"] = keep_dims.Value; - var op = tf._op_def_lib._apply_op_helper("Prod", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Prod", name: name, keywords: dict); return op.output; } @@ -20675,7 +20675,7 @@ namespace Tensorflow.Operations dict["input"] = input; if (full_matrices.HasValue) dict["full_matrices"] = full_matrices.Value; - var op = tf._op_def_lib._apply_op_helper("Qr", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Qr", name: name, keywords: dict); int _idx = 0; var q = op.outputs[_idx++]; var r = op.outputs[_idx++]; @@ -20717,7 +20717,7 @@ namespace Tensorflow.Operations dict["input_min"] = input_min.Value; if (input_max.HasValue) dict["input_max"] = input_max.Value; - var op = tf._op_def_lib._apply_op_helper("QuantizeAndDequantize", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QuantizeAndDequantize", name: name, keywords: dict); return op.output; } @@ -20817,7 +20817,7 @@ namespace Tensorflow.Operations dict["num_bits"] = num_bits.Value; if (range_given.HasValue) dict["range_given"] = range_given.Value; - var op = tf._op_def_lib._apply_op_helper("QuantizeAndDequantizeV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QuantizeAndDequantizeV2", name: name, keywords: dict); return op.output; } @@ -20857,7 +20857,7 @@ namespace Tensorflow.Operations dict["signed_input"] = signed_input.Value; if (range_given.HasValue) dict["range_given"] = range_given.Value; - var op = tf._op_def_lib._apply_op_helper("QuantizeAndDequantizeV3", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QuantizeAndDequantizeV3", name: name, keywords: dict); return op.output; } @@ -20917,7 +20917,7 @@ namespace Tensorflow.Operations dict["input_min"] = input_min; dict["input_max"] = input_max; dict["out_type"] = out_type; - var op = tf._op_def_lib._apply_op_helper("QuantizeDownAndShrinkRange", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QuantizeDownAndShrinkRange", name: name, keywords: dict); int _idx = 0; var output = op.outputs[_idx++]; var output_min = op.outputs[_idx++]; @@ -21064,7 +21064,7 @@ namespace Tensorflow.Operations dict["mode"] = mode; if (round_mode != null) dict["round_mode"] = round_mode; - var op = tf._op_def_lib._apply_op_helper("QuantizeV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QuantizeV2", name: name, keywords: dict); int _idx = 0; var output = op.outputs[_idx++]; var output_min = op.outputs[_idx++]; @@ -21117,7 +21117,7 @@ namespace Tensorflow.Operations dict["max_y"] = max_y; if (Toutput.HasValue) dict["Toutput"] = Toutput.Value; - var op = tf._op_def_lib._apply_op_helper("QuantizedAdd", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QuantizedAdd", name: name, keywords: dict); int _idx = 0; var z = op.outputs[_idx++]; var min_z = op.outputs[_idx++]; @@ -21170,7 +21170,7 @@ namespace Tensorflow.Operations dict["ksize"] = ksize; dict["strides"] = strides; dict["padding"] = padding; - var op = tf._op_def_lib._apply_op_helper("QuantizedAvgPool", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QuantizedAvgPool", name: name, keywords: dict); int _idx = 0; var output = op.outputs[_idx++]; var min_output = op.outputs[_idx++]; @@ -21280,7 +21280,7 @@ namespace Tensorflow.Operations dict["out_type"] = out_type; dict["variance_epsilon"] = variance_epsilon; dict["scale_after_normalization"] = scale_after_normalization; - var op = tf._op_def_lib._apply_op_helper("QuantizedBatchNormWithGlobalNormalization", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QuantizedBatchNormWithGlobalNormalization", name: name, keywords: dict); int _idx = 0; var result = op.outputs[_idx++]; var result_min = op.outputs[_idx++]; @@ -21334,7 +21334,7 @@ namespace Tensorflow.Operations dict["min_bias"] = min_bias; dict["max_bias"] = max_bias; dict["out_type"] = out_type; - var op = tf._op_def_lib._apply_op_helper("QuantizedBiasAdd", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QuantizedBiasAdd", name: name, keywords: dict); int _idx = 0; var output = op.outputs[_idx++]; var min_out = op.outputs[_idx++]; @@ -21378,7 +21378,7 @@ namespace Tensorflow.Operations dict["values"] = values; dict["input_mins"] = input_mins; dict["input_maxes"] = input_maxes; - var op = tf._op_def_lib._apply_op_helper("QuantizedConcat", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QuantizedConcat", name: name, keywords: dict); int _idx = 0; var output = op.outputs[_idx++]; var output_min = op.outputs[_idx++]; @@ -21455,7 +21455,7 @@ namespace Tensorflow.Operations dict["out_type"] = out_type.Value; if (dilations != null) dict["dilations"] = dilations; - var op = tf._op_def_lib._apply_op_helper("QuantizedConv2D", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QuantizedConv2D", name: name, keywords: dict); int _idx = 0; var output = op.outputs[_idx++]; var min_output = op.outputs[_idx++]; @@ -21518,7 +21518,7 @@ namespace Tensorflow.Operations dict["variance_epsilon"] = variance_epsilon.Value; if (min_separation.HasValue) dict["min_separation"] = min_separation.Value; - var op = tf._op_def_lib._apply_op_helper("QuantizedInstanceNorm", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QuantizedInstanceNorm", name: name, keywords: dict); int _idx = 0; var y = op.outputs[_idx++]; var y_min = op.outputs[_idx++]; @@ -21592,7 +21592,7 @@ namespace Tensorflow.Operations dict["transpose_b"] = transpose_b.Value; if (Tactivation.HasValue) dict["Tactivation"] = Tactivation.Value; - var op = tf._op_def_lib._apply_op_helper("QuantizedMatMul", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QuantizedMatMul", name: name, keywords: dict); int _idx = 0; var output = op.outputs[_idx++]; var min_out = op.outputs[_idx++]; @@ -21645,7 +21645,7 @@ namespace Tensorflow.Operations dict["ksize"] = ksize; dict["strides"] = strides; dict["padding"] = padding; - var op = tf._op_def_lib._apply_op_helper("QuantizedMaxPool", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QuantizedMaxPool", name: name, keywords: dict); int _idx = 0; var output = op.outputs[_idx++]; var min_output = op.outputs[_idx++]; @@ -21698,7 +21698,7 @@ namespace Tensorflow.Operations dict["max_y"] = max_y; if (Toutput.HasValue) dict["Toutput"] = Toutput.Value; - var op = tf._op_def_lib._apply_op_helper("QuantizedMul", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QuantizedMul", name: name, keywords: dict); int _idx = 0; var z = op.outputs[_idx++]; var min_z = op.outputs[_idx++]; @@ -21737,7 +21737,7 @@ namespace Tensorflow.Operations dict["max_features"] = max_features; if (out_type.HasValue) dict["out_type"] = out_type.Value; - var op = tf._op_def_lib._apply_op_helper("QuantizedRelu", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QuantizedRelu", name: name, keywords: dict); int _idx = 0; var activations = op.outputs[_idx++]; var min_activations = op.outputs[_idx++]; @@ -21776,7 +21776,7 @@ namespace Tensorflow.Operations dict["max_features"] = max_features; if (out_type.HasValue) dict["out_type"] = out_type.Value; - var op = tf._op_def_lib._apply_op_helper("QuantizedRelu6", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QuantizedRelu6", name: name, keywords: dict); int _idx = 0; var activations = op.outputs[_idx++]; var min_activations = op.outputs[_idx++]; @@ -21818,7 +21818,7 @@ namespace Tensorflow.Operations dict["max_features"] = max_features; if (out_type.HasValue) dict["out_type"] = out_type.Value; - var op = tf._op_def_lib._apply_op_helper("QuantizedReluX", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QuantizedReluX", name: name, keywords: dict); int _idx = 0; var activations = op.outputs[_idx++]; var min_activations = op.outputs[_idx++]; @@ -21859,7 +21859,7 @@ namespace Tensorflow.Operations dict["shape"] = shape; dict["input_min"] = input_min; dict["input_max"] = input_max; - var op = tf._op_def_lib._apply_op_helper("QuantizedReshape", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QuantizedReshape", name: name, keywords: dict); int _idx = 0; var output = op.outputs[_idx++]; var output_min = op.outputs[_idx++]; @@ -21908,7 +21908,7 @@ namespace Tensorflow.Operations dict["max"] = max; if (align_corners.HasValue) dict["align_corners"] = align_corners.Value; - var op = tf._op_def_lib._apply_op_helper("QuantizedResizeBilinear", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QuantizedResizeBilinear", name: name, keywords: dict); int _idx = 0; var resized_images = op.outputs[_idx++]; var out_min = op.outputs[_idx++]; @@ -21945,7 +21945,7 @@ namespace Tensorflow.Operations dict["handle"] = handle; if (cancel_pending_enqueues.HasValue) dict["cancel_pending_enqueues"] = cancel_pending_enqueues.Value; - var op = tf._op_def_lib._apply_op_helper("QueueClose", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QueueClose", name: name, keywords: dict); return op; } @@ -21978,7 +21978,7 @@ namespace Tensorflow.Operations dict["handle"] = handle; if (cancel_pending_enqueues.HasValue) dict["cancel_pending_enqueues"] = cancel_pending_enqueues.Value; - var op = tf._op_def_lib._apply_op_helper("QueueCloseV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QueueCloseV2", name: name, keywords: dict); return op; } @@ -22019,7 +22019,7 @@ namespace Tensorflow.Operations dict["component_types"] = component_types; if (timeout_ms.HasValue) dict["timeout_ms"] = timeout_ms.Value; - var op = tf._op_def_lib._apply_op_helper("QueueDequeue", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QueueDequeue", name: name, keywords: dict); int _idx = 0; var components = Enumerable.Range(0, op.OutputListLength("components")).Select(_ => op.outputs[_idx++]).ToArray(); return (components); @@ -22073,7 +22073,7 @@ namespace Tensorflow.Operations dict["component_types"] = component_types; if (timeout_ms.HasValue) dict["timeout_ms"] = timeout_ms.Value; - var op = tf._op_def_lib._apply_op_helper("QueueDequeueMany", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QueueDequeueMany", name: name, keywords: dict); int _idx = 0; var components = Enumerable.Range(0, op.OutputListLength("components")).Select(_ => op.outputs[_idx++]).ToArray(); return (components); @@ -22127,7 +22127,7 @@ namespace Tensorflow.Operations dict["component_types"] = component_types; if (timeout_ms.HasValue) dict["timeout_ms"] = timeout_ms.Value; - var op = tf._op_def_lib._apply_op_helper("QueueDequeueManyV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QueueDequeueManyV2", name: name, keywords: dict); int _idx = 0; var components = Enumerable.Range(0, op.OutputListLength("components")).Select(_ => op.outputs[_idx++]).ToArray(); return (components); @@ -22185,7 +22185,7 @@ namespace Tensorflow.Operations dict["component_types"] = component_types; if (timeout_ms.HasValue) dict["timeout_ms"] = timeout_ms.Value; - var op = tf._op_def_lib._apply_op_helper("QueueDequeueUpTo", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QueueDequeueUpTo", name: name, keywords: dict); int _idx = 0; var components = Enumerable.Range(0, op.OutputListLength("components")).Select(_ => op.outputs[_idx++]).ToArray(); return (components); @@ -22243,7 +22243,7 @@ namespace Tensorflow.Operations dict["component_types"] = component_types; if (timeout_ms.HasValue) dict["timeout_ms"] = timeout_ms.Value; - var op = tf._op_def_lib._apply_op_helper("QueueDequeueUpToV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QueueDequeueUpToV2", name: name, keywords: dict); int _idx = 0; var components = Enumerable.Range(0, op.OutputListLength("components")).Select(_ => op.outputs[_idx++]).ToArray(); return (components); @@ -22286,7 +22286,7 @@ namespace Tensorflow.Operations dict["component_types"] = component_types; if (timeout_ms.HasValue) dict["timeout_ms"] = timeout_ms.Value; - var op = tf._op_def_lib._apply_op_helper("QueueDequeueV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QueueDequeueV2", name: name, keywords: dict); int _idx = 0; var components = Enumerable.Range(0, op.OutputListLength("components")).Select(_ => op.outputs[_idx++]).ToArray(); return (components); @@ -22326,7 +22326,7 @@ namespace Tensorflow.Operations dict["components"] = components; if (timeout_ms.HasValue) dict["timeout_ms"] = timeout_ms.Value; - var op = tf._op_def_lib._apply_op_helper("QueueEnqueue", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QueueEnqueue", name: name, keywords: dict); return op; } @@ -22369,7 +22369,7 @@ namespace Tensorflow.Operations dict["components"] = components; if (timeout_ms.HasValue) dict["timeout_ms"] = timeout_ms.Value; - var op = tf._op_def_lib._apply_op_helper("QueueEnqueueMany", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QueueEnqueueMany", name: name, keywords: dict); return op; } @@ -22412,7 +22412,7 @@ namespace Tensorflow.Operations dict["components"] = components; if (timeout_ms.HasValue) dict["timeout_ms"] = timeout_ms.Value; - var op = tf._op_def_lib._apply_op_helper("QueueEnqueueManyV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QueueEnqueueManyV2", name: name, keywords: dict); return op; } @@ -22450,7 +22450,7 @@ namespace Tensorflow.Operations dict["components"] = components; if (timeout_ms.HasValue) dict["timeout_ms"] = timeout_ms.Value; - var op = tf._op_def_lib._apply_op_helper("QueueEnqueueV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QueueEnqueueV2", name: name, keywords: dict); return op; } @@ -22474,7 +22474,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["handle"] = handle; - var op = tf._op_def_lib._apply_op_helper("QueueIsClosed", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QueueIsClosed", name: name, keywords: dict); return op.output; } @@ -22498,7 +22498,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["handle"] = handle; - var op = tf._op_def_lib._apply_op_helper("QueueIsClosedV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QueueIsClosedV2", name: name, keywords: dict); return op.output; } @@ -22519,7 +22519,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["handle"] = handle; - var op = tf._op_def_lib._apply_op_helper("QueueSize", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QueueSize", name: name, keywords: dict); return op.output; } @@ -22540,7 +22540,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["handle"] = handle; - var op = tf._op_def_lib._apply_op_helper("QueueSizeV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("QueueSizeV2", name: name, keywords: dict); return op.output; } @@ -22583,7 +22583,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input"] = input; dict["fft_length"] = fft_length; - var op = tf._op_def_lib._apply_op_helper("RFFT", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RFFT", name: name, keywords: dict); return op.output; } @@ -22628,7 +22628,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input"] = input; dict["fft_length"] = fft_length; - var op = tf._op_def_lib._apply_op_helper("RFFT2D", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RFFT2D", name: name, keywords: dict); return op.output; } @@ -22673,7 +22673,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input"] = input; dict["fft_length"] = fft_length; - var op = tf._op_def_lib._apply_op_helper("RFFT3D", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RFFT3D", name: name, keywords: dict); return op.output; } @@ -22703,7 +22703,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["images"] = images; - var op = tf._op_def_lib._apply_op_helper("RGBToHSV", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RGBToHSV", name: name, keywords: dict); return op.output; } @@ -22748,7 +22748,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("RandomCrop", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RandomCrop", name: name, keywords: dict); return op.output; } @@ -22782,7 +22782,7 @@ namespace Tensorflow.Operations dict["seed2"] = seed2; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("RandomDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RandomDataset", name: name, keywords: dict); return op.output; } @@ -22828,7 +22828,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("RandomGamma", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RandomGamma", name: name, keywords: dict); return op.output; } @@ -22850,7 +22850,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["alpha"] = alpha; dict["sample"] = sample; - var op = tf._op_def_lib._apply_op_helper("RandomGammaGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RandomGammaGrad", name: name, keywords: dict); return op.output; } @@ -22880,7 +22880,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("RandomPoisson", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RandomPoisson", name: name, keywords: dict); return op.output; } @@ -22936,7 +22936,7 @@ namespace Tensorflow.Operations dict["seed2"] = seed2.Value; if (dtype.HasValue) dict["dtype"] = dtype.Value; - var op = tf._op_def_lib._apply_op_helper("RandomPoissonV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RandomPoissonV2", name: name, keywords: dict); return op.output; } @@ -22981,7 +22981,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("RandomShuffle", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RandomShuffle", name: name, keywords: dict); return op.output; } @@ -23047,7 +23047,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("RandomShuffleQueue", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RandomShuffleQueue", name: name, keywords: dict); return op.output; } @@ -23113,7 +23113,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("RandomShuffleQueueV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RandomShuffleQueueV2", name: name, keywords: dict); return op.output; } @@ -23154,7 +23154,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("RandomStandardNormal", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RandomStandardNormal", name: name, keywords: dict); return op.output; } @@ -23196,7 +23196,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("RandomUniform", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RandomUniform", name: name, keywords: dict); return op.output; } @@ -23246,7 +23246,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("RandomUniformInt", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RandomUniformInt", name: name, keywords: dict); return op.output; } @@ -23288,7 +23288,7 @@ namespace Tensorflow.Operations dict["start"] = start; dict["limit"] = limit; dict["delta"] = delta; - var op = tf._op_def_lib._apply_op_helper("Range", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Range", name: name, keywords: dict); return op.output; } @@ -23324,7 +23324,7 @@ namespace Tensorflow.Operations dict["step"] = step; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("RangeDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RangeDataset", name: name, keywords: dict); return op.output; } @@ -23358,7 +23358,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("Rank", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Rank", name: name, keywords: dict); return op.output; } @@ -23377,7 +23377,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["filename"] = filename; - var op = tf._op_def_lib._apply_op_helper("ReadFile", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ReadFile", name: name, keywords: dict); return op.output; } @@ -23410,7 +23410,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["resource"] = resource; dict["dtype"] = dtype; - var op = tf._op_def_lib._apply_op_helper("ReadVariableOp", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ReadVariableOp", name: name, keywords: dict); return op.output; } @@ -23434,7 +23434,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["reader_handle"] = reader_handle; - var op = tf._op_def_lib._apply_op_helper("ReaderNumRecordsProduced", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ReaderNumRecordsProduced", name: name, keywords: dict); return op.output; } @@ -23458,7 +23458,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["reader_handle"] = reader_handle; - var op = tf._op_def_lib._apply_op_helper("ReaderNumRecordsProducedV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ReaderNumRecordsProducedV2", name: name, keywords: dict); return op.output; } @@ -23478,7 +23478,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["reader_handle"] = reader_handle; - var op = tf._op_def_lib._apply_op_helper("ReaderNumWorkUnitsCompleted", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ReaderNumWorkUnitsCompleted", name: name, keywords: dict); return op.output; } @@ -23498,7 +23498,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["reader_handle"] = reader_handle; - var op = tf._op_def_lib._apply_op_helper("ReaderNumWorkUnitsCompletedV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ReaderNumWorkUnitsCompletedV2", name: name, keywords: dict); return op.output; } @@ -23530,7 +23530,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["reader_handle"] = reader_handle; dict["queue_handle"] = queue_handle; - var op = tf._op_def_lib._apply_op_helper("ReaderRead", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ReaderRead", name: name, keywords: dict); int _idx = 0; var key = op.outputs[_idx++]; var value = op.outputs[_idx++]; @@ -23570,7 +23570,7 @@ namespace Tensorflow.Operations dict["reader_handle"] = reader_handle; dict["queue_handle"] = queue_handle; dict["num_records"] = num_records; - var op = tf._op_def_lib._apply_op_helper("ReaderReadUpTo", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ReaderReadUpTo", name: name, keywords: dict); int _idx = 0; var keys = op.outputs[_idx++]; var values = op.outputs[_idx++]; @@ -23610,7 +23610,7 @@ namespace Tensorflow.Operations dict["reader_handle"] = reader_handle; dict["queue_handle"] = queue_handle; dict["num_records"] = num_records; - var op = tf._op_def_lib._apply_op_helper("ReaderReadUpToV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ReaderReadUpToV2", name: name, keywords: dict); int _idx = 0; var keys = op.outputs[_idx++]; var values = op.outputs[_idx++]; @@ -23645,7 +23645,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["reader_handle"] = reader_handle; dict["queue_handle"] = queue_handle; - var op = tf._op_def_lib._apply_op_helper("ReaderReadV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ReaderReadV2", name: name, keywords: dict); int _idx = 0; var key = op.outputs[_idx++]; var value = op.outputs[_idx++]; @@ -23668,7 +23668,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["reader_handle"] = reader_handle; - var op = tf._op_def_lib._apply_op_helper("ReaderReset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ReaderReset", name: name, keywords: dict); return op; } @@ -23688,7 +23688,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["reader_handle"] = reader_handle; - var op = tf._op_def_lib._apply_op_helper("ReaderResetV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ReaderResetV2", name: name, keywords: dict); return op; } @@ -23717,7 +23717,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["reader_handle"] = reader_handle; dict["state"] = state; - var op = tf._op_def_lib._apply_op_helper("ReaderRestoreState", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ReaderRestoreState", name: name, keywords: dict); return op; } @@ -23746,7 +23746,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["reader_handle"] = reader_handle; dict["state"] = state; - var op = tf._op_def_lib._apply_op_helper("ReaderRestoreStateV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ReaderRestoreStateV2", name: name, keywords: dict); return op; } @@ -23770,7 +23770,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["reader_handle"] = reader_handle; - var op = tf._op_def_lib._apply_op_helper("ReaderSerializeState", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ReaderSerializeState", name: name, keywords: dict); return op.output; } @@ -23794,7 +23794,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["reader_handle"] = reader_handle; - var op = tf._op_def_lib._apply_op_helper("ReaderSerializeStateV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ReaderSerializeStateV2", name: name, keywords: dict); return op.output; } @@ -23830,7 +23830,7 @@ namespace Tensorflow.Operations dict["input"] = input; if (Tout.HasValue) dict["Tout"] = Tout.Value; - var op = tf._op_def_lib._apply_op_helper("Real", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Real", name: name, keywords: dict); return op.output; } @@ -23858,7 +23858,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("RealDiv", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RealDiv", name: name, keywords: dict); return op.output; } @@ -23880,7 +23880,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Reciprocal", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Reciprocal", name: name, keywords: dict); return op.output; } @@ -23906,7 +23906,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["y"] = y; dict["dy"] = dy; - var op = tf._op_def_lib._apply_op_helper("ReciprocalGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ReciprocalGrad", name: name, keywords: dict); return op.output; } @@ -23960,7 +23960,7 @@ namespace Tensorflow.Operations dict["batch_size"] = batch_size.Value; if (compression_type != null) dict["compression_type"] = compression_type; - var op = tf._op_def_lib._apply_op_helper("RecordInput", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RecordInput", name: name, keywords: dict); return op.output; } @@ -24023,7 +24023,7 @@ namespace Tensorflow.Operations dict["keep_dims"] = keep_dims.Value; if (separator != null) dict["separator"] = separator; - var op = tf._op_def_lib._apply_op_helper("ReduceJoin", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ReduceJoin", name: name, keywords: dict); return op.output; } @@ -24065,7 +24065,7 @@ namespace Tensorflow.Operations dict["is_constant"] = is_constant.Value; if (parallel_iterations.HasValue) dict["parallel_iterations"] = parallel_iterations.Value; - var op = tf._op_def_lib._apply_op_helper("RefEnter", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RefEnter", name: name, keywords: dict); return op.output; } @@ -24089,7 +24089,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["data"] = data; - var op = tf._op_def_lib._apply_op_helper("RefExit", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RefExit", name: name, keywords: dict); return op.output; } @@ -24108,7 +24108,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("RefIdentity", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RefIdentity", name: name, keywords: dict); return op.output; } @@ -24138,7 +24138,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["inputs"] = inputs; - var op = tf._op_def_lib._apply_op_helper("RefMerge", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RefMerge", name: name, keywords: dict); int _idx = 0; var output = op.outputs[_idx++]; var value_index = op.outputs[_idx++]; @@ -24162,7 +24162,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["data"] = data; - var op = tf._op_def_lib._apply_op_helper("RefNextIteration", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RefNextIteration", name: name, keywords: dict); return op.output; } @@ -24187,7 +24187,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["index"] = index; dict["inputs"] = inputs; - var op = tf._op_def_lib._apply_op_helper("RefSelect", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RefSelect", name: name, keywords: dict); return op.output; } @@ -24220,7 +24220,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["data"] = data; dict["pred"] = pred; - var op = tf._op_def_lib._apply_op_helper("RefSwitch", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RefSwitch", name: name, keywords: dict); int _idx = 0; var output_false = op.outputs[_idx++]; var output_true = op.outputs[_idx++]; @@ -24256,7 +24256,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input"] = input; dict["pattern"] = pattern; - var op = tf._op_def_lib._apply_op_helper("RegexFullMatch", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RegexFullMatch", name: name, keywords: dict); return op.output; } @@ -24294,7 +24294,7 @@ namespace Tensorflow.Operations dict["rewrite"] = rewrite; if (replace_global.HasValue) dict["replace_global"] = replace_global.Value; - var op = tf._op_def_lib._apply_op_helper("RegexReplace", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RegexReplace", name: name, keywords: dict); return op.output; } @@ -24313,7 +24313,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["features"] = features; - var op = tf._op_def_lib._apply_op_helper("Relu", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Relu", name: name, keywords: dict); return op.output; } @@ -24332,7 +24332,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["features"] = features; - var op = tf._op_def_lib._apply_op_helper("Relu6", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Relu6", name: name, keywords: dict); return op.output; } @@ -24359,7 +24359,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["gradients"] = gradients; dict["features"] = features; - var op = tf._op_def_lib._apply_op_helper("Relu6Grad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Relu6Grad", name: name, keywords: dict); return op.output; } @@ -24385,7 +24385,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["gradients"] = gradients; dict["features"] = features; - var op = tf._op_def_lib._apply_op_helper("ReluGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ReluGrad", name: name, keywords: dict); return op.output; } @@ -24425,7 +24425,7 @@ namespace Tensorflow.Operations dict["inputs"] = inputs; dict["Toutputs"] = Toutputs; dict["serialized_remote_fused_graph_execute_info"] = serialized_remote_fused_graph_execute_info; - var op = tf._op_def_lib._apply_op_helper("RemoteFusedGraphExecute", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RemoteFusedGraphExecute", name: name, keywords: dict); int _idx = 0; var outputs = Enumerable.Range(0, op.OutputListLength("outputs")).Select(_ => op.outputs[_idx++]).ToArray(); return (outputs); @@ -24459,7 +24459,7 @@ namespace Tensorflow.Operations dict["count"] = count; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("RepeatDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RepeatDataset", name: name, keywords: dict); return op.output; } @@ -24494,7 +24494,7 @@ namespace Tensorflow.Operations dict["input"] = input; dict["input_min"] = input_min; dict["input_max"] = input_max; - var op = tf._op_def_lib._apply_op_helper("RequantizationRange", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RequantizationRange", name: name, keywords: dict); int _idx = 0; var output_min = op.outputs[_idx++]; var output_max = op.outputs[_idx++]; @@ -24549,7 +24549,7 @@ namespace Tensorflow.Operations dict["requested_output_min"] = requested_output_min; dict["requested_output_max"] = requested_output_max; dict["out_type"] = out_type; - var op = tf._op_def_lib._apply_op_helper("Requantize", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Requantize", name: name, keywords: dict); int _idx = 0; var output = op.outputs[_idx++]; var output_min = op.outputs[_idx++]; @@ -24634,7 +24634,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["tensor"] = tensor; dict["shape"] = shape; - var op = tf._op_def_lib._apply_op_helper("Reshape", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Reshape", name: name, keywords: dict); return op.output; } @@ -24680,7 +24680,7 @@ namespace Tensorflow.Operations dict["size"] = size; if (align_corners.HasValue) dict["align_corners"] = align_corners.Value; - var op = tf._op_def_lib._apply_op_helper("ResizeArea", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResizeArea", name: name, keywords: dict); return op.output; } @@ -24716,7 +24716,7 @@ namespace Tensorflow.Operations dict["size"] = size; if (align_corners.HasValue) dict["align_corners"] = align_corners.Value; - var op = tf._op_def_lib._apply_op_helper("ResizeBicubic", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResizeBicubic", name: name, keywords: dict); return op.output; } @@ -24750,7 +24750,7 @@ namespace Tensorflow.Operations dict["original_image"] = original_image; if (align_corners.HasValue) dict["align_corners"] = align_corners.Value; - var op = tf._op_def_lib._apply_op_helper("ResizeBicubicGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResizeBicubicGrad", name: name, keywords: dict); return op.output; } @@ -24786,7 +24786,7 @@ namespace Tensorflow.Operations dict["size"] = size; if (align_corners.HasValue) dict["align_corners"] = align_corners.Value; - var op = tf._op_def_lib._apply_op_helper("ResizeBilinear", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResizeBilinear", name: name, keywords: dict); return op.output; } @@ -24820,7 +24820,7 @@ namespace Tensorflow.Operations dict["original_image"] = original_image; if (align_corners.HasValue) dict["align_corners"] = align_corners.Value; - var op = tf._op_def_lib._apply_op_helper("ResizeBilinearGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResizeBilinearGrad", name: name, keywords: dict); return op.output; } @@ -24853,7 +24853,7 @@ namespace Tensorflow.Operations dict["size"] = size; if (align_corners.HasValue) dict["align_corners"] = align_corners.Value; - var op = tf._op_def_lib._apply_op_helper("ResizeNearestNeighbor", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResizeNearestNeighbor", name: name, keywords: dict); return op.output; } @@ -24886,7 +24886,7 @@ namespace Tensorflow.Operations dict["size"] = size; if (align_corners.HasValue) dict["align_corners"] = align_corners.Value; - var op = tf._op_def_lib._apply_op_helper("ResizeNearestNeighborGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResizeNearestNeighborGrad", name: name, keywords: dict); return op.output; } @@ -24950,7 +24950,7 @@ namespace Tensorflow.Operations dict["grad"] = grad; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceApplyAdaMax", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceApplyAdaMax", name: name, keywords: dict); return op; } @@ -25006,7 +25006,7 @@ namespace Tensorflow.Operations dict["grad"] = grad; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceApplyAdadelta", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceApplyAdadelta", name: name, keywords: dict); return op; } @@ -25053,7 +25053,7 @@ namespace Tensorflow.Operations dict["use_locking"] = use_locking.Value; if (update_slots.HasValue) dict["update_slots"] = update_slots.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceApplyAdagrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceApplyAdagrad", name: name, keywords: dict); return op; } @@ -25107,7 +25107,7 @@ namespace Tensorflow.Operations dict["global_step"] = global_step; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceApplyAdagradDA", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceApplyAdagradDA", name: name, keywords: dict); return op; } @@ -25181,7 +25181,7 @@ namespace Tensorflow.Operations dict["use_locking"] = use_locking.Value; if (use_nesterov.HasValue) dict["use_nesterov"] = use_nesterov.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceApplyAdam", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceApplyAdam", name: name, keywords: dict); return op; } @@ -25237,7 +25237,7 @@ namespace Tensorflow.Operations dict["grad"] = grad; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceApplyAddSign", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceApplyAddSign", name: name, keywords: dict); return op; } @@ -25315,7 +25315,7 @@ namespace Tensorflow.Operations dict["grad"] = grad; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceApplyCenteredRMSProp", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceApplyCenteredRMSProp", name: name, keywords: dict); return op; } @@ -25377,7 +25377,7 @@ namespace Tensorflow.Operations dict["lr_power"] = lr_power; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceApplyFtrl", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceApplyFtrl", name: name, keywords: dict); return op; } @@ -25444,7 +25444,7 @@ namespace Tensorflow.Operations dict["lr_power"] = lr_power; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceApplyFtrlV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceApplyFtrlV2", name: name, keywords: dict); return op; } @@ -25478,7 +25478,7 @@ namespace Tensorflow.Operations dict["delta"] = delta; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceApplyGradientDescent", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceApplyGradientDescent", name: name, keywords: dict); return op; } @@ -25534,7 +25534,7 @@ namespace Tensorflow.Operations dict["use_locking"] = use_locking.Value; if (use_nesterov.HasValue) dict["use_nesterov"] = use_nesterov.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceApplyMomentum", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceApplyMomentum", name: name, keywords: dict); return op; } @@ -25590,7 +25590,7 @@ namespace Tensorflow.Operations dict["grad"] = grad; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceApplyPowerSign", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceApplyPowerSign", name: name, keywords: dict); return op; } @@ -25641,7 +25641,7 @@ namespace Tensorflow.Operations dict["grad"] = grad; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceApplyProximalAdagrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceApplyProximalAdagrad", name: name, keywords: dict); return op; } @@ -25687,7 +25687,7 @@ namespace Tensorflow.Operations dict["delta"] = delta; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceApplyProximalGradientDescent", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceApplyProximalGradientDescent", name: name, keywords: dict); return op; } @@ -25753,7 +25753,7 @@ namespace Tensorflow.Operations dict["grad"] = grad; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceApplyRMSProp", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceApplyRMSProp", name: name, keywords: dict); return op; } @@ -25785,7 +25785,7 @@ namespace Tensorflow.Operations dict["resource"] = resource; dict["limit"] = limit; dict["T"] = T; - var op = tf._op_def_lib._apply_op_helper("ResourceCountUpTo", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceCountUpTo", name: name, keywords: dict); return op.output; } @@ -25830,7 +25830,7 @@ namespace Tensorflow.Operations dict["dtype"] = dtype; if (validate_indices.HasValue) dict["validate_indices"] = validate_indices.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceGather", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceGather", name: name, keywords: dict); return op.output; } @@ -25879,7 +25879,7 @@ namespace Tensorflow.Operations dict["resource"] = resource; dict["indices"] = indices; dict["updates"] = updates; - var op = tf._op_def_lib._apply_op_helper("ResourceScatterAdd", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceScatterAdd", name: name, keywords: dict); return op; } @@ -25928,7 +25928,7 @@ namespace Tensorflow.Operations dict["resource"] = resource; dict["indices"] = indices; dict["updates"] = updates; - var op = tf._op_def_lib._apply_op_helper("ResourceScatterDiv", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceScatterDiv", name: name, keywords: dict); return op; } @@ -25977,7 +25977,7 @@ namespace Tensorflow.Operations dict["resource"] = resource; dict["indices"] = indices; dict["updates"] = updates; - var op = tf._op_def_lib._apply_op_helper("ResourceScatterMax", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceScatterMax", name: name, keywords: dict); return op; } @@ -26026,7 +26026,7 @@ namespace Tensorflow.Operations dict["resource"] = resource; dict["indices"] = indices; dict["updates"] = updates; - var op = tf._op_def_lib._apply_op_helper("ResourceScatterMin", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceScatterMin", name: name, keywords: dict); return op; } @@ -26075,7 +26075,7 @@ namespace Tensorflow.Operations dict["resource"] = resource; dict["indices"] = indices; dict["updates"] = updates; - var op = tf._op_def_lib._apply_op_helper("ResourceScatterMul", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceScatterMul", name: name, keywords: dict); return op; } @@ -26149,7 +26149,7 @@ namespace Tensorflow.Operations dict["updates"] = updates; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceScatterNdAdd", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceScatterNdAdd", name: name, keywords: dict); return op; } @@ -26223,7 +26223,7 @@ namespace Tensorflow.Operations dict["updates"] = updates; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceScatterNdUpdate", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceScatterNdUpdate", name: name, keywords: dict); return op; } @@ -26272,7 +26272,7 @@ namespace Tensorflow.Operations dict["resource"] = resource; dict["indices"] = indices; dict["updates"] = updates; - var op = tf._op_def_lib._apply_op_helper("ResourceScatterSub", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceScatterSub", name: name, keywords: dict); return op; } @@ -26312,7 +26312,7 @@ namespace Tensorflow.Operations dict["resource"] = resource; dict["indices"] = indices; dict["updates"] = updates; - var op = tf._op_def_lib._apply_op_helper("ResourceScatterUpdate", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceScatterUpdate", name: name, keywords: dict); return op; } @@ -26365,7 +26365,7 @@ namespace Tensorflow.Operations dict["indices"] = indices; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceSparseApplyAdadelta", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceSparseApplyAdadelta", name: name, keywords: dict); return op; } @@ -26417,7 +26417,7 @@ namespace Tensorflow.Operations dict["use_locking"] = use_locking.Value; if (update_slots.HasValue) dict["update_slots"] = update_slots.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceSparseApplyAdagrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceSparseApplyAdagrad", name: name, keywords: dict); return op; } @@ -26475,7 +26475,7 @@ namespace Tensorflow.Operations dict["global_step"] = global_step; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceSparseApplyAdagradDA", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceSparseApplyAdagradDA", name: name, keywords: dict); return op; } @@ -26555,7 +26555,7 @@ namespace Tensorflow.Operations dict["indices"] = indices; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceSparseApplyCenteredRMSProp", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceSparseApplyCenteredRMSProp", name: name, keywords: dict); return op; } @@ -26622,7 +26622,7 @@ namespace Tensorflow.Operations dict["lr_power"] = lr_power; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceSparseApplyFtrl", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceSparseApplyFtrl", name: name, keywords: dict); return op; } @@ -26694,7 +26694,7 @@ namespace Tensorflow.Operations dict["lr_power"] = lr_power; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceSparseApplyFtrlV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceSparseApplyFtrlV2", name: name, keywords: dict); return op; } @@ -26756,7 +26756,7 @@ namespace Tensorflow.Operations dict["use_locking"] = use_locking.Value; if (use_nesterov.HasValue) dict["use_nesterov"] = use_nesterov.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceSparseApplyMomentum", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceSparseApplyMomentum", name: name, keywords: dict); return op; } @@ -26813,7 +26813,7 @@ namespace Tensorflow.Operations dict["indices"] = indices; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceSparseApplyProximalAdagrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceSparseApplyProximalAdagrad", name: name, keywords: dict); return op; } @@ -26864,7 +26864,7 @@ namespace Tensorflow.Operations dict["indices"] = indices; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceSparseApplyProximalGradientDescent", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceSparseApplyProximalGradientDescent", name: name, keywords: dict); return op; } @@ -26934,7 +26934,7 @@ namespace Tensorflow.Operations dict["indices"] = indices; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceSparseApplyRMSProp", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceSparseApplyRMSProp", name: name, keywords: dict); return op; } @@ -26993,7 +26993,7 @@ namespace Tensorflow.Operations dict["new_axis_mask"] = new_axis_mask.Value; if (shrink_axis_mask.HasValue) dict["shrink_axis_mask"] = shrink_axis_mask.Value; - var op = tf._op_def_lib._apply_op_helper("ResourceStridedSliceAssign", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ResourceStridedSliceAssign", name: name, keywords: dict); return op; } @@ -27049,7 +27049,7 @@ namespace Tensorflow.Operations dict["dt"] = dt; if (preferred_shard.HasValue) dict["preferred_shard"] = preferred_shard.Value; - var op = tf._op_def_lib._apply_op_helper("Restore", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Restore", name: name, keywords: dict); return op.output; } @@ -27100,7 +27100,7 @@ namespace Tensorflow.Operations dict["dt"] = dt; if (preferred_shard.HasValue) dict["preferred_shard"] = preferred_shard.Value; - var op = tf._op_def_lib._apply_op_helper("RestoreSlice", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RestoreSlice", name: name, keywords: dict); return op.output; } @@ -27152,7 +27152,7 @@ namespace Tensorflow.Operations dict["tensor_names"] = tensor_names; dict["shape_and_slices"] = shape_and_slices; dict["dtypes"] = dtypes; - var op = tf._op_def_lib._apply_op_helper("RestoreV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RestoreV2", name: name, keywords: dict); int _idx = 0; var tensors = Enumerable.Range(0, op.OutputListLength("tensors")).Select(_ => op.outputs[_idx++]).ToArray(); return (tensors); @@ -27225,7 +27225,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["tensor"] = tensor; dict["dims"] = dims; - var op = tf._op_def_lib._apply_op_helper("Reverse", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Reverse", name: name, keywords: dict); return op.output; } @@ -27317,7 +27317,7 @@ namespace Tensorflow.Operations dict["seq_dim"] = seq_dim; if (batch_dim.HasValue) dict["batch_dim"] = batch_dim.Value; - var op = tf._op_def_lib._apply_op_helper("ReverseSequence", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ReverseSequence", name: name, keywords: dict); return op.output; } @@ -27391,7 +27391,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["tensor"] = tensor; dict["axis"] = axis; - var op = tf._op_def_lib._apply_op_helper("ReverseV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ReverseV2", name: name, keywords: dict); return op.output; } @@ -27420,7 +27420,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("RightShift", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RightShift", name: name, keywords: dict); return op.output; } @@ -27450,7 +27450,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Rint", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Rint", name: name, keywords: dict); return op.output; } @@ -27508,7 +27508,7 @@ namespace Tensorflow.Operations dict["input"] = input; dict["shift"] = shift; dict["axis"] = axis; - var op = tf._op_def_lib._apply_op_helper("Roll", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Roll", name: name, keywords: dict); return op.output; } @@ -27531,7 +27531,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Round", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Round", name: name, keywords: dict); return op.output; } @@ -27635,7 +27635,7 @@ namespace Tensorflow.Operations dict["fail_fast"] = fail_fast.Value; if (timeout_in_ms.HasValue) dict["timeout_in_ms"] = timeout_in_ms.Value; - var op = tf._op_def_lib._apply_op_helper("Rpc", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Rpc", name: name, keywords: dict); return op.output; } @@ -27657,7 +27657,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Rsqrt", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Rsqrt", name: name, keywords: dict); return op.output; } @@ -27683,7 +27683,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["y"] = y; dict["dy"] = dy; - var op = tf._op_def_lib._apply_op_helper("RsqrtGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("RsqrtGrad", name: name, keywords: dict); return op.output; } @@ -27801,7 +27801,7 @@ namespace Tensorflow.Operations dict["max_attempts"] = max_attempts.Value; if (use_image_if_no_bounding_boxes.HasValue) dict["use_image_if_no_bounding_boxes"] = use_image_if_no_bounding_boxes.Value; - var op = tf._op_def_lib._apply_op_helper("SampleDistortedBoundingBox", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SampleDistortedBoundingBox", name: name, keywords: dict); int _idx = 0; var begin = op.outputs[_idx++]; var size = op.outputs[_idx++]; @@ -27922,7 +27922,7 @@ namespace Tensorflow.Operations dict["max_attempts"] = max_attempts.Value; if (use_image_if_no_bounding_boxes.HasValue) dict["use_image_if_no_bounding_boxes"] = use_image_if_no_bounding_boxes.Value; - var op = tf._op_def_lib._apply_op_helper("SampleDistortedBoundingBoxV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SampleDistortedBoundingBoxV2", name: name, keywords: dict); int _idx = 0; var begin = op.outputs[_idx++]; var size = op.outputs[_idx++]; @@ -27961,7 +27961,7 @@ namespace Tensorflow.Operations dict["filename"] = filename; dict["tensor_names"] = tensor_names; dict["data"] = data; - var op = tf._op_def_lib._apply_op_helper("Save", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Save", name: name, keywords: dict); return op; } @@ -28018,7 +28018,7 @@ namespace Tensorflow.Operations dict["tensor_names"] = tensor_names; dict["shapes_and_slices"] = shapes_and_slices; dict["data"] = data; - var op = tf._op_def_lib._apply_op_helper("SaveSlices", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SaveSlices", name: name, keywords: dict); return op; } @@ -28057,7 +28057,7 @@ namespace Tensorflow.Operations dict["tensor_names"] = tensor_names; dict["shape_and_slices"] = shape_and_slices; dict["tensors"] = tensors; - var op = tf._op_def_lib._apply_op_helper("SaveV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SaveV2", name: name, keywords: dict); return op; } @@ -28086,7 +28086,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["tags"] = tags; dict["values"] = values; - var op = tf._op_def_lib._apply_op_helper("ScalarSummary", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ScalarSummary", name: name, keywords: dict); return op.output; } @@ -28146,7 +28146,7 @@ namespace Tensorflow.Operations dict["updates"] = updates; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ScatterAdd", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ScatterAdd", name: name, keywords: dict); return op.output; } @@ -28204,7 +28204,7 @@ namespace Tensorflow.Operations dict["updates"] = updates; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ScatterDiv", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ScatterDiv", name: name, keywords: dict); return op.output; } @@ -28264,7 +28264,7 @@ namespace Tensorflow.Operations dict["updates"] = updates; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ScatterMax", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ScatterMax", name: name, keywords: dict); return op.output; } @@ -28324,7 +28324,7 @@ namespace Tensorflow.Operations dict["updates"] = updates; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ScatterMin", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ScatterMin", name: name, keywords: dict); return op.output; } @@ -28382,7 +28382,7 @@ namespace Tensorflow.Operations dict["updates"] = updates; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ScatterMul", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ScatterMul", name: name, keywords: dict); return op.output; } @@ -28492,7 +28492,7 @@ namespace Tensorflow.Operations dict["indices"] = indices; dict["updates"] = updates; dict["shape"] = shape; - var op = tf._op_def_lib._apply_op_helper("ScatterNd", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ScatterNd", name: name, keywords: dict); return op.output; } @@ -28564,7 +28564,7 @@ namespace Tensorflow.Operations dict["updates"] = updates; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ScatterNdAdd", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ScatterNdAdd", name: name, keywords: dict); return op.output; } @@ -28631,7 +28631,7 @@ namespace Tensorflow.Operations dict["input"] = input; dict["indices"] = indices; dict["updates"] = updates; - var op = tf._op_def_lib._apply_op_helper("ScatterNdNonAliasingAdd", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ScatterNdNonAliasingAdd", name: name, keywords: dict); return op.output; } @@ -28703,7 +28703,7 @@ namespace Tensorflow.Operations dict["updates"] = updates; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ScatterNdSub", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ScatterNdSub", name: name, keywords: dict); return op.output; } @@ -28779,7 +28779,7 @@ namespace Tensorflow.Operations dict["updates"] = updates; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ScatterNdUpdate", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ScatterNdUpdate", name: name, keywords: dict); return op.output; } @@ -28839,7 +28839,7 @@ namespace Tensorflow.Operations dict["updates"] = updates; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ScatterSub", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ScatterSub", name: name, keywords: dict); return op.output; } @@ -28904,7 +28904,7 @@ namespace Tensorflow.Operations dict["updates"] = updates; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("ScatterUpdate", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ScatterUpdate", name: name, keywords: dict); return op.output; } @@ -28926,7 +28926,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("SdcaFprint", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SdcaFprint", name: name, keywords: dict); return op.output; } @@ -29046,7 +29046,7 @@ namespace Tensorflow.Operations dict["num_inner_iterations"] = num_inner_iterations; if (adaptative.HasValue) dict["adaptative"] = adaptative.Value; - var op = tf._op_def_lib._apply_op_helper("SdcaOptimizer", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SdcaOptimizer", name: name, keywords: dict); int _idx = 0; var out_example_state_data = op.outputs[_idx++]; var out_delta_sparse_weights = Enumerable.Range(0, op.OutputListLength("out_delta_sparse_weights")).Select(_ => op.outputs[_idx++]).ToArray(); @@ -29081,7 +29081,7 @@ namespace Tensorflow.Operations dict["weights"] = weights; dict["l1"] = l1; dict["l2"] = l2; - var op = tf._op_def_lib._apply_op_helper("SdcaShrinkL1", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SdcaShrinkL1", name: name, keywords: dict); return op; } @@ -29122,7 +29122,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["data"] = data; dict["segment_ids"] = segment_ids; - var op = tf._op_def_lib._apply_op_helper("SegmentMax", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SegmentMax", name: name, keywords: dict); return op.output; } @@ -29164,7 +29164,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["data"] = data; dict["segment_ids"] = segment_ids; - var op = tf._op_def_lib._apply_op_helper("SegmentMean", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SegmentMean", name: name, keywords: dict); return op.output; } @@ -29205,7 +29205,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["data"] = data; dict["segment_ids"] = segment_ids; - var op = tf._op_def_lib._apply_op_helper("SegmentMin", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SegmentMin", name: name, keywords: dict); return op.output; } @@ -29246,7 +29246,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["data"] = data; dict["segment_ids"] = segment_ids; - var op = tf._op_def_lib._apply_op_helper("SegmentProd", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SegmentProd", name: name, keywords: dict); return op.output; } @@ -29287,7 +29287,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["data"] = data; dict["segment_ids"] = segment_ids; - var op = tf._op_def_lib._apply_op_helper("SegmentSum", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SegmentSum", name: name, keywords: dict); return op.output; } @@ -29357,7 +29357,7 @@ namespace Tensorflow.Operations dict["condition"] = condition; dict["t"] = t; dict["e"] = e; - var op = tf._op_def_lib._apply_op_helper("Select", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Select", name: name, keywords: dict); return op.output; } @@ -29387,7 +29387,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("SelfAdjointEig", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SelfAdjointEig", name: name, keywords: dict); return op.output; } @@ -29429,7 +29429,7 @@ namespace Tensorflow.Operations dict["input"] = input; if (compute_v.HasValue) dict["compute_v"] = compute_v.Value; - var op = tf._op_def_lib._apply_op_helper("SelfAdjointEigV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SelfAdjointEigV2", name: name, keywords: dict); int _idx = 0; var e = op.outputs[_idx++]; var v = op.outputs[_idx++]; @@ -29460,7 +29460,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["features"] = features; - var op = tf._op_def_lib._apply_op_helper("Selu", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Selu", name: name, keywords: dict); return op.output; } @@ -29486,7 +29486,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["gradients"] = gradients; dict["outputs"] = outputs; - var op = tf._op_def_lib._apply_op_helper("SeluGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SeluGrad", name: name, keywords: dict); return op.output; } @@ -29508,7 +29508,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["resource_handle"] = resource_handle; - var op = tf._op_def_lib._apply_op_helper("SerializeIterator", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SerializeIterator", name: name, keywords: dict); return op.output; } @@ -29551,7 +29551,7 @@ namespace Tensorflow.Operations dict["sparse_shape"] = sparse_shape; if (out_type.HasValue) dict["out_type"] = out_type.Value; - var op = tf._op_def_lib._apply_op_helper("SerializeManySparse", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SerializeManySparse", name: name, keywords: dict); return op.output; } @@ -29585,7 +29585,7 @@ namespace Tensorflow.Operations dict["sparse_shape"] = sparse_shape; if (out_type.HasValue) dict["out_type"] = out_type.Value; - var op = tf._op_def_lib._apply_op_helper("SerializeSparse", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SerializeSparse", name: name, keywords: dict); return op.output; } @@ -29606,7 +29606,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["tensor"] = tensor; - var op = tf._op_def_lib._apply_op_helper("SerializeTensor", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SerializeTensor", name: name, keywords: dict); return op.output; } @@ -29649,7 +29649,7 @@ namespace Tensorflow.Operations dict["set_shape"] = set_shape; if (validate_indices.HasValue) dict["validate_indices"] = validate_indices.Value; - var op = tf._op_def_lib._apply_op_helper("SetSize", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SetSize", name: name, keywords: dict); return op.output; } @@ -29682,7 +29682,7 @@ namespace Tensorflow.Operations dict["input"] = input; if (out_type.HasValue) dict["out_type"] = out_type.Value; - var op = tf._op_def_lib._apply_op_helper("Shape", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Shape", name: name, keywords: dict); return op.output; } @@ -29708,7 +29708,7 @@ namespace Tensorflow.Operations dict["input"] = input; if (out_type.HasValue) dict["out_type"] = out_type.Value; - var op = tf._op_def_lib._apply_op_helper("ShapeN", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ShapeN", name: name, keywords: dict); int _idx = 0; var output = Enumerable.Range(0, op.OutputListLength("output")).Select(_ => op.outputs[_idx++]).ToArray(); return (output); @@ -29738,7 +29738,7 @@ namespace Tensorflow.Operations dict["basename"] = basename; dict["shard"] = shard; dict["num_shards"] = num_shards; - var op = tf._op_def_lib._apply_op_helper("ShardedFilename", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ShardedFilename", name: name, keywords: dict); return op.output; } @@ -29760,7 +29760,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["basename"] = basename; dict["num_shards"] = num_shards; - var op = tf._op_def_lib._apply_op_helper("ShardedFilespec", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ShardedFilespec", name: name, keywords: dict); return op.output; } @@ -29811,7 +29811,7 @@ namespace Tensorflow.Operations dict["count"] = count; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("ShuffleAndRepeatDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ShuffleAndRepeatDataset", name: name, keywords: dict); return op.output; } @@ -29863,7 +29863,7 @@ namespace Tensorflow.Operations dict["output_shapes"] = output_shapes; if (reshuffle_each_iteration.HasValue) dict["reshuffle_each_iteration"] = reshuffle_each_iteration.Value; - var op = tf._op_def_lib._apply_op_helper("ShuffleDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ShuffleDataset", name: name, keywords: dict); return op.output; } @@ -29882,7 +29882,7 @@ namespace Tensorflow.Operations public static Operation shutdown_distributed_t_p_u (string name = "ShutdownDistributedTPU") { var dict = new Dictionary(); - var op = tf._op_def_lib._apply_op_helper("ShutdownDistributedTPU", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ShutdownDistributedTPU", name: name, keywords: dict); return op; } @@ -29904,7 +29904,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Sigmoid", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Sigmoid", name: name, keywords: dict); return op.output; } @@ -29930,7 +29930,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["y"] = y; dict["dy"] = dy; - var op = tf._op_def_lib._apply_op_helper("SigmoidGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SigmoidGrad", name: name, keywords: dict); return op.output; } @@ -29954,7 +29954,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Sign", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Sign", name: name, keywords: dict); return op.output; } @@ -29973,7 +29973,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Sin", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Sin", name: name, keywords: dict); return op.output; } @@ -29992,7 +29992,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Sinh", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Sinh", name: name, keywords: dict); return op.output; } @@ -30015,7 +30015,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input_dataset"] = input_dataset; - var op = tf._op_def_lib._apply_op_helper("SinkDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SinkDataset", name: name, keywords: dict); return op.output; } @@ -30049,7 +30049,7 @@ namespace Tensorflow.Operations dict["input"] = input; if (out_type.HasValue) dict["out_type"] = out_type.Value; - var op = tf._op_def_lib._apply_op_helper("Size", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Size", name: name, keywords: dict); return op.output; } @@ -30081,7 +30081,7 @@ namespace Tensorflow.Operations dict["count"] = count; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("SkipDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SkipDataset", name: name, keywords: dict); return op.output; } @@ -30132,7 +30132,7 @@ namespace Tensorflow.Operations dict["min_count"] = min_count.Value; if (subsample.HasValue) dict["subsample"] = subsample.Value; - var op = tf._op_def_lib._apply_op_helper("Skipgram", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Skipgram", name: name, keywords: dict); int _idx = 0; var vocab_word = op.outputs[_idx++]; var vocab_freq = op.outputs[_idx++]; @@ -30179,7 +30179,7 @@ namespace Tensorflow.Operations dict["input"] = input; dict["begin"] = begin; dict["size"] = size; - var op = tf._op_def_lib._apply_op_helper("Slice", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Slice", name: name, keywords: dict); return op.output; } @@ -30221,7 +30221,7 @@ namespace Tensorflow.Operations dict["window_stride"] = window_stride; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("SlideDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SlideDataset", name: name, keywords: dict); return op.output; } @@ -30240,7 +30240,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("Snapshot", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Snapshot", name: name, keywords: dict); return op.output; } @@ -30266,7 +30266,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["logits"] = logits; - var op = tf._op_def_lib._apply_op_helper("Softmax", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Softmax", name: name, keywords: dict); return op.output; } @@ -30298,7 +30298,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["features"] = features; dict["labels"] = labels; - var op = tf._op_def_lib._apply_op_helper("SoftmaxCrossEntropyWithLogits", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SoftmaxCrossEntropyWithLogits", name: name, keywords: dict); int _idx = 0; var loss = op.outputs[_idx++]; var backprop = op.outputs[_idx++]; @@ -30320,7 +30320,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["features"] = features; - var op = tf._op_def_lib._apply_op_helper("Softplus", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Softplus", name: name, keywords: dict); return op.output; } @@ -30345,7 +30345,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["gradients"] = gradients; dict["features"] = features; - var op = tf._op_def_lib._apply_op_helper("SoftplusGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SoftplusGrad", name: name, keywords: dict); return op.output; } @@ -30364,7 +30364,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["features"] = features; - var op = tf._op_def_lib._apply_op_helper("Softsign", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Softsign", name: name, keywords: dict); return op.output; } @@ -30389,7 +30389,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["gradients"] = gradients; dict["features"] = features; - var op = tf._op_def_lib._apply_op_helper("SoftsignGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SoftsignGrad", name: name, keywords: dict); return op.output; } @@ -30510,7 +30510,7 @@ namespace Tensorflow.Operations dict["input"] = input; dict["paddings"] = paddings; dict["block_size"] = block_size; - var op = tf._op_def_lib._apply_op_helper("SpaceToBatch", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SpaceToBatch", name: name, keywords: dict); return op.output; } @@ -30656,7 +30656,7 @@ namespace Tensorflow.Operations dict["input"] = input; dict["block_shape"] = block_shape; dict["paddings"] = paddings; - var op = tf._op_def_lib._apply_op_helper("SpaceToBatchND", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SpaceToBatchND", name: name, keywords: dict); return op.output; } @@ -30769,7 +30769,7 @@ namespace Tensorflow.Operations dict["block_size"] = block_size; if (data_format != null) dict["data_format"] = data_format; - var op = tf._op_def_lib._apply_op_helper("SpaceToDepth", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SpaceToDepth", name: name, keywords: dict); return op.output; } @@ -30818,7 +30818,7 @@ namespace Tensorflow.Operations dict["gradient_values"] = gradient_values; dict["gradient_shape"] = gradient_shape; dict["has_known_shape"] = has_known_shape; - var op = tf._op_def_lib._apply_op_helper("SparseAccumulatorApplyGradient", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseAccumulatorApplyGradient", name: name, keywords: dict); return op; } @@ -30860,7 +30860,7 @@ namespace Tensorflow.Operations dict["handle"] = handle; dict["num_required"] = num_required; dict["dtype"] = dtype; - var op = tf._op_def_lib._apply_op_helper("SparseAccumulatorTakeGradient", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseAccumulatorTakeGradient", name: name, keywords: dict); int _idx = 0; var indices = op.outputs[_idx++]; var values = op.outputs[_idx++]; @@ -30928,7 +30928,7 @@ namespace Tensorflow.Operations dict["b_values"] = b_values; dict["b_shape"] = b_shape; dict["thresh"] = thresh; - var op = tf._op_def_lib._apply_op_helper("SparseAdd", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseAdd", name: name, keywords: dict); int _idx = 0; var sum_indices = op.outputs[_idx++]; var sum_values = op.outputs[_idx++]; @@ -30977,7 +30977,7 @@ namespace Tensorflow.Operations dict["a_indices"] = a_indices; dict["b_indices"] = b_indices; dict["sum_indices"] = sum_indices; - var op = tf._op_def_lib._apply_op_helper("SparseAddGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseAddGrad", name: name, keywords: dict); int _idx = 0; var a_val_grad = op.outputs[_idx++]; var b_val_grad = op.outputs[_idx++]; @@ -31034,7 +31034,7 @@ namespace Tensorflow.Operations dict["indices"] = indices; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("SparseApplyAdadelta", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseApplyAdadelta", name: name, keywords: dict); return op.output; } @@ -31087,7 +31087,7 @@ namespace Tensorflow.Operations dict["use_locking"] = use_locking.Value; if (update_slots.HasValue) dict["update_slots"] = update_slots.Value; - var op = tf._op_def_lib._apply_op_helper("SparseApplyAdagrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseApplyAdagrad", name: name, keywords: dict); return op.output; } @@ -31146,7 +31146,7 @@ namespace Tensorflow.Operations dict["global_step"] = global_step; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("SparseApplyAdagradDA", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseApplyAdagradDA", name: name, keywords: dict); return op.output; } @@ -31227,7 +31227,7 @@ namespace Tensorflow.Operations dict["indices"] = indices; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("SparseApplyCenteredRMSProp", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseApplyCenteredRMSProp", name: name, keywords: dict); return op.output; } @@ -31295,7 +31295,7 @@ namespace Tensorflow.Operations dict["lr_power"] = lr_power; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("SparseApplyFtrl", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseApplyFtrl", name: name, keywords: dict); return op.output; } @@ -31368,7 +31368,7 @@ namespace Tensorflow.Operations dict["lr_power"] = lr_power; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("SparseApplyFtrlV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseApplyFtrlV2", name: name, keywords: dict); return op.output; } @@ -31431,7 +31431,7 @@ namespace Tensorflow.Operations dict["use_locking"] = use_locking.Value; if (use_nesterov.HasValue) dict["use_nesterov"] = use_nesterov.Value; - var op = tf._op_def_lib._apply_op_helper("SparseApplyMomentum", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseApplyMomentum", name: name, keywords: dict); return op.output; } @@ -31489,7 +31489,7 @@ namespace Tensorflow.Operations dict["indices"] = indices; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("SparseApplyProximalAdagrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseApplyProximalAdagrad", name: name, keywords: dict); return op.output; } @@ -31541,7 +31541,7 @@ namespace Tensorflow.Operations dict["indices"] = indices; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("SparseApplyProximalGradientDescent", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseApplyProximalGradientDescent", name: name, keywords: dict); return op.output; } @@ -31612,7 +31612,7 @@ namespace Tensorflow.Operations dict["indices"] = indices; if (use_locking.HasValue) dict["use_locking"] = use_locking.Value; - var op = tf._op_def_lib._apply_op_helper("SparseApplyRMSProp", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseApplyRMSProp", name: name, keywords: dict); return op.output; } @@ -31693,7 +31693,7 @@ namespace Tensorflow.Operations dict["values"] = values; dict["shapes"] = shapes; dict["concat_dim"] = concat_dim; - var op = tf._op_def_lib._apply_op_helper("SparseConcat", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseConcat", name: name, keywords: dict); int _idx = 0; var output_indices = op.outputs[_idx++]; var output_values = op.outputs[_idx++]; @@ -31744,7 +31744,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("SparseConditionalAccumulator", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseConditionalAccumulator", name: name, keywords: dict); return op.output; } @@ -31845,7 +31845,7 @@ namespace Tensorflow.Operations dict["hash_key"] = hash_key; dict["out_type"] = out_type; dict["internal_type"] = internal_type; - var op = tf._op_def_lib._apply_op_helper("SparseCross", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseCross", name: name, keywords: dict); int _idx = 0; var output_indices = op.outputs[_idx++]; var output_values = op.outputs[_idx++]; @@ -31893,7 +31893,7 @@ namespace Tensorflow.Operations dict["sp_values"] = sp_values; dict["sp_shape"] = sp_shape; dict["dense"] = dense; - var op = tf._op_def_lib._apply_op_helper("SparseDenseCwiseAdd", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseDenseCwiseAdd", name: name, keywords: dict); return op.output; } @@ -31931,7 +31931,7 @@ namespace Tensorflow.Operations dict["sp_values"] = sp_values; dict["sp_shape"] = sp_shape; dict["dense"] = dense; - var op = tf._op_def_lib._apply_op_helper("SparseDenseCwiseDiv", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseDenseCwiseDiv", name: name, keywords: dict); return op.output; } @@ -31973,7 +31973,7 @@ namespace Tensorflow.Operations dict["sp_values"] = sp_values; dict["sp_shape"] = sp_shape; dict["dense"] = dense; - var op = tf._op_def_lib._apply_op_helper("SparseDenseCwiseMul", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseDenseCwiseMul", name: name, keywords: dict); return op.output; } @@ -32051,7 +32051,7 @@ namespace Tensorflow.Operations dict["values"] = values; dict["dense_shape"] = dense_shape; dict["default_value"] = default_value; - var op = tf._op_def_lib._apply_op_helper("SparseFillEmptyRows", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseFillEmptyRows", name: name, keywords: dict); int _idx = 0; var output_indices = op.outputs[_idx++]; var output_values = op.outputs[_idx++]; @@ -32093,7 +32093,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["reverse_index_map"] = reverse_index_map; dict["grad_values"] = grad_values; - var op = tf._op_def_lib._apply_op_helper("SparseFillEmptyRowsGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseFillEmptyRowsGrad", name: name, keywords: dict); int _idx = 0; var d_values = op.outputs[_idx++]; var d_default_value = op.outputs[_idx++]; @@ -32145,7 +32145,7 @@ namespace Tensorflow.Operations dict["a_is_sparse"] = a_is_sparse.Value; if (b_is_sparse.HasValue) dict["b_is_sparse"] = b_is_sparse.Value; - var op = tf._op_def_lib._apply_op_helper("SparseMatMul", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseMatMul", name: name, keywords: dict); return op.output; } @@ -32198,7 +32198,7 @@ namespace Tensorflow.Operations dict["reduction_axes"] = reduction_axes; if (keep_dims.HasValue) dict["keep_dims"] = keep_dims.Value; - var op = tf._op_def_lib._apply_op_helper("SparseReduceMax", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseReduceMax", name: name, keywords: dict); return op.output; } @@ -32254,7 +32254,7 @@ namespace Tensorflow.Operations dict["reduction_axes"] = reduction_axes; if (keep_dims.HasValue) dict["keep_dims"] = keep_dims.Value; - var op = tf._op_def_lib._apply_op_helper("SparseReduceMaxSparse", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseReduceMaxSparse", name: name, keywords: dict); int _idx = 0; var output_indices = op.outputs[_idx++]; var output_values = op.outputs[_idx++]; @@ -32311,7 +32311,7 @@ namespace Tensorflow.Operations dict["reduction_axes"] = reduction_axes; if (keep_dims.HasValue) dict["keep_dims"] = keep_dims.Value; - var op = tf._op_def_lib._apply_op_helper("SparseReduceSum", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseReduceSum", name: name, keywords: dict); return op.output; } @@ -32367,7 +32367,7 @@ namespace Tensorflow.Operations dict["reduction_axes"] = reduction_axes; if (keep_dims.HasValue) dict["keep_dims"] = keep_dims.Value; - var op = tf._op_def_lib._apply_op_helper("SparseReduceSumSparse", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseReduceSumSparse", name: name, keywords: dict); int _idx = 0; var output_indices = op.outputs[_idx++]; var output_values = op.outputs[_idx++]; @@ -32414,7 +32414,7 @@ namespace Tensorflow.Operations dict["input_indices"] = input_indices; dict["input_values"] = input_values; dict["input_shape"] = input_shape; - var op = tf._op_def_lib._apply_op_helper("SparseReorder", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseReorder", name: name, keywords: dict); int _idx = 0; var output_indices = op.outputs[_idx++]; var output_values = op.outputs[_idx++]; @@ -32469,7 +32469,7 @@ namespace Tensorflow.Operations dict["input_indices"] = input_indices; dict["input_shape"] = input_shape; dict["new_shape"] = new_shape; - var op = tf._op_def_lib._apply_op_helper("SparseReshape", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseReshape", name: name, keywords: dict); int _idx = 0; var output_indices = op.outputs[_idx++]; var output_shape = op.outputs[_idx++]; @@ -32509,7 +32509,7 @@ namespace Tensorflow.Operations dict["data"] = data; dict["indices"] = indices; dict["segment_ids"] = segment_ids; - var op = tf._op_def_lib._apply_op_helper("SparseSegmentMean", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseSegmentMean", name: name, keywords: dict); return op.output; } @@ -32545,7 +32545,7 @@ namespace Tensorflow.Operations dict["indices"] = indices; dict["segment_ids"] = segment_ids; dict["output_dim0"] = output_dim0; - var op = tf._op_def_lib._apply_op_helper("SparseSegmentMeanGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseSegmentMeanGrad", name: name, keywords: dict); return op.output; } @@ -32586,7 +32586,7 @@ namespace Tensorflow.Operations dict["indices"] = indices; dict["segment_ids"] = segment_ids; dict["num_segments"] = num_segments; - var op = tf._op_def_lib._apply_op_helper("SparseSegmentMeanWithNumSegments", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseSegmentMeanWithNumSegments", name: name, keywords: dict); return op.output; } @@ -32622,7 +32622,7 @@ namespace Tensorflow.Operations dict["data"] = data; dict["indices"] = indices; dict["segment_ids"] = segment_ids; - var op = tf._op_def_lib._apply_op_helper("SparseSegmentSqrtN", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseSegmentSqrtN", name: name, keywords: dict); return op.output; } @@ -32658,7 +32658,7 @@ namespace Tensorflow.Operations dict["indices"] = indices; dict["segment_ids"] = segment_ids; dict["output_dim0"] = output_dim0; - var op = tf._op_def_lib._apply_op_helper("SparseSegmentSqrtNGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseSegmentSqrtNGrad", name: name, keywords: dict); return op.output; } @@ -32701,7 +32701,7 @@ namespace Tensorflow.Operations dict["indices"] = indices; dict["segment_ids"] = segment_ids; dict["num_segments"] = num_segments; - var op = tf._op_def_lib._apply_op_helper("SparseSegmentSqrtNWithNumSegments", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseSegmentSqrtNWithNumSegments", name: name, keywords: dict); return op.output; } @@ -32761,7 +32761,7 @@ namespace Tensorflow.Operations dict["data"] = data; dict["indices"] = indices; dict["segment_ids"] = segment_ids; - var op = tf._op_def_lib._apply_op_helper("SparseSegmentSum", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseSegmentSum", name: name, keywords: dict); return op.output; } @@ -32823,7 +32823,7 @@ namespace Tensorflow.Operations dict["indices"] = indices; dict["segment_ids"] = segment_ids; dict["num_segments"] = num_segments; - var op = tf._op_def_lib._apply_op_helper("SparseSegmentSumWithNumSegments", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseSegmentSumWithNumSegments", name: name, keywords: dict); return op.output; } @@ -32884,7 +32884,7 @@ namespace Tensorflow.Operations dict["shape"] = shape; dict["start"] = start; dict["size"] = size; - var op = tf._op_def_lib._apply_op_helper("SparseSlice", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseSlice", name: name, keywords: dict); int _idx = 0; var output_indices = op.outputs[_idx++]; var output_values = op.outputs[_idx++]; @@ -32927,7 +32927,7 @@ namespace Tensorflow.Operations dict["input_indices"] = input_indices; dict["input_start"] = input_start; dict["output_indices"] = output_indices; - var op = tf._op_def_lib._apply_op_helper("SparseSliceGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseSliceGrad", name: name, keywords: dict); return op.output; } @@ -32974,7 +32974,7 @@ namespace Tensorflow.Operations dict["sp_indices"] = sp_indices; dict["sp_values"] = sp_values; dict["sp_shape"] = sp_shape; - var op = tf._op_def_lib._apply_op_helper("SparseSoftmax", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseSoftmax", name: name, keywords: dict); return op.output; } @@ -33010,7 +33010,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["features"] = features; dict["labels"] = labels; - var op = tf._op_def_lib._apply_op_helper("SparseSoftmaxCrossEntropyWithLogits", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseSoftmaxCrossEntropyWithLogits", name: name, keywords: dict); int _idx = 0; var loss = op.outputs[_idx++]; var backprop = op.outputs[_idx++]; @@ -33060,7 +33060,7 @@ namespace Tensorflow.Operations dict["b_indices"] = b_indices; dict["b_values"] = b_values; dict["b_shape"] = b_shape; - var op = tf._op_def_lib._apply_op_helper("SparseSparseMaximum", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseSparseMaximum", name: name, keywords: dict); int _idx = 0; var output_indices = op.outputs[_idx++]; var output_values = op.outputs[_idx++]; @@ -33110,7 +33110,7 @@ namespace Tensorflow.Operations dict["b_indices"] = b_indices; dict["b_values"] = b_values; dict["b_shape"] = b_shape; - var op = tf._op_def_lib._apply_op_helper("SparseSparseMinimum", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseSparseMinimum", name: name, keywords: dict); int _idx = 0; var output_indices = op.outputs[_idx++]; var output_values = op.outputs[_idx++]; @@ -33178,7 +33178,7 @@ namespace Tensorflow.Operations dict["values"] = values; dict["shape"] = shape; dict["num_split"] = num_split; - var op = tf._op_def_lib._apply_op_helper("SparseSplit", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseSplit", name: name, keywords: dict); int _idx = 0; var output_indices = Enumerable.Range(0, op.OutputListLength("output_indices")).Select(_ => op.outputs[_idx++]).ToArray(); var output_values = Enumerable.Range(0, op.OutputListLength("output_values")).Select(_ => op.outputs[_idx++]).ToArray(); @@ -33217,7 +33217,7 @@ namespace Tensorflow.Operations dict["a_values"] = a_values; dict["a_shape"] = a_shape; dict["b"] = b; - var op = tf._op_def_lib._apply_op_helper("SparseTensorDenseAdd", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseTensorDenseAdd", name: name, keywords: dict); return op.output; } @@ -33272,7 +33272,7 @@ namespace Tensorflow.Operations dict["adjoint_a"] = adjoint_a.Value; if (adjoint_b.HasValue) dict["adjoint_b"] = adjoint_b.Value; - var op = tf._op_def_lib._apply_op_helper("SparseTensorDenseMatMul", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseTensorDenseMatMul", name: name, keywords: dict); return op.output; } @@ -33297,7 +33297,7 @@ namespace Tensorflow.Operations dict["indices"] = indices; dict["values"] = values; dict["dense_shape"] = dense_shape; - var op = tf._op_def_lib._apply_op_helper("SparseTensorSliceDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseTensorSliceDataset", name: name, keywords: dict); return op.output; } @@ -33360,7 +33360,7 @@ namespace Tensorflow.Operations dict["default_value"] = default_value; if (validate_indices.HasValue) dict["validate_indices"] = validate_indices.Value; - var op = tf._op_def_lib._apply_op_helper("SparseToDense", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseToDense", name: name, keywords: dict); return op.output; } @@ -33447,7 +33447,7 @@ namespace Tensorflow.Operations dict["set_operation"] = set_operation; if (validate_indices.HasValue) dict["validate_indices"] = validate_indices.Value; - var op = tf._op_def_lib._apply_op_helper("SparseToSparseSetOperation", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SparseToSparseSetOperation", name: name, keywords: dict); int _idx = 0; var result_indices = op.outputs[_idx++]; var result_values = op.outputs[_idx++]; @@ -33485,7 +33485,7 @@ namespace Tensorflow.Operations dict["split_dim"] = split_dim; dict["value"] = value; dict["num_split"] = num_split; - var op = tf._op_def_lib._apply_op_helper("Split", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Split", name: name, keywords: dict); int _idx = 0; var output = Enumerable.Range(0, op.OutputListLength("output")).Select(_ => op.outputs[_idx++]).ToArray(); return (output); @@ -33525,7 +33525,7 @@ namespace Tensorflow.Operations dict["size_splits"] = size_splits; dict["split_dim"] = split_dim; dict["num_split"] = num_split; - var op = tf._op_def_lib._apply_op_helper("SplitV", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SplitV", name: name, keywords: dict); int _idx = 0; var output = Enumerable.Range(0, op.OutputListLength("output")).Select(_ => op.outputs[_idx++]).ToArray(); return (output); @@ -33563,7 +33563,7 @@ namespace Tensorflow.Operations dict["query"] = query; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("SqlDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SqlDataset", name: name, keywords: dict); return op.output; } @@ -33585,7 +33585,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Sqrt", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Sqrt", name: name, keywords: dict); return op.output; } @@ -33611,7 +33611,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["y"] = y; dict["dy"] = dy; - var op = tf._op_def_lib._apply_op_helper("SqrtGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SqrtGrad", name: name, keywords: dict); return op.output; } @@ -33633,7 +33633,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Square", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Square", name: name, keywords: dict); return op.output; } @@ -33659,7 +33659,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("SquaredDifference", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("SquaredDifference", name: name, keywords: dict); return op.output; } @@ -33708,7 +33708,7 @@ namespace Tensorflow.Operations dict["input"] = input; if (squeeze_dims != null) dict["squeeze_dims"] = squeeze_dims; - var op = tf._op_def_lib._apply_op_helper("Squeeze", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Squeeze", name: name, keywords: dict); return op.output; } @@ -33732,7 +33732,7 @@ namespace Tensorflow.Operations dict["elem_type"] = elem_type; if (stack_name != null) dict["stack_name"] = stack_name; - var op = tf._op_def_lib._apply_op_helper("Stack", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Stack", name: name, keywords: dict); return op.output; } @@ -33751,7 +33751,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["handle"] = handle; - var op = tf._op_def_lib._apply_op_helper("StackClose", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StackClose", name: name, keywords: dict); return op; } @@ -33771,7 +33771,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["handle"] = handle; - var op = tf._op_def_lib._apply_op_helper("StackCloseV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StackCloseV2", name: name, keywords: dict); return op; } @@ -33794,7 +33794,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["handle"] = handle; dict["elem_type"] = elem_type; - var op = tf._op_def_lib._apply_op_helper("StackPop", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StackPop", name: name, keywords: dict); return op.output; } @@ -33820,7 +33820,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["handle"] = handle; dict["elem_type"] = elem_type; - var op = tf._op_def_lib._apply_op_helper("StackPopV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StackPopV2", name: name, keywords: dict); return op.output; } @@ -33846,7 +33846,7 @@ namespace Tensorflow.Operations dict["elem"] = elem; if (swap_memory.HasValue) dict["swap_memory"] = swap_memory.Value; - var op = tf._op_def_lib._apply_op_helper("StackPush", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StackPush", name: name, keywords: dict); return op.output; } @@ -33876,7 +33876,7 @@ namespace Tensorflow.Operations dict["elem"] = elem; if (swap_memory.HasValue) dict["swap_memory"] = swap_memory.Value; - var op = tf._op_def_lib._apply_op_helper("StackPushV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StackPushV2", name: name, keywords: dict); return op.output; } @@ -33909,7 +33909,7 @@ namespace Tensorflow.Operations dict["elem_type"] = elem_type; if (stack_name != null) dict["stack_name"] = stack_name; - var op = tf._op_def_lib._apply_op_helper("StackV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StackV2", name: name, keywords: dict); return op.output; } @@ -33957,7 +33957,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("Stage", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Stage", name: name, keywords: dict); return op; } @@ -33993,7 +33993,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("StageClear", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StageClear", name: name, keywords: dict); return op; } @@ -34037,7 +34037,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("StagePeek", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StagePeek", name: name, keywords: dict); int _idx = 0; var values = Enumerable.Range(0, op.OutputListLength("values")).Select(_ => op.outputs[_idx++]).ToArray(); return (values); @@ -34075,7 +34075,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("StageSize", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StageSize", name: name, keywords: dict); return op.output; } @@ -34110,7 +34110,7 @@ namespace Tensorflow.Operations dict["seed"] = seed; if (output_dtype.HasValue) dict["output_dtype"] = output_dtype.Value; - var op = tf._op_def_lib._apply_op_helper("StatelessMultinomial", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StatelessMultinomial", name: name, keywords: dict); return op.output; } @@ -34145,7 +34145,7 @@ namespace Tensorflow.Operations dict["seed"] = seed; if (dtype.HasValue) dict["dtype"] = dtype.Value; - var op = tf._op_def_lib._apply_op_helper("StatelessRandomNormal", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StatelessRandomNormal", name: name, keywords: dict); return op.output; } @@ -34181,7 +34181,7 @@ namespace Tensorflow.Operations dict["seed"] = seed; if (dtype.HasValue) dict["dtype"] = dtype.Value; - var op = tf._op_def_lib._apply_op_helper("StatelessRandomUniform", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StatelessRandomUniform", name: name, keywords: dict); return op.output; } @@ -34218,7 +34218,7 @@ namespace Tensorflow.Operations dict["seed"] = seed; if (dtype.HasValue) dict["dtype"] = dtype.Value; - var op = tf._op_def_lib._apply_op_helper("StatelessTruncatedNormal", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StatelessTruncatedNormal", name: name, keywords: dict); return op.output; } @@ -34258,7 +34258,7 @@ namespace Tensorflow.Operations dict["rewrite"] = rewrite; if (replace_global.HasValue) dict["replace_global"] = replace_global.Value; - var op = tf._op_def_lib._apply_op_helper("StaticRegexReplace", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StaticRegexReplace", name: name, keywords: dict); return op.output; } @@ -34282,7 +34282,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("StatsAggregatorHandle", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StatsAggregatorHandle", name: name, keywords: dict); return op.output; } @@ -34301,7 +34301,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["iterator"] = iterator; - var op = tf._op_def_lib._apply_op_helper("StatsAggregatorSummary", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StatsAggregatorSummary", name: name, keywords: dict); return op.output; } @@ -34341,7 +34341,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("StopGradient", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StopGradient", name: name, keywords: dict); return op.output; } @@ -34512,7 +34512,7 @@ namespace Tensorflow.Operations dict["new_axis_mask"] = new_axis_mask.Value; if (shrink_axis_mask.HasValue) dict["shrink_axis_mask"] = shrink_axis_mask.Value; - var op = tf._op_def_lib._apply_op_helper("StridedSlice", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StridedSlice", name: name, keywords: dict); return op.output; } @@ -34571,7 +34571,7 @@ namespace Tensorflow.Operations dict["new_axis_mask"] = new_axis_mask.Value; if (shrink_axis_mask.HasValue) dict["shrink_axis_mask"] = shrink_axis_mask.Value; - var op = tf._op_def_lib._apply_op_helper("StridedSliceAssign", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StridedSliceAssign", name: name, keywords: dict); return op.output; } @@ -34632,7 +34632,7 @@ namespace Tensorflow.Operations dict["new_axis_mask"] = new_axis_mask.Value; if (shrink_axis_mask.HasValue) dict["shrink_axis_mask"] = shrink_axis_mask.Value; - var op = tf._op_def_lib._apply_op_helper("StridedSliceGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StridedSliceGrad", name: name, keywords: dict); return op.output; } @@ -34662,7 +34662,7 @@ namespace Tensorflow.Operations dict["inputs"] = inputs; if (separator != null) dict["separator"] = separator; - var op = tf._op_def_lib._apply_op_helper("StringJoin", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StringJoin", name: name, keywords: dict); return op.output; } @@ -34719,7 +34719,7 @@ namespace Tensorflow.Operations dict["delimiter"] = delimiter; if (skip_empty.HasValue) dict["skip_empty"] = skip_empty.Value; - var op = tf._op_def_lib._apply_op_helper("StringSplit", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StringSplit", name: name, keywords: dict); int _idx = 0; var indices = op.outputs[_idx++]; var values = op.outputs[_idx++]; @@ -34782,7 +34782,7 @@ namespace Tensorflow.Operations dict["sep"] = sep; if (maxsplit.HasValue) dict["maxsplit"] = maxsplit.Value; - var op = tf._op_def_lib._apply_op_helper("StringSplitV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StringSplitV2", name: name, keywords: dict); int _idx = 0; var indices = op.outputs[_idx++]; var values = op.outputs[_idx++]; @@ -34807,7 +34807,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("StringStrip", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StringStrip", name: name, keywords: dict); return op.output; } @@ -34840,7 +34840,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["string_tensor"] = string_tensor; dict["num_buckets"] = num_buckets; - var op = tf._op_def_lib._apply_op_helper("StringToHashBucket", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StringToHashBucket", name: name, keywords: dict); return op.output; } @@ -34874,7 +34874,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input"] = input; dict["num_buckets"] = num_buckets; - var op = tf._op_def_lib._apply_op_helper("StringToHashBucketFast", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StringToHashBucketFast", name: name, keywords: dict); return op.output; } @@ -34918,7 +34918,7 @@ namespace Tensorflow.Operations dict["input"] = input; dict["num_buckets"] = num_buckets; dict["key"] = key; - var op = tf._op_def_lib._apply_op_helper("StringToHashBucketStrong", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StringToHashBucketStrong", name: name, keywords: dict); return op.output; } @@ -34947,7 +34947,7 @@ namespace Tensorflow.Operations dict["string_tensor"] = string_tensor; if (out_type.HasValue) dict["out_type"] = out_type.Value; - var op = tf._op_def_lib._apply_op_helper("StringToNumber", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("StringToNumber", name: name, keywords: dict); return op.output; } @@ -34973,7 +34973,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("Sub", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Sub", name: name, keywords: dict); return op.output; } @@ -35079,7 +35079,7 @@ namespace Tensorflow.Operations dict["input"] = input; dict["pos"] = pos; dict["len"] = len; - var op = tf._op_def_lib._apply_op_helper("Substr", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Substr", name: name, keywords: dict); return op.output; } @@ -35116,7 +35116,7 @@ namespace Tensorflow.Operations dict["reduction_indices"] = reduction_indices; if (keep_dims.HasValue) dict["keep_dims"] = keep_dims.Value; - var op = tf._op_def_lib._apply_op_helper("Sum", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Sum", name: name, keywords: dict); return op.output; } @@ -35172,7 +35172,7 @@ namespace Tensorflow.Operations dict["compute_uv"] = compute_uv.Value; if (full_matrices.HasValue) dict["full_matrices"] = full_matrices.Value; - var op = tf._op_def_lib._apply_op_helper("Svd", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Svd", name: name, keywords: dict); int _idx = 0; var s = op.outputs[_idx++]; var u = op.outputs[_idx++]; @@ -35209,7 +35209,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["data"] = data; dict["pred"] = pred; - var op = tf._op_def_lib._apply_op_helper("Switch", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Switch", name: name, keywords: dict); int _idx = 0; var output_false = op.outputs[_idx++]; var output_true = op.outputs[_idx++]; @@ -35243,7 +35243,7 @@ namespace Tensorflow.Operations dict["filenames"] = filenames; dict["compression_type"] = compression_type; dict["buffer_size"] = buffer_size; - var op = tf._op_def_lib._apply_op_helper("TFRecordDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TFRecordDataset", name: name, keywords: dict); return op.output; } @@ -35276,7 +35276,7 @@ namespace Tensorflow.Operations dict["shared_name"] = shared_name; if (compression_type != null) dict["compression_type"] = compression_type; - var op = tf._op_def_lib._apply_op_helper("TFRecordReader", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TFRecordReader", name: name, keywords: dict); return op.output; } @@ -35309,7 +35309,7 @@ namespace Tensorflow.Operations dict["shared_name"] = shared_name; if (compression_type != null) dict["compression_type"] = compression_type; - var op = tf._op_def_lib._apply_op_helper("TFRecordReaderV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TFRecordReaderV2", name: name, keywords: dict); return op.output; } @@ -35352,7 +35352,7 @@ namespace Tensorflow.Operations dict["sliced_activations"] = sliced_activations; dict["table_id"] = table_id; dict["lookup_id"] = lookup_id; - var op = tf._op_def_lib._apply_op_helper("TPUEmbeddingActivations", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TPUEmbeddingActivations", name: name, keywords: dict); return op.output; } @@ -35407,7 +35407,7 @@ namespace Tensorflow.Operations dict["aggregation_weights"] = aggregation_weights; if (device_ordinal.HasValue) dict["device_ordinal"] = device_ordinal.Value; - var op = tf._op_def_lib._apply_op_helper("TPUEmbeddingEnqueueSparseBatch", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TPUEmbeddingEnqueueSparseBatch", name: name, keywords: dict); return op; } @@ -35458,7 +35458,7 @@ namespace Tensorflow.Operations dict["table_id"] = table_id; dict["num_hosts"] = num_hosts; dict["host_id"] = host_id; - var op = tf._op_def_lib._apply_op_helper("TPUEmbeddingLoadAdagradParameters", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TPUEmbeddingLoadAdagradParameters", name: name, keywords: dict); return op; } @@ -35504,7 +35504,7 @@ namespace Tensorflow.Operations dict["table_id"] = table_id; dict["num_hosts"] = num_hosts; dict["host_id"] = host_id; - var op = tf._op_def_lib._apply_op_helper("TPUEmbeddingLoadGradientDescentParameters", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TPUEmbeddingLoadGradientDescentParameters", name: name, keywords: dict); return op; } @@ -35541,7 +35541,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["num_tables"] = num_tables; dict["tpu_embedding_config"] = tpu_embedding_config; - var op = tf._op_def_lib._apply_op_helper("TPUEmbeddingReceiveActivations", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TPUEmbeddingReceiveActivations", name: name, keywords: dict); int _idx = 0; var outputs = Enumerable.Range(0, op.OutputListLength("outputs")).Select(_ => op.outputs[_idx++]).ToArray(); return (outputs); @@ -35587,7 +35587,7 @@ namespace Tensorflow.Operations dict["table_id"] = table_id; dict["num_hosts"] = num_hosts; dict["host_id"] = host_id; - var op = tf._op_def_lib._apply_op_helper("TPUEmbeddingRetrieveAdagradParameters", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TPUEmbeddingRetrieveAdagradParameters", name: name, keywords: dict); int _idx = 0; var parameters = op.outputs[_idx++]; var accumulators = op.outputs[_idx++]; @@ -35631,7 +35631,7 @@ namespace Tensorflow.Operations dict["table_id"] = table_id; dict["num_hosts"] = num_hosts; dict["host_id"] = host_id; - var op = tf._op_def_lib._apply_op_helper("TPUEmbeddingRetrieveGradientDescentParameters", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TPUEmbeddingRetrieveGradientDescentParameters", name: name, keywords: dict); return op.output; } @@ -35663,7 +35663,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["gradients"] = gradients; dict["tpu_embedding_config"] = tpu_embedding_config; - var op = tf._op_def_lib._apply_op_helper("TPUEmbeddingSendGradients", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TPUEmbeddingSendGradients", name: name, keywords: dict); return op; } @@ -35682,7 +35682,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["inputs"] = inputs; - var op = tf._op_def_lib._apply_op_helper("TPUReplicatedInput", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TPUReplicatedInput", name: name, keywords: dict); return op.output; } @@ -35705,7 +35705,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input"] = input; dict["num_replicas"] = num_replicas; - var op = tf._op_def_lib._apply_op_helper("TPUReplicatedOutput", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TPUReplicatedOutput", name: name, keywords: dict); int _idx = 0; var outputs = Enumerable.Range(0, op.OutputListLength("outputs")).Select(_ => op.outputs[_idx++]).ToArray(); return (outputs); @@ -35740,7 +35740,7 @@ namespace Tensorflow.Operations dict["count"] = count; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("TakeDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TakeDataset", name: name, keywords: dict); return op.output; } @@ -35833,7 +35833,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("TakeManySparseFromTensorsMap", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TakeManySparseFromTensorsMap", name: name, keywords: dict); int _idx = 0; var sparse_indices = op.outputs[_idx++]; var sparse_values = op.outputs[_idx++]; @@ -35856,7 +35856,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Tan", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Tan", name: name, keywords: dict); return op.output; } @@ -35875,7 +35875,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("Tanh", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Tanh", name: name, keywords: dict); return op.output; } @@ -35901,7 +35901,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["y"] = y; dict["dy"] = dy; - var op = tf._op_def_lib._apply_op_helper("TanhGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TanhGrad", name: name, keywords: dict); return op.output; } @@ -35950,7 +35950,7 @@ namespace Tensorflow.Operations dict["dtype"] = dtype; if (var_name != null) dict["var_name"] = var_name; - var op = tf._op_def_lib._apply_op_helper("TemporaryVariable", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TemporaryVariable", name: name, keywords: dict); return op.output; } @@ -35969,7 +35969,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["handle"] = handle; - var op = tf._op_def_lib._apply_op_helper("TensorArrayCloseV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorArrayCloseV2", name: name, keywords: dict); return op; } @@ -35993,7 +35993,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["handle"] = handle; - var op = tf._op_def_lib._apply_op_helper("TensorArrayCloseV3", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorArrayCloseV3", name: name, keywords: dict); return op; } @@ -36026,7 +36026,7 @@ namespace Tensorflow.Operations dict["dtype"] = dtype; if (element_shape_except0 != null) dict["element_shape_except0"] = element_shape_except0; - var op = tf._op_def_lib._apply_op_helper("TensorArrayConcatV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorArrayConcatV2", name: name, keywords: dict); int _idx = 0; var value = op.outputs[_idx++]; var lengths = op.outputs[_idx++]; @@ -36087,7 +36087,7 @@ namespace Tensorflow.Operations dict["dtype"] = dtype; if (element_shape_except0 != null) dict["element_shape_except0"] = element_shape_except0; - var op = tf._op_def_lib._apply_op_helper("TensorArrayConcatV3", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorArrayConcatV3", name: name, keywords: dict); int _idx = 0; var value = op.outputs[_idx++]; var lengths = op.outputs[_idx++]; @@ -36123,7 +36123,7 @@ namespace Tensorflow.Operations dict["dtype"] = dtype; if (element_shape != null) dict["element_shape"] = element_shape; - var op = tf._op_def_lib._apply_op_helper("TensorArrayGatherV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorArrayGatherV2", name: name, keywords: dict); return op.output; } @@ -36168,7 +36168,7 @@ namespace Tensorflow.Operations dict["dtype"] = dtype; if (element_shape != null) dict["element_shape"] = element_shape; - var op = tf._op_def_lib._apply_op_helper("TensorArrayGatherV3", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorArrayGatherV3", name: name, keywords: dict); return op.output; } @@ -36194,7 +36194,7 @@ namespace Tensorflow.Operations dict["handle"] = handle; dict["flow_in"] = flow_in; dict["source"] = source; - var op = tf._op_def_lib._apply_op_helper("TensorArrayGradV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorArrayGradV2", name: name, keywords: dict); return op.output; } @@ -36265,7 +36265,7 @@ namespace Tensorflow.Operations dict["handle"] = handle; dict["flow_in"] = flow_in; dict["source"] = source; - var op = tf._op_def_lib._apply_op_helper("TensorArrayGradV3", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorArrayGradV3", name: name, keywords: dict); int _idx = 0; var grad_handle = op.outputs[_idx++]; var flow_out = op.outputs[_idx++]; @@ -36313,7 +36313,7 @@ namespace Tensorflow.Operations dict["flow_in"] = flow_in; dict["shape_to_prepend"] = shape_to_prepend; dict["source"] = source; - var op = tf._op_def_lib._apply_op_helper("TensorArrayGradWithShape", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorArrayGradWithShape", name: name, keywords: dict); int _idx = 0; var grad_handle = op.outputs[_idx++]; var flow_out = op.outputs[_idx++]; @@ -36345,7 +36345,7 @@ namespace Tensorflow.Operations dict["index"] = index; dict["flow_in"] = flow_in; dict["dtype"] = dtype; - var op = tf._op_def_lib._apply_op_helper("TensorArrayReadV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorArrayReadV2", name: name, keywords: dict); return op.output; } @@ -36378,7 +36378,7 @@ namespace Tensorflow.Operations dict["index"] = index; dict["flow_in"] = flow_in; dict["dtype"] = dtype; - var op = tf._op_def_lib._apply_op_helper("TensorArrayReadV3", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorArrayReadV3", name: name, keywords: dict); return op.output; } @@ -36406,7 +36406,7 @@ namespace Tensorflow.Operations dict["indices"] = indices; dict["value"] = value; dict["flow_in"] = flow_in; - var op = tf._op_def_lib._apply_op_helper("TensorArrayScatterV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorArrayScatterV2", name: name, keywords: dict); return op.output; } @@ -36442,7 +36442,7 @@ namespace Tensorflow.Operations dict["indices"] = indices; dict["value"] = value; dict["flow_in"] = flow_in; - var op = tf._op_def_lib._apply_op_helper("TensorArrayScatterV3", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorArrayScatterV3", name: name, keywords: dict); return op.output; } @@ -36464,7 +36464,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["handle"] = handle; dict["flow_in"] = flow_in; - var op = tf._op_def_lib._apply_op_helper("TensorArraySizeV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorArraySizeV2", name: name, keywords: dict); return op.output; } @@ -36489,7 +36489,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["handle"] = handle; dict["flow_in"] = flow_in; - var op = tf._op_def_lib._apply_op_helper("TensorArraySizeV3", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorArraySizeV3", name: name, keywords: dict); return op.output; } @@ -36517,7 +36517,7 @@ namespace Tensorflow.Operations dict["value"] = value; dict["lengths"] = lengths; dict["flow_in"] = flow_in; - var op = tf._op_def_lib._apply_op_helper("TensorArraySplitV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorArraySplitV2", name: name, keywords: dict); return op.output; } @@ -36577,7 +36577,7 @@ namespace Tensorflow.Operations dict["value"] = value; dict["lengths"] = lengths; dict["flow_in"] = flow_in; - var op = tf._op_def_lib._apply_op_helper("TensorArraySplitV3", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorArraySplitV3", name: name, keywords: dict); return op.output; } @@ -36616,7 +36616,7 @@ namespace Tensorflow.Operations dict["clear_after_read"] = clear_after_read.Value; if (tensor_array_name != null) dict["tensor_array_name"] = tensor_array_name; - var op = tf._op_def_lib._apply_op_helper("TensorArrayV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorArrayV2", name: name, keywords: dict); return op.output; } @@ -36684,7 +36684,7 @@ namespace Tensorflow.Operations dict["identical_element_shapes"] = identical_element_shapes.Value; if (tensor_array_name != null) dict["tensor_array_name"] = tensor_array_name; - var op = tf._op_def_lib._apply_op_helper("TensorArrayV3", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorArrayV3", name: name, keywords: dict); int _idx = 0; var handle = op.outputs[_idx++]; var flow = op.outputs[_idx++]; @@ -36715,7 +36715,7 @@ namespace Tensorflow.Operations dict["index"] = index; dict["value"] = value; dict["flow_in"] = flow_in; - var op = tf._op_def_lib._apply_op_helper("TensorArrayWriteV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorArrayWriteV2", name: name, keywords: dict); return op.output; } @@ -36748,7 +36748,7 @@ namespace Tensorflow.Operations dict["index"] = index; dict["value"] = value; dict["flow_in"] = flow_in; - var op = tf._op_def_lib._apply_op_helper("TensorArrayWriteV3", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorArrayWriteV3", name: name, keywords: dict); return op.output; } @@ -36771,7 +36771,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["components"] = components; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("TensorDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorDataset", name: name, keywords: dict); return op.output; } @@ -36798,7 +36798,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input_handle"] = input_handle; dict["shape_type"] = shape_type; - var op = tf._op_def_lib._apply_op_helper("TensorListElementShape", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorListElementShape", name: name, keywords: dict); return op.output; } @@ -36826,7 +36826,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["tensor"] = tensor; dict["element_shape"] = element_shape; - var op = tf._op_def_lib._apply_op_helper("TensorListFromTensor", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorListFromTensor", name: name, keywords: dict); return op.output; } @@ -36860,7 +36860,7 @@ namespace Tensorflow.Operations dict["input_handle"] = input_handle; dict["indices"] = indices; dict["element_dtype"] = element_dtype; - var op = tf._op_def_lib._apply_op_helper("TensorListGather", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorListGather", name: name, keywords: dict); return op.output; } @@ -36893,7 +36893,7 @@ namespace Tensorflow.Operations dict["input_handle"] = input_handle; dict["index"] = index; dict["element_dtype"] = element_dtype; - var op = tf._op_def_lib._apply_op_helper("TensorListGetItem", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorListGetItem", name: name, keywords: dict); return op.output; } @@ -36916,7 +36916,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input_handle"] = input_handle; - var op = tf._op_def_lib._apply_op_helper("TensorListLength", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorListLength", name: name, keywords: dict); return op.output; } @@ -36950,7 +36950,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input_handle"] = input_handle; dict["element_dtype"] = element_dtype; - var op = tf._op_def_lib._apply_op_helper("TensorListPopBack", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorListPopBack", name: name, keywords: dict); int _idx = 0; var output_handle = op.outputs[_idx++]; var tensor = op.outputs[_idx++]; @@ -36982,7 +36982,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input_handle"] = input_handle; dict["tensor"] = tensor; - var op = tf._op_def_lib._apply_op_helper("TensorListPushBack", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorListPushBack", name: name, keywords: dict); return op.output; } @@ -37014,7 +37014,7 @@ namespace Tensorflow.Operations dict["element_shape"] = element_shape; dict["num_elements"] = num_elements; dict["element_dtype"] = element_dtype; - var op = tf._op_def_lib._apply_op_helper("TensorListReserve", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorListReserve", name: name, keywords: dict); return op.output; } @@ -37049,7 +37049,7 @@ namespace Tensorflow.Operations dict["tensor"] = tensor; dict["indices"] = indices; dict["element_shape"] = element_shape; - var op = tf._op_def_lib._apply_op_helper("TensorListScatter", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorListScatter", name: name, keywords: dict); return op.output; } @@ -37081,7 +37081,7 @@ namespace Tensorflow.Operations dict["input_handle"] = input_handle; dict["index"] = index; dict["item"] = item; - var op = tf._op_def_lib._apply_op_helper("TensorListSetItem", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorListSetItem", name: name, keywords: dict); return op.output; } @@ -37116,7 +37116,7 @@ namespace Tensorflow.Operations dict["element_dtype"] = element_dtype; if (num_elements.HasValue) dict["num_elements"] = num_elements.Value; - var op = tf._op_def_lib._apply_op_helper("TensorListStack", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorListStack", name: name, keywords: dict); return op.output; } @@ -37139,7 +37139,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["components"] = components; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("TensorSliceDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorSliceDataset", name: name, keywords: dict); return op.output; } @@ -37179,7 +37179,7 @@ namespace Tensorflow.Operations dict["labels"] = labels; if (display_name != null) dict["display_name"] = display_name; - var op = tf._op_def_lib._apply_op_helper("TensorSummary", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorSummary", name: name, keywords: dict); return op.output; } @@ -37208,7 +37208,7 @@ namespace Tensorflow.Operations dict["tag"] = tag; dict["tensor"] = tensor; dict["serialized_summary_metadata"] = serialized_summary_metadata; - var op = tf._op_def_lib._apply_op_helper("TensorSummaryV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TensorSummaryV2", name: name, keywords: dict); return op.output; } @@ -37238,7 +37238,7 @@ namespace Tensorflow.Operations dict["filenames"] = filenames; dict["compression_type"] = compression_type; dict["buffer_size"] = buffer_size; - var op = tf._op_def_lib._apply_op_helper("TextLineDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TextLineDataset", name: name, keywords: dict); return op.output; } @@ -37272,7 +37272,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("TextLineReader", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TextLineReader", name: name, keywords: dict); return op.output; } @@ -37306,7 +37306,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("TextLineReaderV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TextLineReaderV2", name: name, keywords: dict); return op.output; } @@ -37382,7 +37382,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("ThreadUnsafeUnigramCandidateSampler", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ThreadUnsafeUnigramCandidateSampler", name: name, keywords: dict); int _idx = 0; var sampled_candidates = op.outputs[_idx++]; var true_expected_count = op.outputs[_idx++]; @@ -37417,7 +37417,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input"] = input; dict["multiples"] = multiples; - var op = tf._op_def_lib._apply_op_helper("Tile", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Tile", name: name, keywords: dict); return op.output; } @@ -37444,7 +37444,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["input"] = input; dict["multiples"] = multiples; - var op = tf._op_def_lib._apply_op_helper("TileGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TileGrad", name: name, keywords: dict); return op.output; } @@ -37466,7 +37466,7 @@ namespace Tensorflow.Operations public static Tensor timestamp (string name = "Timestamp") { var dict = new Dictionary(); - var op = tf._op_def_lib._apply_op_helper("Timestamp", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Timestamp", name: name, keywords: dict); return op.output; } @@ -37515,7 +37515,7 @@ namespace Tensorflow.Operations dict["k"] = k; if (sorted.HasValue) dict["sorted"] = sorted.Value; - var op = tf._op_def_lib._apply_op_helper("TopK", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TopK", name: name, keywords: dict); int _idx = 0; var values = op.outputs[_idx++]; var indices = op.outputs[_idx++]; @@ -37564,7 +37564,7 @@ namespace Tensorflow.Operations dict["k"] = k; if (sorted.HasValue) dict["sorted"] = sorted.Value; - var op = tf._op_def_lib._apply_op_helper("TopKV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TopKV2", name: name, keywords: dict); int _idx = 0; var values = op.outputs[_idx++]; var indices = op.outputs[_idx++]; @@ -37593,7 +37593,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["perm"] = perm; - var op = tf._op_def_lib._apply_op_helper("Transpose", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Transpose", name: name, keywords: dict); return op.output; } @@ -37624,7 +37624,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("TruncateDiv", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TruncateDiv", name: name, keywords: dict); return op.output; } @@ -37653,7 +37653,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["y"] = y; - var op = tf._op_def_lib._apply_op_helper("TruncateMod", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TruncateMod", name: name, keywords: dict); return op.output; } @@ -37697,7 +37697,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("TruncatedNormal", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TruncatedNormal", name: name, keywords: dict); return op.output; } @@ -37807,7 +37807,7 @@ namespace Tensorflow.Operations dict["fail_fast"] = fail_fast.Value; if (timeout_in_ms.HasValue) dict["timeout_in_ms"] = timeout_in_ms.Value; - var op = tf._op_def_lib._apply_op_helper("TryRpc", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("TryRpc", name: name, keywords: dict); int _idx = 0; var response = op.outputs[_idx++]; var status_code = op.outputs[_idx++]; @@ -37868,7 +37868,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("Unbatch", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Unbatch", name: name, keywords: dict); return op.output; } @@ -37895,7 +37895,7 @@ namespace Tensorflow.Operations dict["input_dataset"] = input_dataset; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("UnbatchDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("UnbatchDataset", name: name, keywords: dict); return op.output; } @@ -37947,7 +37947,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("UnbatchGrad", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("UnbatchGrad", name: name, keywords: dict); return op.output; } @@ -38023,7 +38023,7 @@ namespace Tensorflow.Operations dict["seed"] = seed.Value; if (seed2.HasValue) dict["seed2"] = seed2.Value; - var op = tf._op_def_lib._apply_op_helper("UniformCandidateSampler", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("UniformCandidateSampler", name: name, keywords: dict); int _idx = 0; var sampled_candidates = op.outputs[_idx++]; var true_expected_count = op.outputs[_idx++]; @@ -38071,7 +38071,7 @@ namespace Tensorflow.Operations dict["x"] = x; if (out_idx.HasValue) dict["out_idx"] = out_idx.Value; - var op = tf._op_def_lib._apply_op_helper("Unique", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Unique", name: name, keywords: dict); int _idx = 0; var y = op.outputs[_idx++]; var idx = op.outputs[_idx++]; @@ -38152,7 +38152,7 @@ namespace Tensorflow.Operations dict["axis"] = axis; if (out_idx.HasValue) dict["out_idx"] = out_idx.Value; - var op = tf._op_def_lib._apply_op_helper("UniqueV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("UniqueV2", name: name, keywords: dict); int _idx = 0; var y = op.outputs[_idx++]; var idx = op.outputs[_idx++]; @@ -38202,7 +38202,7 @@ namespace Tensorflow.Operations dict["x"] = x; if (out_idx.HasValue) dict["out_idx"] = out_idx.Value; - var op = tf._op_def_lib._apply_op_helper("UniqueWithCounts", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("UniqueWithCounts", name: name, keywords: dict); int _idx = 0; var y = op.outputs[_idx++]; var idx = op.outputs[_idx++]; @@ -38289,7 +38289,7 @@ namespace Tensorflow.Operations dict["axis"] = axis; if (out_idx.HasValue) dict["out_idx"] = out_idx.Value; - var op = tf._op_def_lib._apply_op_helper("UniqueWithCountsV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("UniqueWithCountsV2", name: name, keywords: dict); int _idx = 0; var y = op.outputs[_idx++]; var idx = op.outputs[_idx++]; @@ -38338,7 +38338,7 @@ namespace Tensorflow.Operations dict["num"] = num; if (axis.HasValue) dict["axis"] = axis.Value; - var op = tf._op_def_lib._apply_op_helper("Unpack", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Unpack", name: name, keywords: dict); int _idx = 0; var output = Enumerable.Range(0, op.OutputListLength("output")).Select(_ => op.outputs[_idx++]).ToArray(); return (output); @@ -38375,7 +38375,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["indices"] = indices; dict["dims"] = dims; - var op = tf._op_def_lib._apply_op_helper("UnravelIndex", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("UnravelIndex", name: name, keywords: dict); return op.output; } @@ -38431,7 +38431,7 @@ namespace Tensorflow.Operations dict["data"] = data; dict["segment_ids"] = segment_ids; dict["num_segments"] = num_segments; - var op = tf._op_def_lib._apply_op_helper("UnsortedSegmentMax", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("UnsortedSegmentMax", name: name, keywords: dict); return op.output; } @@ -38479,7 +38479,7 @@ namespace Tensorflow.Operations dict["data"] = data; dict["segment_ids"] = segment_ids; dict["num_segments"] = num_segments; - var op = tf._op_def_lib._apply_op_helper("UnsortedSegmentMin", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("UnsortedSegmentMin", name: name, keywords: dict); return op.output; } @@ -38526,7 +38526,7 @@ namespace Tensorflow.Operations dict["data"] = data; dict["segment_ids"] = segment_ids; dict["num_segments"] = num_segments; - var op = tf._op_def_lib._apply_op_helper("UnsortedSegmentProd", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("UnsortedSegmentProd", name: name, keywords: dict); return op.output; } @@ -38576,7 +38576,7 @@ namespace Tensorflow.Operations dict["data"] = data; dict["segment_ids"] = segment_ids; dict["num_segments"] = num_segments; - var op = tf._op_def_lib._apply_op_helper("UnsortedSegmentSum", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("UnsortedSegmentSum", name: name, keywords: dict); return op.output; } @@ -38616,7 +38616,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("Unstage", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Unstage", name: name, keywords: dict); int _idx = 0; var values = Enumerable.Range(0, op.OutputListLength("values")).Select(_ => op.outputs[_idx++]).ToArray(); return (values); @@ -38655,7 +38655,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("VarHandleOp", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("VarHandleOp", name: name, keywords: dict); return op.output; } @@ -38677,7 +38677,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["resource"] = resource; - var op = tf._op_def_lib._apply_op_helper("VarIsInitializedOp", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("VarIsInitializedOp", name: name, keywords: dict); return op.output; } @@ -38709,7 +38709,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("Variable", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Variable", name: name, keywords: dict); return op.output; } @@ -38742,7 +38742,7 @@ namespace Tensorflow.Operations dict["input"] = input; if (out_type.HasValue) dict["out_type"] = out_type.Value; - var op = tf._op_def_lib._apply_op_helper("VariableShape", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("VariableShape", name: name, keywords: dict); return op.output; } @@ -38786,7 +38786,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("VariableV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("VariableV2", name: name, keywords: dict); return op.output; } @@ -38866,7 +38866,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["input"] = input; - var op = tf._op_def_lib._apply_op_helper("Where", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Where", name: name, keywords: dict); return op.output; } @@ -38899,7 +38899,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("WholeFileReader", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("WholeFileReader", name: name, keywords: dict); return op.output; } @@ -38932,7 +38932,7 @@ namespace Tensorflow.Operations dict["container"] = container; if (shared_name != null) dict["shared_name"] = shared_name; - var op = tf._op_def_lib._apply_op_helper("WholeFileReaderV2", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("WholeFileReaderV2", name: name, keywords: dict); return op.output; } @@ -38957,7 +38957,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["request"] = request; - var op = tf._op_def_lib._apply_op_helper("WorkerHeartbeat", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("WorkerHeartbeat", name: name, keywords: dict); return op.output; } @@ -38984,7 +38984,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["filename"] = filename; dict["contents"] = contents; - var op = tf._op_def_lib._apply_op_helper("WriteFile", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("WriteFile", name: name, keywords: dict); return op; } @@ -39005,7 +39005,7 @@ namespace Tensorflow.Operations { var dict = new Dictionary(); dict["x"] = x; - var op = tf._op_def_lib._apply_op_helper("ZerosLike", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ZerosLike", name: name, keywords: dict); return op.output; } @@ -39033,7 +39033,7 @@ namespace Tensorflow.Operations var dict = new Dictionary(); dict["x"] = x; dict["q"] = q; - var op = tf._op_def_lib._apply_op_helper("Zeta", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("Zeta", name: name, keywords: dict); return op.output; } @@ -39060,7 +39060,7 @@ namespace Tensorflow.Operations dict["input_datasets"] = input_datasets; dict["output_types"] = output_types; dict["output_shapes"] = output_shapes; - var op = tf._op_def_lib._apply_op_helper("ZipDataset", name: name, keywords: dict); + var op = tf.OpDefLib._apply_op_helper("ZipDataset", name: name, keywords: dict); return op.output; } } diff --git a/src/TensorFlowNET.Core/Operations/gen_random_ops.cs b/src/TensorFlowNET.Core/Operations/gen_random_ops.cs index fc605ccf..af98802f 100644 --- a/src/TensorFlowNET.Core/Operations/gen_random_ops.cs +++ b/src/TensorFlowNET.Core/Operations/gen_random_ops.cs @@ -38,9 +38,9 @@ namespace Tensorflow if (!seed2.HasValue) seed2 = 0; - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "RandomStandardNormal", name, null, shape, @@ -51,7 +51,7 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("RandomStandardNormal", + var _op = tf.OpDefLib._apply_op_helper("RandomStandardNormal", name: name, args: new { shape, dtype, seed, seed2 }); @@ -75,7 +75,7 @@ namespace Tensorflow if (!seed2.HasValue) seed2 = 0; - var _op = tf._op_def_lib._apply_op_helper("RandomUniformInt", + var _op = tf.OpDefLib._apply_op_helper("RandomUniformInt", name: name, args: new { shape, minval, maxval, seed, seed2 }); @@ -98,7 +98,7 @@ namespace Tensorflow if (!seed2.HasValue) seed2 = 0; - var _op = tf._op_def_lib._apply_op_helper("RandomUniform", + var _op = tf.OpDefLib._apply_op_helper("RandomUniform", name: name, args: new { shape, dtype, seed, seed2}); @@ -116,7 +116,7 @@ namespace Tensorflow public static Tensor random_shuffle(Tensor value, int seed = 0, int seed2 = 0, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("RandomShuffle", + var _op = tf.OpDefLib._apply_op_helper("RandomShuffle", name: name, args: new { value, seed, seed2 }); @@ -140,9 +140,9 @@ namespace Tensorflow if (!seed2.HasValue) seed2 = 0; - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "TruncatedNormal", name, null, shape, @@ -153,7 +153,7 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("TruncatedNormal", + var _op = tf.OpDefLib._apply_op_helper("TruncatedNormal", name: name, args: new { shape, dtype, seed, seed2 }); @@ -170,7 +170,7 @@ namespace Tensorflow if (output_dtype == TF_DataType.DtInvalid) output_dtype = TF_DataType.TF_INT64; - var _op = tf._op_def_lib._apply_op_helper("Multinomial", + var _op = tf.OpDefLib._apply_op_helper("Multinomial", name: name, args: new { logits, num_samples, seed, seed2, output_dtype }); diff --git a/src/TensorFlowNET.Core/Operations/gen_resource_variable_ops.cs b/src/TensorFlowNET.Core/Operations/gen_resource_variable_ops.cs index 3063ab35..87947285 100644 --- a/src/TensorFlowNET.Core/Operations/gen_resource_variable_ops.cs +++ b/src/TensorFlowNET.Core/Operations/gen_resource_variable_ops.cs @@ -25,9 +25,9 @@ namespace Tensorflow { public static Operation assign_sub_variable_op(Tensor resource, Tensor value, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "AssignSubVariableOp", name, null, resource, value); @@ -47,9 +47,9 @@ namespace Tensorflow /// public static Operation assign_add_variable_op(Tensor resource, Tensor value, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "AssignAddVariableOp", name, null, resource, value); @@ -57,16 +57,16 @@ namespace Tensorflow return null; } - var _op = tf._op_def_lib._apply_op_helper("AssignAddVariableOp", name, new { resource, value }); + var _op = tf.OpDefLib._apply_op_helper("AssignAddVariableOp", name, new { resource, value }); return _op; } public static Operation assign_variable_op(Tensor resource, Tensor value, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "AssignVariableOp", name, null, resource, value); @@ -74,16 +74,16 @@ namespace Tensorflow return null; } - var _op = tf._op_def_lib._apply_op_helper("AssignVariableOp", name, new { resource, value }); + var _op = tf.OpDefLib._apply_op_helper("AssignVariableOp", name, new { resource, value }); return _op; } public static Tensor var_is_initialized_op(Tensor resource, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "VarIsInitializedOp", name, null, resource); @@ -91,7 +91,7 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("VarIsInitializedOp", name, new { resource }); + var _op = tf.OpDefLib._apply_op_helper("VarIsInitializedOp", name, new { resource }); return _op.output; } @@ -108,9 +108,9 @@ namespace Tensorflow public static Tensor var_handle_op(TF_DataType dtype, TensorShape shape, string container ="", string shared_name = "", string name = null) { - if(tf.context.executing_eagerly()) + if(tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "VarHandleOp", name, null, "container", container, @@ -121,7 +121,7 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("VarHandleOp", name, new { + var _op = tf.OpDefLib._apply_op_helper("VarHandleOp", name, new { dtype, shape, container, @@ -140,9 +140,9 @@ namespace Tensorflow /// public static Tensor read_variable_op(Tensor resource, TF_DataType dtype, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "ReadVariableOp", name, null, resource, @@ -151,7 +151,7 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("ReadVariableOp", name, new + var _op = tf.OpDefLib._apply_op_helper("ReadVariableOp", name, new { resource, dtype @@ -163,7 +163,7 @@ namespace Tensorflow public static Tensor resource_gather(Tensor resource, Tensor indices, TF_DataType dtype, int batch_dims = 0, bool validate_indices = true, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("ResourceGather", name, new + var _op = tf.OpDefLib._apply_op_helper("ResourceGather", name, new { resource, indices, diff --git a/src/TensorFlowNET.Core/Operations/gen_sparse_ops.cs b/src/TensorFlowNET.Core/Operations/gen_sparse_ops.cs index 2b4c8ae4..44639005 100644 --- a/src/TensorFlowNET.Core/Operations/gen_sparse_ops.cs +++ b/src/TensorFlowNET.Core/Operations/gen_sparse_ops.cs @@ -38,7 +38,7 @@ namespace Tensorflow bool validate_indices = true, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("SparseToDense", name, args: new + var _op = tf.OpDefLib._apply_op_helper("SparseToDense", name, args: new { sparse_indices, output_shape, @@ -57,7 +57,7 @@ namespace Tensorflow bool validate_indices = true, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("SparseToDense", name, args: new + var _op = tf.OpDefLib._apply_op_helper("SparseToDense", name, args: new { sparse_indices, output_shape, diff --git a/src/TensorFlowNET.Core/Operations/image_ops_impl.cs b/src/TensorFlowNET.Core/Operations/image_ops_impl.cs index 2cbd3c39..80d4f522 100644 --- a/src/TensorFlowNET.Core/Operations/image_ops_impl.cs +++ b/src/TensorFlowNET.Core/Operations/image_ops_impl.cs @@ -112,7 +112,7 @@ namespace Tensorflow public static Tensor crop_and_resize(Tensor image, Tensor boxes, Tensor box_ind, Tensor crop_size, string method, float extrapolation_value, string name) { - var _op = tf._op_def_lib._apply_op_helper("CropAndResize", name: name, args: new + var _op = tf.OpDefLib._apply_op_helper("CropAndResize", name: name, args: new { image, boxes, diff --git a/src/TensorFlowNET.Core/Operations/io_ops.cs b/src/TensorFlowNET.Core/Operations/io_ops.cs index 9b8a9889..de6f9234 100644 --- a/src/TensorFlowNET.Core/Operations/io_ops.cs +++ b/src/TensorFlowNET.Core/Operations/io_ops.cs @@ -14,6 +14,7 @@ limitations under the License. ******************************************************************************/ +using Tensorflow.Contexts; using Tensorflow.Eager; using static Tensorflow.Binding; @@ -23,26 +24,26 @@ namespace Tensorflow { public Operation save_v2(Tensor prefix, string[] tensor_names, string[] shape_and_slices, Tensor[] tensors, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("SaveV2", name: name, args: new { prefix, tensor_names, shape_and_slices, tensors }); + var _op = tf.OpDefLib._apply_op_helper("SaveV2", name: name, args: new { prefix, tensor_names, shape_and_slices, tensors }); return _op; } public Tensor[] restore_v2(Tensor prefix, string[] tensor_names, string[] shape_and_slices, TF_DataType[] dtypes, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("RestoreV2", name: name, args: new { prefix, tensor_names, shape_and_slices, dtypes }); + var _op = tf.OpDefLib._apply_op_helper("RestoreV2", name: name, args: new { prefix, tensor_names, shape_and_slices, dtypes }); return _op.outputs; } public Tensor read_file(T filename, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - return read_file_eager_fallback(filename, name: name, tf.context); + return read_file_eager_fallback(filename, name: name, tf.Context); } - var _op = tf._op_def_lib._apply_op_helper("ReadFile", name: name, args: new { filename }); + var _op = tf.OpDefLib._apply_op_helper("ReadFile", name: name, args: new { filename }); return _op.outputs[0]; } @@ -52,7 +53,7 @@ namespace Tensorflow var filename_tensor = ops.convert_to_tensor(filename, TF_DataType.TF_STRING); var _inputs_flat = new[] { filename_tensor }; - return tf._execute.execute(ctx, "ReadFile", 1, _inputs_flat, null, name: name)[0]; + return tf.Runner.Execute(ctx, "ReadFile", 1, _inputs_flat, null, name: name)[0]; } } } diff --git a/src/TensorFlowNET.Core/Operations/math_ops.cs b/src/TensorFlowNET.Core/Operations/math_ops.cs index 2c5a557a..36617a31 100644 --- a/src/TensorFlowNET.Core/Operations/math_ops.cs +++ b/src/TensorFlowNET.Core/Operations/math_ops.cs @@ -348,7 +348,7 @@ namespace Tensorflow /// A 1-D Tensor, the output shape as if keepdims were set to True. public static Tensor reduced_shape(Tensor input_shape, Tensor axes) { - if(tf.context.executing_eagerly()) + if(tf.Context.executing_eagerly()) { var input_shape_val = input_shape.numpy(); var axes_val = (int)axes.numpy(); diff --git a/src/TensorFlowNET.Core/Operations/string_ops.cs b/src/TensorFlowNET.Core/Operations/string_ops.cs index a0b46c48..8b4c43a5 100644 --- a/src/TensorFlowNET.Core/Operations/string_ops.cs +++ b/src/TensorFlowNET.Core/Operations/string_ops.cs @@ -35,10 +35,10 @@ namespace Tensorflow public Tensor substr(T input, int pos, int len, string @uint = "BYTE", string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { var input_tensor = tf.constant(input); - var results = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "Substr", name, null, input, pos, len, @@ -47,7 +47,7 @@ namespace Tensorflow return results[0]; } - var _op = tf._op_def_lib._apply_op_helper("Substr", name: name, args: new + var _op = tf.OpDefLib._apply_op_helper("Substr", name: name, args: new { input, pos, diff --git a/src/TensorFlowNET.Core/Sessions/BaseSession.cs b/src/TensorFlowNET.Core/Sessions/BaseSession.cs index d74fb392..989e89c3 100644 --- a/src/TensorFlowNET.Core/Sessions/BaseSession.cs +++ b/src/TensorFlowNET.Core/Sessions/BaseSession.cs @@ -235,7 +235,7 @@ namespace Tensorflow // Ensure any changes to the graph are reflected in the runtime. _extend_graph(); - var status = tf.status; + var status = tf.Status; var output_values = fetch_list.Select(x => IntPtr.Zero).ToArray(); diff --git a/src/TensorFlowNET.Core/Tensorflow.Binding.csproj b/src/TensorFlowNET.Core/Tensorflow.Binding.csproj index 30ec8fcb..b620cf09 100644 --- a/src/TensorFlowNET.Core/Tensorflow.Binding.csproj +++ b/src/TensorFlowNET.Core/Tensorflow.Binding.csproj @@ -21,7 +21,11 @@ Building, training and infering deep learning models. https://tensorflownet.readthedocs.io 0.20.0.0 tf.net 0.20.x and above are based on tensorflow native 2.x. -Eager Mode is added finally. + +* Eager Mode is added finally. +* tf.keras is partially working. +* tf.data is added. + It's not stable at this moment and missing many APIs, tf.net 0.15.x is more stable for production. Please be patient, we're working hard on missing functions, providing full tensorflow binding is our mission. 0.20.0.0 diff --git a/src/TensorFlowNET.Core/Tensors/EagerTensorV2.cs b/src/TensorFlowNET.Core/Tensors/EagerTensorV2.cs index db6bcb85..66af00ff 100644 --- a/src/TensorFlowNET.Core/Tensors/EagerTensorV2.cs +++ b/src/TensorFlowNET.Core/Tensors/EagerTensorV2.cs @@ -15,14 +15,14 @@ namespace Tensorflow get { using var _ = EagerTensorHandle.Lease(); - return c_api.StringPiece(c_api.TFE_TensorHandleDeviceName(EagerTensorHandle, tf.status.Handle)); + return c_api.StringPiece(c_api.TFE_TensorHandleDeviceName(EagerTensorHandle, tf.Status.Handle)); } } public EagerTensorV2(IntPtr handle) { EagerTensorHandle = c_api.TFE_EagerTensorHandle(handle); - _handle = c_api.TFE_TensorHandleResolve(EagerTensorHandle, tf.status.Handle); + _handle = c_api.TFE_TensorHandleResolve(EagerTensorHandle, tf.Status.Handle); } public unsafe EagerTensorV2(NDArray nd, string device_name = "") @@ -42,7 +42,7 @@ namespace Tensorflow }, IntPtr.Zero); - EagerTensorHandle = c_api.TFE_NewTensorHandle(_handle, tf.status.Handle); + EagerTensorHandle = c_api.TFE_NewTensorHandle(_handle, tf.Status.Handle); } /*public unsafe EagerTensorV2(float[,] value) diff --git a/src/TensorFlowNET.Core/Tensors/Tensor.Conversions.cs b/src/TensorFlowNET.Core/Tensors/Tensor.Conversions.cs index a4c098e6..06170bdf 100644 --- a/src/TensorFlowNET.Core/Tensors/Tensor.Conversions.cs +++ b/src/TensorFlowNET.Core/Tensors/Tensor.Conversions.cs @@ -71,8 +71,8 @@ namespace Tensorflow IntPtr stringStartAddress = IntPtr.Zero; ulong dstLen = 0; - c_api.TF_StringDecode((byte*) this.buffer + 8, this.bytesize, (byte**) &stringStartAddress, ref dstLen, tf.status.Handle); - tf.status.Check(true); + c_api.TF_StringDecode((byte*) this.buffer + 8, this.bytesize, (byte**) &stringStartAddress, ref dstLen, tf.Status.Handle); + tf.Status.Check(true); var dstLenInt = checked((int) dstLen); var value = Encoding.UTF8.GetString((byte*) stringStartAddress, dstLenInt); diff --git a/src/TensorFlowNET.Core/Tensors/Tensor.Creation.cs b/src/TensorFlowNET.Core/Tensors/Tensor.Creation.cs index a06dd7b0..be961738 100644 --- a/src/TensorFlowNET.Core/Tensors/Tensor.Creation.cs +++ b/src/TensorFlowNET.Core/Tensors/Tensor.Creation.cs @@ -459,9 +459,9 @@ namespace Tensorflow IntPtr tensor = c_api.TF_TensorData(handle); Marshal.WriteInt64(tensor, 0); fixed (byte* src = buffer) - c_api.TF_StringEncode(src, (ulong)buffer.Length, (byte*)(tensor + sizeof(long)), size, tf.status.Handle); + c_api.TF_StringEncode(src, (ulong)buffer.Length, (byte*)(tensor + sizeof(long)), size, tf.Status.Handle); _handle = handle; - tf.status.Check(true); + tf.Status.Check(true); } public unsafe Tensor(string[] strings) @@ -490,8 +490,8 @@ namespace Tensorflow Marshal.WriteInt64(input, i * sizeof(ulong), (long)offset); fixed (byte* src = &buffer[i][0]) { - var written = TF_StringEncode(src, (ulong)buffer[i].Length, (byte*)data_start, (ulong)(limit.ToInt64() - data_start.ToInt64()), tf.status.Handle); - tf.status.Check(true); + var written = TF_StringEncode(src, (ulong)buffer[i].Length, (byte*)data_start, (ulong)(limit.ToInt64() - data_start.ToInt64()), tf.Status.Handle); + tf.Status.Check(true); //input += 8; data_start += (int)written; offset += written; @@ -519,8 +519,8 @@ namespace Tensorflow IntPtr tensor = c_api.TF_TensorData(handle); Marshal.WriteInt64(tensor, 0); - c_api.TF_StringEncode((byte*) nd.Unsafe.Address, bytesLength, (byte*) (tensor + sizeof(long)), size, tf.status.Handle); - tf.status.Check(true); + c_api.TF_StringEncode((byte*) nd.Unsafe.Address, bytesLength, (byte*) (tensor + sizeof(long)), size, tf.Status.Handle); + tf.Status.Check(true); _handle = handle; } else { @@ -533,9 +533,9 @@ namespace Tensorflow Marshal.WriteInt64(tensor, 0); fixed (byte* src = buffer) - c_api.TF_StringEncode(src, (ulong)buffer.Length, (byte*) (tensor + sizeof(Int64)), size, tf.status.Handle); + c_api.TF_StringEncode(src, (ulong)buffer.Length, (byte*) (tensor + sizeof(Int64)), size, tf.Status.Handle); - tf.status.Check(true); + tf.Status.Check(true); _handle = handle; } @@ -610,9 +610,9 @@ namespace Tensorflow Marshal.WriteInt64(tensor, 0); fixed (byte* src = buffer) - c_api.TF_StringEncode(src, (ulong)buffer.Length, (byte*)(tensor + sizeof(long)), size, tf.status.Handle); + c_api.TF_StringEncode(src, (ulong)buffer.Length, (byte*)(tensor + sizeof(long)), size, tf.Status.Handle); - tf.status.Check(true); + tf.Status.Check(true); return handle; } diff --git a/src/TensorFlowNET.Core/Tensors/Tensor.Value.cs b/src/TensorFlowNET.Core/Tensors/Tensor.Value.cs index 2a8be7a3..f0905fb6 100644 --- a/src/TensorFlowNET.Core/Tensors/Tensor.Value.cs +++ b/src/TensorFlowNET.Core/Tensors/Tensor.Value.cs @@ -240,8 +240,8 @@ namespace Tensorflow { IntPtr dst = IntPtr.Zero; ulong dstLen = 0; - var read = c_api.TF_StringDecode((byte*)src, bytesize, (byte**)&dst, ref dstLen, tf.status.Handle); - tf.status.Check(true); + var read = c_api.TF_StringDecode((byte*)src, bytesize, (byte**)&dst, ref dstLen, tf.Status.Handle); + tf.Status.Check(true); buffer[i] = new byte[(int)dstLen]; Marshal.Copy(dst, buffer[i], 0, buffer[i].Length); src += (int)read; @@ -274,8 +274,8 @@ namespace Tensorflow { IntPtr dst = IntPtr.Zero; ulong dstLen = 0; - var read = c_api.TF_StringDecode((byte*)src, bytesize, (byte**)&dst, ref dstLen, tf.status.Handle); - tf.status.Check(true); + var read = c_api.TF_StringDecode((byte*)src, bytesize, (byte**)&dst, ref dstLen, tf.Status.Handle); + tf.Status.Check(true); buffer[i] = new byte[(int)dstLen]; Marshal.Copy(dst, buffer[i], 0, buffer[i].Length); src += (int)read; diff --git a/src/TensorFlowNET.Core/Tensors/Tensor.cs b/src/TensorFlowNET.Core/Tensors/Tensor.cs index 87e6f7f2..4d586160 100644 --- a/src/TensorFlowNET.Core/Tensors/Tensor.cs +++ b/src/TensorFlowNET.Core/Tensors/Tensor.cs @@ -109,7 +109,7 @@ namespace Tensorflow if (_handle == IntPtr.Zero) { - c_api.TF_GraphGetTensorShape(op.graph, _as_tf_output(), dims, rank, tf.status.Handle); + c_api.TF_GraphGetTensorShape(op.graph, _as_tf_output(), dims, rank, tf.Status.Handle); } else { @@ -123,11 +123,11 @@ namespace Tensorflow set { if (value == null) - c_api.TF_GraphSetTensorShape(graph, _as_tf_output(), null, -1, tf.status.Handle); + c_api.TF_GraphSetTensorShape(graph, _as_tf_output(), null, -1, tf.Status.Handle); else - c_api.TF_GraphSetTensorShape(graph, _as_tf_output(), value.Select(Convert.ToInt64).ToArray(), value.Length, tf.status.Handle); + c_api.TF_GraphSetTensorShape(graph, _as_tf_output(), value.Select(Convert.ToInt64).ToArray(), value.Length, tf.Status.Handle); - tf.status.Check(true); + tf.Status.Check(true); } } @@ -172,7 +172,7 @@ namespace Tensorflow if (_handle == IntPtr.Zero) { var output = _as_tf_output(); - int ndim = c_api.TF_GraphGetTensorNumDims(op.graph, output, tf.status.Handle); + int ndim = c_api.TF_GraphGetTensorNumDims(op.graph, output, tf.Status.Handle); return ndim; } @@ -232,11 +232,11 @@ namespace Tensorflow switch (rank) { case -1: - return $"tf.Tensor '{name}' shape= dtype={dtype}"; + return $"tf.Tensor '{name}' shape={TensorShape} dtype={dtype.as_numpy_name()}"; case 0: - return $"tf.Tensor '{name}' shape=() dtype={dtype}"; + return $"tf.Tensor '{name}' shape={TensorShape} dtype={dtype.as_numpy_name()}"; default: - return $"tf.Tensor '{name}' shape=({string.Join(",", shape)}) dtype={dtype}"; + return $"tf.Tensor '{name}' shape={TensorShape} dtype={dtype.as_numpy_name()}"; } } diff --git a/src/TensorFlowNET.Core/Tensors/constant_op.cs b/src/TensorFlowNET.Core/Tensors/constant_op.cs index 2ed21e65..39147875 100644 --- a/src/TensorFlowNET.Core/Tensors/constant_op.cs +++ b/src/TensorFlowNET.Core/Tensors/constant_op.cs @@ -20,6 +20,7 @@ using System.Collections.Generic; using Tensorflow.Eager; using static Tensorflow.Binding; using System.Linq; +using Tensorflow.Contexts; namespace Tensorflow { @@ -49,9 +50,9 @@ namespace Tensorflow bool verify_shape, bool allow_broadcast) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var t = convert_to_eager_tensor(value, tf.context, dtype: dtype); + var t = convert_to_eager_tensor(value, tf.Context, dtype: dtype); if (shape == null) return t; @@ -69,7 +70,7 @@ namespace Tensorflow if (t.dtype == dtypes.@bool) throw new NotImplementedException(""); else - return _eager_fill(shape, t, tf.context); + return _eager_fill(shape, t, tf.Context); } } @@ -105,7 +106,7 @@ namespace Tensorflow var dims_t = convert_to_eager_tensor(dims, ctx, dtypes.int32); var inputs_flat = new[] { dims_t, value }; var attrs = new object[] { "T", attr_t, "index_type", TF_DataType.TF_INT32 }; - var result = tf._execute.execute(ctx, "Fill", 1, inputs_flat, attrs); + var result = tf.Runner.Execute(ctx, "Fill", 1, inputs_flat, attrs); return result[0]; } @@ -135,7 +136,7 @@ namespace Tensorflow if(dtype == TF_DataType.TF_STRING && value is byte[] bytes) { - return new EagerTensor(bytes, ctx.device_name, TF_DataType.TF_STRING); + return new EagerTensor(bytes, ctx.DeviceName, TF_DataType.TF_STRING); } switch (value) @@ -143,53 +144,53 @@ namespace Tensorflow case EagerTensor val: return val; case NDArray val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case string val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case string[] val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case bool val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case byte val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case byte[] val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case byte[,] val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case byte[,,] val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case int val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case int[] val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case int[,] val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case int[,,] val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case long val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case long[] val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case long[,] val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case long[,,] val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case float val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case float[] val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case float[,] val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case float[,,] val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case double val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case double[] val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case double[,] val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); case double[,,] val: - return new EagerTensor(val, ctx.device_name); + return new EagerTensor(val, ctx.DeviceName); default: throw new NotImplementedException($"convert_to_eager_tensor {value.GetType()}"); } diff --git a/src/TensorFlowNET.Core/Training/Optimizer.cs b/src/TensorFlowNET.Core/Training/Optimizer.cs index e9beba08..3216c519 100644 --- a/src/TensorFlowNET.Core/Training/Optimizer.cs +++ b/src/TensorFlowNET.Core/Training/Optimizer.cs @@ -212,7 +212,7 @@ namespace Tensorflow }); } - if (!tf.context.executing_eagerly()) + if (!tf.Context.executing_eagerly()) { var train_op = ops.get_collection_ref(tf.GraphKeys.TRAIN_OP); if (train_op != null && train_op.Contains(apply_updates)) diff --git a/src/TensorFlowNET.Core/Training/Saving/Saver.cs b/src/TensorFlowNET.Core/Training/Saving/Saver.cs index d24fc5b9..0deee23f 100644 --- a/src/TensorFlowNET.Core/Training/Saving/Saver.cs +++ b/src/TensorFlowNET.Core/Training/Saving/Saver.cs @@ -155,7 +155,7 @@ namespace Tensorflow private void _check_saver_def() { - if (!tf.context.executing_eagerly()) + if (!tf.Context.executing_eagerly()) { if (string.IsNullOrEmpty(_saver_def.SaveTensorName)) throw new ValueError($"saver_def must specify the save_tensor_name: {_saver_def}"); @@ -244,7 +244,7 @@ namespace Tensorflow Console.WriteLine($"Restoring parameters from {save_path}"); - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) #pragma warning disable CS0642 // Possible mistaken empty statement ; #pragma warning restore CS0642 // Possible mistaken empty statement diff --git a/src/TensorFlowNET.Core/Training/Trackable.cs b/src/TensorFlowNET.Core/Training/Trackable.cs index 74fe0b69..617fb438 100644 --- a/src/TensorFlowNET.Core/Training/Trackable.cs +++ b/src/TensorFlowNET.Core/Training/Trackable.cs @@ -33,7 +33,7 @@ namespace Tensorflow.Train #pragma warning disable CS0219 // Variable is assigned but its value is never used IInitializer checkpoint_initializer = null; #pragma warning restore CS0219 // Variable is assigned but its value is never used - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) #pragma warning disable CS0642 // Possible mistaken empty statement ; #pragma warning restore CS0642 // Possible mistaken empty statement diff --git a/src/TensorFlowNET.Core/Training/gen_training_ops.cs b/src/TensorFlowNET.Core/Training/gen_training_ops.cs index ee637b7d..ff7e9ff4 100644 --- a/src/TensorFlowNET.Core/Training/gen_training_ops.cs +++ b/src/TensorFlowNET.Core/Training/gen_training_ops.cs @@ -27,7 +27,7 @@ namespace Tensorflow Tensor lr, Tensor beta1, Tensor beta2, Tensor epsilon, Tensor grad, bool use_locking = false, bool use_nesterov = false, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("ApplyAdam", name, new + var _op = tf.OpDefLib._apply_op_helper("ApplyAdam", name, new { var, m, @@ -48,7 +48,7 @@ namespace Tensorflow public static Tensor apply_gradient_descent(RefVariable var, Tensor alpha, Tensor delta, bool use_locking = false, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("ApplyGradientDescent", name, new + var _op = tf.OpDefLib._apply_op_helper("ApplyGradientDescent", name, new { var, alpha, @@ -61,9 +61,9 @@ namespace Tensorflow public static Operation resource_apply_gradient_descent(Tensor var, Tensor alpha, Tensor delta, bool use_locking = false, string name = null) { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - var result = tf.Runner.TFE_FastPathExecute(tf.context, tf.context.device_name, + var result = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName, "ResourceApplyGradientDescent", name, null, var, alpha, delta, @@ -71,7 +71,7 @@ namespace Tensorflow return null; } - var _op = tf._op_def_lib._apply_op_helper("ResourceApplyGradientDescent", name, new + var _op = tf.OpDefLib._apply_op_helper("ResourceApplyGradientDescent", name, new { var, alpha, diff --git a/src/TensorFlowNET.Core/Variables/BaseResourceVariable.cs b/src/TensorFlowNET.Core/Variables/BaseResourceVariable.cs index 1904c715..2dd55e02 100644 --- a/src/TensorFlowNET.Core/Variables/BaseResourceVariable.cs +++ b/src/TensorFlowNET.Core/Variables/BaseResourceVariable.cs @@ -136,7 +136,7 @@ namespace Tensorflow public override string ToString() { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) return $"tf.Variable: '{Name}' shape={string.Join(",", shape)}, dtype={dtype.as_numpy_name()}, numpy={tensor_util.to_numpy_string(read_value())}"; else return $"tf.Variable: '{Name}' shape={string.Join(",", shape)}, dtype={dtype.as_numpy_name()}"; diff --git a/src/TensorFlowNET.Core/Variables/RefVariable.cs b/src/TensorFlowNET.Core/Variables/RefVariable.cs index 7ed50bcc..47392cdc 100644 --- a/src/TensorFlowNET.Core/Variables/RefVariable.cs +++ b/src/TensorFlowNET.Core/Variables/RefVariable.cs @@ -419,7 +419,7 @@ namespace Tensorflow public ITensorOrOperation assign_add(T value, bool use_locking = false, string name = null, bool read_value = true) { var variable = this; - var _op = tf._op_def_lib._apply_op_helper("AssignAdd", name: name, args: new { variable, value, use_locking }); + var _op = tf.OpDefLib._apply_op_helper("AssignAdd", name: name, args: new { variable, value, use_locking }); return _op; } } diff --git a/src/TensorFlowNET.Core/Variables/ResourceVariable.cs b/src/TensorFlowNET.Core/Variables/ResourceVariable.cs index adee9779..ab1854ad 100644 --- a/src/TensorFlowNET.Core/Variables/ResourceVariable.cs +++ b/src/TensorFlowNET.Core/Variables/ResourceVariable.cs @@ -88,7 +88,7 @@ namespace Tensorflow collections.Add(tf.GraphKeys.TRAINABLE_VARIABLES); ops.init_scope(); - _in_graph_mode = !tf.context.executing_eagerly(); + _in_graph_mode = !tf.Context.executing_eagerly(); tf_with(ops.name_scope(name, "Variable"), scope => { name = scope; @@ -104,7 +104,7 @@ namespace Tensorflow else { unique_id = $"{handle_name}_{ops.uid()}"; - shared_name = tf.context.shared_name(); + shared_name = tf.Context.shared_name(); } var attr = new AttrValue(); diff --git a/src/TensorFlowNET.Core/Variables/gen_state_ops.py.cs b/src/TensorFlowNET.Core/Variables/gen_state_ops.py.cs index 3440eb76..20822af0 100644 --- a/src/TensorFlowNET.Core/Variables/gen_state_ops.py.cs +++ b/src/TensorFlowNET.Core/Variables/gen_state_ops.py.cs @@ -34,7 +34,7 @@ namespace Tensorflow /// public static Tensor variable_v2(int[] shape, TF_DataType dtype, string name = null, string container = "", string shared_name = "") { - var _op = tf._op_def_lib._apply_op_helper("VariableV2", name: name, args: new { dtype, shape, container, shared_name }); + var _op = tf.OpDefLib._apply_op_helper("VariableV2", name: name, args: new { dtype, shape, container, shared_name }); var _result = _op.outputs; var _inputs_flat = _op.inputs; @@ -61,7 +61,7 @@ namespace Tensorflow bool use_locking = true, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Assign", name: name, args: new { @ref, value, validate_shape, use_locking }); + var _op = tf.OpDefLib._apply_op_helper("Assign", name: name, args: new { @ref, value, validate_shape, use_locking }); var _result = _op.outputs; var _inputs_flat = _op.inputs; @@ -79,7 +79,7 @@ namespace Tensorflow bool use_locking = true, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Assign", name: name, args: new { @ref, value, validate_shape, use_locking }); + var _op = tf.OpDefLib._apply_op_helper("Assign", name: name, args: new { @ref, value, validate_shape, use_locking }); var _result = _op.outputs; var _inputs_flat = _op.inputs; @@ -97,7 +97,7 @@ namespace Tensorflow bool use_locking = true, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("Assign", name: name, args: new { @ref, value, validate_shape, use_locking }); + var _op = tf.OpDefLib._apply_op_helper("Assign", name: name, args: new { @ref, value, validate_shape, use_locking }); var _result = _op.outputs; var _inputs_flat = _op.inputs; @@ -115,7 +115,7 @@ namespace Tensorflow bool use_locking = false, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("AssignSub", name: name, args: new { @ref, value, use_locking }); + var _op = tf.OpDefLib._apply_op_helper("AssignSub", name: name, args: new { @ref, value, use_locking }); return _op.outputs[0]; } @@ -131,13 +131,13 @@ namespace Tensorflow /// public static Tensor scatter_add(IVariableV1 @ref, Tensor indices, Tensor updates, bool use_locking = false, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("ScatterAdd", name: name, args: new { @ref, indices, updates, use_locking }); + var _op = tf.OpDefLib._apply_op_helper("ScatterAdd", name: name, args: new { @ref, indices, updates, use_locking }); return _op.outputs[0]; } public static Tensor is_variable_initialized(RefVariable @ref, string name = null) { - var _op = tf._op_def_lib._apply_op_helper("IsVariableInitialized", name: name, args: new { @ref }); + var _op = tf.OpDefLib._apply_op_helper("IsVariableInitialized", name: name, args: new { @ref }); return _op.output; } } diff --git a/src/TensorFlowNET.Core/ops.cs b/src/TensorFlowNET.Core/ops.cs index 392da8cb..513e8d07 100644 --- a/src/TensorFlowNET.Core/ops.cs +++ b/src/TensorFlowNET.Core/ops.cs @@ -24,6 +24,7 @@ using NumSharp; using Tensorflow.Util; using static Tensorflow.Binding; using Tensorflow.Eager; +using Tensorflow.Contexts; namespace Tensorflow { @@ -176,7 +177,7 @@ namespace Tensorflow throw new NotImplementedException("_create_c_op"); } - var status = tf.status; + var status = tf.Status; // Add control inputs foreach (var control_input in control_inputs) @@ -240,7 +241,7 @@ namespace Tensorflow /// public static void init_scope() { - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) return; // Retrieve the active name scope: entering an `init_scope` preserves diff --git a/src/TensorFlowNET.Core/ops.name_scope.cs b/src/TensorFlowNET.Core/ops.name_scope.cs index d3d78a45..97a24525 100644 --- a/src/TensorFlowNET.Core/ops.name_scope.cs +++ b/src/TensorFlowNET.Core/ops.name_scope.cs @@ -16,6 +16,7 @@ using System.Collections.Generic; using System.Diagnostics; +using Tensorflow.Contexts; using Tensorflow.Eager; using static Tensorflow.Binding; @@ -48,9 +49,9 @@ namespace Tensorflow public void __enter__() { _name = _name ?? _default_name; - if (tf.context.executing_eagerly()) + if (tf.Context.executing_eagerly()) { - (scope_name, old_scope_name) = enter_eager_name_scope(tf.context, _name); + (scope_name, old_scope_name) = enter_eager_name_scope(tf.Context, _name); } else { @@ -75,7 +76,7 @@ namespace Tensorflow name = ""; var scope_name = name; - var old_name = ctx.scope_name; + var old_name = ctx.ScopeName; // A trailing slash breaks out of nested name scopes, indicating a // fully specified scope name, for compatibility with Graph.name_scope. if (!name.EndsWith("/")) @@ -85,14 +86,14 @@ namespace Tensorflow scope_name = old_name + scope_name; } - ctx.scope_name = scope_name; + ctx.ScopeName = scope_name; return (scope_name, old_name); } public void Dispose() { - if (tf.context.executing_eagerly()) - tf.context.scope_name = old_scope_name; + if (tf.Context.executing_eagerly()) + tf.Context.ScopeName = old_scope_name; else get_default_graph()._name_stack = old_scope_name; } diff --git a/src/TensorFlowNET.Core/tensorflow.cs b/src/TensorFlowNET.Core/tensorflow.cs index 91917549..ccf4033a 100644 --- a/src/TensorFlowNET.Core/tensorflow.cs +++ b/src/TensorFlowNET.Core/tensorflow.cs @@ -20,6 +20,7 @@ using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Threading; +using Tensorflow.Contexts; using Tensorflow.Eager; using Tensorflow.Gradients; @@ -41,19 +42,24 @@ namespace Tensorflow public delegate Tensor[] BackwardFunction(Tensor[] grads, long[] unneeded_gradients); - public Status status = new Status(); - public OpDefLibrary _op_def_lib = new OpDefLibrary(); - public Context context = new Context(new ContextOptions(), new Status()); - public Execute _execute = new Execute(); - public IEagerRunner Runner = new EagerRunner(); + public Status Status; + public OpDefLibrary OpDefLib; + public Context Context; + public IEagerRunner Runner; public tensorflow() { + Status = new Status(); + Context = new Context(new ContextOptions(), Status); enable_eager_execution(); - _constructThreadingObjects(); + OpDefLib = new OpDefLibrary(); + ConstructThreadingObjects(); InitGradientEnvironment(); + Runner = new EagerRunner(); } + public string VERSION => c_api.StringPiece(c_api.TF_Version()); + private void InitGradientEnvironment() { ops.RegisterFromAssembly(); @@ -74,15 +80,10 @@ namespace Tensorflow shape: shape); public Tensor placeholder(TF_DataType dtype, TensorShape shape = null, string name = null) - => gen_array_ops.placeholder(dtype, shape, name); + => array_ops.placeholder(dtype, shape, name); public void enable_eager_execution() - { - // contex = new Context(); - context.default_execution_mode = Context.EAGER_MODE; - } - - public string VERSION => c_api.StringPiece(c_api.TF_Version()); + => Context.eager_mode(); public Session get_default_session() => ops.get_default_session(); diff --git a/src/TensorFlowNET.Core/tensorflow.threading.cs b/src/TensorFlowNET.Core/tensorflow.threading.cs index 71f93008..7ab9e93d 100644 --- a/src/TensorFlowNET.Core/tensorflow.threading.cs +++ b/src/TensorFlowNET.Core/tensorflow.threading.cs @@ -21,12 +21,12 @@ namespace Tensorflow { public partial class tensorflow : ITensorFlowObject { - protected ThreadLocal _defaultSessionFactory; + protected ThreadLocal defaultSessionFactory; [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void _constructThreadingObjects() + public void ConstructThreadingObjects() { - _defaultSessionFactory = new ThreadLocal(() => new Session()); + defaultSessionFactory = new ThreadLocal(() => new Session()); } public Session defaultSession @@ -34,7 +34,7 @@ namespace Tensorflow get { if (!ops.IsSingleThreaded) - return _defaultSessionFactory.Value; + return defaultSessionFactory.Value; return ops.get_default_session(); } @@ -42,7 +42,7 @@ namespace Tensorflow { if (!ops.IsSingleThreaded) { - _defaultSessionFactory.Value = value; + defaultSessionFactory.Value = value; return; } diff --git a/src/TensorFlowNet.Benchmarks/Tensorflow.Benchmark.csproj b/src/TensorFlowNet.Benchmarks/Tensorflow.Benchmark.csproj index dab28872..0d280a95 100644 --- a/src/TensorFlowNet.Benchmarks/Tensorflow.Benchmark.csproj +++ b/src/TensorFlowNet.Benchmarks/Tensorflow.Benchmark.csproj @@ -8,6 +8,7 @@ true + DEBUG;TRACE diff --git a/tensorflowlib/README.md b/tensorflowlib/README.md index 33f36a22..8837a97c 100644 --- a/tensorflowlib/README.md +++ b/tensorflowlib/README.md @@ -52,7 +52,7 @@ Set ENV `BAZEL_VC=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\ 1. Build static library -`bazel build --config=opt //tensorflow:libtensorflow.so` +`bazel build --config=opt //tensorflow:tensorflow` 2. Build pip package diff --git a/test/TensorFlowNET.UnitTest/Keras/EmbeddingTest.cs b/test/TensorFlowNET.UnitTest/Keras/EmbeddingTest.cs index 93aa1cab..58c7845f 100644 --- a/test/TensorFlowNET.UnitTest/Keras/EmbeddingTest.cs +++ b/test/TensorFlowNET.UnitTest/Keras/EmbeddingTest.cs @@ -6,13 +6,14 @@ using Tensorflow.Keras.Engine; using Tensorflow.Keras.Layers; using NumSharp; using Tensorflow.UnitTest; +using static Tensorflow.Binding; namespace TensorFlowNET.UnitTest.Keras { /// /// https://www.tensorflow.org/versions/r1.14/api_docs/python/tf/keras/layers/Embedding /// - [TestClass] + [TestClass, Ignore] public class EmbeddingTest : GraphModeTestBase { [TestMethod] @@ -29,5 +30,13 @@ namespace TensorFlowNET.UnitTest.Keras var input_array = np.random.randint(1000, size: (32, 10)); model.compile("rmsprop", "mse"); } + + [TestMethod] + public void Dense() + { + var model = tf.keras.Sequential(); + var dense_layer = tf.keras.layers.Dense(5, input_shape: 3); + model.add(dense_layer); + } } } diff --git a/test/TensorFlowNET.UnitTest/Tensorflow.UnitTest.csproj b/test/TensorFlowNET.UnitTest/Tensorflow.UnitTest.csproj index ec8c2ec1..02e00fa3 100644 --- a/test/TensorFlowNET.UnitTest/Tensorflow.UnitTest.csproj +++ b/test/TensorFlowNET.UnitTest/Tensorflow.UnitTest.csproj @@ -47,7 +47,7 @@ - +