From de696fb341863f96e37e6c7afcde2cf3df5bd20d Mon Sep 17 00:00:00 2001 From: Oceania2018 Date: Sat, 3 Aug 2019 02:39:54 -0500 Subject: [PATCH] new operation alwasy in current graph. --- src/TensorFlowNET.Core/Graphs/Graph.Import.cs | 12 ++++++++---- src/TensorFlowNET.Core/Graphs/Graph.Operation.cs | 8 +++++++- src/TensorFlowNET.Core/TensorFlowNET.Core.csproj | 6 +++--- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/TensorFlowNET.Core/Graphs/Graph.Import.cs b/src/TensorFlowNET.Core/Graphs/Graph.Import.cs index af7ebfd1..1c91868b 100644 --- a/src/TensorFlowNET.Core/Graphs/Graph.Import.cs +++ b/src/TensorFlowNET.Core/Graphs/Graph.Import.cs @@ -59,12 +59,16 @@ namespace Tensorflow return status; } + static object locker = new object(); public static Graph ImportFromPB(string file_path, string name = null) { - var graph = tf.Graph().as_default(); - var graph_def = GraphDef.Parser.ParseFrom(File.ReadAllBytes(file_path)); - importer.import_graph_def(graph_def, name: name); - return graph; + lock (locker) + { + var graph = tf.Graph().as_default(); + var graph_def = GraphDef.Parser.ParseFrom(File.ReadAllBytes(file_path)); + importer.import_graph_def(graph_def, name: name); + return graph; + } } } } diff --git a/src/TensorFlowNET.Core/Graphs/Graph.Operation.cs b/src/TensorFlowNET.Core/Graphs/Graph.Operation.cs index 09e09573..1030922b 100644 --- a/src/TensorFlowNET.Core/Graphs/Graph.Operation.cs +++ b/src/TensorFlowNET.Core/Graphs/Graph.Operation.cs @@ -55,7 +55,13 @@ namespace Tensorflow public Operation OperationByName(string operName) { - return c_api.TF_GraphOperationByName(_handle, operName); + var handle = c_api.TF_GraphOperationByName(_handle, operName); + if(graph_key != tf.get_default_graph().graph_key) + { + Console.WriteLine($"Current graph is not default graph."); + // throw new ValueError($"Current graph is not default graph."); + } + return new Operation(handle, g: this); } public ITensorOrOperation[] get_operations() diff --git a/src/TensorFlowNET.Core/TensorFlowNET.Core.csproj b/src/TensorFlowNET.Core/TensorFlowNET.Core.csproj index 3037221c..4c2b1650 100644 --- a/src/TensorFlowNET.Core/TensorFlowNET.Core.csproj +++ b/src/TensorFlowNET.Core/TensorFlowNET.Core.csproj @@ -5,7 +5,7 @@ TensorFlow.NET Tensorflow 1.14.0 - 0.10.8 + 0.10.9 Haiping Chen, Meinrad Recheis SciSharp STACK true @@ -17,7 +17,7 @@ TensorFlow, NumSharp, SciSharp, MachineLearning, TensorFlow.NET, C# Google's TensorFlow full binding in .NET Standard. Docs: https://tensorflownet.readthedocs.io - 0.10.8.0 + 0.10.9.0 Changes since v0.9.0: 1. Added full connected Convolution Neural Network example. @@ -37,7 +37,7 @@ Docs: https://tensorflownet.readthedocs.io 15. Fix Tensor memory leak. 16. Rename with to tf_with that is only used to build graph purpose. 7.2 - 0.10.8.0 + 0.10.9.0 LICENSE true true