From ae8fe840e457b0b34d04fc0cafdb31d89b7a9d4d Mon Sep 17 00:00:00 2001 From: Yaohui Liu Date: Thu, 22 Jun 2023 09:21:18 +0800 Subject: [PATCH] fix: resolve conflict. --- src/TensorFlowNET.Core/APIs/c_api.cs | 4 +++- src/TensorFlowNET.Core/ops.cs | 10 ++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/TensorFlowNET.Core/APIs/c_api.cs b/src/TensorFlowNET.Core/APIs/c_api.cs index 559176a5..a91b8682 100644 --- a/src/TensorFlowNET.Core/APIs/c_api.cs +++ b/src/TensorFlowNET.Core/APIs/c_api.cs @@ -53,8 +53,10 @@ namespace Tensorflow public unsafe static byte[] ByteStringPiece(Buffer? handle) { - if(handle is null){ + if (handle is null) + { return new byte[0]; + } var data = handle.ToArray(); return data; } diff --git a/src/TensorFlowNET.Core/ops.cs b/src/TensorFlowNET.Core/ops.cs index a962e6d8..7bd78a79 100644 --- a/src/TensorFlowNET.Core/ops.cs +++ b/src/TensorFlowNET.Core/ops.cs @@ -576,8 +576,14 @@ namespace Tensorflow public static HandleData get_resource_handle_data(Tensor graph_op) { var handle_data = c_api.TFC_GetHandleShapeAndType(graph_op.graph.c_graph, graph_op._as_tf_output()); - var handle_str = c_api.ByteStringPiece(handle_data.DangerousGetHandle() == IntPtr.Zero ? null : new Buffer(handle_data)); - return HandleData.Parser.ParseFrom(handle_str); + try{ + var handle_str = c_api.ByteStringPiece(handle_data.DangerousGetHandle() == IntPtr.Zero ? null : new Buffer(handle_data)); + return HandleData.Parser.ParseFrom(handle_str); + } + catch(Exception){ + var handle_str = c_api.ByteStringPieceFromNativeString(handle_data.DangerousGetHandle()); + return HandleData.Parser.ParseFrom(handle_str); + } } public static void dismantle_graph(Graph graph)