diff --git a/src/TensorFlowNET.Core/TensorFlow.Binding.csproj b/src/TensorFlowNET.Core/TensorFlow.Binding.csproj
index dd83ae65..22006661 100644
--- a/src/TensorFlowNET.Core/TensorFlow.Binding.csproj
+++ b/src/TensorFlowNET.Core/TensorFlow.Binding.csproj
@@ -5,7 +5,7 @@
TensorFlow.NET
Tensorflow
1.14.1
- 0.14.1.1
+ 0.14.2.0
Haiping Chen, Meinrad Recheis, Eli Belash
SciSharp STACK
true
@@ -18,12 +18,13 @@
Google's TensorFlow full binding in .NET Standard.
Building, training and infering deep learning models.
https://tensorflownet.readthedocs.io
- 0.14.1.1
+ 0.14.2.0
Changes since v0.14.0:
1: Add TransformGraphWithStringInputs.
-2: tf.trainer.load_graph, tf.trainer.freeze_graph
+2: tf.trainer.load_graph, tf.trainer.freeze_graph
+3: Import Protobuf.Text
7.3
- 0.14.1.1
+ 0.14.2.0
LICENSE
true
true
@@ -60,8 +61,9 @@ https://tensorflownet.readthedocs.io
-
+
+
diff --git a/src/TensorFlowNET.Core/Training/Saving/checkpoint_management.py.cs b/src/TensorFlowNET.Core/Training/Saving/checkpoint_management.py.cs
index 92550757..242464bd 100644
--- a/src/TensorFlowNET.Core/Training/Saving/checkpoint_management.py.cs
+++ b/src/TensorFlowNET.Core/Training/Saving/checkpoint_management.py.cs
@@ -20,6 +20,7 @@ using System.IO;
using System.Linq;
using static Tensorflow.SaverDef.Types;
using static Tensorflow.Binding;
+using Protobuf.Text;
namespace Tensorflow
{
@@ -187,24 +188,9 @@ namespace Tensorflow
var coord_checkpoint_filename = _GetCheckpointFilename(checkpoint_dir, latest_filename);
if (File.Exists(coord_checkpoint_filename))
{
- var file_content = File.ReadAllLines(coord_checkpoint_filename);
+ var file_content = File.ReadAllText(coord_checkpoint_filename);
// https://github.com/protocolbuffers/protobuf/issues/6654
- // var ckpt = CheckpointState.Parser.ParseFrom(file_content);
- var ckpt = new CheckpointState();
- var field = CheckpointState.Descriptor.FindFieldByName("model_checkpoint_path");
- ckpt.ModelCheckpointPath = file_content.FirstOrDefault(x => x.StartsWith(field.Name + ":")).Substring(field.Name.Length + 2);
- // remove first and last quote.
- ckpt.ModelCheckpointPath = ckpt.ModelCheckpointPath.Substring(1, ckpt.ModelCheckpointPath.Length - 2);
-
- field = CheckpointState.Descriptor.FindFieldByName("all_model_checkpoint_paths");
- file_content.Where(x => x.StartsWith(field.Name + ":"))
- .ToList()
- .ForEach(x =>
- {
- string value = x.Substring(field.Name.Length + 2);
- ckpt.AllModelCheckpointPaths.Add(value.Substring(1, value.Length - 2));
- });
-
+ var ckpt = CheckpointState.Parser.ParseText(file_content);
if (string.IsNullOrEmpty(ckpt.ModelCheckpointPath))
throw new ValueError($"Invalid checkpoint state loaded from {checkpoint_dir}");
// For relative model_checkpoint_path and all_model_checkpoint_paths,