Browse Source

regenerate protobufs.

tags/v0.20
Oceania2018 5 years ago
parent
commit
71fef9ac14
43 changed files with 7884 additions and 753 deletions
  1. +4
    -1
      src/TensorFlowNET.Core/Binding.Util.cs
  2. +14
    -0
      src/TensorFlowNET.Core/Eager/c_api.eager.cs
  3. +92
    -7
      src/TensorFlowNET.Core/Eager/pywrap_tfe_src.cs
  4. +1
    -0
      src/TensorFlowNET.Core/Operations/gen_array_ops.cs
  5. +6
    -6
      src/TensorFlowNET.Core/Operations/gen_math_ops.cs
  6. +2
    -2
      src/TensorFlowNET.Core/Protobuf/AllocationDescription.cs
  7. +14
    -14
      src/TensorFlowNET.Core/Protobuf/ApiDef.cs
  8. +5
    -5
      src/TensorFlowNET.Core/Protobuf/AttrValue.cs
  9. +11
    -10
      src/TensorFlowNET.Core/Protobuf/CheckpointState.cs
  10. +4
    -4
      src/TensorFlowNET.Core/Protobuf/Cluster.cs
  11. +577
    -141
      src/TensorFlowNET.Core/Protobuf/Config.cs
  12. +12
    -12
      src/TensorFlowNET.Core/Protobuf/ControlFlow.cs
  13. +12
    -12
      src/TensorFlowNET.Core/Protobuf/CostGraph.cs
  14. +11
    -9
      src/TensorFlowNET.Core/Protobuf/Debug.cs
  15. +11
    -11
      src/TensorFlowNET.Core/Protobuf/DeviceAttributes.cs
  16. +207
    -41
      src/TensorFlowNET.Core/Protobuf/Event.cs
  17. +205
    -20
      src/TensorFlowNET.Core/Protobuf/Function.cs
  18. +1
    -1
      src/TensorFlowNET.Core/Protobuf/Gen.bat
  19. +8
    -8
      src/TensorFlowNET.Core/Protobuf/Graph.cs
  20. +33
    -33
      src/TensorFlowNET.Core/Protobuf/GraphTransferInfo.cs
  21. +6
    -6
      src/TensorFlowNET.Core/Protobuf/KernelDef.cs
  22. +13
    -13
      src/TensorFlowNET.Core/Protobuf/LogMemory.cs
  23. +333
    -81
      src/TensorFlowNET.Core/Protobuf/MetaGraph.cs
  24. +42
    -12
      src/TensorFlowNET.Core/Protobuf/NodeDef.cs
  25. +65
    -41
      src/TensorFlowNET.Core/Protobuf/OpDef.cs
  26. +211
    -9
      src/TensorFlowNET.Core/Protobuf/ResourceHandle.cs
  27. +284
    -136
      src/TensorFlowNET.Core/Protobuf/RewriterConfig.cs
  28. +2365
    -0
      src/TensorFlowNET.Core/Protobuf/SavedObjectGraph.cs
  29. +21
    -21
      src/TensorFlowNET.Core/Protobuf/Saver.cs
  30. +47
    -21
      src/TensorFlowNET.Core/Protobuf/StepStats.cs
  31. +1990
    -0
      src/TensorFlowNET.Core/Protobuf/Struct.cs
  32. +13
    -13
      src/TensorFlowNET.Core/Protobuf/Summary.cs
  33. +12
    -12
      src/TensorFlowNET.Core/Protobuf/Tensor.cs
  34. +14
    -14
      src/TensorFlowNET.Core/Protobuf/TensorDescription.cs
  35. +12
    -12
      src/TensorFlowNET.Core/Protobuf/TensorShape.cs
  36. +2
    -2
      src/TensorFlowNET.Core/Protobuf/TensorSlice.cs
  37. +957
    -0
      src/TensorFlowNET.Core/Protobuf/TrackableObjectGraph.cs
  38. +2
    -1
      src/TensorFlowNET.Core/Protobuf/Types.cs
  39. +21
    -20
      src/TensorFlowNET.Core/Protobuf/Variable.cs
  40. +229
    -0
      src/TensorFlowNET.Core/Protobuf/VerifierConfig.cs
  41. +2
    -2
      src/TensorFlowNET.Core/Protobuf/Versions.cs
  42. +11
    -0
      src/TensorFlowNET.Core/TensorFlow.Binding.csproj
  43. +2
    -0
      src/TensorFlowNET.Core/Tensors/Tensor.Value.cs

+ 4
- 1
src/TensorFlowNET.Core/Binding.Util.cs View File

@@ -80,7 +80,10 @@ namespace Tensorflow
public static void print(string format, params object[] objects)
{
if (!format.Contains("{}"))
Console.WriteLine(format, string.Join(" ", objects.Select(x => x.ToString())));
{
Console.WriteLine(format + " " + string.Join(" ", objects.Select(x => x.ToString())));
return;
}

foreach(var obj in objects)
{


+ 14
- 0
src/TensorFlowNET.Core/Eager/c_api.eager.cs View File

@@ -20,6 +20,17 @@ namespace Tensorflow
[DllImport(TensorFlowLibName)]
public static extern void TFE_DeleteContextOptions(IntPtr options);

/// <summary>
///
/// </summary>
/// <param name="op">TFE_Op*</param>
/// <param name="attr_name">const char*</param>
/// <param name="is_list">unsigned char*</param>
/// <param name="status">TF_Status*</param>
/// <returns></returns>
[DllImport(TensorFlowLibName)]
public static extern TF_AttrType TFE_OpGetAttrType(IntPtr op, string attr_name, ref byte is_list, IntPtr status);

/// <summary>
/// Returns the length (number of tensors) of the input argument `input_name`
/// found in the provided `op`.
@@ -119,6 +130,9 @@ namespace Tensorflow
[DllImport(TensorFlowLibName)]
public static extern void TFE_OpSetAttrShape(IntPtr op, string attr_name, long[] dims, int num_dims, IntPtr out_status);

[DllImport(TensorFlowLibName)]
public static extern void TFE_OpSetAttrBool(IntPtr op, string attr_name, bool value);

/// <summary>
///
/// </summary>


+ 92
- 7
src/TensorFlowNET.Core/Eager/pywrap_tfe_src.cs View File

@@ -14,18 +14,36 @@ namespace Tensorflow.Eager
string device_name,
string opName,
string name,
params object[] inputs)
Action callbacks,
params object[] args)
{
int args_size = args.Length;
IntPtr op = IntPtr.Zero;
var attr_list_sizes = new Dictionary<string, int>();
var attr_list_sizes = new Dictionary<string, long>();
using (var status = new Status())
{
op = c_api.TFE_NewOp(ctx, opName, status);

var op_def = Graph.TFE_GetOpDef(opName);

// SetOpAttrWithDefaults
c_api.TFE_OpSetDevice(op, "", status);
// Set non-inferred attrs, including setting defaults if the attr is passed in
// as None.
for (int i = op_def.InputArg.Count; i < args_size; i += 2)
{
var attr_name = args[i].ToString();
var attr_value = args[i + 1];

foreach(var attr in op_def.Attr)
{
if(attr_name == attr.Name)
{
SetOpAttrWithDefaults(ctx, op, attr, attr_name, attr_value, attr_list_sizes, status);
break;
}
}
}

c_api.TFE_OpSetDevice(op, device_name, status);

for (int i = 0; i < op_def.InputArg.Count; i++)
{
@@ -42,7 +60,7 @@ namespace Tensorflow.Eager
else
{
// The item is a single item.
switch (inputs[i])
switch (args[i])
{
case Tensor inputTensor:
AddInputToOp(inputTensor, true, input_arg, op, status);
@@ -57,18 +75,19 @@ namespace Tensorflow.Eager
for (int i = 0; i < op_def.OutputArg.Count; i++)
{
var output_arg = op_def.OutputArg[i];
var delta = 1;
var delta = 1L;
if (!string.IsNullOrEmpty(output_arg.NumberAttr))
delta = attr_list_sizes[output_arg.NumberAttr];
else if (!string.IsNullOrEmpty(output_arg.TypeListAttr))
delta = attr_list_sizes[output_arg.TypeListAttr];
if(delta < 0)
throw new RuntimeError("Attributes suggest that the size of an output list is less than 0");
num_retvals += delta;
num_retvals += (int)delta;
}

var retVals = new IntPtr[num_retvals];
c_api.TFE_Execute(op, retVals, ref num_retvals, status);
status.Check(true);

var t = c_api.TFE_TensorHandleResolve(retVals[0], status);
status.Check(true);
@@ -106,6 +125,72 @@ namespace Tensorflow.Eager
return true;
}

/// <summary>
/// This function will set the op attrs required. If an attr has the value of
/// None, then it will read the AttrDef to get the default value and set that
/// instead. Any failure in this function will simply fall back to the slow
/// path.
/// </summary>
/// <param name="ctx"></param>
/// <param name="op"></param>
/// <param name="attr"></param>
/// <param name="attr_name"></param>
/// <param name="attr_value"></param>
/// <param name="attr_list_sizes"></param>
/// <param name="status"></param>
private static void SetOpAttrWithDefaults(Context ctx, IntPtr op, AttrDef attr,
string attr_name, object attr_value,
Dictionary<string, long> attr_list_sizes,
Status status)
{
byte is_list = 0;
var type = c_api.TFE_OpGetAttrType(op, attr_name, ref is_list, status);
if (status.Code != TF_Code.TF_OK) return;

if(attr_value == null)
{
if (is_list != 0)
;
//SetOpAttrListDefault
else
;
//SetOpAttrScalarDefault
}
else
{
if (is_list != 0)
;// SetOpAttrList
else
SetOpAttrScalar(ctx, op, attr_name, attr_value, type, attr_list_sizes, status);
}
}

private static bool SetOpAttrScalar(Context ctx, IntPtr op,
string key, object value, TF_AttrType type,
Dictionary<string, long> attr_list_sizes,
Status status)
{
switch(type)
{
case TF_AttrType.TF_ATTR_STRING:
c_api.TFE_OpSetAttrString(op, key, value.ToString(), (uint)value.ToString().Length);
break;
case TF_AttrType.TF_ATTR_TYPE:
c_api.TFE_OpSetAttrType(op, key, (TF_DataType)value);
break;
case TF_AttrType.TF_ATTR_BOOL:
c_api.TFE_OpSetAttrBool(op, key, Convert.ToBoolean(value));
break;
case TF_AttrType.TF_ATTR_INT:
c_api.TFE_OpSetAttrInt(op, key, Convert.ToInt64(value));
break;
default:
throw new NotImplementedException("");
}

return true;
}

public static void RecordGradient(string op_name, Tensor[] inputs, Dictionary<string, object> attrs, Tensor[] results, string name = null)
{
var input_ids = inputs.Select(x => x.Id).ToArray();


+ 1
- 0
src/TensorFlowNET.Core/Operations/gen_array_ops.cs View File

@@ -17,6 +17,7 @@
using NumSharp;
using System;
using System.Collections.Generic;
using static Tensorflow.Binding;
using Tensorflow.Eager;

namespace Tensorflow


+ 6
- 6
src/TensorFlowNET.Core/Operations/gen_math_ops.cs View File

@@ -144,7 +144,7 @@ namespace Tensorflow
{
if (tf.context.executing_eagerly())
{
var _result = pywrap_tfe_src.TFE_Py_FastPathExecute(tf.context, "", "Add", name, x, y);
var _result = pywrap_tfe_src.TFE_Py_FastPathExecute(tf.context, "", "Add", name, null, x, y);
return _result;
}

@@ -466,7 +466,7 @@ namespace Tensorflow
{
if (tf.context.executing_eagerly())
{
var _result = pywrap_tfe_src.TFE_Py_FastPathExecute(tf.context, "", "Cast", name, x, "DstT", DstT, "Truncate", Truncate);
var _result = pywrap_tfe_src.TFE_Py_FastPathExecute(tf.context, "", "Cast", name, null, x, "DstT", DstT, "Truncate", Truncate);
return _result;
}

@@ -493,7 +493,7 @@ namespace Tensorflow
{
if (tf.context.executing_eagerly())
{
var _result = pywrap_tfe_src.TFE_Py_FastPathExecute(tf.context, "", "Sub", name, x, y);
var _result = pywrap_tfe_src.TFE_Py_FastPathExecute(tf.context, "", "Sub", name, null, x, y);
return _result;
}

@@ -544,7 +544,7 @@ namespace Tensorflow
{
if (tf.context.executing_eagerly())
{
var _result = pywrap_tfe_src.TFE_Py_FastPathExecute(tf.context, "", "Mul", name, x, y);
var _result = pywrap_tfe_src.TFE_Py_FastPathExecute(tf.context, "", "Mul", name, null, x, y);
return _result;
}

@@ -564,7 +564,7 @@ namespace Tensorflow
{
if (tf.context.executing_eagerly())
{
var _result = pywrap_tfe_src.TFE_Py_FastPathExecute(tf.context, "", "RealDiv", name, x, y);
var _result = pywrap_tfe_src.TFE_Py_FastPathExecute(tf.context, "", "RealDiv", name, null, x, y);
return _result;
}

@@ -591,7 +591,7 @@ namespace Tensorflow
{
if (tf.context.executing_eagerly())
{
var _result = pywrap_tfe_src.TFE_Py_FastPathExecute(tf.context, "", "FloorDiv", name, x, y);
var _result = pywrap_tfe_src.TFE_Py_FastPathExecute(tf.context, "", "FloorDiv", name, null, x, y);
return _result;
}



+ 2
- 2
src/TensorFlowNET.Core/Protobuf/AllocationDescription.cs View File

@@ -35,8 +35,8 @@ namespace Tensorflow {
"BnByb3RvMw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.AllocationDescription), global::Tensorflow.AllocationDescription.Parser, new[]{ "RequestedBytes", "AllocatedBytes", "AllocatorName", "AllocationId", "HasSingleReference", "Ptr" }, null, null, null)
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.AllocationDescription), global::Tensorflow.AllocationDescription.Parser, new[]{ "RequestedBytes", "AllocatedBytes", "AllocatorName", "AllocationId", "HasSingleReference", "Ptr" }, null, null, null, null)
}));
}
#endregion


+ 14
- 14
src/TensorFlowNET.Core/Protobuf/ApiDef.cs View File

@@ -49,11 +49,11 @@ namespace Tensorflow {
"YgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Tensorflow.AttrValueReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.ApiDef), global::Tensorflow.ApiDef.Parser, new[]{ "GraphOpName", "DeprecationMessage", "DeprecationVersion", "Visibility", "Endpoint", "InArg", "OutArg", "ArgOrder", "Attr", "Summary", "Description", "DescriptionPrefix", "DescriptionSuffix" }, null, new[]{ typeof(global::Tensorflow.ApiDef.Types.Visibility) }, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.ApiDef.Types.Endpoint), global::Tensorflow.ApiDef.Types.Endpoint.Parser, new[]{ "Name", "Deprecated", "DeprecationVersion" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.ApiDef.Types.Arg), global::Tensorflow.ApiDef.Types.Arg.Parser, new[]{ "Name", "RenameTo", "Description" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.ApiDef.Types.Attr), global::Tensorflow.ApiDef.Types.Attr.Parser, new[]{ "Name", "RenameTo", "DefaultValue", "Description" }, null, null, null)}),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.ApiDefs), global::Tensorflow.ApiDefs.Parser, new[]{ "Op" }, null, null, null)
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.ApiDef), global::Tensorflow.ApiDef.Parser, new[]{ "GraphOpName", "DeprecationMessage", "DeprecationVersion", "Visibility", "Endpoint", "InArg", "OutArg", "ArgOrder", "Attr", "Summary", "Description", "DescriptionPrefix", "DescriptionSuffix" }, null, new[]{ typeof(global::Tensorflow.ApiDef.Types.Visibility) }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.ApiDef.Types.Endpoint), global::Tensorflow.ApiDef.Types.Endpoint.Parser, new[]{ "Name", "Deprecated", "DeprecationVersion" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.ApiDef.Types.Arg), global::Tensorflow.ApiDef.Types.Arg.Parser, new[]{ "Name", "RenameTo", "Description" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.ApiDef.Types.Attr), global::Tensorflow.ApiDef.Types.Attr.Parser, new[]{ "Name", "RenameTo", "DefaultValue", "Description" }, null, null, null, null)}),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.ApiDefs), global::Tensorflow.ApiDefs.Parser, new[]{ "Op" }, null, null, null, null)
}));
}
#endregion
@@ -172,7 +172,7 @@ namespace Tensorflow {

/// <summary>Field number for the "visibility" field.</summary>
public const int VisibilityFieldNumber = 2;
private global::Tensorflow.ApiDef.Types.Visibility visibility_ = 0;
private global::Tensorflow.ApiDef.Types.Visibility visibility_ = global::Tensorflow.ApiDef.Types.Visibility.DefaultVisibility;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.ApiDef.Types.Visibility Visibility {
get { return visibility_; }
@@ -325,7 +325,7 @@ namespace Tensorflow {
if (GraphOpName.Length != 0) hash ^= GraphOpName.GetHashCode();
if (DeprecationMessage.Length != 0) hash ^= DeprecationMessage.GetHashCode();
if (DeprecationVersion != 0) hash ^= DeprecationVersion.GetHashCode();
if (Visibility != 0) hash ^= Visibility.GetHashCode();
if (Visibility != global::Tensorflow.ApiDef.Types.Visibility.DefaultVisibility) hash ^= Visibility.GetHashCode();
hash ^= endpoint_.GetHashCode();
hash ^= inArg_.GetHashCode();
hash ^= outArg_.GetHashCode();
@@ -352,7 +352,7 @@ namespace Tensorflow {
output.WriteRawTag(10);
output.WriteString(GraphOpName);
}
if (Visibility != 0) {
if (Visibility != global::Tensorflow.ApiDef.Types.Visibility.DefaultVisibility) {
output.WriteRawTag(16);
output.WriteEnum((int) Visibility);
}
@@ -402,7 +402,7 @@ namespace Tensorflow {
if (DeprecationVersion != 0) {
size += 1 + pb::CodedOutputStream.ComputeInt32Size(DeprecationVersion);
}
if (Visibility != 0) {
if (Visibility != global::Tensorflow.ApiDef.Types.Visibility.DefaultVisibility) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Visibility);
}
size += endpoint_.CalculateSize(_repeated_endpoint_codec);
@@ -442,7 +442,7 @@ namespace Tensorflow {
if (other.DeprecationVersion != 0) {
DeprecationVersion = other.DeprecationVersion;
}
if (other.Visibility != 0) {
if (other.Visibility != global::Tensorflow.ApiDef.Types.Visibility.DefaultVisibility) {
Visibility = other.Visibility;
}
endpoint_.Add(other.endpoint_);
@@ -478,7 +478,7 @@ namespace Tensorflow {
break;
}
case 16: {
visibility_ = (global::Tensorflow.ApiDef.Types.Visibility) input.ReadEnum();
Visibility = (global::Tensorflow.ApiDef.Types.Visibility) input.ReadEnum();
break;
}
case 26: {
@@ -1152,7 +1152,7 @@ namespace Tensorflow {
}
if (other.defaultValue_ != null) {
if (defaultValue_ == null) {
defaultValue_ = new global::Tensorflow.AttrValue();
DefaultValue = new global::Tensorflow.AttrValue();
}
DefaultValue.MergeFrom(other.DefaultValue);
}
@@ -1180,9 +1180,9 @@ namespace Tensorflow {
}
case 26: {
if (defaultValue_ == null) {
defaultValue_ = new global::Tensorflow.AttrValue();
DefaultValue = new global::Tensorflow.AttrValue();
}
input.ReadMessage(defaultValue_);
input.ReadMessage(DefaultValue);
break;
}
case 34: {


+ 5
- 5
src/TensorFlowNET.Core/Protobuf/AttrValue.cs View File

@@ -49,9 +49,9 @@ namespace Tensorflow {
"b3Jr+AEBYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Tensorflow.TensorReflection.Descriptor, global::Tensorflow.TensorShapeReflection.Descriptor, global::Tensorflow.TypesReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.AttrValue), global::Tensorflow.AttrValue.Parser, new[]{ "S", "I", "F", "B", "Type", "Shape", "Tensor", "List", "Func", "Placeholder" }, new[]{ "Value" }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.AttrValue.Types.ListValue), global::Tensorflow.AttrValue.Types.ListValue.Parser, new[]{ "S", "I", "F", "B", "Type", "Shape", "Tensor", "Func" }, null, null, null)}),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.NameAttrList), global::Tensorflow.NameAttrList.Parser, new[]{ "Name", "Attr" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, })
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.AttrValue), global::Tensorflow.AttrValue.Parser, new[]{ "S", "I", "F", "B", "Type", "Shape", "Tensor", "List", "Func", "Placeholder" }, new[]{ "Value" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.AttrValue.Types.ListValue), global::Tensorflow.AttrValue.Types.ListValue.Parser, new[]{ "S", "I", "F", "B", "Type", "Shape", "Tensor", "Func" }, null, null, null, null)}),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.NameAttrList), global::Tensorflow.NameAttrList.Parser, new[]{ "Name", "Attr" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, })
}));
}
#endregion
@@ -192,7 +192,7 @@ namespace Tensorflow {
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.DataType Type {
get { return valueCase_ == ValueOneofCase.Type ? (global::Tensorflow.DataType) value_ : 0; }
get { return valueCase_ == ValueOneofCase.Type ? (global::Tensorflow.DataType) value_ : global::Tensorflow.DataType.DtInvalid; }
set {
value_ = value;
valueCase_ = ValueOneofCase.Type;
@@ -923,7 +923,7 @@ namespace Tensorflow {
/// <summary>Field number for the "attr" field.</summary>
public const int AttrFieldNumber = 2;
private static readonly pbc::MapField<string, global::Tensorflow.AttrValue>.Codec _map_attr_codec
= new pbc::MapField<string, global::Tensorflow.AttrValue>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::Tensorflow.AttrValue.Parser), 18);
= new pbc::MapField<string, global::Tensorflow.AttrValue>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForMessage(18, global::Tensorflow.AttrValue.Parser), 18);
private readonly pbc::MapField<string, global::Tensorflow.AttrValue> attr_ = new pbc::MapField<string, global::Tensorflow.AttrValue>();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public pbc::MapField<string, global::Tensorflow.AttrValue> Attr {


+ 11
- 10
src/TensorFlowNET.Core/Protobuf/CheckpointState.cs View File

@@ -1,6 +1,6 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: checkpoint_state.proto
// source: tensorflow/python/training/checkpoint_state.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021
#region Designer generated code
@@ -11,11 +11,11 @@ using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace Tensorflow {

/// <summary>Holder for reflection information generated from checkpoint_state.proto</summary>
/// <summary>Holder for reflection information generated from tensorflow/python/training/checkpoint_state.proto</summary>
public static partial class CheckpointStateReflection {

#region Descriptor
/// <summary>File descriptor for checkpoint_state.proto</summary>
/// <summary>File descriptor for tensorflow/python/training/checkpoint_state.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
@@ -24,15 +24,16 @@ namespace Tensorflow {
static CheckpointStateReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"ChZjaGVja3BvaW50X3N0YXRlLnByb3RvEgp0ZW5zb3JmbG93Ip8BCg9DaGVj",
"a3BvaW50U3RhdGUSHQoVbW9kZWxfY2hlY2twb2ludF9wYXRoGAEgASgJEiIK",
"GmFsbF9tb2RlbF9jaGVja3BvaW50X3BhdGhzGAIgAygJEicKH2FsbF9tb2Rl",
"bF9jaGVja3BvaW50X3RpbWVzdGFtcHMYAyADKAESIAoYbGFzdF9wcmVzZXJ2",
"ZWRfdGltZXN0YW1wGAQgASgBQgP4AQFiBnByb3RvMw=="));
"CjF0ZW5zb3JmbG93L3B5dGhvbi90cmFpbmluZy9jaGVja3BvaW50X3N0YXRl",
"LnByb3RvEgp0ZW5zb3JmbG93Ip8BCg9DaGVja3BvaW50U3RhdGUSHQoVbW9k",
"ZWxfY2hlY2twb2ludF9wYXRoGAEgASgJEiIKGmFsbF9tb2RlbF9jaGVja3Bv",
"aW50X3BhdGhzGAIgAygJEicKH2FsbF9tb2RlbF9jaGVja3BvaW50X3RpbWVz",
"dGFtcHMYAyADKAESIAoYbGFzdF9wcmVzZXJ2ZWRfdGltZXN0YW1wGAQgASgB",
"QgP4AQFiBnByb3RvMw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CheckpointState), global::Tensorflow.CheckpointState.Parser, new[]{ "ModelCheckpointPath", "AllModelCheckpointPaths", "AllModelCheckpointTimestamps", "LastPreservedTimestamp" }, null, null, null)
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CheckpointState), global::Tensorflow.CheckpointState.Parser, new[]{ "ModelCheckpointPath", "AllModelCheckpointPaths", "AllModelCheckpointTimestamps", "LastPreservedTimestamp" }, null, null, null, null)
}));
}
#endregion


+ 4
- 4
src/TensorFlowNET.Core/Protobuf/Cluster.cs View File

@@ -34,9 +34,9 @@ namespace Tensorflow {
"L3Byb3RvYnVm+AEBYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.JobDef), global::Tensorflow.JobDef.Parser, new[]{ "Name", "Tasks" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.ClusterDef), global::Tensorflow.ClusterDef.Parser, new[]{ "Job" }, null, null, null)
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.JobDef), global::Tensorflow.JobDef.Parser, new[]{ "Name", "Tasks" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.ClusterDef), global::Tensorflow.ClusterDef.Parser, new[]{ "Job" }, null, null, null, null)
}));
}
#endregion
@@ -98,7 +98,7 @@ namespace Tensorflow {
/// <summary>Field number for the "tasks" field.</summary>
public const int TasksFieldNumber = 2;
private static readonly pbc::MapField<int, string>.Codec _map_tasks_codec
= new pbc::MapField<int, string>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForString(18), 18);
= new pbc::MapField<int, string>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForString(18, ""), 18);
private readonly pbc::MapField<int, string> tasks_ = new pbc::MapField<int, string>();
/// <summary>
/// Mapping from task ID to "hostname:port" string.


+ 577
- 141
src/TensorFlowNET.Core/Protobuf/Config.cs
File diff suppressed because it is too large
View File


+ 12
- 12
src/TensorFlowNET.Core/Protobuf/ControlFlow.cs View File

@@ -50,11 +50,11 @@ namespace Tensorflow {
"cHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.ValuesDef), global::Tensorflow.ValuesDef.Parser, new[]{ "Values", "ExternalValues" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.ControlFlowContextDef), global::Tensorflow.ControlFlowContextDef.Parser, new[]{ "CondCtxt", "WhileCtxt" }, new[]{ "Ctxt" }, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CondContextDef), global::Tensorflow.CondContextDef.Parser, new[]{ "ContextName", "PredName", "PivotName", "Branch", "ValuesDef", "NestedContexts" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.WhileContextDef), global::Tensorflow.WhileContextDef.Parser, new[]{ "ContextName", "ParallelIterations", "BackProp", "SwapMemory", "PivotName", "PivotForPredName", "PivotForBodyName", "LoopExitNames", "LoopEnterNames", "ValuesDef", "MaximumIterationsName", "NestedContexts" }, null, null, null)
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.ValuesDef), global::Tensorflow.ValuesDef.Parser, new[]{ "Values", "ExternalValues" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.ControlFlowContextDef), global::Tensorflow.ControlFlowContextDef.Parser, new[]{ "CondCtxt", "WhileCtxt" }, new[]{ "Ctxt" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CondContextDef), global::Tensorflow.CondContextDef.Parser, new[]{ "ContextName", "PredName", "PivotName", "Branch", "ValuesDef", "NestedContexts" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.WhileContextDef), global::Tensorflow.WhileContextDef.Parser, new[]{ "ContextName", "ParallelIterations", "BackProp", "SwapMemory", "PivotName", "PivotForPredName", "PivotForBodyName", "LoopExitNames", "LoopEnterNames", "ValuesDef", "MaximumIterationsName", "NestedContexts" }, null, null, null, null)
}));
}
#endregion
@@ -115,7 +115,7 @@ namespace Tensorflow {
/// <summary>Field number for the "external_values" field.</summary>
public const int ExternalValuesFieldNumber = 2;
private static readonly pbc::MapField<string, string>.Codec _map_externalValues_codec
= new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForString(18), 18);
= new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 18);
private readonly pbc::MapField<string, string> externalValues_ = new pbc::MapField<string, string>();
/// <summary>
/// Value names referenced by but external to this context.
@@ -658,7 +658,7 @@ namespace Tensorflow {
}
if (other.valuesDef_ != null) {
if (valuesDef_ == null) {
valuesDef_ = new global::Tensorflow.ValuesDef();
ValuesDef = new global::Tensorflow.ValuesDef();
}
ValuesDef.MergeFrom(other.ValuesDef);
}
@@ -692,9 +692,9 @@ namespace Tensorflow {
}
case 42: {
if (valuesDef_ == null) {
valuesDef_ = new global::Tensorflow.ValuesDef();
ValuesDef = new global::Tensorflow.ValuesDef();
}
input.ReadMessage(valuesDef_);
input.ReadMessage(ValuesDef);
break;
}
case 50: {
@@ -1089,7 +1089,7 @@ namespace Tensorflow {
loopEnterNames_.Add(other.loopEnterNames_);
if (other.valuesDef_ != null) {
if (valuesDef_ == null) {
valuesDef_ = new global::Tensorflow.ValuesDef();
ValuesDef = new global::Tensorflow.ValuesDef();
}
ValuesDef.MergeFrom(other.ValuesDef);
}
@@ -1142,9 +1142,9 @@ namespace Tensorflow {
}
case 74: {
if (valuesDef_ == null) {
valuesDef_ = new global::Tensorflow.ValuesDef();
ValuesDef = new global::Tensorflow.ValuesDef();
}
input.ReadMessage(valuesDef_);
input.ReadMessage(ValuesDef);
break;
}
case 82: {


+ 12
- 12
src/TensorFlowNET.Core/Protobuf/CostGraph.cs View File

@@ -49,9 +49,9 @@ namespace Tensorflow {
"+AEBYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Tensorflow.TensorShapeReflection.Descriptor, global::Tensorflow.TypesReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CostGraphDef), global::Tensorflow.CostGraphDef.Parser, new[]{ "Node" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CostGraphDef.Types.Node), global::Tensorflow.CostGraphDef.Types.Node.Parser, new[]{ "Name", "Device", "Id", "InputInfo", "OutputInfo", "TemporaryMemorySize", "PersistentMemorySize", "HostTempMemorySize", "DeviceTempMemorySize", "DevicePersistentMemorySize", "ComputeCost", "ComputeTime", "MemoryTime", "IsFinal", "ControlInput", "Inaccurate" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CostGraphDef.Types.Node.Types.InputInfo), global::Tensorflow.CostGraphDef.Types.Node.Types.InputInfo.Parser, new[]{ "PrecedingNode", "PrecedingPort" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CostGraphDef.Types.Node.Types.OutputInfo), global::Tensorflow.CostGraphDef.Types.Node.Types.OutputInfo.Parser, new[]{ "Size", "AliasInputPort", "Shape", "Dtype" }, null, null, null)})})
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CostGraphDef), global::Tensorflow.CostGraphDef.Parser, new[]{ "Node" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CostGraphDef.Types.Node), global::Tensorflow.CostGraphDef.Types.Node.Parser, new[]{ "Name", "Device", "Id", "InputInfo", "OutputInfo", "TemporaryMemorySize", "PersistentMemorySize", "HostTempMemorySize", "DeviceTempMemorySize", "DevicePersistentMemorySize", "ComputeCost", "ComputeTime", "MemoryTime", "IsFinal", "ControlInput", "Inaccurate" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CostGraphDef.Types.Node.Types.InputInfo), global::Tensorflow.CostGraphDef.Types.Node.Types.InputInfo.Parser, new[]{ "PrecedingNode", "PrecedingPort" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CostGraphDef.Types.Node.Types.OutputInfo), global::Tensorflow.CostGraphDef.Types.Node.Types.OutputInfo.Parser, new[]{ "Size", "AliasInputPort", "Shape", "Dtype" }, null, null, null, null)})})
}));
}
#endregion
@@ -991,7 +991,7 @@ namespace Tensorflow {

/// <summary>Field number for the "dtype" field.</summary>
public const int DtypeFieldNumber = 4;
private global::Tensorflow.DataType dtype_ = 0;
private global::Tensorflow.DataType dtype_ = global::Tensorflow.DataType.DtInvalid;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.DataType Dtype {
get { return dtype_; }
@@ -1026,7 +1026,7 @@ namespace Tensorflow {
if (Size != 0L) hash ^= Size.GetHashCode();
if (AliasInputPort != 0L) hash ^= AliasInputPort.GetHashCode();
if (shape_ != null) hash ^= Shape.GetHashCode();
if (Dtype != 0) hash ^= Dtype.GetHashCode();
if (Dtype != global::Tensorflow.DataType.DtInvalid) hash ^= Dtype.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -1052,7 +1052,7 @@ namespace Tensorflow {
output.WriteRawTag(26);
output.WriteMessage(Shape);
}
if (Dtype != 0) {
if (Dtype != global::Tensorflow.DataType.DtInvalid) {
output.WriteRawTag(32);
output.WriteEnum((int) Dtype);
}
@@ -1073,7 +1073,7 @@ namespace Tensorflow {
if (shape_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Shape);
}
if (Dtype != 0) {
if (Dtype != global::Tensorflow.DataType.DtInvalid) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Dtype);
}
if (_unknownFields != null) {
@@ -1095,11 +1095,11 @@ namespace Tensorflow {
}
if (other.shape_ != null) {
if (shape_ == null) {
shape_ = new global::Tensorflow.TensorShapeProto();
Shape = new global::Tensorflow.TensorShapeProto();
}
Shape.MergeFrom(other.Shape);
}
if (other.Dtype != 0) {
if (other.Dtype != global::Tensorflow.DataType.DtInvalid) {
Dtype = other.Dtype;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
@@ -1123,13 +1123,13 @@ namespace Tensorflow {
}
case 26: {
if (shape_ == null) {
shape_ = new global::Tensorflow.TensorShapeProto();
Shape = new global::Tensorflow.TensorShapeProto();
}
input.ReadMessage(shape_);
input.ReadMessage(Shape);
break;
}
case 32: {
dtype_ = (global::Tensorflow.DataType) input.ReadEnum();
Dtype = (global::Tensorflow.DataType) input.ReadEnum();
break;
}
}


+ 11
- 9
src/TensorFlowNET.Core/Protobuf/Debug.cs View File

@@ -40,11 +40,11 @@ namespace Tensorflow {
"Zmxvdy90ZW5zb3JmbG93L2dvL2NvcmUvcHJvdG9idWb4AQFiBnByb3RvMw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.DebugTensorWatch), global::Tensorflow.DebugTensorWatch.Parser, new[]{ "NodeName", "OutputSlot", "DebugOps", "DebugUrls", "TolerateDebugOpCreationFailures" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.DebugOptions), global::Tensorflow.DebugOptions.Parser, new[]{ "DebugTensorWatchOpts", "GlobalStep", "ResetDiskByteUsage" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.DebuggedSourceFile), global::Tensorflow.DebuggedSourceFile.Parser, new[]{ "Host", "FilePath", "LastModified", "Bytes", "Lines" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.DebuggedSourceFiles), global::Tensorflow.DebuggedSourceFiles.Parser, new[]{ "SourceFiles" }, null, null, null)
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.DebugTensorWatch), global::Tensorflow.DebugTensorWatch.Parser, new[]{ "NodeName", "OutputSlot", "DebugOps", "DebugUrls", "TolerateDebugOpCreationFailures" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.DebugOptions), global::Tensorflow.DebugOptions.Parser, new[]{ "DebugTensorWatchOpts", "GlobalStep", "ResetDiskByteUsage" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.DebuggedSourceFile), global::Tensorflow.DebuggedSourceFile.Parser, new[]{ "Host", "FilePath", "LastModified", "Bytes", "Lines" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.DebuggedSourceFiles), global::Tensorflow.DebuggedSourceFiles.Parser, new[]{ "SourceFiles" }, null, null, null, null)
}));
}
#endregion
@@ -97,6 +97,8 @@ namespace Tensorflow {
private string nodeName_ = "";
/// <summary>
/// Name of the node to watch.
/// Use "*" for wildcard. But note: currently, regex is not supported in
/// general.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public string NodeName {
@@ -111,10 +113,10 @@ namespace Tensorflow {
private int outputSlot_;
/// <summary>
/// Output slot to watch.
/// The semantics of output_slot == -1 is that the node is only watched for
/// completion, but not for any output tensors. See NodeCompletionCallback
/// in debug_gateway.h.
/// TODO(cais): Implement this semantics.
/// The semantics of output_slot == -1 is that all outputs of the node
/// will be watched (i.e., a wildcard).
/// Other negative values of output_slot are invalid and will lead to
/// errors currently.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int OutputSlot {


+ 11
- 11
src/TensorFlowNET.Core/Protobuf/DeviceAttributes.cs View File

@@ -40,11 +40,11 @@ namespace Tensorflow {
"bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.InterconnectLink), global::Tensorflow.InterconnectLink.Parser, new[]{ "DeviceId", "Type", "Strength" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.LocalLinks), global::Tensorflow.LocalLinks.Parser, new[]{ "Link" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.DeviceLocality), global::Tensorflow.DeviceLocality.Parser, new[]{ "BusId", "NumaNode", "Links" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.DeviceAttributes), global::Tensorflow.DeviceAttributes.Parser, new[]{ "Name", "DeviceType", "MemoryLimit", "Locality", "Incarnation", "PhysicalDeviceDesc" }, null, null, null)
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.InterconnectLink), global::Tensorflow.InterconnectLink.Parser, new[]{ "DeviceId", "Type", "Strength" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.LocalLinks), global::Tensorflow.LocalLinks.Parser, new[]{ "Link" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.DeviceLocality), global::Tensorflow.DeviceLocality.Parser, new[]{ "BusId", "NumaNode", "Links" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.DeviceAttributes), global::Tensorflow.DeviceAttributes.Parser, new[]{ "Name", "DeviceType", "MemoryLimit", "Locality", "Incarnation", "PhysicalDeviceDesc" }, null, null, null, null)
}));
}
#endregion
@@ -522,7 +522,7 @@ namespace Tensorflow {
}
if (other.links_ != null) {
if (links_ == null) {
links_ = new global::Tensorflow.LocalLinks();
Links = new global::Tensorflow.LocalLinks();
}
Links.MergeFrom(other.Links);
}
@@ -547,9 +547,9 @@ namespace Tensorflow {
}
case 26: {
if (links_ == null) {
links_ = new global::Tensorflow.LocalLinks();
Links = new global::Tensorflow.LocalLinks();
}
input.ReadMessage(links_);
input.ReadMessage(Links);
break;
}
}
@@ -799,7 +799,7 @@ namespace Tensorflow {
}
if (other.locality_ != null) {
if (locality_ == null) {
locality_ = new global::Tensorflow.DeviceLocality();
Locality = new global::Tensorflow.DeviceLocality();
}
Locality.MergeFrom(other.Locality);
}
@@ -834,9 +834,9 @@ namespace Tensorflow {
}
case 42: {
if (locality_ == null) {
locality_ = new global::Tensorflow.DeviceLocality();
Locality = new global::Tensorflow.DeviceLocality();
}
input.ReadMessage(locality_);
input.ReadMessage(Locality);
break;
}
case 49: {


+ 207
- 41
src/TensorFlowNET.Core/Protobuf/Event.cs View File

@@ -42,10 +42,12 @@ namespace Tensorflow {
"c2lvblN0YXR1cxIWChJTVEFUVVNfVU5TUEVDSUZJRUQQABIJCgVTVEFSVBAB",
"EggKBFNUT1AQAhIOCgpDSEVDS1BPSU5UEAMiNgoRVGFnZ2VkUnVuTWV0YWRh",
"dGESCwoDdGFnGAEgASgJEhQKDHJ1bl9tZXRhZGF0YRgCIAEoDCIkCg5XYXRj",
"aGRvZ0NvbmZpZxISCgp0aW1lb3V0X21zGAEgASgDIoQBChZXb3JrZXJIZWFy",
"dGJlYXRSZXF1ZXN0EjUKDXNodXRkb3duX21vZGUYASABKA4yHi50ZW5zb3Jm",
"bG93LldvcmtlclNodXRkb3duTW9kZRIzCg93YXRjaGRvZ19jb25maWcYAiAB",
"KAsyGi50ZW5zb3JmbG93LldhdGNoZG9nQ29uZmlnIoMBChdXb3JrZXJIZWFy",
"aGRvZ0NvbmZpZxISCgp0aW1lb3V0X21zGAEgASgDIiYKEVJlcXVlc3RlZEV4",
"aXRDb2RlEhEKCWV4aXRfY29kZRgBIAEoBSK2AQoWV29ya2VySGVhcnRiZWF0",
"UmVxdWVzdBI1Cg1zaHV0ZG93bl9tb2RlGAEgASgOMh4udGVuc29yZmxvdy5X",
"b3JrZXJTaHV0ZG93bk1vZGUSMwoPd2F0Y2hkb2dfY29uZmlnGAIgASgLMhou",
"dGVuc29yZmxvdy5XYXRjaGRvZ0NvbmZpZxIwCglleGl0X2NvZGUYAyABKAsy",
"HS50ZW5zb3JmbG93LlJlcXVlc3RlZEV4aXRDb2RlIoMBChdXb3JrZXJIZWFy",
"dGJlYXRSZXNwb25zZRIvCg1oZWFsdGhfc3RhdHVzGAEgASgOMhgudGVuc29y",
"Zmxvdy5Xb3JrZXJIZWFsdGgSJQoKd29ya2VyX2xvZxgCIAMoCzIRLnRlbnNv",
"cmZsb3cuRXZlbnQSEAoIaG9zdG5hbWUYAyABKAkqWwoMV29ya2VySGVhbHRo",
@@ -57,14 +59,15 @@ namespace Tensorflow {
"AQFiBnByb3RvMw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Tensorflow.SummaryReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Tensorflow.WorkerHealth), typeof(global::Tensorflow.WorkerShutdownMode), }, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.Event), global::Tensorflow.Event.Parser, new[]{ "WallTime", "Step", "FileVersion", "GraphDef", "Summary", "LogMessage", "SessionLog", "TaggedRunMetadata", "MetaGraphDef" }, new[]{ "What" }, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.LogMessage), global::Tensorflow.LogMessage.Parser, new[]{ "Level", "Message" }, null, new[]{ typeof(global::Tensorflow.LogMessage.Types.Level) }, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.SessionLog), global::Tensorflow.SessionLog.Parser, new[]{ "Status", "CheckpointPath", "Msg" }, null, new[]{ typeof(global::Tensorflow.SessionLog.Types.SessionStatus) }, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TaggedRunMetadata), global::Tensorflow.TaggedRunMetadata.Parser, new[]{ "Tag", "RunMetadata" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.WatchdogConfig), global::Tensorflow.WatchdogConfig.Parser, new[]{ "TimeoutMs" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.WorkerHeartbeatRequest), global::Tensorflow.WorkerHeartbeatRequest.Parser, new[]{ "ShutdownMode", "WatchdogConfig" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.WorkerHeartbeatResponse), global::Tensorflow.WorkerHeartbeatResponse.Parser, new[]{ "HealthStatus", "WorkerLog", "Hostname" }, null, null, null)
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Tensorflow.WorkerHealth), typeof(global::Tensorflow.WorkerShutdownMode), }, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.Event), global::Tensorflow.Event.Parser, new[]{ "WallTime", "Step", "FileVersion", "GraphDef", "Summary", "LogMessage", "SessionLog", "TaggedRunMetadata", "MetaGraphDef" }, new[]{ "What" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.LogMessage), global::Tensorflow.LogMessage.Parser, new[]{ "Level", "Message" }, null, new[]{ typeof(global::Tensorflow.LogMessage.Types.Level) }, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.SessionLog), global::Tensorflow.SessionLog.Parser, new[]{ "Status", "CheckpointPath", "Msg" }, null, new[]{ typeof(global::Tensorflow.SessionLog.Types.SessionStatus) }, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TaggedRunMetadata), global::Tensorflow.TaggedRunMetadata.Parser, new[]{ "Tag", "RunMetadata" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.WatchdogConfig), global::Tensorflow.WatchdogConfig.Parser, new[]{ "TimeoutMs" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.RequestedExitCode), global::Tensorflow.RequestedExitCode.Parser, new[]{ "ExitCode" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.WorkerHeartbeatRequest), global::Tensorflow.WorkerHeartbeatRequest.Parser, new[]{ "ShutdownMode", "WatchdogConfig", "ExitCode" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.WorkerHeartbeatResponse), global::Tensorflow.WorkerHeartbeatResponse.Parser, new[]{ "HealthStatus", "WorkerLog", "Hostname" }, null, null, null, null)
}));
}
#endregion
@@ -607,7 +610,7 @@ namespace Tensorflow {

/// <summary>Field number for the "level" field.</summary>
public const int LevelFieldNumber = 1;
private global::Tensorflow.LogMessage.Types.Level level_ = 0;
private global::Tensorflow.LogMessage.Types.Level level_ = global::Tensorflow.LogMessage.Types.Level.Unknown;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.LogMessage.Types.Level Level {
get { return level_; }
@@ -648,7 +651,7 @@ namespace Tensorflow {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override int GetHashCode() {
int hash = 1;
if (Level != 0) hash ^= Level.GetHashCode();
if (Level != global::Tensorflow.LogMessage.Types.Level.Unknown) hash ^= Level.GetHashCode();
if (Message.Length != 0) hash ^= Message.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
@@ -663,7 +666,7 @@ namespace Tensorflow {

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo(pb::CodedOutputStream output) {
if (Level != 0) {
if (Level != global::Tensorflow.LogMessage.Types.Level.Unknown) {
output.WriteRawTag(8);
output.WriteEnum((int) Level);
}
@@ -679,7 +682,7 @@ namespace Tensorflow {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int CalculateSize() {
int size = 0;
if (Level != 0) {
if (Level != global::Tensorflow.LogMessage.Types.Level.Unknown) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Level);
}
if (Message.Length != 0) {
@@ -696,7 +699,7 @@ namespace Tensorflow {
if (other == null) {
return;
}
if (other.Level != 0) {
if (other.Level != global::Tensorflow.LogMessage.Types.Level.Unknown) {
Level = other.Level;
}
if (other.Message.Length != 0) {
@@ -714,7 +717,7 @@ namespace Tensorflow {
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
level_ = (global::Tensorflow.LogMessage.Types.Level) input.ReadEnum();
Level = (global::Tensorflow.LogMessage.Types.Level) input.ReadEnum();
break;
}
case 18: {
@@ -790,7 +793,7 @@ namespace Tensorflow {

/// <summary>Field number for the "status" field.</summary>
public const int StatusFieldNumber = 1;
private global::Tensorflow.SessionLog.Types.SessionStatus status_ = 0;
private global::Tensorflow.SessionLog.Types.SessionStatus status_ = global::Tensorflow.SessionLog.Types.SessionStatus.StatusUnspecified;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.SessionLog.Types.SessionStatus Status {
get { return status_; }
@@ -846,7 +849,7 @@ namespace Tensorflow {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override int GetHashCode() {
int hash = 1;
if (Status != 0) hash ^= Status.GetHashCode();
if (Status != global::Tensorflow.SessionLog.Types.SessionStatus.StatusUnspecified) hash ^= Status.GetHashCode();
if (CheckpointPath.Length != 0) hash ^= CheckpointPath.GetHashCode();
if (Msg.Length != 0) hash ^= Msg.GetHashCode();
if (_unknownFields != null) {
@@ -862,7 +865,7 @@ namespace Tensorflow {

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo(pb::CodedOutputStream output) {
if (Status != 0) {
if (Status != global::Tensorflow.SessionLog.Types.SessionStatus.StatusUnspecified) {
output.WriteRawTag(8);
output.WriteEnum((int) Status);
}
@@ -882,7 +885,7 @@ namespace Tensorflow {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int CalculateSize() {
int size = 0;
if (Status != 0) {
if (Status != global::Tensorflow.SessionLog.Types.SessionStatus.StatusUnspecified) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Status);
}
if (CheckpointPath.Length != 0) {
@@ -902,7 +905,7 @@ namespace Tensorflow {
if (other == null) {
return;
}
if (other.Status != 0) {
if (other.Status != global::Tensorflow.SessionLog.Types.SessionStatus.StatusUnspecified) {
Status = other.Status;
}
if (other.CheckpointPath.Length != 0) {
@@ -923,7 +926,7 @@ namespace Tensorflow {
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
status_ = (global::Tensorflow.SessionLog.Types.SessionStatus) input.ReadEnum();
Status = (global::Tensorflow.SessionLog.Types.SessionStatus) input.ReadEnum();
break;
}
case 18: {
@@ -1250,6 +1253,135 @@ namespace Tensorflow {

}

public sealed partial class RequestedExitCode : pb::IMessage<RequestedExitCode> {
private static readonly pb::MessageParser<RequestedExitCode> _parser = new pb::MessageParser<RequestedExitCode>(() => new RequestedExitCode());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pb::MessageParser<RequestedExitCode> Parser { get { return _parser; } }

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {
get { return global::Tensorflow.EventReflection.Descriptor.MessageTypes[5]; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public RequestedExitCode() {
OnConstruction();
}

partial void OnConstruction();

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public RequestedExitCode(RequestedExitCode other) : this() {
exitCode_ = other.exitCode_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public RequestedExitCode Clone() {
return new RequestedExitCode(this);
}

/// <summary>Field number for the "exit_code" field.</summary>
public const int ExitCodeFieldNumber = 1;
private int exitCode_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int ExitCode {
get { return exitCode_; }
set {
exitCode_ = value;
}
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as RequestedExitCode);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public bool Equals(RequestedExitCode other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (ExitCode != other.ExitCode) return false;
return Equals(_unknownFields, other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override int GetHashCode() {
int hash = 1;
if (ExitCode != 0) hash ^= ExitCode.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo(pb::CodedOutputStream output) {
if (ExitCode != 0) {
output.WriteRawTag(8);
output.WriteInt32(ExitCode);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int CalculateSize() {
int size = 0;
if (ExitCode != 0) {
size += 1 + pb::CodedOutputStream.ComputeInt32Size(ExitCode);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(RequestedExitCode other) {
if (other == null) {
return;
}
if (other.ExitCode != 0) {
ExitCode = other.ExitCode;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(pb::CodedInputStream input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
ExitCode = input.ReadInt32();
break;
}
}
}
}

}

public sealed partial class WorkerHeartbeatRequest : pb::IMessage<WorkerHeartbeatRequest> {
private static readonly pb::MessageParser<WorkerHeartbeatRequest> _parser = new pb::MessageParser<WorkerHeartbeatRequest>(() => new WorkerHeartbeatRequest());
private pb::UnknownFieldSet _unknownFields;
@@ -1258,7 +1390,7 @@ namespace Tensorflow {

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {
get { return global::Tensorflow.EventReflection.Descriptor.MessageTypes[5]; }
get { return global::Tensorflow.EventReflection.Descriptor.MessageTypes[6]; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -1277,6 +1409,7 @@ namespace Tensorflow {
public WorkerHeartbeatRequest(WorkerHeartbeatRequest other) : this() {
shutdownMode_ = other.shutdownMode_;
watchdogConfig_ = other.watchdogConfig_ != null ? other.watchdogConfig_.Clone() : null;
exitCode_ = other.exitCode_ != null ? other.exitCode_.Clone() : null;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}

@@ -1287,7 +1420,7 @@ namespace Tensorflow {

/// <summary>Field number for the "shutdown_mode" field.</summary>
public const int ShutdownModeFieldNumber = 1;
private global::Tensorflow.WorkerShutdownMode shutdownMode_ = 0;
private global::Tensorflow.WorkerShutdownMode shutdownMode_ = global::Tensorflow.WorkerShutdownMode.Default;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.WorkerShutdownMode ShutdownMode {
get { return shutdownMode_; }
@@ -1307,6 +1440,17 @@ namespace Tensorflow {
}
}

/// <summary>Field number for the "exit_code" field.</summary>
public const int ExitCodeFieldNumber = 3;
private global::Tensorflow.RequestedExitCode exitCode_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.RequestedExitCode ExitCode {
get { return exitCode_; }
set {
exitCode_ = value;
}
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as WorkerHeartbeatRequest);
@@ -1322,14 +1466,16 @@ namespace Tensorflow {
}
if (ShutdownMode != other.ShutdownMode) return false;
if (!object.Equals(WatchdogConfig, other.WatchdogConfig)) return false;
if (!object.Equals(ExitCode, other.ExitCode)) return false;
return Equals(_unknownFields, other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override int GetHashCode() {
int hash = 1;
if (ShutdownMode != 0) hash ^= ShutdownMode.GetHashCode();
if (ShutdownMode != global::Tensorflow.WorkerShutdownMode.Default) hash ^= ShutdownMode.GetHashCode();
if (watchdogConfig_ != null) hash ^= WatchdogConfig.GetHashCode();
if (exitCode_ != null) hash ^= ExitCode.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -1343,7 +1489,7 @@ namespace Tensorflow {

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo(pb::CodedOutputStream output) {
if (ShutdownMode != 0) {
if (ShutdownMode != global::Tensorflow.WorkerShutdownMode.Default) {
output.WriteRawTag(8);
output.WriteEnum((int) ShutdownMode);
}
@@ -1351,6 +1497,10 @@ namespace Tensorflow {
output.WriteRawTag(18);
output.WriteMessage(WatchdogConfig);
}
if (exitCode_ != null) {
output.WriteRawTag(26);
output.WriteMessage(ExitCode);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -1359,12 +1509,15 @@ namespace Tensorflow {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int CalculateSize() {
int size = 0;
if (ShutdownMode != 0) {
if (ShutdownMode != global::Tensorflow.WorkerShutdownMode.Default) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ShutdownMode);
}
if (watchdogConfig_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(WatchdogConfig);
}
if (exitCode_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(ExitCode);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -1376,15 +1529,21 @@ namespace Tensorflow {
if (other == null) {
return;
}
if (other.ShutdownMode != 0) {
if (other.ShutdownMode != global::Tensorflow.WorkerShutdownMode.Default) {
ShutdownMode = other.ShutdownMode;
}
if (other.watchdogConfig_ != null) {
if (watchdogConfig_ == null) {
watchdogConfig_ = new global::Tensorflow.WatchdogConfig();
WatchdogConfig = new global::Tensorflow.WatchdogConfig();
}
WatchdogConfig.MergeFrom(other.WatchdogConfig);
}
if (other.exitCode_ != null) {
if (exitCode_ == null) {
ExitCode = new global::Tensorflow.RequestedExitCode();
}
ExitCode.MergeFrom(other.ExitCode);
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}

@@ -1397,14 +1556,21 @@ namespace Tensorflow {
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
shutdownMode_ = (global::Tensorflow.WorkerShutdownMode) input.ReadEnum();
ShutdownMode = (global::Tensorflow.WorkerShutdownMode) input.ReadEnum();
break;
}
case 18: {
if (watchdogConfig_ == null) {
watchdogConfig_ = new global::Tensorflow.WatchdogConfig();
WatchdogConfig = new global::Tensorflow.WatchdogConfig();
}
input.ReadMessage(watchdogConfig_);
input.ReadMessage(WatchdogConfig);
break;
}
case 26: {
if (exitCode_ == null) {
ExitCode = new global::Tensorflow.RequestedExitCode();
}
input.ReadMessage(ExitCode);
break;
}
}
@@ -1421,7 +1587,7 @@ namespace Tensorflow {

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {
get { return global::Tensorflow.EventReflection.Descriptor.MessageTypes[6]; }
get { return global::Tensorflow.EventReflection.Descriptor.MessageTypes[7]; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -1451,7 +1617,7 @@ namespace Tensorflow {

/// <summary>Field number for the "health_status" field.</summary>
public const int HealthStatusFieldNumber = 1;
private global::Tensorflow.WorkerHealth healthStatus_ = 0;
private global::Tensorflow.WorkerHealth healthStatus_ = global::Tensorflow.WorkerHealth.Ok;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.WorkerHealth HealthStatus {
get { return healthStatus_; }
@@ -1503,7 +1669,7 @@ namespace Tensorflow {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override int GetHashCode() {
int hash = 1;
if (HealthStatus != 0) hash ^= HealthStatus.GetHashCode();
if (HealthStatus != global::Tensorflow.WorkerHealth.Ok) hash ^= HealthStatus.GetHashCode();
hash ^= workerLog_.GetHashCode();
if (Hostname.Length != 0) hash ^= Hostname.GetHashCode();
if (_unknownFields != null) {
@@ -1519,7 +1685,7 @@ namespace Tensorflow {

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo(pb::CodedOutputStream output) {
if (HealthStatus != 0) {
if (HealthStatus != global::Tensorflow.WorkerHealth.Ok) {
output.WriteRawTag(8);
output.WriteEnum((int) HealthStatus);
}
@@ -1536,7 +1702,7 @@ namespace Tensorflow {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int CalculateSize() {
int size = 0;
if (HealthStatus != 0) {
if (HealthStatus != global::Tensorflow.WorkerHealth.Ok) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) HealthStatus);
}
size += workerLog_.CalculateSize(_repeated_workerLog_codec);
@@ -1554,7 +1720,7 @@ namespace Tensorflow {
if (other == null) {
return;
}
if (other.HealthStatus != 0) {
if (other.HealthStatus != global::Tensorflow.WorkerHealth.Ok) {
HealthStatus = other.HealthStatus;
}
workerLog_.Add(other.workerLog_);
@@ -1573,7 +1739,7 @@ namespace Tensorflow {
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
healthStatus_ = (global::Tensorflow.WorkerHealth) input.ReadEnum();
HealthStatus = (global::Tensorflow.WorkerHealth) input.ReadEnum();
break;
}
case 18: {


+ 205
- 20
src/TensorFlowNET.Core/Protobuf/Function.cs View File

@@ -30,24 +30,33 @@ namespace Tensorflow {
"cHJvdG8aJnRlbnNvcmZsb3cvY29yZS9mcmFtZXdvcmsvb3BfZGVmLnByb3Rv",
"ImoKEkZ1bmN0aW9uRGVmTGlicmFyeRIpCghmdW5jdGlvbhgBIAMoCzIXLnRl",
"bnNvcmZsb3cuRnVuY3Rpb25EZWYSKQoIZ3JhZGllbnQYAiADKAsyFy50ZW5z",
"b3JmbG93LkdyYWRpZW50RGVmIrACCgtGdW5jdGlvbkRlZhIkCglzaWduYXR1",
"b3JmbG93LkdyYWRpZW50RGVmIrYFCgtGdW5jdGlvbkRlZhIkCglzaWduYXR1",
"cmUYASABKAsyES50ZW5zb3JmbG93Lk9wRGVmEi8KBGF0dHIYBSADKAsyIS50",
"ZW5zb3JmbG93LkZ1bmN0aW9uRGVmLkF0dHJFbnRyeRIlCghub2RlX2RlZhgD",
"IAMoCzITLnRlbnNvcmZsb3cuTm9kZURlZhItCgNyZXQYBCADKAsyIC50ZW5z",
"b3JmbG93LkZ1bmN0aW9uRGVmLlJldEVudHJ5GkIKCUF0dHJFbnRyeRILCgNr",
"ZXkYASABKAkSJAoFdmFsdWUYAiABKAsyFS50ZW5zb3JmbG93LkF0dHJWYWx1",
"ZToCOAEaKgoIUmV0RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJ",
"OgI4AUoECAIQAyI7CgtHcmFkaWVudERlZhIVCg1mdW5jdGlvbl9uYW1lGAEg",
"ASgJEhUKDWdyYWRpZW50X2Z1bmMYAiABKAlCbgoYb3JnLnRlbnNvcmZsb3cu",
"ZnJhbWV3b3JrQg5GdW5jdGlvblByb3Rvc1ABWj1naXRodWIuY29tL3RlbnNv",
"cmZsb3cvdGVuc29yZmxvdy90ZW5zb3JmbG93L2dvL2NvcmUvZnJhbWV3b3Jr",
"+AEBYgZwcm90bzM="));
"ZW5zb3JmbG93LkZ1bmN0aW9uRGVmLkF0dHJFbnRyeRI2CghhcmdfYXR0chgH",
"IAMoCzIkLnRlbnNvcmZsb3cuRnVuY3Rpb25EZWYuQXJnQXR0ckVudHJ5EiUK",
"CG5vZGVfZGVmGAMgAygLMhMudGVuc29yZmxvdy5Ob2RlRGVmEi0KA3JldBgE",
"IAMoCzIgLnRlbnNvcmZsb3cuRnVuY3Rpb25EZWYuUmV0RW50cnkSPAoLY29u",
"dHJvbF9yZXQYBiADKAsyJy50ZW5zb3JmbG93LkZ1bmN0aW9uRGVmLkNvbnRy",
"b2xSZXRFbnRyeRpCCglBdHRyRW50cnkSCwoDa2V5GAEgASgJEiQKBXZhbHVl",
"GAIgASgLMhUudGVuc29yZmxvdy5BdHRyVmFsdWU6AjgBGogBCghBcmdBdHRy",
"cxI4CgRhdHRyGAEgAygLMioudGVuc29yZmxvdy5GdW5jdGlvbkRlZi5BcmdB",
"dHRycy5BdHRyRW50cnkaQgoJQXR0ckVudHJ5EgsKA2tleRgBIAEoCRIkCgV2",
"YWx1ZRgCIAEoCzIVLnRlbnNvcmZsb3cuQXR0clZhbHVlOgI4ARpQCgxBcmdB",
"dHRyRW50cnkSCwoDa2V5GAEgASgNEi8KBXZhbHVlGAIgASgLMiAudGVuc29y",
"Zmxvdy5GdW5jdGlvbkRlZi5BcmdBdHRyczoCOAEaKgoIUmV0RW50cnkSCwoD",
"a2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARoxCg9Db250cm9sUmV0RW50",
"cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUoECAIQAyI7CgtH",
"cmFkaWVudERlZhIVCg1mdW5jdGlvbl9uYW1lGAEgASgJEhUKDWdyYWRpZW50",
"X2Z1bmMYAiABKAlCbgoYb3JnLnRlbnNvcmZsb3cuZnJhbWV3b3JrQg5GdW5j",
"dGlvblByb3Rvc1ABWj1naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yZmxv",
"dy90ZW5zb3JmbG93L2dvL2NvcmUvZnJhbWV3b3Jr+AEBYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Tensorflow.AttrValueReflection.Descriptor, global::Tensorflow.NodeDefReflection.Descriptor, global::Tensorflow.OpDefReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.FunctionDefLibrary), global::Tensorflow.FunctionDefLibrary.Parser, new[]{ "Function", "Gradient" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.FunctionDef), global::Tensorflow.FunctionDef.Parser, new[]{ "Signature", "Attr", "NodeDef", "Ret" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.GradientDef), global::Tensorflow.GradientDef.Parser, new[]{ "FunctionName", "GradientFunc" }, null, null, null)
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.FunctionDefLibrary), global::Tensorflow.FunctionDefLibrary.Parser, new[]{ "Function", "Gradient" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.FunctionDef), global::Tensorflow.FunctionDef.Parser, new[]{ "Signature", "Attr", "ArgAttr", "NodeDef", "Ret", "ControlRet" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.FunctionDef.Types.ArgAttrs), global::Tensorflow.FunctionDef.Types.ArgAttrs.Parser, new[]{ "Attr" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
null, null, null, }),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.GradientDef), global::Tensorflow.GradientDef.Parser, new[]{ "FunctionName", "GradientFunc" }, null, null, null, null)
}));
}
#endregion
@@ -233,8 +242,10 @@ namespace Tensorflow {
public FunctionDef(FunctionDef other) : this() {
signature_ = other.signature_ != null ? other.signature_.Clone() : null;
attr_ = other.attr_.Clone();
argAttr_ = other.argAttr_.Clone();
nodeDef_ = other.nodeDef_.Clone();
ret_ = other.ret_.Clone();
controlRet_ = other.controlRet_.Clone();
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}

@@ -261,7 +272,7 @@ namespace Tensorflow {
/// <summary>Field number for the "attr" field.</summary>
public const int AttrFieldNumber = 5;
private static readonly pbc::MapField<string, global::Tensorflow.AttrValue>.Codec _map_attr_codec
= new pbc::MapField<string, global::Tensorflow.AttrValue>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::Tensorflow.AttrValue.Parser), 42);
= new pbc::MapField<string, global::Tensorflow.AttrValue>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForMessage(18, global::Tensorflow.AttrValue.Parser), 42);
private readonly pbc::MapField<string, global::Tensorflow.AttrValue> attr_ = new pbc::MapField<string, global::Tensorflow.AttrValue>();
/// <summary>
/// Attributes specific to this function definition.
@@ -271,6 +282,16 @@ namespace Tensorflow {
get { return attr_; }
}

/// <summary>Field number for the "arg_attr" field.</summary>
public const int ArgAttrFieldNumber = 7;
private static readonly pbc::MapField<uint, global::Tensorflow.FunctionDef.Types.ArgAttrs>.Codec _map_argAttr_codec
= new pbc::MapField<uint, global::Tensorflow.FunctionDef.Types.ArgAttrs>.Codec(pb::FieldCodec.ForUInt32(8, 0), pb::FieldCodec.ForMessage(18, global::Tensorflow.FunctionDef.Types.ArgAttrs.Parser), 58);
private readonly pbc::MapField<uint, global::Tensorflow.FunctionDef.Types.ArgAttrs> argAttr_ = new pbc::MapField<uint, global::Tensorflow.FunctionDef.Types.ArgAttrs>();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public pbc::MapField<uint, global::Tensorflow.FunctionDef.Types.ArgAttrs> ArgAttr {
get { return argAttr_; }
}

/// <summary>Field number for the "node_def" field.</summary>
public const int NodeDefFieldNumber = 3;
private static readonly pb::FieldCodec<global::Tensorflow.NodeDef> _repeated_nodeDef_codec
@@ -289,7 +310,7 @@ namespace Tensorflow {
/// <summary>Field number for the "ret" field.</summary>
public const int RetFieldNumber = 4;
private static readonly pbc::MapField<string, string>.Codec _map_ret_codec
= new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForString(18), 34);
= new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 34);
private readonly pbc::MapField<string, string> ret_ = new pbc::MapField<string, string>();
/// <summary>
/// A mapping from the output arg names from `signature` to the
@@ -300,6 +321,20 @@ namespace Tensorflow {
get { return ret_; }
}

/// <summary>Field number for the "control_ret" field.</summary>
public const int ControlRetFieldNumber = 6;
private static readonly pbc::MapField<string, string>.Codec _map_controlRet_codec
= new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 50);
private readonly pbc::MapField<string, string> controlRet_ = new pbc::MapField<string, string>();
/// <summary>
/// A mapping from control output names from `signature` to node names in
/// `node_def` which should be control outputs of this function.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public pbc::MapField<string, string> ControlRet {
get { return controlRet_; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as FunctionDef);
@@ -315,8 +350,10 @@ namespace Tensorflow {
}
if (!object.Equals(Signature, other.Signature)) return false;
if (!Attr.Equals(other.Attr)) return false;
if (!ArgAttr.Equals(other.ArgAttr)) return false;
if(!nodeDef_.Equals(other.nodeDef_)) return false;
if (!Ret.Equals(other.Ret)) return false;
if (!ControlRet.Equals(other.ControlRet)) return false;
return Equals(_unknownFields, other._unknownFields);
}

@@ -325,8 +362,10 @@ namespace Tensorflow {
int hash = 1;
if (signature_ != null) hash ^= Signature.GetHashCode();
hash ^= Attr.GetHashCode();
hash ^= ArgAttr.GetHashCode();
hash ^= nodeDef_.GetHashCode();
hash ^= Ret.GetHashCode();
hash ^= ControlRet.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -347,6 +386,8 @@ namespace Tensorflow {
nodeDef_.WriteTo(output, _repeated_nodeDef_codec);
ret_.WriteTo(output, _map_ret_codec);
attr_.WriteTo(output, _map_attr_codec);
controlRet_.WriteTo(output, _map_controlRet_codec);
argAttr_.WriteTo(output, _map_argAttr_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -359,8 +400,10 @@ namespace Tensorflow {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Signature);
}
size += attr_.CalculateSize(_map_attr_codec);
size += argAttr_.CalculateSize(_map_argAttr_codec);
size += nodeDef_.CalculateSize(_repeated_nodeDef_codec);
size += ret_.CalculateSize(_map_ret_codec);
size += controlRet_.CalculateSize(_map_controlRet_codec);
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -374,13 +417,15 @@ namespace Tensorflow {
}
if (other.signature_ != null) {
if (signature_ == null) {
signature_ = new global::Tensorflow.OpDef();
Signature = new global::Tensorflow.OpDef();
}
Signature.MergeFrom(other.Signature);
}
attr_.Add(other.attr_);
argAttr_.Add(other.argAttr_);
nodeDef_.Add(other.nodeDef_);
ret_.Add(other.ret_);
controlRet_.Add(other.controlRet_);
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}

@@ -394,9 +439,9 @@ namespace Tensorflow {
break;
case 10: {
if (signature_ == null) {
signature_ = new global::Tensorflow.OpDef();
Signature = new global::Tensorflow.OpDef();
}
input.ReadMessage(signature_);
input.ReadMessage(Signature);
break;
}
case 26: {
@@ -411,9 +456,149 @@ namespace Tensorflow {
attr_.AddEntriesFrom(input, _map_attr_codec);
break;
}
case 50: {
controlRet_.AddEntriesFrom(input, _map_controlRet_codec);
break;
}
case 58: {
argAttr_.AddEntriesFrom(input, _map_argAttr_codec);
break;
}
}
}
}

#region Nested types
/// <summary>Container for nested types declared in the FunctionDef message type.</summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static partial class Types {
/// <summary>
/// Attributes for function arguments. These attributes are the same set of
/// valid attributes as to _Arg nodes.
/// </summary>
public sealed partial class ArgAttrs : pb::IMessage<ArgAttrs> {
private static readonly pb::MessageParser<ArgAttrs> _parser = new pb::MessageParser<ArgAttrs>(() => new ArgAttrs());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pb::MessageParser<ArgAttrs> Parser { get { return _parser; } }

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {
get { return global::Tensorflow.FunctionDef.Descriptor.NestedTypes[1]; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public ArgAttrs() {
OnConstruction();
}

partial void OnConstruction();

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public ArgAttrs(ArgAttrs other) : this() {
attr_ = other.attr_.Clone();
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public ArgAttrs Clone() {
return new ArgAttrs(this);
}

/// <summary>Field number for the "attr" field.</summary>
public const int AttrFieldNumber = 1;
private static readonly pbc::MapField<string, global::Tensorflow.AttrValue>.Codec _map_attr_codec
= new pbc::MapField<string, global::Tensorflow.AttrValue>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForMessage(18, global::Tensorflow.AttrValue.Parser), 10);
private readonly pbc::MapField<string, global::Tensorflow.AttrValue> attr_ = new pbc::MapField<string, global::Tensorflow.AttrValue>();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public pbc::MapField<string, global::Tensorflow.AttrValue> Attr {
get { return attr_; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as ArgAttrs);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public bool Equals(ArgAttrs other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (!Attr.Equals(other.Attr)) return false;
return Equals(_unknownFields, other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override int GetHashCode() {
int hash = 1;
hash ^= Attr.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo(pb::CodedOutputStream output) {
attr_.WriteTo(output, _map_attr_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int CalculateSize() {
int size = 0;
size += attr_.CalculateSize(_map_attr_codec);
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(ArgAttrs other) {
if (other == null) {
return;
}
attr_.Add(other.attr_);
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(pb::CodedInputStream input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
attr_.AddEntriesFrom(input, _map_attr_codec);
break;
}
}
}
}

}

}
#endregion

}



+ 1
- 1
src/TensorFlowNET.Core/Protobuf/Gen.bat View File

@@ -1,6 +1,6 @@
@ECHO OFF

set SRC_DIR=D:/Projects/tensorflow2.x
set SRC_DIR=D:/SciSharp/tensorflow
set DST_DIR=D:/SciSharp/TensorFlow.NET/src/TensorFlowNET.Core/Protobuf

protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/framework/resource_handle.proto


+ 8
- 8
src/TensorFlowNET.Core/Protobuf/Graph.cs View File

@@ -37,8 +37,8 @@ namespace Tensorflow {
"b3RvMw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Tensorflow.NodeDefReflection.Descriptor, global::Tensorflow.FunctionReflection.Descriptor, global::Tensorflow.VersionsReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.GraphDef), global::Tensorflow.GraphDef.Parser, new[]{ "Node", "Versions", "Version", "Library" }, null, null, null)
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.GraphDef), global::Tensorflow.GraphDef.Parser, new[]{ "Node", "Versions", "Version", "Library" }, null, null, null, null)
}));
}
#endregion
@@ -253,7 +253,7 @@ namespace Tensorflow {
node_.Add(other.node_);
if (other.versions_ != null) {
if (versions_ == null) {
versions_ = new global::Tensorflow.VersionDef();
Versions = new global::Tensorflow.VersionDef();
}
Versions.MergeFrom(other.Versions);
}
@@ -262,7 +262,7 @@ namespace Tensorflow {
}
if (other.library_ != null) {
if (library_ == null) {
library_ = new global::Tensorflow.FunctionDefLibrary();
Library = new global::Tensorflow.FunctionDefLibrary();
}
Library.MergeFrom(other.Library);
}
@@ -283,9 +283,9 @@ namespace Tensorflow {
}
case 18: {
if (library_ == null) {
library_ = new global::Tensorflow.FunctionDefLibrary();
Library = new global::Tensorflow.FunctionDefLibrary();
}
input.ReadMessage(library_);
input.ReadMessage(Library);
break;
}
case 24: {
@@ -294,9 +294,9 @@ namespace Tensorflow {
}
case 34: {
if (versions_ == null) {
versions_ = new global::Tensorflow.VersionDef();
Versions = new global::Tensorflow.VersionDef();
}
input.ReadMessage(versions_);
input.ReadMessage(Versions);
break;
}
}


+ 33
- 33
src/TensorFlowNET.Core/Protobuf/GraphTransferInfo.cs View File

@@ -60,15 +60,15 @@ namespace Tensorflow {
"Mw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Tensorflow.TypesReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.GraphTransferNodeInput), global::Tensorflow.GraphTransferNodeInput.Parser, new[]{ "NodeId", "OutputPort" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.GraphTransferNodeInfo), global::Tensorflow.GraphTransferNodeInfo.Parser, new[]{ "Name", "NodeId", "TypeName", "SocOpId", "PaddingId", "InputCount", "OutputCount" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.GraphTransferConstNodeInfo), global::Tensorflow.GraphTransferConstNodeInfo.Parser, new[]{ "Name", "NodeId", "Shape", "Data", "Dtype" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.GraphTransferNodeInputInfo), global::Tensorflow.GraphTransferNodeInputInfo.Parser, new[]{ "NodeId", "NodeInput" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.GraphTransferNodeOutputInfo), global::Tensorflow.GraphTransferNodeOutputInfo.Parser, new[]{ "NodeId", "MaxByteSize" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.GraphTransferGraphInputNodeInfo), global::Tensorflow.GraphTransferGraphInputNodeInfo.Parser, new[]{ "Name", "Shape", "Dtype" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.GraphTransferGraphOutputNodeInfo), global::Tensorflow.GraphTransferGraphOutputNodeInfo.Parser, new[]{ "Name", "Shape", "Dtype" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.GraphTransferInfo), global::Tensorflow.GraphTransferInfo.Parser, new[]{ "NodeInfo", "ConstNodeInfo", "NodeInputInfo", "NodeOutputInfo", "GraphInputNodeInfo", "GraphOutputNodeInfo", "Destination" }, null, new[]{ typeof(global::Tensorflow.GraphTransferInfo.Types.Destination) }, null)
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.GraphTransferNodeInput), global::Tensorflow.GraphTransferNodeInput.Parser, new[]{ "NodeId", "OutputPort" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.GraphTransferNodeInfo), global::Tensorflow.GraphTransferNodeInfo.Parser, new[]{ "Name", "NodeId", "TypeName", "SocOpId", "PaddingId", "InputCount", "OutputCount" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.GraphTransferConstNodeInfo), global::Tensorflow.GraphTransferConstNodeInfo.Parser, new[]{ "Name", "NodeId", "Shape", "Data", "Dtype" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.GraphTransferNodeInputInfo), global::Tensorflow.GraphTransferNodeInputInfo.Parser, new[]{ "NodeId", "NodeInput" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.GraphTransferNodeOutputInfo), global::Tensorflow.GraphTransferNodeOutputInfo.Parser, new[]{ "NodeId", "MaxByteSize" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.GraphTransferGraphInputNodeInfo), global::Tensorflow.GraphTransferGraphInputNodeInfo.Parser, new[]{ "Name", "Shape", "Dtype" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.GraphTransferGraphOutputNodeInfo), global::Tensorflow.GraphTransferGraphOutputNodeInfo.Parser, new[]{ "Name", "Shape", "Dtype" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.GraphTransferInfo), global::Tensorflow.GraphTransferInfo.Parser, new[]{ "NodeInfo", "ConstNodeInfo", "NodeInputInfo", "NodeOutputInfo", "GraphInputNodeInfo", "GraphOutputNodeInfo", "Destination" }, null, new[]{ typeof(global::Tensorflow.GraphTransferInfo.Types.Destination) }, null, null)
}));
}
#endregion
@@ -612,7 +612,7 @@ namespace Tensorflow {

/// <summary>Field number for the "dtype" field.</summary>
public const int DtypeFieldNumber = 5;
private global::Tensorflow.DataType dtype_ = 0;
private global::Tensorflow.DataType dtype_ = global::Tensorflow.DataType.DtInvalid;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.DataType Dtype {
get { return dtype_; }
@@ -649,7 +649,7 @@ namespace Tensorflow {
if (NodeId != 0) hash ^= NodeId.GetHashCode();
hash ^= shape_.GetHashCode();
if (Data.Length != 0) hash ^= Data.GetHashCode();
if (Dtype != 0) hash ^= Dtype.GetHashCode();
if (Dtype != global::Tensorflow.DataType.DtInvalid) hash ^= Dtype.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -676,7 +676,7 @@ namespace Tensorflow {
output.WriteRawTag(34);
output.WriteBytes(Data);
}
if (Dtype != 0) {
if (Dtype != global::Tensorflow.DataType.DtInvalid) {
output.WriteRawTag(40);
output.WriteEnum((int) Dtype);
}
@@ -698,7 +698,7 @@ namespace Tensorflow {
if (Data.Length != 0) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(Data);
}
if (Dtype != 0) {
if (Dtype != global::Tensorflow.DataType.DtInvalid) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Dtype);
}
if (_unknownFields != null) {
@@ -722,7 +722,7 @@ namespace Tensorflow {
if (other.Data.Length != 0) {
Data = other.Data;
}
if (other.Dtype != 0) {
if (other.Dtype != global::Tensorflow.DataType.DtInvalid) {
Dtype = other.Dtype;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
@@ -754,7 +754,7 @@ namespace Tensorflow {
break;
}
case 40: {
dtype_ = (global::Tensorflow.DataType) input.ReadEnum();
Dtype = (global::Tensorflow.DataType) input.ReadEnum();
break;
}
}
@@ -1121,7 +1121,7 @@ namespace Tensorflow {

/// <summary>Field number for the "dtype" field.</summary>
public const int DtypeFieldNumber = 3;
private global::Tensorflow.DataType dtype_ = 0;
private global::Tensorflow.DataType dtype_ = global::Tensorflow.DataType.DtInvalid;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.DataType Dtype {
get { return dtype_; }
@@ -1154,7 +1154,7 @@ namespace Tensorflow {
int hash = 1;
if (Name.Length != 0) hash ^= Name.GetHashCode();
hash ^= shape_.GetHashCode();
if (Dtype != 0) hash ^= Dtype.GetHashCode();
if (Dtype != global::Tensorflow.DataType.DtInvalid) hash ^= Dtype.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -1173,7 +1173,7 @@ namespace Tensorflow {
output.WriteString(Name);
}
shape_.WriteTo(output, _repeated_shape_codec);
if (Dtype != 0) {
if (Dtype != global::Tensorflow.DataType.DtInvalid) {
output.WriteRawTag(24);
output.WriteEnum((int) Dtype);
}
@@ -1189,7 +1189,7 @@ namespace Tensorflow {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
}
size += shape_.CalculateSize(_repeated_shape_codec);
if (Dtype != 0) {
if (Dtype != global::Tensorflow.DataType.DtInvalid) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Dtype);
}
if (_unknownFields != null) {
@@ -1207,7 +1207,7 @@ namespace Tensorflow {
Name = other.Name;
}
shape_.Add(other.shape_);
if (other.Dtype != 0) {
if (other.Dtype != global::Tensorflow.DataType.DtInvalid) {
Dtype = other.Dtype;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
@@ -1231,7 +1231,7 @@ namespace Tensorflow {
break;
}
case 24: {
dtype_ = (global::Tensorflow.DataType) input.ReadEnum();
Dtype = (global::Tensorflow.DataType) input.ReadEnum();
break;
}
}
@@ -1299,7 +1299,7 @@ namespace Tensorflow {

/// <summary>Field number for the "dtype" field.</summary>
public const int DtypeFieldNumber = 3;
private global::Tensorflow.DataType dtype_ = 0;
private global::Tensorflow.DataType dtype_ = global::Tensorflow.DataType.DtInvalid;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.DataType Dtype {
get { return dtype_; }
@@ -1332,7 +1332,7 @@ namespace Tensorflow {
int hash = 1;
if (Name.Length != 0) hash ^= Name.GetHashCode();
hash ^= shape_.GetHashCode();
if (Dtype != 0) hash ^= Dtype.GetHashCode();
if (Dtype != global::Tensorflow.DataType.DtInvalid) hash ^= Dtype.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -1351,7 +1351,7 @@ namespace Tensorflow {
output.WriteString(Name);
}
shape_.WriteTo(output, _repeated_shape_codec);
if (Dtype != 0) {
if (Dtype != global::Tensorflow.DataType.DtInvalid) {
output.WriteRawTag(24);
output.WriteEnum((int) Dtype);
}
@@ -1367,7 +1367,7 @@ namespace Tensorflow {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
}
size += shape_.CalculateSize(_repeated_shape_codec);
if (Dtype != 0) {
if (Dtype != global::Tensorflow.DataType.DtInvalid) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Dtype);
}
if (_unknownFields != null) {
@@ -1385,7 +1385,7 @@ namespace Tensorflow {
Name = other.Name;
}
shape_.Add(other.shape_);
if (other.Dtype != 0) {
if (other.Dtype != global::Tensorflow.DataType.DtInvalid) {
Dtype = other.Dtype;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
@@ -1409,7 +1409,7 @@ namespace Tensorflow {
break;
}
case 24: {
dtype_ = (global::Tensorflow.DataType) input.ReadEnum();
Dtype = (global::Tensorflow.DataType) input.ReadEnum();
break;
}
}
@@ -1528,7 +1528,7 @@ namespace Tensorflow {

/// <summary>Field number for the "destination" field.</summary>
public const int DestinationFieldNumber = 7;
private global::Tensorflow.GraphTransferInfo.Types.Destination destination_ = 0;
private global::Tensorflow.GraphTransferInfo.Types.Destination destination_ = global::Tensorflow.GraphTransferInfo.Types.Destination.Nop;
/// <summary>
/// Destination of graph transfer
/// </summary>
@@ -1572,7 +1572,7 @@ namespace Tensorflow {
hash ^= nodeOutputInfo_.GetHashCode();
hash ^= graphInputNodeInfo_.GetHashCode();
hash ^= graphOutputNodeInfo_.GetHashCode();
if (Destination != 0) hash ^= Destination.GetHashCode();
if (Destination != global::Tensorflow.GraphTransferInfo.Types.Destination.Nop) hash ^= Destination.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -1592,7 +1592,7 @@ namespace Tensorflow {
nodeOutputInfo_.WriteTo(output, _repeated_nodeOutputInfo_codec);
graphInputNodeInfo_.WriteTo(output, _repeated_graphInputNodeInfo_codec);
graphOutputNodeInfo_.WriteTo(output, _repeated_graphOutputNodeInfo_codec);
if (Destination != 0) {
if (Destination != global::Tensorflow.GraphTransferInfo.Types.Destination.Nop) {
output.WriteRawTag(56);
output.WriteEnum((int) Destination);
}
@@ -1610,7 +1610,7 @@ namespace Tensorflow {
size += nodeOutputInfo_.CalculateSize(_repeated_nodeOutputInfo_codec);
size += graphInputNodeInfo_.CalculateSize(_repeated_graphInputNodeInfo_codec);
size += graphOutputNodeInfo_.CalculateSize(_repeated_graphOutputNodeInfo_codec);
if (Destination != 0) {
if (Destination != global::Tensorflow.GraphTransferInfo.Types.Destination.Nop) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Destination);
}
if (_unknownFields != null) {
@@ -1630,7 +1630,7 @@ namespace Tensorflow {
nodeOutputInfo_.Add(other.nodeOutputInfo_);
graphInputNodeInfo_.Add(other.graphInputNodeInfo_);
graphOutputNodeInfo_.Add(other.graphOutputNodeInfo_);
if (other.Destination != 0) {
if (other.Destination != global::Tensorflow.GraphTransferInfo.Types.Destination.Nop) {
Destination = other.Destination;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
@@ -1669,7 +1669,7 @@ namespace Tensorflow {
break;
}
case 56: {
destination_ = (global::Tensorflow.GraphTransferInfo.Types.Destination) input.ReadEnum();
Destination = (global::Tensorflow.GraphTransferInfo.Types.Destination) input.ReadEnum();
break;
}
}


+ 6
- 6
src/TensorFlowNET.Core/Protobuf/KernelDef.cs View File

@@ -38,9 +38,9 @@ namespace Tensorflow {
"L2ZyYW1ld29ya/gBAWIGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Tensorflow.AttrValueReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.KernelDef), global::Tensorflow.KernelDef.Parser, new[]{ "Op", "DeviceType", "Constraint", "HostMemoryArg", "Label", "Priority" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.KernelDef.Types.AttrConstraint), global::Tensorflow.KernelDef.Types.AttrConstraint.Parser, new[]{ "Name", "AllowedValues" }, null, null, null)}),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.KernelList), global::Tensorflow.KernelList.Parser, new[]{ "Kernel" }, null, null, null)
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.KernelDef), global::Tensorflow.KernelDef.Parser, new[]{ "Op", "DeviceType", "Constraint", "HostMemoryArg", "Label", "Priority" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.KernelDef.Types.AttrConstraint), global::Tensorflow.KernelDef.Types.AttrConstraint.Parser, new[]{ "Name", "AllowedValues" }, null, null, null, null)}),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.KernelList), global::Tensorflow.KernelList.Parser, new[]{ "Kernel" }, null, null, null, null)
}));
}
#endregion
@@ -460,7 +460,7 @@ namespace Tensorflow {
}
if (other.allowedValues_ != null) {
if (allowedValues_ == null) {
allowedValues_ = new global::Tensorflow.AttrValue();
AllowedValues = new global::Tensorflow.AttrValue();
}
AllowedValues.MergeFrom(other.AllowedValues);
}
@@ -481,9 +481,9 @@ namespace Tensorflow {
}
case 18: {
if (allowedValues_ == null) {
allowedValues_ = new global::Tensorflow.AttrValue();
AllowedValues = new global::Tensorflow.AttrValue();
}
input.ReadMessage(allowedValues_);
input.ReadMessage(AllowedValues);
break;
}
}


+ 13
- 13
src/TensorFlowNET.Core/Protobuf/LogMemory.cs View File

@@ -46,13 +46,13 @@ namespace Tensorflow {
"a/gBAWIGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Tensorflow.TensorDescriptionReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.MemoryLogStep), global::Tensorflow.MemoryLogStep.Parser, new[]{ "StepId", "Handle" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.MemoryLogTensorAllocation), global::Tensorflow.MemoryLogTensorAllocation.Parser, new[]{ "StepId", "KernelName", "Tensor" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.MemoryLogTensorDeallocation), global::Tensorflow.MemoryLogTensorDeallocation.Parser, new[]{ "AllocationId", "AllocatorName" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.MemoryLogTensorOutput), global::Tensorflow.MemoryLogTensorOutput.Parser, new[]{ "StepId", "KernelName", "Index", "Tensor" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.MemoryLogRawAllocation), global::Tensorflow.MemoryLogRawAllocation.Parser, new[]{ "StepId", "Operation", "NumBytes", "Ptr", "AllocationId", "AllocatorName" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.MemoryLogRawDeallocation), global::Tensorflow.MemoryLogRawDeallocation.Parser, new[]{ "StepId", "Operation", "AllocationId", "AllocatorName", "Deferred" }, null, null, null)
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.MemoryLogStep), global::Tensorflow.MemoryLogStep.Parser, new[]{ "StepId", "Handle" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.MemoryLogTensorAllocation), global::Tensorflow.MemoryLogTensorAllocation.Parser, new[]{ "StepId", "KernelName", "Tensor" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.MemoryLogTensorDeallocation), global::Tensorflow.MemoryLogTensorDeallocation.Parser, new[]{ "AllocationId", "AllocatorName" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.MemoryLogTensorOutput), global::Tensorflow.MemoryLogTensorOutput.Parser, new[]{ "StepId", "KernelName", "Index", "Tensor" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.MemoryLogRawAllocation), global::Tensorflow.MemoryLogRawAllocation.Parser, new[]{ "StepId", "Operation", "NumBytes", "Ptr", "AllocationId", "AllocatorName" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.MemoryLogRawDeallocation), global::Tensorflow.MemoryLogRawDeallocation.Parser, new[]{ "StepId", "Operation", "AllocationId", "AllocatorName", "Deferred" }, null, null, null, null)
}));
}
#endregion
@@ -387,7 +387,7 @@ namespace Tensorflow {
}
if (other.tensor_ != null) {
if (tensor_ == null) {
tensor_ = new global::Tensorflow.TensorDescription();
Tensor = new global::Tensorflow.TensorDescription();
}
Tensor.MergeFrom(other.Tensor);
}
@@ -412,9 +412,9 @@ namespace Tensorflow {
}
case 26: {
if (tensor_ == null) {
tensor_ = new global::Tensorflow.TensorDescription();
Tensor = new global::Tensorflow.TensorDescription();
}
input.ReadMessage(tensor_);
input.ReadMessage(Tensor);
break;
}
}
@@ -779,7 +779,7 @@ namespace Tensorflow {
}
if (other.tensor_ != null) {
if (tensor_ == null) {
tensor_ = new global::Tensorflow.TensorDescription();
Tensor = new global::Tensorflow.TensorDescription();
}
Tensor.MergeFrom(other.Tensor);
}
@@ -808,9 +808,9 @@ namespace Tensorflow {
}
case 34: {
if (tensor_ == null) {
tensor_ = new global::Tensorflow.TensorDescription();
Tensor = new global::Tensorflow.TensorDescription();
}
input.ReadMessage(tensor_);
input.ReadMessage(Tensor);
break;
}
}


+ 333
- 81
src/TensorFlowNET.Core/Protobuf/MetaGraph.cs View File

@@ -29,8 +29,10 @@ namespace Tensorflow {
"Zmxvdy9jb3JlL2ZyYW1ld29yay9ncmFwaC5wcm90bxomdGVuc29yZmxvdy9j",
"b3JlL2ZyYW1ld29yay9vcF9kZWYucHJvdG8aLHRlbnNvcmZsb3cvY29yZS9m",
"cmFtZXdvcmsvdGVuc29yX3NoYXBlLnByb3RvGiV0ZW5zb3JmbG93L2NvcmUv",
"ZnJhbWV3b3JrL3R5cGVzLnByb3RvGiR0ZW5zb3JmbG93L2NvcmUvcHJvdG9i",
"dWYvc2F2ZXIucHJvdG8i4wUKDE1ldGFHcmFwaERlZhI7Cg1tZXRhX2luZm9f",
"ZnJhbWV3b3JrL3R5cGVzLnByb3RvGjF0ZW5zb3JmbG93L2NvcmUvcHJvdG9i",
"dWYvc2F2ZWRfb2JqZWN0X2dyYXBoLnByb3RvGiR0ZW5zb3JmbG93L2NvcmUv",
"cHJvdG9idWYvc2F2ZXIucHJvdG8aJXRlbnNvcmZsb3cvY29yZS9wcm90b2J1",
"Zi9zdHJ1Y3QucHJvdG8imwYKDE1ldGFHcmFwaERlZhI7Cg1tZXRhX2luZm9f",
"ZGVmGAEgASgLMiQudGVuc29yZmxvdy5NZXRhR3JhcGhEZWYuTWV0YUluZm9E",
"ZWYSJwoJZ3JhcGhfZGVmGAIgASgLMhQudGVuc29yZmxvdy5HcmFwaERlZhIn",
"CglzYXZlcl9kZWYYAyABKAsyFC50ZW5zb3JmbG93LlNhdmVyRGVmEkMKDmNv",
@@ -38,56 +40,63 @@ namespace Tensorflow {
"Q29sbGVjdGlvbkRlZkVudHJ5EkEKDXNpZ25hdHVyZV9kZWYYBSADKAsyKi50",
"ZW5zb3JmbG93Lk1ldGFHcmFwaERlZi5TaWduYXR1cmVEZWZFbnRyeRIwCg5h",
"c3NldF9maWxlX2RlZhgGIAMoCzIYLnRlbnNvcmZsb3cuQXNzZXRGaWxlRGVm",
"GukBCgtNZXRhSW5mb0RlZhIaChJtZXRhX2dyYXBoX3ZlcnNpb24YASABKAkS",
"LAoQc3RyaXBwZWRfb3BfbGlzdBgCIAEoCzISLnRlbnNvcmZsb3cuT3BMaXN0",
"EiYKCGFueV9pbmZvGAMgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueRIMCgR0",
"YWdzGAQgAygJEhoKEnRlbnNvcmZsb3dfdmVyc2lvbhgFIAEoCRIeChZ0ZW5z",
"b3JmbG93X2dpdF92ZXJzaW9uGAYgASgJEh4KFnN0cmlwcGVkX2RlZmF1bHRf",
"YXR0cnMYByABKAgaTwoSQ29sbGVjdGlvbkRlZkVudHJ5EgsKA2tleRgBIAEo",
"CRIoCgV2YWx1ZRgCIAEoCzIZLnRlbnNvcmZsb3cuQ29sbGVjdGlvbkRlZjoC",
"OAEaTQoRU2lnbmF0dXJlRGVmRW50cnkSCwoDa2V5GAEgASgJEicKBXZhbHVl",
"GAIgASgLMhgudGVuc29yZmxvdy5TaWduYXR1cmVEZWY6AjgBIt8DCg1Db2xs",
"ZWN0aW9uRGVmEjcKCW5vZGVfbGlzdBgBIAEoCzIiLnRlbnNvcmZsb3cuQ29s",
"bGVjdGlvbkRlZi5Ob2RlTGlzdEgAEjkKCmJ5dGVzX2xpc3QYAiABKAsyIy50",
"ZW5zb3JmbG93LkNvbGxlY3Rpb25EZWYuQnl0ZXNMaXN0SAASOQoKaW50NjRf",
"bGlzdBgDIAEoCzIjLnRlbnNvcmZsb3cuQ29sbGVjdGlvbkRlZi5JbnQ2NExp",
"c3RIABI5CgpmbG9hdF9saXN0GAQgASgLMiMudGVuc29yZmxvdy5Db2xsZWN0",
"aW9uRGVmLkZsb2F0TGlzdEgAEjUKCGFueV9saXN0GAUgASgLMiEudGVuc29y",
"Zmxvdy5Db2xsZWN0aW9uRGVmLkFueUxpc3RIABoZCghOb2RlTGlzdBINCgV2",
"YWx1ZRgBIAMoCRoaCglCeXRlc0xpc3QSDQoFdmFsdWUYASADKAwaHgoJSW50",
"NjRMaXN0EhEKBXZhbHVlGAEgAygDQgIQARoeCglGbG9hdExpc3QSEQoFdmFs",
"dWUYASADKAJCAhABGi4KB0FueUxpc3QSIwoFdmFsdWUYASADKAsyFC5nb29n",
"bGUucHJvdG9idWYuQW55QgYKBGtpbmQioAIKClRlbnNvckluZm8SDgoEbmFt",
"ZRgBIAEoCUgAEjYKCmNvb19zcGFyc2UYBCABKAsyIC50ZW5zb3JmbG93LlRl",
"bnNvckluZm8uQ29vU3BhcnNlSAASIwoFZHR5cGUYAiABKA4yFC50ZW5zb3Jm",
"bG93LkRhdGFUeXBlEjIKDHRlbnNvcl9zaGFwZRgDIAEoCzIcLnRlbnNvcmZs",
"b3cuVGVuc29yU2hhcGVQcm90bxplCglDb29TcGFyc2USGgoSdmFsdWVzX3Rl",
"bnNvcl9uYW1lGAEgASgJEhsKE2luZGljZXNfdGVuc29yX25hbWUYAiABKAkS",
"HwoXZGVuc2Vfc2hhcGVfdGVuc29yX25hbWUYAyABKAlCCgoIZW5jb2Rpbmci",
"oAIKDFNpZ25hdHVyZURlZhI0CgZpbnB1dHMYASADKAsyJC50ZW5zb3JmbG93",
"LlNpZ25hdHVyZURlZi5JbnB1dHNFbnRyeRI2CgdvdXRwdXRzGAIgAygLMiUu",
"dGVuc29yZmxvdy5TaWduYXR1cmVEZWYuT3V0cHV0c0VudHJ5EhMKC21ldGhv",
"ZF9uYW1lGAMgASgJGkUKC0lucHV0c0VudHJ5EgsKA2tleRgBIAEoCRIlCgV2",
"YWx1ZRgCIAEoCzIWLnRlbnNvcmZsb3cuVGVuc29ySW5mbzoCOAEaRgoMT3V0",
"cHV0c0VudHJ5EgsKA2tleRgBIAEoCRIlCgV2YWx1ZRgCIAEoCzIWLnRlbnNv",
"cmZsb3cuVGVuc29ySW5mbzoCOAEiTQoMQXNzZXRGaWxlRGVmEisKC3RlbnNv",
"cl9pbmZvGAEgASgLMhYudGVuc29yZmxvdy5UZW5zb3JJbmZvEhAKCGZpbGVu",
"YW1lGAIgASgJQm4KGG9yZy50ZW5zb3JmbG93LmZyYW1ld29ya0IPTWV0YUdy",
"YXBoUHJvdG9zUAFaPGdpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3JmbG93",
"L3RlbnNvcmZsb3cvZ28vY29yZS9wcm90b2J1ZvgBAWIGcHJvdG8z"));
"EjYKEG9iamVjdF9ncmFwaF9kZWYYByABKAsyHC50ZW5zb3JmbG93LlNhdmVk",
"T2JqZWN0R3JhcGga6QEKC01ldGFJbmZvRGVmEhoKEm1ldGFfZ3JhcGhfdmVy",
"c2lvbhgBIAEoCRIsChBzdHJpcHBlZF9vcF9saXN0GAIgASgLMhIudGVuc29y",
"Zmxvdy5PcExpc3QSJgoIYW55X2luZm8YAyABKAsyFC5nb29nbGUucHJvdG9i",
"dWYuQW55EgwKBHRhZ3MYBCADKAkSGgoSdGVuc29yZmxvd192ZXJzaW9uGAUg",
"ASgJEh4KFnRlbnNvcmZsb3dfZ2l0X3ZlcnNpb24YBiABKAkSHgoWc3RyaXBw",
"ZWRfZGVmYXVsdF9hdHRycxgHIAEoCBpPChJDb2xsZWN0aW9uRGVmRW50cnkS",
"CwoDa2V5GAEgASgJEigKBXZhbHVlGAIgASgLMhkudGVuc29yZmxvdy5Db2xs",
"ZWN0aW9uRGVmOgI4ARpNChFTaWduYXR1cmVEZWZFbnRyeRILCgNrZXkYASAB",
"KAkSJwoFdmFsdWUYAiABKAsyGC50ZW5zb3JmbG93LlNpZ25hdHVyZURlZjoC",
"OAEi3wMKDUNvbGxlY3Rpb25EZWYSNwoJbm9kZV9saXN0GAEgASgLMiIudGVu",
"c29yZmxvdy5Db2xsZWN0aW9uRGVmLk5vZGVMaXN0SAASOQoKYnl0ZXNfbGlz",
"dBgCIAEoCzIjLnRlbnNvcmZsb3cuQ29sbGVjdGlvbkRlZi5CeXRlc0xpc3RI",
"ABI5CgppbnQ2NF9saXN0GAMgASgLMiMudGVuc29yZmxvdy5Db2xsZWN0aW9u",
"RGVmLkludDY0TGlzdEgAEjkKCmZsb2F0X2xpc3QYBCABKAsyIy50ZW5zb3Jm",
"bG93LkNvbGxlY3Rpb25EZWYuRmxvYXRMaXN0SAASNQoIYW55X2xpc3QYBSAB",
"KAsyIS50ZW5zb3JmbG93LkNvbGxlY3Rpb25EZWYuQW55TGlzdEgAGhkKCE5v",
"ZGVMaXN0Eg0KBXZhbHVlGAEgAygJGhoKCUJ5dGVzTGlzdBINCgV2YWx1ZRgB",
"IAMoDBoeCglJbnQ2NExpc3QSEQoFdmFsdWUYASADKANCAhABGh4KCUZsb2F0",
"TGlzdBIRCgV2YWx1ZRgBIAMoAkICEAEaLgoHQW55TGlzdBIjCgV2YWx1ZRgB",
"IAMoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlCBgoEa2luZCLRAwoKVGVuc29y",
"SW5mbxIOCgRuYW1lGAEgASgJSAASNgoKY29vX3NwYXJzZRgEIAEoCzIgLnRl",
"bnNvcmZsb3cuVGVuc29ySW5mby5Db29TcGFyc2VIABJCChBjb21wb3NpdGVf",
"dGVuc29yGAUgASgLMiYudGVuc29yZmxvdy5UZW5zb3JJbmZvLkNvbXBvc2l0",
"ZVRlbnNvckgAEiMKBWR0eXBlGAIgASgOMhQudGVuc29yZmxvdy5EYXRhVHlw",
"ZRIyCgx0ZW5zb3Jfc2hhcGUYAyABKAsyHC50ZW5zb3JmbG93LlRlbnNvclNo",
"YXBlUHJvdG8aZQoJQ29vU3BhcnNlEhoKEnZhbHVlc190ZW5zb3JfbmFtZRgB",
"IAEoCRIbChNpbmRpY2VzX3RlbnNvcl9uYW1lGAIgASgJEh8KF2RlbnNlX3No",
"YXBlX3RlbnNvcl9uYW1lGAMgASgJGmsKD0NvbXBvc2l0ZVRlbnNvchIsCgl0",
"eXBlX3NwZWMYASABKAsyGS50ZW5zb3JmbG93LlR5cGVTcGVjUHJvdG8SKgoK",
"Y29tcG9uZW50cxgCIAMoCzIWLnRlbnNvcmZsb3cuVGVuc29ySW5mb0IKCghl",
"bmNvZGluZyKgAgoMU2lnbmF0dXJlRGVmEjQKBmlucHV0cxgBIAMoCzIkLnRl",
"bnNvcmZsb3cuU2lnbmF0dXJlRGVmLklucHV0c0VudHJ5EjYKB291dHB1dHMY",
"AiADKAsyJS50ZW5zb3JmbG93LlNpZ25hdHVyZURlZi5PdXRwdXRzRW50cnkS",
"EwoLbWV0aG9kX25hbWUYAyABKAkaRQoLSW5wdXRzRW50cnkSCwoDa2V5GAEg",
"ASgJEiUKBXZhbHVlGAIgASgLMhYudGVuc29yZmxvdy5UZW5zb3JJbmZvOgI4",
"ARpGCgxPdXRwdXRzRW50cnkSCwoDa2V5GAEgASgJEiUKBXZhbHVlGAIgASgL",
"MhYudGVuc29yZmxvdy5UZW5zb3JJbmZvOgI4ASJNCgxBc3NldEZpbGVEZWYS",
"KwoLdGVuc29yX2luZm8YASABKAsyFi50ZW5zb3JmbG93LlRlbnNvckluZm8S",
"EAoIZmlsZW5hbWUYAiABKAlCbgoYb3JnLnRlbnNvcmZsb3cuZnJhbWV3b3Jr",
"Qg9NZXRhR3JhcGhQcm90b3NQAVo8Z2l0aHViLmNvbS90ZW5zb3JmbG93L3Rl",
"bnNvcmZsb3cvdGVuc29yZmxvdy9nby9jb3JlL3Byb3RvYnVm+AEBYgZwcm90",
"bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.AnyReflection.Descriptor, global::Tensorflow.GraphReflection.Descriptor, global::Tensorflow.OpDefReflection.Descriptor, global::Tensorflow.TensorShapeReflection.Descriptor, global::Tensorflow.TypesReflection.Descriptor, global::Tensorflow.SaverReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.MetaGraphDef), global::Tensorflow.MetaGraphDef.Parser, new[]{ "MetaInfoDef", "GraphDef", "SaverDef", "CollectionDef", "SignatureDef", "AssetFileDef" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.MetaGraphDef.Types.MetaInfoDef), global::Tensorflow.MetaGraphDef.Types.MetaInfoDef.Parser, new[]{ "MetaGraphVersion", "StrippedOpList", "AnyInfo", "Tags", "TensorflowVersion", "TensorflowGitVersion", "StrippedDefaultAttrs" }, null, null, null),
new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.AnyReflection.Descriptor, global::Tensorflow.GraphReflection.Descriptor, global::Tensorflow.OpDefReflection.Descriptor, global::Tensorflow.TensorShapeReflection.Descriptor, global::Tensorflow.TypesReflection.Descriptor, global::Tensorflow.SavedObjectGraphReflection.Descriptor, global::Tensorflow.SaverReflection.Descriptor, global::Tensorflow.StructReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.MetaGraphDef), global::Tensorflow.MetaGraphDef.Parser, new[]{ "MetaInfoDef", "GraphDef", "SaverDef", "CollectionDef", "SignatureDef", "AssetFileDef", "ObjectGraphDef" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.MetaGraphDef.Types.MetaInfoDef), global::Tensorflow.MetaGraphDef.Types.MetaInfoDef.Parser, new[]{ "MetaGraphVersion", "StrippedOpList", "AnyInfo", "Tags", "TensorflowVersion", "TensorflowGitVersion", "StrippedDefaultAttrs" }, null, null, null, null),
null, null, }),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CollectionDef), global::Tensorflow.CollectionDef.Parser, new[]{ "NodeList", "BytesList", "Int64List", "FloatList", "AnyList" }, new[]{ "Kind" }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CollectionDef.Types.NodeList), global::Tensorflow.CollectionDef.Types.NodeList.Parser, new[]{ "Value" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CollectionDef.Types.BytesList), global::Tensorflow.CollectionDef.Types.BytesList.Parser, new[]{ "Value" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CollectionDef.Types.Int64List), global::Tensorflow.CollectionDef.Types.Int64List.Parser, new[]{ "Value" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CollectionDef.Types.FloatList), global::Tensorflow.CollectionDef.Types.FloatList.Parser, new[]{ "Value" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CollectionDef.Types.AnyList), global::Tensorflow.CollectionDef.Types.AnyList.Parser, new[]{ "Value" }, null, null, null)}),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TensorInfo), global::Tensorflow.TensorInfo.Parser, new[]{ "Name", "CooSparse", "Dtype", "TensorShape" }, new[]{ "Encoding" }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TensorInfo.Types.CooSparse), global::Tensorflow.TensorInfo.Types.CooSparse.Parser, new[]{ "ValuesTensorName", "IndicesTensorName", "DenseShapeTensorName" }, null, null, null)}),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.SignatureDef), global::Tensorflow.SignatureDef.Parser, new[]{ "Inputs", "Outputs", "MethodName" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.AssetFileDef), global::Tensorflow.AssetFileDef.Parser, new[]{ "TensorInfo", "Filename" }, null, null, null)
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CollectionDef), global::Tensorflow.CollectionDef.Parser, new[]{ "NodeList", "BytesList", "Int64List", "FloatList", "AnyList" }, new[]{ "Kind" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CollectionDef.Types.NodeList), global::Tensorflow.CollectionDef.Types.NodeList.Parser, new[]{ "Value" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CollectionDef.Types.BytesList), global::Tensorflow.CollectionDef.Types.BytesList.Parser, new[]{ "Value" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CollectionDef.Types.Int64List), global::Tensorflow.CollectionDef.Types.Int64List.Parser, new[]{ "Value" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CollectionDef.Types.FloatList), global::Tensorflow.CollectionDef.Types.FloatList.Parser, new[]{ "Value" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.CollectionDef.Types.AnyList), global::Tensorflow.CollectionDef.Types.AnyList.Parser, new[]{ "Value" }, null, null, null, null)}),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TensorInfo), global::Tensorflow.TensorInfo.Parser, new[]{ "Name", "CooSparse", "CompositeTensor", "Dtype", "TensorShape" }, new[]{ "Encoding" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TensorInfo.Types.CooSparse), global::Tensorflow.TensorInfo.Types.CooSparse.Parser, new[]{ "ValuesTensorName", "IndicesTensorName", "DenseShapeTensorName" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TensorInfo.Types.CompositeTensor), global::Tensorflow.TensorInfo.Types.CompositeTensor.Parser, new[]{ "TypeSpec", "Components" }, null, null, null, null)}),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.SignatureDef), global::Tensorflow.SignatureDef.Parser, new[]{ "Inputs", "Outputs", "MethodName" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.AssetFileDef), global::Tensorflow.AssetFileDef.Parser, new[]{ "TensorInfo", "Filename" }, null, null, null, null)
}));
}
#endregion
@@ -141,6 +150,7 @@ namespace Tensorflow {
collectionDef_ = other.collectionDef_.Clone();
signatureDef_ = other.signatureDef_.Clone();
assetFileDef_ = other.assetFileDef_.Clone();
objectGraphDef_ = other.objectGraphDef_ != null ? other.objectGraphDef_.Clone() : null;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}

@@ -191,7 +201,7 @@ namespace Tensorflow {
/// <summary>Field number for the "collection_def" field.</summary>
public const int CollectionDefFieldNumber = 4;
private static readonly pbc::MapField<string, global::Tensorflow.CollectionDef>.Codec _map_collectionDef_codec
= new pbc::MapField<string, global::Tensorflow.CollectionDef>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::Tensorflow.CollectionDef.Parser), 34);
= new pbc::MapField<string, global::Tensorflow.CollectionDef>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForMessage(18, global::Tensorflow.CollectionDef.Parser), 34);
private readonly pbc::MapField<string, global::Tensorflow.CollectionDef> collectionDef_ = new pbc::MapField<string, global::Tensorflow.CollectionDef>();
/// <summary>
/// collection_def: Map from collection name to collections.
@@ -205,7 +215,7 @@ namespace Tensorflow {
/// <summary>Field number for the "signature_def" field.</summary>
public const int SignatureDefFieldNumber = 5;
private static readonly pbc::MapField<string, global::Tensorflow.SignatureDef>.Codec _map_signatureDef_codec
= new pbc::MapField<string, global::Tensorflow.SignatureDef>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::Tensorflow.SignatureDef.Parser), 42);
= new pbc::MapField<string, global::Tensorflow.SignatureDef>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForMessage(18, global::Tensorflow.SignatureDef.Parser), 42);
private readonly pbc::MapField<string, global::Tensorflow.SignatureDef> signatureDef_ = new pbc::MapField<string, global::Tensorflow.SignatureDef>();
/// <summary>
/// signature_def: Map from user supplied key for a signature to a single
@@ -229,6 +239,20 @@ namespace Tensorflow {
get { return assetFileDef_; }
}

/// <summary>Field number for the "object_graph_def" field.</summary>
public const int ObjectGraphDefFieldNumber = 7;
private global::Tensorflow.SavedObjectGraph objectGraphDef_;
/// <summary>
/// Extra information about the structure of functions and stateful objects.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.SavedObjectGraph ObjectGraphDef {
get { return objectGraphDef_; }
set {
objectGraphDef_ = value;
}
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as MetaGraphDef);
@@ -248,6 +272,7 @@ namespace Tensorflow {
if (!CollectionDef.Equals(other.CollectionDef)) return false;
if (!SignatureDef.Equals(other.SignatureDef)) return false;
if(!assetFileDef_.Equals(other.assetFileDef_)) return false;
if (!object.Equals(ObjectGraphDef, other.ObjectGraphDef)) return false;
return Equals(_unknownFields, other._unknownFields);
}

@@ -260,6 +285,7 @@ namespace Tensorflow {
hash ^= CollectionDef.GetHashCode();
hash ^= SignatureDef.GetHashCode();
hash ^= assetFileDef_.GetHashCode();
if (objectGraphDef_ != null) hash ^= ObjectGraphDef.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -288,6 +314,10 @@ namespace Tensorflow {
collectionDef_.WriteTo(output, _map_collectionDef_codec);
signatureDef_.WriteTo(output, _map_signatureDef_codec);
assetFileDef_.WriteTo(output, _repeated_assetFileDef_codec);
if (objectGraphDef_ != null) {
output.WriteRawTag(58);
output.WriteMessage(ObjectGraphDef);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -308,6 +338,9 @@ namespace Tensorflow {
size += collectionDef_.CalculateSize(_map_collectionDef_codec);
size += signatureDef_.CalculateSize(_map_signatureDef_codec);
size += assetFileDef_.CalculateSize(_repeated_assetFileDef_codec);
if (objectGraphDef_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(ObjectGraphDef);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -321,25 +354,31 @@ namespace Tensorflow {
}
if (other.metaInfoDef_ != null) {
if (metaInfoDef_ == null) {
metaInfoDef_ = new global::Tensorflow.MetaGraphDef.Types.MetaInfoDef();
MetaInfoDef = new global::Tensorflow.MetaGraphDef.Types.MetaInfoDef();
}
MetaInfoDef.MergeFrom(other.MetaInfoDef);
}
if (other.graphDef_ != null) {
if (graphDef_ == null) {
graphDef_ = new global::Tensorflow.GraphDef();
GraphDef = new global::Tensorflow.GraphDef();
}
GraphDef.MergeFrom(other.GraphDef);
}
if (other.saverDef_ != null) {
if (saverDef_ == null) {
saverDef_ = new global::Tensorflow.SaverDef();
SaverDef = new global::Tensorflow.SaverDef();
}
SaverDef.MergeFrom(other.SaverDef);
}
collectionDef_.Add(other.collectionDef_);
signatureDef_.Add(other.signatureDef_);
assetFileDef_.Add(other.assetFileDef_);
if (other.objectGraphDef_ != null) {
if (objectGraphDef_ == null) {
ObjectGraphDef = new global::Tensorflow.SavedObjectGraph();
}
ObjectGraphDef.MergeFrom(other.ObjectGraphDef);
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}

@@ -353,23 +392,23 @@ namespace Tensorflow {
break;
case 10: {
if (metaInfoDef_ == null) {
metaInfoDef_ = new global::Tensorflow.MetaGraphDef.Types.MetaInfoDef();
MetaInfoDef = new global::Tensorflow.MetaGraphDef.Types.MetaInfoDef();
}
input.ReadMessage(metaInfoDef_);
input.ReadMessage(MetaInfoDef);
break;
}
case 18: {
if (graphDef_ == null) {
graphDef_ = new global::Tensorflow.GraphDef();
GraphDef = new global::Tensorflow.GraphDef();
}
input.ReadMessage(graphDef_);
input.ReadMessage(GraphDef);
break;
}
case 26: {
if (saverDef_ == null) {
saverDef_ = new global::Tensorflow.SaverDef();
SaverDef = new global::Tensorflow.SaverDef();
}
input.ReadMessage(saverDef_);
input.ReadMessage(SaverDef);
break;
}
case 34: {
@@ -384,6 +423,13 @@ namespace Tensorflow {
assetFileDef_.AddEntriesFrom(input, _repeated_assetFileDef_codec);
break;
}
case 58: {
if (objectGraphDef_ == null) {
ObjectGraphDef = new global::Tensorflow.SavedObjectGraph();
}
input.ReadMessage(ObjectGraphDef);
break;
}
}
}
}
@@ -660,13 +706,13 @@ namespace Tensorflow {
}
if (other.strippedOpList_ != null) {
if (strippedOpList_ == null) {
strippedOpList_ = new global::Tensorflow.OpList();
StrippedOpList = new global::Tensorflow.OpList();
}
StrippedOpList.MergeFrom(other.StrippedOpList);
}
if (other.anyInfo_ != null) {
if (anyInfo_ == null) {
anyInfo_ = new global::Google.Protobuf.WellKnownTypes.Any();
AnyInfo = new global::Google.Protobuf.WellKnownTypes.Any();
}
AnyInfo.MergeFrom(other.AnyInfo);
}
@@ -697,16 +743,16 @@ namespace Tensorflow {
}
case 18: {
if (strippedOpList_ == null) {
strippedOpList_ = new global::Tensorflow.OpList();
StrippedOpList = new global::Tensorflow.OpList();
}
input.ReadMessage(strippedOpList_);
input.ReadMessage(StrippedOpList);
break;
}
case 26: {
if (anyInfo_ == null) {
anyInfo_ = new global::Google.Protobuf.WellKnownTypes.Any();
AnyInfo = new global::Google.Protobuf.WellKnownTypes.Any();
}
input.ReadMessage(anyInfo_);
input.ReadMessage(AnyInfo);
break;
}
case 34: {
@@ -1808,6 +1854,9 @@ namespace Tensorflow {
case EncodingOneofCase.CooSparse:
CooSparse = other.CooSparse.Clone();
break;
case EncodingOneofCase.CompositeTensor:
CompositeTensor = other.CompositeTensor.Clone();
break;
}

_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
@@ -1849,9 +1898,23 @@ namespace Tensorflow {
}
}

/// <summary>Field number for the "composite_tensor" field.</summary>
public const int CompositeTensorFieldNumber = 5;
/// <summary>
/// Generic encoding for CompositeTensors.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.TensorInfo.Types.CompositeTensor CompositeTensor {
get { return encodingCase_ == EncodingOneofCase.CompositeTensor ? (global::Tensorflow.TensorInfo.Types.CompositeTensor) encoding_ : null; }
set {
encoding_ = value;
encodingCase_ = value == null ? EncodingOneofCase.None : EncodingOneofCase.CompositeTensor;
}
}

/// <summary>Field number for the "dtype" field.</summary>
public const int DtypeFieldNumber = 2;
private global::Tensorflow.DataType dtype_ = 0;
private global::Tensorflow.DataType dtype_ = global::Tensorflow.DataType.DtInvalid;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.DataType Dtype {
get { return dtype_; }
@@ -1882,6 +1945,7 @@ namespace Tensorflow {
None = 0,
Name = 1,
CooSparse = 4,
CompositeTensor = 5,
}
private EncodingOneofCase encodingCase_ = EncodingOneofCase.None;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -1910,6 +1974,7 @@ namespace Tensorflow {
}
if (Name != other.Name) return false;
if (!object.Equals(CooSparse, other.CooSparse)) return false;
if (!object.Equals(CompositeTensor, other.CompositeTensor)) return false;
if (Dtype != other.Dtype) return false;
if (!object.Equals(TensorShape, other.TensorShape)) return false;
if (EncodingCase != other.EncodingCase) return false;
@@ -1921,7 +1986,8 @@ namespace Tensorflow {
int hash = 1;
if (encodingCase_ == EncodingOneofCase.Name) hash ^= Name.GetHashCode();
if (encodingCase_ == EncodingOneofCase.CooSparse) hash ^= CooSparse.GetHashCode();
if (Dtype != 0) hash ^= Dtype.GetHashCode();
if (encodingCase_ == EncodingOneofCase.CompositeTensor) hash ^= CompositeTensor.GetHashCode();
if (Dtype != global::Tensorflow.DataType.DtInvalid) hash ^= Dtype.GetHashCode();
if (tensorShape_ != null) hash ^= TensorShape.GetHashCode();
hash ^= (int) encodingCase_;
if (_unknownFields != null) {
@@ -1941,7 +2007,7 @@ namespace Tensorflow {
output.WriteRawTag(10);
output.WriteString(Name);
}
if (Dtype != 0) {
if (Dtype != global::Tensorflow.DataType.DtInvalid) {
output.WriteRawTag(16);
output.WriteEnum((int) Dtype);
}
@@ -1953,6 +2019,10 @@ namespace Tensorflow {
output.WriteRawTag(34);
output.WriteMessage(CooSparse);
}
if (encodingCase_ == EncodingOneofCase.CompositeTensor) {
output.WriteRawTag(42);
output.WriteMessage(CompositeTensor);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -1967,7 +2037,10 @@ namespace Tensorflow {
if (encodingCase_ == EncodingOneofCase.CooSparse) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(CooSparse);
}
if (Dtype != 0) {
if (encodingCase_ == EncodingOneofCase.CompositeTensor) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(CompositeTensor);
}
if (Dtype != global::Tensorflow.DataType.DtInvalid) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Dtype);
}
if (tensorShape_ != null) {
@@ -1984,12 +2057,12 @@ namespace Tensorflow {
if (other == null) {
return;
}
if (other.Dtype != 0) {
if (other.Dtype != global::Tensorflow.DataType.DtInvalid) {
Dtype = other.Dtype;
}
if (other.tensorShape_ != null) {
if (tensorShape_ == null) {
tensorShape_ = new global::Tensorflow.TensorShapeProto();
TensorShape = new global::Tensorflow.TensorShapeProto();
}
TensorShape.MergeFrom(other.TensorShape);
}
@@ -2003,6 +2076,12 @@ namespace Tensorflow {
}
CooSparse.MergeFrom(other.CooSparse);
break;
case EncodingOneofCase.CompositeTensor:
if (CompositeTensor == null) {
CompositeTensor = new global::Tensorflow.TensorInfo.Types.CompositeTensor();
}
CompositeTensor.MergeFrom(other.CompositeTensor);
break;
}

_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
@@ -2021,14 +2100,14 @@ namespace Tensorflow {
break;
}
case 16: {
dtype_ = (global::Tensorflow.DataType) input.ReadEnum();
Dtype = (global::Tensorflow.DataType) input.ReadEnum();
break;
}
case 26: {
if (tensorShape_ == null) {
tensorShape_ = new global::Tensorflow.TensorShapeProto();
TensorShape = new global::Tensorflow.TensorShapeProto();
}
input.ReadMessage(tensorShape_);
input.ReadMessage(TensorShape);
break;
}
case 34: {
@@ -2040,6 +2119,15 @@ namespace Tensorflow {
CooSparse = subBuilder;
break;
}
case 42: {
global::Tensorflow.TensorInfo.Types.CompositeTensor subBuilder = new global::Tensorflow.TensorInfo.Types.CompositeTensor();
if (encodingCase_ == EncodingOneofCase.CompositeTensor) {
subBuilder.MergeFrom(CompositeTensor);
}
input.ReadMessage(subBuilder);
CompositeTensor = subBuilder;
break;
}
}
}
}
@@ -2248,6 +2336,170 @@ namespace Tensorflow {

}

/// <summary>
/// Generic encoding for composite tensors.
/// </summary>
public sealed partial class CompositeTensor : pb::IMessage<CompositeTensor> {
private static readonly pb::MessageParser<CompositeTensor> _parser = new pb::MessageParser<CompositeTensor>(() => new CompositeTensor());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pb::MessageParser<CompositeTensor> Parser { get { return _parser; } }

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {
get { return global::Tensorflow.TensorInfo.Descriptor.NestedTypes[1]; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public CompositeTensor() {
OnConstruction();
}

partial void OnConstruction();

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public CompositeTensor(CompositeTensor other) : this() {
typeSpec_ = other.typeSpec_ != null ? other.typeSpec_.Clone() : null;
components_ = other.components_.Clone();
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public CompositeTensor Clone() {
return new CompositeTensor(this);
}

/// <summary>Field number for the "type_spec" field.</summary>
public const int TypeSpecFieldNumber = 1;
private global::Tensorflow.TypeSpecProto typeSpec_;
/// <summary>
/// The serialized TypeSpec for the composite tensor.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.TypeSpecProto TypeSpec {
get { return typeSpec_; }
set {
typeSpec_ = value;
}
}

/// <summary>Field number for the "components" field.</summary>
public const int ComponentsFieldNumber = 2;
private static readonly pb::FieldCodec<global::Tensorflow.TensorInfo> _repeated_components_codec
= pb::FieldCodec.ForMessage(18, global::Tensorflow.TensorInfo.Parser);
private readonly pbc::RepeatedField<global::Tensorflow.TensorInfo> components_ = new pbc::RepeatedField<global::Tensorflow.TensorInfo>();
/// <summary>
/// A TensorInfo for each flattened component tensor.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public pbc::RepeatedField<global::Tensorflow.TensorInfo> Components {
get { return components_; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as CompositeTensor);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public bool Equals(CompositeTensor other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (!object.Equals(TypeSpec, other.TypeSpec)) return false;
if(!components_.Equals(other.components_)) return false;
return Equals(_unknownFields, other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override int GetHashCode() {
int hash = 1;
if (typeSpec_ != null) hash ^= TypeSpec.GetHashCode();
hash ^= components_.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo(pb::CodedOutputStream output) {
if (typeSpec_ != null) {
output.WriteRawTag(10);
output.WriteMessage(TypeSpec);
}
components_.WriteTo(output, _repeated_components_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int CalculateSize() {
int size = 0;
if (typeSpec_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(TypeSpec);
}
size += components_.CalculateSize(_repeated_components_codec);
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(CompositeTensor other) {
if (other == null) {
return;
}
if (other.typeSpec_ != null) {
if (typeSpec_ == null) {
TypeSpec = new global::Tensorflow.TypeSpecProto();
}
TypeSpec.MergeFrom(other.TypeSpec);
}
components_.Add(other.components_);
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(pb::CodedInputStream input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
if (typeSpec_ == null) {
TypeSpec = new global::Tensorflow.TypeSpecProto();
}
input.ReadMessage(TypeSpec);
break;
}
case 18: {
components_.AddEntriesFrom(input, _repeated_components_codec);
break;
}
}
}
}

}

}
#endregion

@@ -2351,7 +2603,7 @@ namespace Tensorflow {
/// <summary>Field number for the "inputs" field.</summary>
public const int InputsFieldNumber = 1;
private static readonly pbc::MapField<string, global::Tensorflow.TensorInfo>.Codec _map_inputs_codec
= new pbc::MapField<string, global::Tensorflow.TensorInfo>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::Tensorflow.TensorInfo.Parser), 10);
= new pbc::MapField<string, global::Tensorflow.TensorInfo>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForMessage(18, global::Tensorflow.TensorInfo.Parser), 10);
private readonly pbc::MapField<string, global::Tensorflow.TensorInfo> inputs_ = new pbc::MapField<string, global::Tensorflow.TensorInfo>();
/// <summary>
/// Named input parameters.
@@ -2364,7 +2616,7 @@ namespace Tensorflow {
/// <summary>Field number for the "outputs" field.</summary>
public const int OutputsFieldNumber = 2;
private static readonly pbc::MapField<string, global::Tensorflow.TensorInfo>.Codec _map_outputs_codec
= new pbc::MapField<string, global::Tensorflow.TensorInfo>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::Tensorflow.TensorInfo.Parser), 18);
= new pbc::MapField<string, global::Tensorflow.TensorInfo>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForMessage(18, global::Tensorflow.TensorInfo.Parser), 18);
private readonly pbc::MapField<string, global::Tensorflow.TensorInfo> outputs_ = new pbc::MapField<string, global::Tensorflow.TensorInfo>();
/// <summary>
/// Named output parameters.
@@ -2637,7 +2889,7 @@ namespace Tensorflow {
}
if (other.tensorInfo_ != null) {
if (tensorInfo_ == null) {
tensorInfo_ = new global::Tensorflow.TensorInfo();
TensorInfo = new global::Tensorflow.TensorInfo();
}
TensorInfo.MergeFrom(other.TensorInfo);
}
@@ -2657,9 +2909,9 @@ namespace Tensorflow {
break;
case 10: {
if (tensorInfo_ == null) {
tensorInfo_ = new global::Tensorflow.TensorInfo();
TensorInfo = new global::Tensorflow.TensorInfo();
}
input.ReadMessage(tensorInfo_);
input.ReadMessage(TensorInfo);
break;
}
case 18: {


+ 42
- 12
src/TensorFlowNET.Core/Protobuf/NodeDef.cs View File

@@ -26,20 +26,21 @@ namespace Tensorflow {
string.Concat(
"Cih0ZW5zb3JmbG93L2NvcmUvZnJhbWV3b3JrL25vZGVfZGVmLnByb3RvEgp0",
"ZW5zb3JmbG93Gip0ZW5zb3JmbG93L2NvcmUvZnJhbWV3b3JrL2F0dHJfdmFs",
"dWUucHJvdG8itQIKB05vZGVEZWYSDAoEbmFtZRgBIAEoCRIKCgJvcBgCIAEo",
"dWUucHJvdG8i0gIKB05vZGVEZWYSDAoEbmFtZRgBIAEoCRIKCgJvcBgCIAEo",
"CRINCgVpbnB1dBgDIAMoCRIOCgZkZXZpY2UYBCABKAkSKwoEYXR0chgFIAMo",
"CzIdLnRlbnNvcmZsb3cuTm9kZURlZi5BdHRyRW50cnkSSgoXZXhwZXJpbWVu",
"dGFsX2RlYnVnX2luZm8YBiABKAsyKS50ZW5zb3JmbG93Lk5vZGVEZWYuRXhw",
"ZXJpbWVudGFsRGVidWdJbmZvGkIKCUF0dHJFbnRyeRILCgNrZXkYASABKAkS",
"JAoFdmFsdWUYAiABKAsyFS50ZW5zb3JmbG93LkF0dHJWYWx1ZToCOAEaNAoV",
"JAoFdmFsdWUYAiABKAsyFS50ZW5zb3JmbG93LkF0dHJWYWx1ZToCOAEaUQoV",
"RXhwZXJpbWVudGFsRGVidWdJbmZvEhsKE29yaWdpbmFsX25vZGVfbmFtZXMY",
"ASADKAlCaQoYb3JnLnRlbnNvcmZsb3cuZnJhbWV3b3JrQglOb2RlUHJvdG9Q",
"AVo9Z2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmZsb3cvdGVuc29yZmxv",
"dy9nby9jb3JlL2ZyYW1ld29ya/gBAWIGcHJvdG8z"));
"ASADKAkSGwoTb3JpZ2luYWxfZnVuY19uYW1lcxgCIAMoCUJpChhvcmcudGVu",
"c29yZmxvdy5mcmFtZXdvcmtCCU5vZGVQcm90b1ABWj1naXRodWIuY29tL3Rl",
"bnNvcmZsb3cvdGVuc29yZmxvdy90ZW5zb3JmbG93L2dvL2NvcmUvZnJhbWV3",
"b3Jr+AEBYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Tensorflow.AttrValueReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.NodeDef), global::Tensorflow.NodeDef.Parser, new[]{ "Name", "Op", "Input", "Device", "Attr", "ExperimentalDebugInfo" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.NodeDef.Types.ExperimentalDebugInfo), global::Tensorflow.NodeDef.Types.ExperimentalDebugInfo.Parser, new[]{ "OriginalNodeNames" }, null, null, null)})
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.NodeDef), global::Tensorflow.NodeDef.Parser, new[]{ "Name", "Op", "Input", "Device", "Attr", "ExperimentalDebugInfo" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.NodeDef.Types.ExperimentalDebugInfo), global::Tensorflow.NodeDef.Types.ExperimentalDebugInfo.Parser, new[]{ "OriginalNodeNames", "OriginalFuncNames" }, null, null, null, null)})
}));
}
#endregion
@@ -91,7 +92,7 @@ namespace Tensorflow {
/// <summary>
/// The name given to this operator. Used for naming inputs,
/// logging, visualization, etc. Unique within a single GraphDef.
/// Must match the regexp "[A-Za-z0-9.][A-Za-z0-9_./]*".
/// Must match the regexp "[A-Za-z0-9.][A-Za-z0-9_>./]*".
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public string Name {
@@ -169,7 +170,7 @@ namespace Tensorflow {
/// <summary>Field number for the "attr" field.</summary>
public const int AttrFieldNumber = 5;
private static readonly pbc::MapField<string, global::Tensorflow.AttrValue>.Codec _map_attr_codec
= new pbc::MapField<string, global::Tensorflow.AttrValue>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::Tensorflow.AttrValue.Parser), 42);
= new pbc::MapField<string, global::Tensorflow.AttrValue>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForMessage(18, global::Tensorflow.AttrValue.Parser), 42);
private readonly pbc::MapField<string, global::Tensorflow.AttrValue> attr_ = new pbc::MapField<string, global::Tensorflow.AttrValue>();
/// <summary>
/// Operation-specific graph-construction-time configuration.
@@ -312,7 +313,7 @@ namespace Tensorflow {
attr_.Add(other.attr_);
if (other.experimentalDebugInfo_ != null) {
if (experimentalDebugInfo_ == null) {
experimentalDebugInfo_ = new global::Tensorflow.NodeDef.Types.ExperimentalDebugInfo();
ExperimentalDebugInfo = new global::Tensorflow.NodeDef.Types.ExperimentalDebugInfo();
}
ExperimentalDebugInfo.MergeFrom(other.ExperimentalDebugInfo);
}
@@ -349,9 +350,9 @@ namespace Tensorflow {
}
case 50: {
if (experimentalDebugInfo_ == null) {
experimentalDebugInfo_ = new global::Tensorflow.NodeDef.Types.ExperimentalDebugInfo();
ExperimentalDebugInfo = new global::Tensorflow.NodeDef.Types.ExperimentalDebugInfo();
}
input.ReadMessage(experimentalDebugInfo_);
input.ReadMessage(ExperimentalDebugInfo);
break;
}
}
@@ -388,6 +389,7 @@ namespace Tensorflow {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public ExperimentalDebugInfo(ExperimentalDebugInfo other) : this() {
originalNodeNames_ = other.originalNodeNames_.Clone();
originalFuncNames_ = other.originalFuncNames_.Clone();
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}

@@ -415,6 +417,25 @@ namespace Tensorflow {
get { return originalNodeNames_; }
}

/// <summary>Field number for the "original_func_names" field.</summary>
public const int OriginalFuncNamesFieldNumber = 2;
private static readonly pb::FieldCodec<string> _repeated_originalFuncNames_codec
= pb::FieldCodec.ForString(18);
private readonly pbc::RepeatedField<string> originalFuncNames_ = new pbc::RepeatedField<string>();
/// <summary>
/// This is intended to store the list of names of the functions from the
/// original graph that this node was derived. For example if this node, say
/// C, was result of a fusion of node A in function FA and node B in function
/// FB, then `original_funcs` would be {FA, FB}. If the node is in the top
/// level graph, the `original_func` is empty. This information, with the
/// `original_node_names` can be used to map errors originating at the
/// current ndoe to some top level source code.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public pbc::RepeatedField<string> OriginalFuncNames {
get { return originalFuncNames_; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as ExperimentalDebugInfo);
@@ -429,6 +450,7 @@ namespace Tensorflow {
return true;
}
if(!originalNodeNames_.Equals(other.originalNodeNames_)) return false;
if(!originalFuncNames_.Equals(other.originalFuncNames_)) return false;
return Equals(_unknownFields, other._unknownFields);
}

@@ -436,6 +458,7 @@ namespace Tensorflow {
public override int GetHashCode() {
int hash = 1;
hash ^= originalNodeNames_.GetHashCode();
hash ^= originalFuncNames_.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -450,6 +473,7 @@ namespace Tensorflow {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo(pb::CodedOutputStream output) {
originalNodeNames_.WriteTo(output, _repeated_originalNodeNames_codec);
originalFuncNames_.WriteTo(output, _repeated_originalFuncNames_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -459,6 +483,7 @@ namespace Tensorflow {
public int CalculateSize() {
int size = 0;
size += originalNodeNames_.CalculateSize(_repeated_originalNodeNames_codec);
size += originalFuncNames_.CalculateSize(_repeated_originalFuncNames_codec);
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -471,6 +496,7 @@ namespace Tensorflow {
return;
}
originalNodeNames_.Add(other.originalNodeNames_);
originalFuncNames_.Add(other.originalFuncNames_);
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}

@@ -486,6 +512,10 @@ namespace Tensorflow {
originalNodeNames_.AddEntriesFrom(input, _repeated_originalNodeNames_codec);
break;
}
case 18: {
originalFuncNames_.AddEntriesFrom(input, _repeated_originalFuncNames_codec);
break;
}
}
}
}


+ 65
- 41
src/TensorFlowNET.Core/Protobuf/OpDef.cs View File

@@ -27,34 +27,34 @@ namespace Tensorflow {
"CiZ0ZW5zb3JmbG93L2NvcmUvZnJhbWV3b3JrL29wX2RlZi5wcm90bxIKdGVu",
"c29yZmxvdxoqdGVuc29yZmxvdy9jb3JlL2ZyYW1ld29yay9hdHRyX3ZhbHVl",
"LnByb3RvGiV0ZW5zb3JmbG93L2NvcmUvZnJhbWV3b3JrL3R5cGVzLnByb3Rv",
"IrgFCgVPcERlZhIMCgRuYW1lGAEgASgJEisKCWlucHV0X2FyZxgCIAMoCzIY",
"ItAFCgVPcERlZhIMCgRuYW1lGAEgASgJEisKCWlucHV0X2FyZxgCIAMoCzIY",
"LnRlbnNvcmZsb3cuT3BEZWYuQXJnRGVmEiwKCm91dHB1dF9hcmcYAyADKAsy",
"GC50ZW5zb3JmbG93Lk9wRGVmLkFyZ0RlZhInCgRhdHRyGAQgAygLMhkudGVu",
"c29yZmxvdy5PcERlZi5BdHRyRGVmEi4KC2RlcHJlY2F0aW9uGAggASgLMhku",
"dGVuc29yZmxvdy5PcERlcHJlY2F0aW9uEg8KB3N1bW1hcnkYBSABKAkSEwoL",
"ZGVzY3JpcHRpb24YBiABKAkSFgoOaXNfY29tbXV0YXRpdmUYEiABKAgSFAoM",
"aXNfYWdncmVnYXRlGBAgASgIEhMKC2lzX3N0YXRlZnVsGBEgASgIEiIKGmFs",
"bG93c191bmluaXRpYWxpemVkX2lucHV0GBMgASgIGp8BCgZBcmdEZWYSDAoE",
"bmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIiCgR0eXBlGAMgASgO",
"MhQudGVuc29yZmxvdy5EYXRhVHlwZRIRCgl0eXBlX2F0dHIYBCABKAkSEwoL",
"bnVtYmVyX2F0dHIYBSABKAkSFgoOdHlwZV9saXN0X2F0dHIYBiABKAkSDgoG",
"aXNfcmVmGBAgASgIGr0BCgdBdHRyRGVmEgwKBG5hbWUYASABKAkSDAoEdHlw",
"ZRgCIAEoCRIsCg1kZWZhdWx0X3ZhbHVlGAMgASgLMhUudGVuc29yZmxvdy5B",
"dHRyVmFsdWUSEwoLZGVzY3JpcHRpb24YBCABKAkSEwoLaGFzX21pbmltdW0Y",
"BSABKAgSDwoHbWluaW11bRgGIAEoAxItCg5hbGxvd2VkX3ZhbHVlcxgHIAEo",
"CzIVLnRlbnNvcmZsb3cuQXR0clZhbHVlIjUKDU9wRGVwcmVjYXRpb24SDwoH",
"dmVyc2lvbhgBIAEoBRITCgtleHBsYW5hdGlvbhgCIAEoCSInCgZPcExpc3QS",
"HQoCb3AYASADKAsyES50ZW5zb3JmbG93Lk9wRGVmQmsKGG9yZy50ZW5zb3Jm",
"bG93LmZyYW1ld29ya0ILT3BEZWZQcm90b3NQAVo9Z2l0aHViLmNvbS90ZW5z",
"b3JmbG93L3RlbnNvcmZsb3cvdGVuc29yZmxvdy9nby9jb3JlL2ZyYW1ld29y",
"a/gBAWIGcHJvdG8z"));
"GC50ZW5zb3JmbG93Lk9wRGVmLkFyZ0RlZhIWCg5jb250cm9sX291dHB1dBgU",
"IAMoCRInCgRhdHRyGAQgAygLMhkudGVuc29yZmxvdy5PcERlZi5BdHRyRGVm",
"Ei4KC2RlcHJlY2F0aW9uGAggASgLMhkudGVuc29yZmxvdy5PcERlcHJlY2F0",
"aW9uEg8KB3N1bW1hcnkYBSABKAkSEwoLZGVzY3JpcHRpb24YBiABKAkSFgoO",
"aXNfY29tbXV0YXRpdmUYEiABKAgSFAoMaXNfYWdncmVnYXRlGBAgASgIEhMK",
"C2lzX3N0YXRlZnVsGBEgASgIEiIKGmFsbG93c191bmluaXRpYWxpemVkX2lu",
"cHV0GBMgASgIGp8BCgZBcmdEZWYSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlw",
"dGlvbhgCIAEoCRIiCgR0eXBlGAMgASgOMhQudGVuc29yZmxvdy5EYXRhVHlw",
"ZRIRCgl0eXBlX2F0dHIYBCABKAkSEwoLbnVtYmVyX2F0dHIYBSABKAkSFgoO",
"dHlwZV9saXN0X2F0dHIYBiABKAkSDgoGaXNfcmVmGBAgASgIGr0BCgdBdHRy",
"RGVmEgwKBG5hbWUYASABKAkSDAoEdHlwZRgCIAEoCRIsCg1kZWZhdWx0X3Zh",
"bHVlGAMgASgLMhUudGVuc29yZmxvdy5BdHRyVmFsdWUSEwoLZGVzY3JpcHRp",
"b24YBCABKAkSEwoLaGFzX21pbmltdW0YBSABKAgSDwoHbWluaW11bRgGIAEo",
"AxItCg5hbGxvd2VkX3ZhbHVlcxgHIAEoCzIVLnRlbnNvcmZsb3cuQXR0clZh",
"bHVlIjUKDU9wRGVwcmVjYXRpb24SDwoHdmVyc2lvbhgBIAEoBRITCgtleHBs",
"YW5hdGlvbhgCIAEoCSInCgZPcExpc3QSHQoCb3AYASADKAsyES50ZW5zb3Jm",
"bG93Lk9wRGVmQmsKGG9yZy50ZW5zb3JmbG93LmZyYW1ld29ya0ILT3BEZWZQ",
"cm90b3NQAVo9Z2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmZsb3cvdGVu",
"c29yZmxvdy9nby9jb3JlL2ZyYW1ld29ya/gBAWIGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Tensorflow.AttrValueReflection.Descriptor, global::Tensorflow.TypesReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.OpDef), global::Tensorflow.OpDef.Parser, new[]{ "Name", "InputArg", "OutputArg", "Attr", "Deprecation", "Summary", "Description", "IsCommutative", "IsAggregate", "IsStateful", "AllowsUninitializedInput" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.OpDef.Types.ArgDef), global::Tensorflow.OpDef.Types.ArgDef.Parser, new[]{ "Name", "Description", "Type", "TypeAttr", "NumberAttr", "TypeListAttr", "IsRef" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.OpDef.Types.AttrDef), global::Tensorflow.OpDef.Types.AttrDef.Parser, new[]{ "Name", "Type", "DefaultValue", "Description", "HasMinimum", "Minimum", "AllowedValues" }, null, null, null)}),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.OpDeprecation), global::Tensorflow.OpDeprecation.Parser, new[]{ "Version", "Explanation" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.OpList), global::Tensorflow.OpList.Parser, new[]{ "Op" }, null, null, null)
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.OpDef), global::Tensorflow.OpDef.Parser, new[]{ "Name", "InputArg", "OutputArg", "ControlOutput", "Attr", "Deprecation", "Summary", "Description", "IsCommutative", "IsAggregate", "IsStateful", "AllowsUninitializedInput" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.OpDef.Types.ArgDef), global::Tensorflow.OpDef.Types.ArgDef.Parser, new[]{ "Name", "Description", "Type", "TypeAttr", "NumberAttr", "TypeListAttr", "IsRef" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.OpDef.Types.AttrDef), global::Tensorflow.OpDef.Types.AttrDef.Parser, new[]{ "Name", "Type", "DefaultValue", "Description", "HasMinimum", "Minimum", "AllowedValues" }, null, null, null, null)}),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.OpDeprecation), global::Tensorflow.OpDeprecation.Parser, new[]{ "Version", "Explanation" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.OpList), global::Tensorflow.OpList.Parser, new[]{ "Op" }, null, null, null, null)
}));
}
#endregion
@@ -94,6 +94,7 @@ namespace Tensorflow {
name_ = other.name_;
inputArg_ = other.inputArg_.Clone();
outputArg_ = other.outputArg_.Clone();
controlOutput_ = other.controlOutput_.Clone();
attr_ = other.attr_.Clone();
deprecation_ = other.deprecation_ != null ? other.deprecation_.Clone() : null;
summary_ = other.summary_;
@@ -115,7 +116,7 @@ namespace Tensorflow {
private string name_ = "";
/// <summary>
/// Op names starting with an underscore are reserved for internal use.
/// Names should be CamelCase and match the regexp "[A-Z][a-zA-Z0-9_]*".
/// Names should be CamelCase and match the regexp "[A-Z][a-zA-Z0-9>_]*".
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public string Name {
@@ -151,6 +152,20 @@ namespace Tensorflow {
get { return outputArg_; }
}

/// <summary>Field number for the "control_output" field.</summary>
public const int ControlOutputFieldNumber = 20;
private static readonly pb::FieldCodec<string> _repeated_controlOutput_codec
= pb::FieldCodec.ForString(162);
private readonly pbc::RepeatedField<string> controlOutput_ = new pbc::RepeatedField<string>();
/// <summary>
/// Named control outputs for this operation. Useful only for composite
/// operations (i.e. functions) which want to name different control outputs.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public pbc::RepeatedField<string> ControlOutput {
get { return controlOutput_; }
}

/// <summary>Field number for the "attr" field.</summary>
public const int AttrFieldNumber = 4;
private static readonly pb::FieldCodec<global::Tensorflow.OpDef.Types.AttrDef> _repeated_attr_codec
@@ -295,6 +310,7 @@ namespace Tensorflow {
if (Name != other.Name) return false;
if(!inputArg_.Equals(other.inputArg_)) return false;
if(!outputArg_.Equals(other.outputArg_)) return false;
if(!controlOutput_.Equals(other.controlOutput_)) return false;
if(!attr_.Equals(other.attr_)) return false;
if (!object.Equals(Deprecation, other.Deprecation)) return false;
if (Summary != other.Summary) return false;
@@ -312,6 +328,7 @@ namespace Tensorflow {
if (Name.Length != 0) hash ^= Name.GetHashCode();
hash ^= inputArg_.GetHashCode();
hash ^= outputArg_.GetHashCode();
hash ^= controlOutput_.GetHashCode();
hash ^= attr_.GetHashCode();
if (deprecation_ != null) hash ^= Deprecation.GetHashCode();
if (Summary.Length != 0) hash ^= Summary.GetHashCode();
@@ -368,6 +385,7 @@ namespace Tensorflow {
output.WriteRawTag(152, 1);
output.WriteBool(AllowsUninitializedInput);
}
controlOutput_.WriteTo(output, _repeated_controlOutput_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -381,6 +399,7 @@ namespace Tensorflow {
}
size += inputArg_.CalculateSize(_repeated_inputArg_codec);
size += outputArg_.CalculateSize(_repeated_outputArg_codec);
size += controlOutput_.CalculateSize(_repeated_controlOutput_codec);
size += attr_.CalculateSize(_repeated_attr_codec);
if (deprecation_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Deprecation);
@@ -419,10 +438,11 @@ namespace Tensorflow {
}
inputArg_.Add(other.inputArg_);
outputArg_.Add(other.outputArg_);
controlOutput_.Add(other.controlOutput_);
attr_.Add(other.attr_);
if (other.deprecation_ != null) {
if (deprecation_ == null) {
deprecation_ = new global::Tensorflow.OpDeprecation();
Deprecation = new global::Tensorflow.OpDeprecation();
}
Deprecation.MergeFrom(other.Deprecation);
}
@@ -481,9 +501,9 @@ namespace Tensorflow {
}
case 66: {
if (deprecation_ == null) {
deprecation_ = new global::Tensorflow.OpDeprecation();
Deprecation = new global::Tensorflow.OpDeprecation();
}
input.ReadMessage(deprecation_);
input.ReadMessage(Deprecation);
break;
}
case 128: {
@@ -502,6 +522,10 @@ namespace Tensorflow {
AllowsUninitializedInput = input.ReadBool();
break;
}
case 162: {
controlOutput_.AddEntriesFrom(input, _repeated_controlOutput_codec);
break;
}
}
}
}
@@ -583,7 +607,7 @@ namespace Tensorflow {

/// <summary>Field number for the "type" field.</summary>
public const int TypeFieldNumber = 3;
private global::Tensorflow.DataType type_ = 0;
private global::Tensorflow.DataType type_ = global::Tensorflow.DataType.DtInvalid;
/// <summary>
/// Describes the type of one or more tensors that are accepted/produced
/// by this input/output arg. The only legal combinations are:
@@ -691,7 +715,7 @@ namespace Tensorflow {
int hash = 1;
if (Name.Length != 0) hash ^= Name.GetHashCode();
if (Description.Length != 0) hash ^= Description.GetHashCode();
if (Type != 0) hash ^= Type.GetHashCode();
if (Type != global::Tensorflow.DataType.DtInvalid) hash ^= Type.GetHashCode();
if (TypeAttr.Length != 0) hash ^= TypeAttr.GetHashCode();
if (NumberAttr.Length != 0) hash ^= NumberAttr.GetHashCode();
if (TypeListAttr.Length != 0) hash ^= TypeListAttr.GetHashCode();
@@ -717,7 +741,7 @@ namespace Tensorflow {
output.WriteRawTag(18);
output.WriteString(Description);
}
if (Type != 0) {
if (Type != global::Tensorflow.DataType.DtInvalid) {
output.WriteRawTag(24);
output.WriteEnum((int) Type);
}
@@ -751,7 +775,7 @@ namespace Tensorflow {
if (Description.Length != 0) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
}
if (Type != 0) {
if (Type != global::Tensorflow.DataType.DtInvalid) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
}
if (TypeAttr.Length != 0) {
@@ -783,7 +807,7 @@ namespace Tensorflow {
if (other.Description.Length != 0) {
Description = other.Description;
}
if (other.Type != 0) {
if (other.Type != global::Tensorflow.DataType.DtInvalid) {
Type = other.Type;
}
if (other.TypeAttr.Length != 0) {
@@ -818,7 +842,7 @@ namespace Tensorflow {
break;
}
case 24: {
type_ = (global::Tensorflow.DataType) input.ReadEnum();
Type = (global::Tensorflow.DataType) input.ReadEnum();
break;
}
case 34: {
@@ -1115,7 +1139,7 @@ namespace Tensorflow {
}
if (other.defaultValue_ != null) {
if (defaultValue_ == null) {
defaultValue_ = new global::Tensorflow.AttrValue();
DefaultValue = new global::Tensorflow.AttrValue();
}
DefaultValue.MergeFrom(other.DefaultValue);
}
@@ -1130,7 +1154,7 @@ namespace Tensorflow {
}
if (other.allowedValues_ != null) {
if (allowedValues_ == null) {
allowedValues_ = new global::Tensorflow.AttrValue();
AllowedValues = new global::Tensorflow.AttrValue();
}
AllowedValues.MergeFrom(other.AllowedValues);
}
@@ -1155,9 +1179,9 @@ namespace Tensorflow {
}
case 26: {
if (defaultValue_ == null) {
defaultValue_ = new global::Tensorflow.AttrValue();
DefaultValue = new global::Tensorflow.AttrValue();
}
input.ReadMessage(defaultValue_);
input.ReadMessage(DefaultValue);
break;
}
case 34: {
@@ -1174,9 +1198,9 @@ namespace Tensorflow {
}
case 58: {
if (allowedValues_ == null) {
allowedValues_ = new global::Tensorflow.AttrValue();
AllowedValues = new global::Tensorflow.AttrValue();
}
input.ReadMessage(allowedValues_);
input.ReadMessage(AllowedValues);
break;
}
}


+ 211
- 9
src/TensorFlowNET.Core/Protobuf/ResourceHandle.cs View File

@@ -25,16 +25,22 @@ namespace Tensorflow {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"Ci90ZW5zb3JmbG93L2NvcmUvZnJhbWV3b3JrL3Jlc291cmNlX2hhbmRsZS5w",
"cm90bxIKdGVuc29yZmxvdyJyChNSZXNvdXJjZUhhbmRsZVByb3RvEg4KBmRl",
"dmljZRgBIAEoCRIRCgljb250YWluZXIYAiABKAkSDAoEbmFtZRgDIAEoCRIR",
"CgloYXNoX2NvZGUYBCABKAQSFwoPbWF5YmVfdHlwZV9uYW1lGAUgASgJQm4K",
"GG9yZy50ZW5zb3JmbG93LmZyYW1ld29ya0IOUmVzb3VyY2VIYW5kbGVQAVo9",
"Z2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmZsb3cvdGVuc29yZmxvdy9n",
"by9jb3JlL2ZyYW1ld29ya/gBAWIGcHJvdG8z"));
"cm90bxIKdGVuc29yZmxvdxosdGVuc29yZmxvdy9jb3JlL2ZyYW1ld29yay90",
"ZW5zb3Jfc2hhcGUucHJvdG8aJXRlbnNvcmZsb3cvY29yZS9mcmFtZXdvcmsv",
"dHlwZXMucHJvdG8inwIKE1Jlc291cmNlSGFuZGxlUHJvdG8SDgoGZGV2aWNl",
"GAEgASgJEhEKCWNvbnRhaW5lchgCIAEoCRIMCgRuYW1lGAMgASgJEhEKCWhh",
"c2hfY29kZRgEIAEoBBIXCg9tYXliZV90eXBlX25hbWUYBSABKAkSSAoRZHR5",
"cGVzX2FuZF9zaGFwZXMYBiADKAsyLS50ZW5zb3JmbG93LlJlc291cmNlSGFu",
"ZGxlUHJvdG8uRHR5cGVBbmRTaGFwZRphCg1EdHlwZUFuZFNoYXBlEiMKBWR0",
"eXBlGAEgASgOMhQudGVuc29yZmxvdy5EYXRhVHlwZRIrCgVzaGFwZRgCIAEo",
"CzIcLnRlbnNvcmZsb3cuVGVuc29yU2hhcGVQcm90b0JuChhvcmcudGVuc29y",
"Zmxvdy5mcmFtZXdvcmtCDlJlc291cmNlSGFuZGxlUAFaPWdpdGh1Yi5jb20v",
"dGVuc29yZmxvdy90ZW5zb3JmbG93L3RlbnNvcmZsb3cvZ28vY29yZS9mcmFt",
"ZXdvcmv4AQFiBnByb3RvMw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.ResourceHandleProto), global::Tensorflow.ResourceHandleProto.Parser, new[]{ "Device", "Container", "Name", "HashCode", "MaybeTypeName" }, null, null, null)
new pbr::FileDescriptor[] { global::Tensorflow.TensorShapeReflection.Descriptor, global::Tensorflow.TypesReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.ResourceHandleProto), global::Tensorflow.ResourceHandleProto.Parser, new[]{ "Device", "Container", "Name", "HashCode", "MaybeTypeName", "DtypesAndShapes" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.ResourceHandleProto.Types.DtypeAndShape), global::Tensorflow.ResourceHandleProto.Types.DtypeAndShape.Parser, new[]{ "Dtype", "Shape" }, null, null, null, null)})
}));
}
#endregion
@@ -76,6 +82,7 @@ namespace Tensorflow {
name_ = other.name_;
hashCode_ = other.hashCode_;
maybeTypeName_ = other.maybeTypeName_;
dtypesAndShapes_ = other.dtypesAndShapes_.Clone();
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}

@@ -156,6 +163,19 @@ namespace Tensorflow {
}
}

/// <summary>Field number for the "dtypes_and_shapes" field.</summary>
public const int DtypesAndShapesFieldNumber = 6;
private static readonly pb::FieldCodec<global::Tensorflow.ResourceHandleProto.Types.DtypeAndShape> _repeated_dtypesAndShapes_codec
= pb::FieldCodec.ForMessage(50, global::Tensorflow.ResourceHandleProto.Types.DtypeAndShape.Parser);
private readonly pbc::RepeatedField<global::Tensorflow.ResourceHandleProto.Types.DtypeAndShape> dtypesAndShapes_ = new pbc::RepeatedField<global::Tensorflow.ResourceHandleProto.Types.DtypeAndShape>();
/// <summary>
/// Data types and shapes for the underlying resource.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public pbc::RepeatedField<global::Tensorflow.ResourceHandleProto.Types.DtypeAndShape> DtypesAndShapes {
get { return dtypesAndShapes_; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as ResourceHandleProto);
@@ -174,6 +194,7 @@ namespace Tensorflow {
if (Name != other.Name) return false;
if (HashCode != other.HashCode) return false;
if (MaybeTypeName != other.MaybeTypeName) return false;
if(!dtypesAndShapes_.Equals(other.dtypesAndShapes_)) return false;
return Equals(_unknownFields, other._unknownFields);
}

@@ -185,6 +206,7 @@ namespace Tensorflow {
if (Name.Length != 0) hash ^= Name.GetHashCode();
if (HashCode != 0UL) hash ^= HashCode.GetHashCode();
if (MaybeTypeName.Length != 0) hash ^= MaybeTypeName.GetHashCode();
hash ^= dtypesAndShapes_.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -218,6 +240,7 @@ namespace Tensorflow {
output.WriteRawTag(42);
output.WriteString(MaybeTypeName);
}
dtypesAndShapes_.WriteTo(output, _repeated_dtypesAndShapes_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -241,6 +264,7 @@ namespace Tensorflow {
if (MaybeTypeName.Length != 0) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(MaybeTypeName);
}
size += dtypesAndShapes_.CalculateSize(_repeated_dtypesAndShapes_codec);
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -267,6 +291,7 @@ namespace Tensorflow {
if (other.MaybeTypeName.Length != 0) {
MaybeTypeName = other.MaybeTypeName;
}
dtypesAndShapes_.Add(other.dtypesAndShapes_);
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}

@@ -298,9 +323,186 @@ namespace Tensorflow {
MaybeTypeName = input.ReadString();
break;
}
case 50: {
dtypesAndShapes_.AddEntriesFrom(input, _repeated_dtypesAndShapes_codec);
break;
}
}
}
}

#region Nested types
/// <summary>Container for nested types declared in the ResourceHandleProto message type.</summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static partial class Types {
/// <summary>
/// Protocol buffer representing a pair of (data type, tensor shape).
/// </summary>
public sealed partial class DtypeAndShape : pb::IMessage<DtypeAndShape> {
private static readonly pb::MessageParser<DtypeAndShape> _parser = new pb::MessageParser<DtypeAndShape>(() => new DtypeAndShape());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pb::MessageParser<DtypeAndShape> Parser { get { return _parser; } }

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {
get { return global::Tensorflow.ResourceHandleProto.Descriptor.NestedTypes[0]; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public DtypeAndShape() {
OnConstruction();
}

partial void OnConstruction();

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public DtypeAndShape(DtypeAndShape other) : this() {
dtype_ = other.dtype_;
shape_ = other.shape_ != null ? other.shape_.Clone() : null;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public DtypeAndShape Clone() {
return new DtypeAndShape(this);
}

/// <summary>Field number for the "dtype" field.</summary>
public const int DtypeFieldNumber = 1;
private global::Tensorflow.DataType dtype_ = global::Tensorflow.DataType.DtInvalid;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.DataType Dtype {
get { return dtype_; }
set {
dtype_ = value;
}
}

/// <summary>Field number for the "shape" field.</summary>
public const int ShapeFieldNumber = 2;
private global::Tensorflow.TensorShapeProto shape_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.TensorShapeProto Shape {
get { return shape_; }
set {
shape_ = value;
}
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as DtypeAndShape);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public bool Equals(DtypeAndShape other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (Dtype != other.Dtype) return false;
if (!object.Equals(Shape, other.Shape)) return false;
return Equals(_unknownFields, other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override int GetHashCode() {
int hash = 1;
if (Dtype != global::Tensorflow.DataType.DtInvalid) hash ^= Dtype.GetHashCode();
if (shape_ != null) hash ^= Shape.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo(pb::CodedOutputStream output) {
if (Dtype != global::Tensorflow.DataType.DtInvalid) {
output.WriteRawTag(8);
output.WriteEnum((int) Dtype);
}
if (shape_ != null) {
output.WriteRawTag(18);
output.WriteMessage(Shape);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int CalculateSize() {
int size = 0;
if (Dtype != global::Tensorflow.DataType.DtInvalid) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Dtype);
}
if (shape_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Shape);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(DtypeAndShape other) {
if (other == null) {
return;
}
if (other.Dtype != global::Tensorflow.DataType.DtInvalid) {
Dtype = other.Dtype;
}
if (other.shape_ != null) {
if (shape_ == null) {
Shape = new global::Tensorflow.TensorShapeProto();
}
Shape.MergeFrom(other.Shape);
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(pb::CodedInputStream input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
Dtype = (global::Tensorflow.DataType) input.ReadEnum();
break;
}
case 18: {
if (shape_ == null) {
Shape = new global::Tensorflow.TensorShapeProto();
}
input.ReadMessage(Shape);
break;
}
}
}
}

}

}
#endregion

}



+ 284
- 136
src/TensorFlowNET.Core/Protobuf/RewriterConfig.cs View File

@@ -26,58 +26,65 @@ namespace Tensorflow {
string.Concat(
"Ci50ZW5zb3JmbG93L2NvcmUvcHJvdG9idWYvcmV3cml0ZXJfY29uZmlnLnBy",
"b3RvEgp0ZW5zb3JmbG93Gip0ZW5zb3JmbG93L2NvcmUvZnJhbWV3b3JrL2F0",
"dHJfdmFsdWUucHJvdG8iOwoTQXV0b1BhcmFsbGVsT3B0aW9ucxIOCgZlbmFi",
"bGUYASABKAgSFAoMbnVtX3JlcGxpY2FzGAIgASgFIisKFlNjb3BlZEFsbG9j",
"YXRvck9wdGlvbnMSEQoJZW5hYmxlX29wGAEgAygJIvUNCg5SZXdyaXRlckNv",
"bmZpZxI7ChBsYXlvdXRfb3B0aW1pemVyGAEgASgOMiEudGVuc29yZmxvdy5S",
"ZXdyaXRlckNvbmZpZy5Ub2dnbGUSOwoQY29uc3RhbnRfZm9sZGluZxgDIAEo",
"DjIhLnRlbnNvcmZsb3cuUmV3cml0ZXJDb25maWcuVG9nZ2xlEj0KEnNoYXBl",
"X29wdGltaXphdGlvbhgNIAEoDjIhLnRlbnNvcmZsb3cuUmV3cml0ZXJDb25m",
"aWcuVG9nZ2xlEjQKCXJlbWFwcGluZxgOIAEoDjIhLnRlbnNvcmZsb3cuUmV3",
"cml0ZXJDb25maWcuVG9nZ2xlEkIKF2FyaXRobWV0aWNfb3B0aW1pemF0aW9u",
"GAcgASgOMiEudGVuc29yZmxvdy5SZXdyaXRlckNvbmZpZy5Ub2dnbGUSQgoX",
"ZGVwZW5kZW5jeV9vcHRpbWl6YXRpb24YCCABKA4yIS50ZW5zb3JmbG93LlJl",
"d3JpdGVyQ29uZmlnLlRvZ2dsZRI8ChFsb29wX29wdGltaXphdGlvbhgJIAEo",
"DjIhLnRlbnNvcmZsb3cuUmV3cml0ZXJDb25maWcuVG9nZ2xlEkAKFWZ1bmN0",
"aW9uX29wdGltaXphdGlvbhgKIAEoDjIhLnRlbnNvcmZsb3cuUmV3cml0ZXJD",
"b25maWcuVG9nZ2xlEjkKDmRlYnVnX3N0cmlwcGVyGAsgASgOMiEudGVuc29y",
"Zmxvdy5SZXdyaXRlckNvbmZpZy5Ub2dnbGUSHQoVZGlzYWJsZV9tb2RlbF9w",
"cnVuaW5nGAIgASgIEkgKHXNjb3BlZF9hbGxvY2F0b3Jfb3B0aW1pemF0aW9u",
"GA8gASgOMiEudGVuc29yZmxvdy5SZXdyaXRlckNvbmZpZy5Ub2dnbGUSQwoY",
"cGluX3RvX2hvc3Rfb3B0aW1pemF0aW9uGBIgASgOMiEudGVuc29yZmxvdy5S",
"ZXdyaXRlckNvbmZpZy5Ub2dnbGUSHgoWZGlzYWJsZV9tZXRhX29wdGltaXpl",
"chgTIAEoCBJPChltZXRhX29wdGltaXplcl9pdGVyYXRpb25zGAwgASgOMiwu",
"dGVuc29yZmxvdy5SZXdyaXRlckNvbmZpZy5OdW1JdGVyYXRpb25zVHlwZRIX",
"Cg9taW5fZ3JhcGhfbm9kZXMYESABKAUSQgoTbWVtb3J5X29wdGltaXphdGlv",
"bhgEIAEoDjIlLnRlbnNvcmZsb3cuUmV3cml0ZXJDb25maWcuTWVtT3B0VHlw",
"ZRIvCidtZW1vcnlfb3B0aW1pemVyX3RhcmdldF9ub2RlX25hbWVfc2NvcGUY",
"BiABKAkSIQoZbWV0YV9vcHRpbWl6ZXJfdGltZW91dF9tcxgUIAEoAxI2Cg1h",
"dXRvX3BhcmFsbGVsGAUgASgLMh8udGVuc29yZmxvdy5BdXRvUGFyYWxsZWxP",
"cHRpb25zEiAKGGZhaWxfb25fb3B0aW1pemVyX2Vycm9ycxgVIAEoCBJBChVz",
"Y29wZWRfYWxsb2NhdG9yX29wdHMYECABKAsyIi50ZW5zb3JmbG93LlNjb3Bl",
"ZEFsbG9jYXRvck9wdGlvbnMSEgoKb3B0aW1pemVycxhkIAMoCRJLChFjdXN0",
"b21fb3B0aW1pemVycxjIASADKAsyLy50ZW5zb3JmbG93LlJld3JpdGVyQ29u",
"ZmlnLkN1c3RvbUdyYXBoT3B0aW1pemVyGsoBChRDdXN0b21HcmFwaE9wdGlt",
"aXplchIMCgRuYW1lGAEgASgJElgKDXBhcmFtZXRlcl9tYXAYAiADKAsyQS50",
"ZW5zb3JmbG93LlJld3JpdGVyQ29uZmlnLkN1c3RvbUdyYXBoT3B0aW1pemVy",
"LlBhcmFtZXRlck1hcEVudHJ5GkoKEVBhcmFtZXRlck1hcEVudHJ5EgsKA2tl",
"eRgBIAEoCRIkCgV2YWx1ZRgCIAEoCzIVLnRlbnNvcmZsb3cuQXR0clZhbHVl",
"OgI4ASI2CgZUb2dnbGUSCwoHREVGQVVMVBAAEgYKAk9OEAESBwoDT0ZGEAIS",
"DgoKQUdHUkVTU0lWRRADIjwKEU51bUl0ZXJhdGlvbnNUeXBlEhUKEURFRkFV",
"TFRfTlVNX0lURVJTEAASBwoDT05FEAESBwoDVFdPEAIinwEKCk1lbU9wdFR5",
"cGUSEwoPREVGQVVMVF9NRU1fT1BUEAASDgoKTk9fTUVNX09QVBABEgoKBk1B",
"TlVBTBACEhcKE1NXQVBQSU5HX0hFVVJJU1RJQ1MQBBIcChhSRUNPTVBVVEFU",
"SU9OX0hFVVJJU1RJQ1MQBRIZChVTQ0hFRFVMSU5HX0hFVVJJU1RJQ1MQBhIO",
"CgpIRVVSSVNUSUNTEANCcwoYb3JnLnRlbnNvcmZsb3cuZnJhbWV3b3JrQhRS",
"ZXdyaXRlckNvbmZpZ1Byb3Rvc1ABWjxnaXRodWIuY29tL3RlbnNvcmZsb3cv",
"dGVuc29yZmxvdy90ZW5zb3JmbG93L2dvL2NvcmUvcHJvdG9idWb4AQFiBnBy",
"b3RvMw=="));
"dHJfdmFsdWUucHJvdG8aLnRlbnNvcmZsb3cvY29yZS9wcm90b2J1Zi92ZXJp",
"Zmllcl9jb25maWcucHJvdG8iOwoTQXV0b1BhcmFsbGVsT3B0aW9ucxIOCgZl",
"bmFibGUYASABKAgSFAoMbnVtX3JlcGxpY2FzGAIgASgFIisKFlNjb3BlZEFs",
"bG9jYXRvck9wdGlvbnMSEQoJZW5hYmxlX29wGAEgAygJIogQCg5SZXdyaXRl",
"ckNvbmZpZxI7ChBsYXlvdXRfb3B0aW1pemVyGAEgASgOMiEudGVuc29yZmxv",
"dy5SZXdyaXRlckNvbmZpZy5Ub2dnbGUSOwoQY29uc3RhbnRfZm9sZGluZxgD",
"IAEoDjIhLnRlbnNvcmZsb3cuUmV3cml0ZXJDb25maWcuVG9nZ2xlEj0KEnNo",
"YXBlX29wdGltaXphdGlvbhgNIAEoDjIhLnRlbnNvcmZsb3cuUmV3cml0ZXJD",
"b25maWcuVG9nZ2xlEjQKCXJlbWFwcGluZxgOIAEoDjIhLnRlbnNvcmZsb3cu",
"UmV3cml0ZXJDb25maWcuVG9nZ2xlEkIKF2FyaXRobWV0aWNfb3B0aW1pemF0",
"aW9uGAcgASgOMiEudGVuc29yZmxvdy5SZXdyaXRlckNvbmZpZy5Ub2dnbGUS",
"QgoXZGVwZW5kZW5jeV9vcHRpbWl6YXRpb24YCCABKA4yIS50ZW5zb3JmbG93",
"LlJld3JpdGVyQ29uZmlnLlRvZ2dsZRI8ChFsb29wX29wdGltaXphdGlvbhgJ",
"IAEoDjIhLnRlbnNvcmZsb3cuUmV3cml0ZXJDb25maWcuVG9nZ2xlEkAKFWZ1",
"bmN0aW9uX29wdGltaXphdGlvbhgKIAEoDjIhLnRlbnNvcmZsb3cuUmV3cml0",
"ZXJDb25maWcuVG9nZ2xlEjkKDmRlYnVnX3N0cmlwcGVyGAsgASgOMiEudGVu",
"c29yZmxvdy5SZXdyaXRlckNvbmZpZy5Ub2dnbGUSHQoVZGlzYWJsZV9tb2Rl",
"bF9wcnVuaW5nGAIgASgIEkgKHXNjb3BlZF9hbGxvY2F0b3Jfb3B0aW1pemF0",
"aW9uGA8gASgOMiEudGVuc29yZmxvdy5SZXdyaXRlckNvbmZpZy5Ub2dnbGUS",
"QwoYcGluX3RvX2hvc3Rfb3B0aW1pemF0aW9uGBIgASgOMiEudGVuc29yZmxv",
"dy5SZXdyaXRlckNvbmZpZy5Ub2dnbGUSQgoXaW1wbGVtZW50YXRpb25fc2Vs",
"ZWN0b3IYFiABKA4yIS50ZW5zb3JmbG93LlJld3JpdGVyQ29uZmlnLlRvZ2ds",
"ZRI/ChRhdXRvX21peGVkX3ByZWNpc2lvbhgXIAEoDjIhLnRlbnNvcmZsb3cu",
"UmV3cml0ZXJDb25maWcuVG9nZ2xlEh4KFmRpc2FibGVfbWV0YV9vcHRpbWl6",
"ZXIYEyABKAgSTwoZbWV0YV9vcHRpbWl6ZXJfaXRlcmF0aW9ucxgMIAEoDjIs",
"LnRlbnNvcmZsb3cuUmV3cml0ZXJDb25maWcuTnVtSXRlcmF0aW9uc1R5cGUS",
"FwoPbWluX2dyYXBoX25vZGVzGBEgASgFEkIKE21lbW9yeV9vcHRpbWl6YXRp",
"b24YBCABKA4yJS50ZW5zb3JmbG93LlJld3JpdGVyQ29uZmlnLk1lbU9wdFR5",
"cGUSLwonbWVtb3J5X29wdGltaXplcl90YXJnZXRfbm9kZV9uYW1lX3Njb3Bl",
"GAYgASgJEiEKGW1ldGFfb3B0aW1pemVyX3RpbWVvdXRfbXMYFCABKAMSNgoN",
"YXV0b19wYXJhbGxlbBgFIAEoCzIfLnRlbnNvcmZsb3cuQXV0b1BhcmFsbGVs",
"T3B0aW9ucxIgChhmYWlsX29uX29wdGltaXplcl9lcnJvcnMYFSABKAgSQQoV",
"c2NvcGVkX2FsbG9jYXRvcl9vcHRzGBAgASgLMiIudGVuc29yZmxvdy5TY29w",
"ZWRBbGxvY2F0b3JPcHRpb25zEhIKCm9wdGltaXplcnMYZCADKAkSSwoRY3Vz",
"dG9tX29wdGltaXplcnMYyAEgAygLMi8udGVuc29yZmxvdy5SZXdyaXRlckNv",
"bmZpZy5DdXN0b21HcmFwaE9wdGltaXplchJECh9pbnRlcl9vcHRpbWl6ZXJf",
"dmVyaWZpZXJfY29uZmlnGKwCIAEoCzIaLnRlbnNvcmZsb3cuVmVyaWZpZXJD",
"b25maWcSRgohcG9zdF9vcHRpbWl6YXRpb25fdmVyaWZpZXJfY29uZmlnGK0C",
"IAEoCzIaLnRlbnNvcmZsb3cuVmVyaWZpZXJDb25maWcaygEKFEN1c3RvbUdy",
"YXBoT3B0aW1pemVyEgwKBG5hbWUYASABKAkSWAoNcGFyYW1ldGVyX21hcBgC",
"IAMoCzJBLnRlbnNvcmZsb3cuUmV3cml0ZXJDb25maWcuQ3VzdG9tR3JhcGhP",
"cHRpbWl6ZXIuUGFyYW1ldGVyTWFwRW50cnkaSgoRUGFyYW1ldGVyTWFwRW50",
"cnkSCwoDa2V5GAEgASgJEiQKBXZhbHVlGAIgASgLMhUudGVuc29yZmxvdy5B",
"dHRyVmFsdWU6AjgBIjYKBlRvZ2dsZRILCgdERUZBVUxUEAASBgoCT04QARIH",
"CgNPRkYQAhIOCgpBR0dSRVNTSVZFEAMiPAoRTnVtSXRlcmF0aW9uc1R5cGUS",
"FQoRREVGQVVMVF9OVU1fSVRFUlMQABIHCgNPTkUQARIHCgNUV08QAiKfAQoK",
"TWVtT3B0VHlwZRITCg9ERUZBVUxUX01FTV9PUFQQABIOCgpOT19NRU1fT1BU",
"EAESCgoGTUFOVUFMEAISFwoTU1dBUFBJTkdfSEVVUklTVElDUxAEEhwKGFJF",
"Q09NUFVUQVRJT05fSEVVUklTVElDUxAFEhkKFVNDSEVEVUxJTkdfSEVVUklT",
"VElDUxAGEg4KCkhFVVJJU1RJQ1MQA0JzChhvcmcudGVuc29yZmxvdy5mcmFt",
"ZXdvcmtCFFJld3JpdGVyQ29uZmlnUHJvdG9zUAFaPGdpdGh1Yi5jb20vdGVu",
"c29yZmxvdy90ZW5zb3JmbG93L3RlbnNvcmZsb3cvZ28vY29yZS9wcm90b2J1",
"ZvgBAWIGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Tensorflow.AttrValueReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.AutoParallelOptions), global::Tensorflow.AutoParallelOptions.Parser, new[]{ "Enable", "NumReplicas" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.ScopedAllocatorOptions), global::Tensorflow.ScopedAllocatorOptions.Parser, new[]{ "EnableOp" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.RewriterConfig), global::Tensorflow.RewriterConfig.Parser, new[]{ "LayoutOptimizer", "ConstantFolding", "ShapeOptimization", "Remapping", "ArithmeticOptimization", "DependencyOptimization", "LoopOptimization", "FunctionOptimization", "DebugStripper", "DisableModelPruning", "ScopedAllocatorOptimization", "PinToHostOptimization", "DisableMetaOptimizer", "MetaOptimizerIterations", "MinGraphNodes", "MemoryOptimization", "MemoryOptimizerTargetNodeNameScope", "MetaOptimizerTimeoutMs", "AutoParallel", "FailOnOptimizerErrors", "ScopedAllocatorOpts", "Optimizers", "CustomOptimizers" }, null, new[]{ typeof(global::Tensorflow.RewriterConfig.Types.Toggle), typeof(global::Tensorflow.RewriterConfig.Types.NumIterationsType), typeof(global::Tensorflow.RewriterConfig.Types.MemOptType) }, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.RewriterConfig.Types.CustomGraphOptimizer), global::Tensorflow.RewriterConfig.Types.CustomGraphOptimizer.Parser, new[]{ "Name", "ParameterMap" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, })})
new pbr::FileDescriptor[] { global::Tensorflow.AttrValueReflection.Descriptor, global::Tensorflow.VerifierConfigReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.AutoParallelOptions), global::Tensorflow.AutoParallelOptions.Parser, new[]{ "Enable", "NumReplicas" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.ScopedAllocatorOptions), global::Tensorflow.ScopedAllocatorOptions.Parser, new[]{ "EnableOp" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.RewriterConfig), global::Tensorflow.RewriterConfig.Parser, new[]{ "LayoutOptimizer", "ConstantFolding", "ShapeOptimization", "Remapping", "ArithmeticOptimization", "DependencyOptimization", "LoopOptimization", "FunctionOptimization", "DebugStripper", "DisableModelPruning", "ScopedAllocatorOptimization", "PinToHostOptimization", "ImplementationSelector", "AutoMixedPrecision", "DisableMetaOptimizer", "MetaOptimizerIterations", "MinGraphNodes", "MemoryOptimization", "MemoryOptimizerTargetNodeNameScope", "MetaOptimizerTimeoutMs", "AutoParallel", "FailOnOptimizerErrors", "ScopedAllocatorOpts", "Optimizers", "CustomOptimizers", "InterOptimizerVerifierConfig", "PostOptimizationVerifierConfig" }, null, new[]{ typeof(global::Tensorflow.RewriterConfig.Types.Toggle), typeof(global::Tensorflow.RewriterConfig.Types.NumIterationsType), typeof(global::Tensorflow.RewriterConfig.Types.MemOptType) }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.RewriterConfig.Types.CustomGraphOptimizer), global::Tensorflow.RewriterConfig.Types.CustomGraphOptimizer.Parser, new[]{ "Name", "ParameterMap" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, })})
}));
}
#endregion
@@ -406,6 +413,8 @@ namespace Tensorflow {
disableModelPruning_ = other.disableModelPruning_;
scopedAllocatorOptimization_ = other.scopedAllocatorOptimization_;
pinToHostOptimization_ = other.pinToHostOptimization_;
implementationSelector_ = other.implementationSelector_;
autoMixedPrecision_ = other.autoMixedPrecision_;
disableMetaOptimizer_ = other.disableMetaOptimizer_;
metaOptimizerIterations_ = other.metaOptimizerIterations_;
minGraphNodes_ = other.minGraphNodes_;
@@ -417,6 +426,8 @@ namespace Tensorflow {
scopedAllocatorOpts_ = other.scopedAllocatorOpts_ != null ? other.scopedAllocatorOpts_.Clone() : null;
optimizers_ = other.optimizers_.Clone();
customOptimizers_ = other.customOptimizers_.Clone();
interOptimizerVerifierConfig_ = other.interOptimizerVerifierConfig_ != null ? other.interOptimizerVerifierConfig_.Clone() : null;
postOptimizationVerifierConfig_ = other.postOptimizationVerifierConfig_ != null ? other.postOptimizationVerifierConfig_.Clone() : null;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}

@@ -427,7 +438,7 @@ namespace Tensorflow {

/// <summary>Field number for the "layout_optimizer" field.</summary>
public const int LayoutOptimizerFieldNumber = 1;
private global::Tensorflow.RewriterConfig.Types.Toggle layoutOptimizer_ = 0;
private global::Tensorflow.RewriterConfig.Types.Toggle layoutOptimizer_ = global::Tensorflow.RewriterConfig.Types.Toggle.Default;
/// <summary>
/// Optimize tensor layouts (default is ON)
/// e.g. This will try to use NCHW layout on GPU which is faster.
@@ -442,7 +453,7 @@ namespace Tensorflow {

/// <summary>Field number for the "constant_folding" field.</summary>
public const int ConstantFoldingFieldNumber = 3;
private global::Tensorflow.RewriterConfig.Types.Toggle constantFolding_ = 0;
private global::Tensorflow.RewriterConfig.Types.Toggle constantFolding_ = global::Tensorflow.RewriterConfig.Types.Toggle.Default;
/// <summary>
/// Fold constants (default is ON)
/// Statically infer the value of tensors when possible, and materialize the
@@ -458,7 +469,7 @@ namespace Tensorflow {

/// <summary>Field number for the "shape_optimization" field.</summary>
public const int ShapeOptimizationFieldNumber = 13;
private global::Tensorflow.RewriterConfig.Types.Toggle shapeOptimization_ = 0;
private global::Tensorflow.RewriterConfig.Types.Toggle shapeOptimization_ = global::Tensorflow.RewriterConfig.Types.Toggle.Default;
/// <summary>
/// Shape optimizations (default is ON)
/// Simplify computations made on shapes.
@@ -473,7 +484,7 @@ namespace Tensorflow {

/// <summary>Field number for the "remapping" field.</summary>
public const int RemappingFieldNumber = 14;
private global::Tensorflow.RewriterConfig.Types.Toggle remapping_ = 0;
private global::Tensorflow.RewriterConfig.Types.Toggle remapping_ = global::Tensorflow.RewriterConfig.Types.Toggle.Default;
/// <summary>
/// Remapping (default is ON)
/// Remap subgraphs onto more efficient implementations.
@@ -488,7 +499,7 @@ namespace Tensorflow {

/// <summary>Field number for the "arithmetic_optimization" field.</summary>
public const int ArithmeticOptimizationFieldNumber = 7;
private global::Tensorflow.RewriterConfig.Types.Toggle arithmeticOptimization_ = 0;
private global::Tensorflow.RewriterConfig.Types.Toggle arithmeticOptimization_ = global::Tensorflow.RewriterConfig.Types.Toggle.Default;
/// <summary>
/// Arithmetic optimizations (default is ON)
/// e.g. Simplify arithmetic ops; merge ops with same value (like constants).
@@ -503,7 +514,7 @@ namespace Tensorflow {

/// <summary>Field number for the "dependency_optimization" field.</summary>
public const int DependencyOptimizationFieldNumber = 8;
private global::Tensorflow.RewriterConfig.Types.Toggle dependencyOptimization_ = 0;
private global::Tensorflow.RewriterConfig.Types.Toggle dependencyOptimization_ = global::Tensorflow.RewriterConfig.Types.Toggle.Default;
/// <summary>
/// Control dependency optimizations (default is ON).
/// Remove redundant control dependencies, which may enable other optimization.
@@ -518,7 +529,7 @@ namespace Tensorflow {

/// <summary>Field number for the "loop_optimization" field.</summary>
public const int LoopOptimizationFieldNumber = 9;
private global::Tensorflow.RewriterConfig.Types.Toggle loopOptimization_ = 0;
private global::Tensorflow.RewriterConfig.Types.Toggle loopOptimization_ = global::Tensorflow.RewriterConfig.Types.Toggle.Default;
/// <summary>
/// Loop optimizations (default is ON).
/// </summary>
@@ -532,7 +543,7 @@ namespace Tensorflow {

/// <summary>Field number for the "function_optimization" field.</summary>
public const int FunctionOptimizationFieldNumber = 10;
private global::Tensorflow.RewriterConfig.Types.Toggle functionOptimization_ = 0;
private global::Tensorflow.RewriterConfig.Types.Toggle functionOptimization_ = global::Tensorflow.RewriterConfig.Types.Toggle.Default;
/// <summary>
/// Function optimizations (default is ON).
/// </summary>
@@ -546,7 +557,7 @@ namespace Tensorflow {

/// <summary>Field number for the "debug_stripper" field.</summary>
public const int DebugStripperFieldNumber = 11;
private global::Tensorflow.RewriterConfig.Types.Toggle debugStripper_ = 0;
private global::Tensorflow.RewriterConfig.Types.Toggle debugStripper_ = global::Tensorflow.RewriterConfig.Types.Toggle.Default;
/// <summary>
/// Strips debug-related nodes from the graph (off by default).
/// </summary>
@@ -574,7 +585,7 @@ namespace Tensorflow {

/// <summary>Field number for the "scoped_allocator_optimization" field.</summary>
public const int ScopedAllocatorOptimizationFieldNumber = 15;
private global::Tensorflow.RewriterConfig.Types.Toggle scopedAllocatorOptimization_ = 0;
private global::Tensorflow.RewriterConfig.Types.Toggle scopedAllocatorOptimization_ = global::Tensorflow.RewriterConfig.Types.Toggle.Default;
/// <summary>
/// Try to allocate some independent Op outputs contiguously in order to
/// merge or eliminate downstream Ops (off by default).
@@ -589,7 +600,7 @@ namespace Tensorflow {

/// <summary>Field number for the "pin_to_host_optimization" field.</summary>
public const int PinToHostOptimizationFieldNumber = 18;
private global::Tensorflow.RewriterConfig.Types.Toggle pinToHostOptimization_ = 0;
private global::Tensorflow.RewriterConfig.Types.Toggle pinToHostOptimization_ = global::Tensorflow.RewriterConfig.Types.Toggle.Default;
/// <summary>
/// Force small ops onto the CPU (default is OFF).
/// </summary>
@@ -601,6 +612,38 @@ namespace Tensorflow {
}
}

/// <summary>Field number for the "implementation_selector" field.</summary>
public const int ImplementationSelectorFieldNumber = 22;
private global::Tensorflow.RewriterConfig.Types.Toggle implementationSelector_ = global::Tensorflow.RewriterConfig.Types.Toggle.Default;
/// <summary>
/// Enable the swap of kernel implementations based on the device placement
/// (default is ON).
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.RewriterConfig.Types.Toggle ImplementationSelector {
get { return implementationSelector_; }
set {
implementationSelector_ = value;
}
}

/// <summary>Field number for the "auto_mixed_precision" field.</summary>
public const int AutoMixedPrecisionFieldNumber = 23;
private global::Tensorflow.RewriterConfig.Types.Toggle autoMixedPrecision_ = global::Tensorflow.RewriterConfig.Types.Toggle.Default;
/// <summary>
/// Optimize data types (default is OFF).
/// e.g., This will try to use float16 on GPU which is faster.
/// Note that this can change the numerical stability of the graph and may
/// require the use of loss scaling to maintain model convergence.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.RewriterConfig.Types.Toggle AutoMixedPrecision {
get { return autoMixedPrecision_; }
set {
autoMixedPrecision_ = value;
}
}

/// <summary>Field number for the "disable_meta_optimizer" field.</summary>
public const int DisableMetaOptimizerFieldNumber = 19;
private bool disableMetaOptimizer_;
@@ -617,7 +660,7 @@ namespace Tensorflow {

/// <summary>Field number for the "meta_optimizer_iterations" field.</summary>
public const int MetaOptimizerIterationsFieldNumber = 12;
private global::Tensorflow.RewriterConfig.Types.NumIterationsType metaOptimizerIterations_ = 0;
private global::Tensorflow.RewriterConfig.Types.NumIterationsType metaOptimizerIterations_ = global::Tensorflow.RewriterConfig.Types.NumIterationsType.DefaultNumIters;
/// <summary>
/// Controls how many times we run the optimizers in meta optimizer (default
/// is once).
@@ -649,7 +692,7 @@ namespace Tensorflow {

/// <summary>Field number for the "memory_optimization" field.</summary>
public const int MemoryOptimizationFieldNumber = 4;
private global::Tensorflow.RewriterConfig.Types.MemOptType memoryOptimization_ = 0;
private global::Tensorflow.RewriterConfig.Types.MemOptType memoryOptimization_ = global::Tensorflow.RewriterConfig.Types.MemOptType.DefaultMemOpt;
/// <summary>
/// Configures memory optimization passes through the meta-optimizer. Has no
/// effect on manually requested memory optimization passes in the optimizers
@@ -779,6 +822,35 @@ namespace Tensorflow {
get { return customOptimizers_; }
}

/// <summary>Field number for the "inter_optimizer_verifier_config" field.</summary>
public const int InterOptimizerVerifierConfigFieldNumber = 300;
private global::Tensorflow.VerifierConfig interOptimizerVerifierConfig_;
/// <summary>
/// VerifierConfig specifying the verifiers to be run after every optimizer.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.VerifierConfig InterOptimizerVerifierConfig {
get { return interOptimizerVerifierConfig_; }
set {
interOptimizerVerifierConfig_ = value;
}
}

/// <summary>Field number for the "post_optimization_verifier_config" field.</summary>
public const int PostOptimizationVerifierConfigFieldNumber = 301;
private global::Tensorflow.VerifierConfig postOptimizationVerifierConfig_;
/// <summary>
/// VerifierConfig specifying the verifiers to be run at the end, after all
/// optimizers have run.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.VerifierConfig PostOptimizationVerifierConfig {
get { return postOptimizationVerifierConfig_; }
set {
postOptimizationVerifierConfig_ = value;
}
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as RewriterConfig);
@@ -804,6 +876,8 @@ namespace Tensorflow {
if (DisableModelPruning != other.DisableModelPruning) return false;
if (ScopedAllocatorOptimization != other.ScopedAllocatorOptimization) return false;
if (PinToHostOptimization != other.PinToHostOptimization) return false;
if (ImplementationSelector != other.ImplementationSelector) return false;
if (AutoMixedPrecision != other.AutoMixedPrecision) return false;
if (DisableMetaOptimizer != other.DisableMetaOptimizer) return false;
if (MetaOptimizerIterations != other.MetaOptimizerIterations) return false;
if (MinGraphNodes != other.MinGraphNodes) return false;
@@ -815,28 +889,32 @@ namespace Tensorflow {
if (!object.Equals(ScopedAllocatorOpts, other.ScopedAllocatorOpts)) return false;
if(!optimizers_.Equals(other.optimizers_)) return false;
if(!customOptimizers_.Equals(other.customOptimizers_)) return false;
if (!object.Equals(InterOptimizerVerifierConfig, other.InterOptimizerVerifierConfig)) return false;
if (!object.Equals(PostOptimizationVerifierConfig, other.PostOptimizationVerifierConfig)) return false;
return Equals(_unknownFields, other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override int GetHashCode() {
int hash = 1;
if (LayoutOptimizer != 0) hash ^= LayoutOptimizer.GetHashCode();
if (ConstantFolding != 0) hash ^= ConstantFolding.GetHashCode();
if (ShapeOptimization != 0) hash ^= ShapeOptimization.GetHashCode();
if (Remapping != 0) hash ^= Remapping.GetHashCode();
if (ArithmeticOptimization != 0) hash ^= ArithmeticOptimization.GetHashCode();
if (DependencyOptimization != 0) hash ^= DependencyOptimization.GetHashCode();
if (LoopOptimization != 0) hash ^= LoopOptimization.GetHashCode();
if (FunctionOptimization != 0) hash ^= FunctionOptimization.GetHashCode();
if (DebugStripper != 0) hash ^= DebugStripper.GetHashCode();
if (LayoutOptimizer != global::Tensorflow.RewriterConfig.Types.Toggle.Default) hash ^= LayoutOptimizer.GetHashCode();
if (ConstantFolding != global::Tensorflow.RewriterConfig.Types.Toggle.Default) hash ^= ConstantFolding.GetHashCode();
if (ShapeOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) hash ^= ShapeOptimization.GetHashCode();
if (Remapping != global::Tensorflow.RewriterConfig.Types.Toggle.Default) hash ^= Remapping.GetHashCode();
if (ArithmeticOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) hash ^= ArithmeticOptimization.GetHashCode();
if (DependencyOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) hash ^= DependencyOptimization.GetHashCode();
if (LoopOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) hash ^= LoopOptimization.GetHashCode();
if (FunctionOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) hash ^= FunctionOptimization.GetHashCode();
if (DebugStripper != global::Tensorflow.RewriterConfig.Types.Toggle.Default) hash ^= DebugStripper.GetHashCode();
if (DisableModelPruning != false) hash ^= DisableModelPruning.GetHashCode();
if (ScopedAllocatorOptimization != 0) hash ^= ScopedAllocatorOptimization.GetHashCode();
if (PinToHostOptimization != 0) hash ^= PinToHostOptimization.GetHashCode();
if (ScopedAllocatorOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) hash ^= ScopedAllocatorOptimization.GetHashCode();
if (PinToHostOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) hash ^= PinToHostOptimization.GetHashCode();
if (ImplementationSelector != global::Tensorflow.RewriterConfig.Types.Toggle.Default) hash ^= ImplementationSelector.GetHashCode();
if (AutoMixedPrecision != global::Tensorflow.RewriterConfig.Types.Toggle.Default) hash ^= AutoMixedPrecision.GetHashCode();
if (DisableMetaOptimizer != false) hash ^= DisableMetaOptimizer.GetHashCode();
if (MetaOptimizerIterations != 0) hash ^= MetaOptimizerIterations.GetHashCode();
if (MetaOptimizerIterations != global::Tensorflow.RewriterConfig.Types.NumIterationsType.DefaultNumIters) hash ^= MetaOptimizerIterations.GetHashCode();
if (MinGraphNodes != 0) hash ^= MinGraphNodes.GetHashCode();
if (MemoryOptimization != 0) hash ^= MemoryOptimization.GetHashCode();
if (MemoryOptimization != global::Tensorflow.RewriterConfig.Types.MemOptType.DefaultMemOpt) hash ^= MemoryOptimization.GetHashCode();
if (MemoryOptimizerTargetNodeNameScope.Length != 0) hash ^= MemoryOptimizerTargetNodeNameScope.GetHashCode();
if (MetaOptimizerTimeoutMs != 0L) hash ^= MetaOptimizerTimeoutMs.GetHashCode();
if (autoParallel_ != null) hash ^= AutoParallel.GetHashCode();
@@ -844,6 +922,8 @@ namespace Tensorflow {
if (scopedAllocatorOpts_ != null) hash ^= ScopedAllocatorOpts.GetHashCode();
hash ^= optimizers_.GetHashCode();
hash ^= customOptimizers_.GetHashCode();
if (interOptimizerVerifierConfig_ != null) hash ^= InterOptimizerVerifierConfig.GetHashCode();
if (postOptimizationVerifierConfig_ != null) hash ^= PostOptimizationVerifierConfig.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -857,7 +937,7 @@ namespace Tensorflow {

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo(pb::CodedOutputStream output) {
if (LayoutOptimizer != 0) {
if (LayoutOptimizer != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
output.WriteRawTag(8);
output.WriteEnum((int) LayoutOptimizer);
}
@@ -865,11 +945,11 @@ namespace Tensorflow {
output.WriteRawTag(16);
output.WriteBool(DisableModelPruning);
}
if (ConstantFolding != 0) {
if (ConstantFolding != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
output.WriteRawTag(24);
output.WriteEnum((int) ConstantFolding);
}
if (MemoryOptimization != 0) {
if (MemoryOptimization != global::Tensorflow.RewriterConfig.Types.MemOptType.DefaultMemOpt) {
output.WriteRawTag(32);
output.WriteEnum((int) MemoryOptimization);
}
@@ -881,39 +961,39 @@ namespace Tensorflow {
output.WriteRawTag(50);
output.WriteString(MemoryOptimizerTargetNodeNameScope);
}
if (ArithmeticOptimization != 0) {
if (ArithmeticOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
output.WriteRawTag(56);
output.WriteEnum((int) ArithmeticOptimization);
}
if (DependencyOptimization != 0) {
if (DependencyOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
output.WriteRawTag(64);
output.WriteEnum((int) DependencyOptimization);
}
if (LoopOptimization != 0) {
if (LoopOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
output.WriteRawTag(72);
output.WriteEnum((int) LoopOptimization);
}
if (FunctionOptimization != 0) {
if (FunctionOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
output.WriteRawTag(80);
output.WriteEnum((int) FunctionOptimization);
}
if (DebugStripper != 0) {
if (DebugStripper != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
output.WriteRawTag(88);
output.WriteEnum((int) DebugStripper);
}
if (MetaOptimizerIterations != 0) {
if (MetaOptimizerIterations != global::Tensorflow.RewriterConfig.Types.NumIterationsType.DefaultNumIters) {
output.WriteRawTag(96);
output.WriteEnum((int) MetaOptimizerIterations);
}
if (ShapeOptimization != 0) {
if (ShapeOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
output.WriteRawTag(104);
output.WriteEnum((int) ShapeOptimization);
}
if (Remapping != 0) {
if (Remapping != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
output.WriteRawTag(112);
output.WriteEnum((int) Remapping);
}
if (ScopedAllocatorOptimization != 0) {
if (ScopedAllocatorOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
output.WriteRawTag(120);
output.WriteEnum((int) ScopedAllocatorOptimization);
}
@@ -925,7 +1005,7 @@ namespace Tensorflow {
output.WriteRawTag(136, 1);
output.WriteInt32(MinGraphNodes);
}
if (PinToHostOptimization != 0) {
if (PinToHostOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
output.WriteRawTag(144, 1);
output.WriteEnum((int) PinToHostOptimization);
}
@@ -941,8 +1021,24 @@ namespace Tensorflow {
output.WriteRawTag(168, 1);
output.WriteBool(FailOnOptimizerErrors);
}
if (ImplementationSelector != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
output.WriteRawTag(176, 1);
output.WriteEnum((int) ImplementationSelector);
}
if (AutoMixedPrecision != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
output.WriteRawTag(184, 1);
output.WriteEnum((int) AutoMixedPrecision);
}
optimizers_.WriteTo(output, _repeated_optimizers_codec);
customOptimizers_.WriteTo(output, _repeated_customOptimizers_codec);
if (interOptimizerVerifierConfig_ != null) {
output.WriteRawTag(226, 18);
output.WriteMessage(InterOptimizerVerifierConfig);
}
if (postOptimizationVerifierConfig_ != null) {
output.WriteRawTag(234, 18);
output.WriteMessage(PostOptimizationVerifierConfig);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -951,52 +1047,58 @@ namespace Tensorflow {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int CalculateSize() {
int size = 0;
if (LayoutOptimizer != 0) {
if (LayoutOptimizer != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LayoutOptimizer);
}
if (ConstantFolding != 0) {
if (ConstantFolding != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ConstantFolding);
}
if (ShapeOptimization != 0) {
if (ShapeOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ShapeOptimization);
}
if (Remapping != 0) {
if (Remapping != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Remapping);
}
if (ArithmeticOptimization != 0) {
if (ArithmeticOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ArithmeticOptimization);
}
if (DependencyOptimization != 0) {
if (DependencyOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) DependencyOptimization);
}
if (LoopOptimization != 0) {
if (LoopOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LoopOptimization);
}
if (FunctionOptimization != 0) {
if (FunctionOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) FunctionOptimization);
}
if (DebugStripper != 0) {
if (DebugStripper != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) DebugStripper);
}
if (DisableModelPruning != false) {
size += 1 + 1;
}
if (ScopedAllocatorOptimization != 0) {
if (ScopedAllocatorOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ScopedAllocatorOptimization);
}
if (PinToHostOptimization != 0) {
if (PinToHostOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) PinToHostOptimization);
}
if (ImplementationSelector != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) ImplementationSelector);
}
if (AutoMixedPrecision != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) AutoMixedPrecision);
}
if (DisableMetaOptimizer != false) {
size += 2 + 1;
}
if (MetaOptimizerIterations != 0) {
if (MetaOptimizerIterations != global::Tensorflow.RewriterConfig.Types.NumIterationsType.DefaultNumIters) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) MetaOptimizerIterations);
}
if (MinGraphNodes != 0) {
size += 2 + pb::CodedOutputStream.ComputeInt32Size(MinGraphNodes);
}
if (MemoryOptimization != 0) {
if (MemoryOptimization != global::Tensorflow.RewriterConfig.Types.MemOptType.DefaultMemOpt) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) MemoryOptimization);
}
if (MemoryOptimizerTargetNodeNameScope.Length != 0) {
@@ -1016,6 +1118,12 @@ namespace Tensorflow {
}
size += optimizers_.CalculateSize(_repeated_optimizers_codec);
size += customOptimizers_.CalculateSize(_repeated_customOptimizers_codec);
if (interOptimizerVerifierConfig_ != null) {
size += 2 + pb::CodedOutputStream.ComputeMessageSize(InterOptimizerVerifierConfig);
}
if (postOptimizationVerifierConfig_ != null) {
size += 2 + pb::CodedOutputStream.ComputeMessageSize(PostOptimizationVerifierConfig);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -1027,52 +1135,58 @@ namespace Tensorflow {
if (other == null) {
return;
}
if (other.LayoutOptimizer != 0) {
if (other.LayoutOptimizer != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
LayoutOptimizer = other.LayoutOptimizer;
}
if (other.ConstantFolding != 0) {
if (other.ConstantFolding != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
ConstantFolding = other.ConstantFolding;
}
if (other.ShapeOptimization != 0) {
if (other.ShapeOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
ShapeOptimization = other.ShapeOptimization;
}
if (other.Remapping != 0) {
if (other.Remapping != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
Remapping = other.Remapping;
}
if (other.ArithmeticOptimization != 0) {
if (other.ArithmeticOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
ArithmeticOptimization = other.ArithmeticOptimization;
}
if (other.DependencyOptimization != 0) {
if (other.DependencyOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
DependencyOptimization = other.DependencyOptimization;
}
if (other.LoopOptimization != 0) {
if (other.LoopOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
LoopOptimization = other.LoopOptimization;
}
if (other.FunctionOptimization != 0) {
if (other.FunctionOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
FunctionOptimization = other.FunctionOptimization;
}
if (other.DebugStripper != 0) {
if (other.DebugStripper != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
DebugStripper = other.DebugStripper;
}
if (other.DisableModelPruning != false) {
DisableModelPruning = other.DisableModelPruning;
}
if (other.ScopedAllocatorOptimization != 0) {
if (other.ScopedAllocatorOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
ScopedAllocatorOptimization = other.ScopedAllocatorOptimization;
}
if (other.PinToHostOptimization != 0) {
if (other.PinToHostOptimization != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
PinToHostOptimization = other.PinToHostOptimization;
}
if (other.ImplementationSelector != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
ImplementationSelector = other.ImplementationSelector;
}
if (other.AutoMixedPrecision != global::Tensorflow.RewriterConfig.Types.Toggle.Default) {
AutoMixedPrecision = other.AutoMixedPrecision;
}
if (other.DisableMetaOptimizer != false) {
DisableMetaOptimizer = other.DisableMetaOptimizer;
}
if (other.MetaOptimizerIterations != 0) {
if (other.MetaOptimizerIterations != global::Tensorflow.RewriterConfig.Types.NumIterationsType.DefaultNumIters) {
MetaOptimizerIterations = other.MetaOptimizerIterations;
}
if (other.MinGraphNodes != 0) {
MinGraphNodes = other.MinGraphNodes;
}
if (other.MemoryOptimization != 0) {
if (other.MemoryOptimization != global::Tensorflow.RewriterConfig.Types.MemOptType.DefaultMemOpt) {
MemoryOptimization = other.MemoryOptimization;
}
if (other.MemoryOptimizerTargetNodeNameScope.Length != 0) {
@@ -1083,7 +1197,7 @@ namespace Tensorflow {
}
if (other.autoParallel_ != null) {
if (autoParallel_ == null) {
autoParallel_ = new global::Tensorflow.AutoParallelOptions();
AutoParallel = new global::Tensorflow.AutoParallelOptions();
}
AutoParallel.MergeFrom(other.AutoParallel);
}
@@ -1092,12 +1206,24 @@ namespace Tensorflow {
}
if (other.scopedAllocatorOpts_ != null) {
if (scopedAllocatorOpts_ == null) {
scopedAllocatorOpts_ = new global::Tensorflow.ScopedAllocatorOptions();
ScopedAllocatorOpts = new global::Tensorflow.ScopedAllocatorOptions();
}
ScopedAllocatorOpts.MergeFrom(other.ScopedAllocatorOpts);
}
optimizers_.Add(other.optimizers_);
customOptimizers_.Add(other.customOptimizers_);
if (other.interOptimizerVerifierConfig_ != null) {
if (interOptimizerVerifierConfig_ == null) {
InterOptimizerVerifierConfig = new global::Tensorflow.VerifierConfig();
}
InterOptimizerVerifierConfig.MergeFrom(other.InterOptimizerVerifierConfig);
}
if (other.postOptimizationVerifierConfig_ != null) {
if (postOptimizationVerifierConfig_ == null) {
PostOptimizationVerifierConfig = new global::Tensorflow.VerifierConfig();
}
PostOptimizationVerifierConfig.MergeFrom(other.PostOptimizationVerifierConfig);
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}

@@ -1110,7 +1236,7 @@ namespace Tensorflow {
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
layoutOptimizer_ = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
LayoutOptimizer = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
break;
}
case 16: {
@@ -1118,18 +1244,18 @@ namespace Tensorflow {
break;
}
case 24: {
constantFolding_ = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
ConstantFolding = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
break;
}
case 32: {
memoryOptimization_ = (global::Tensorflow.RewriterConfig.Types.MemOptType) input.ReadEnum();
MemoryOptimization = (global::Tensorflow.RewriterConfig.Types.MemOptType) input.ReadEnum();
break;
}
case 42: {
if (autoParallel_ == null) {
autoParallel_ = new global::Tensorflow.AutoParallelOptions();
AutoParallel = new global::Tensorflow.AutoParallelOptions();
}
input.ReadMessage(autoParallel_);
input.ReadMessage(AutoParallel);
break;
}
case 50: {
@@ -1137,46 +1263,46 @@ namespace Tensorflow {
break;
}
case 56: {
arithmeticOptimization_ = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
ArithmeticOptimization = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
break;
}
case 64: {
dependencyOptimization_ = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
DependencyOptimization = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
break;
}
case 72: {
loopOptimization_ = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
LoopOptimization = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
break;
}
case 80: {
functionOptimization_ = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
FunctionOptimization = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
break;
}
case 88: {
debugStripper_ = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
DebugStripper = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
break;
}
case 96: {
metaOptimizerIterations_ = (global::Tensorflow.RewriterConfig.Types.NumIterationsType) input.ReadEnum();
MetaOptimizerIterations = (global::Tensorflow.RewriterConfig.Types.NumIterationsType) input.ReadEnum();
break;
}
case 104: {
shapeOptimization_ = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
ShapeOptimization = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
break;
}
case 112: {
remapping_ = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
Remapping = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
break;
}
case 120: {
scopedAllocatorOptimization_ = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
ScopedAllocatorOptimization = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
break;
}
case 130: {
if (scopedAllocatorOpts_ == null) {
scopedAllocatorOpts_ = new global::Tensorflow.ScopedAllocatorOptions();
ScopedAllocatorOpts = new global::Tensorflow.ScopedAllocatorOptions();
}
input.ReadMessage(scopedAllocatorOpts_);
input.ReadMessage(ScopedAllocatorOpts);
break;
}
case 136: {
@@ -1184,7 +1310,7 @@ namespace Tensorflow {
break;
}
case 144: {
pinToHostOptimization_ = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
PinToHostOptimization = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
break;
}
case 152: {
@@ -1199,6 +1325,14 @@ namespace Tensorflow {
FailOnOptimizerErrors = input.ReadBool();
break;
}
case 176: {
ImplementationSelector = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
break;
}
case 184: {
AutoMixedPrecision = (global::Tensorflow.RewriterConfig.Types.Toggle) input.ReadEnum();
break;
}
case 802: {
optimizers_.AddEntriesFrom(input, _repeated_optimizers_codec);
break;
@@ -1207,6 +1341,20 @@ namespace Tensorflow {
customOptimizers_.AddEntriesFrom(input, _repeated_customOptimizers_codec);
break;
}
case 2402: {
if (interOptimizerVerifierConfig_ == null) {
InterOptimizerVerifierConfig = new global::Tensorflow.VerifierConfig();
}
input.ReadMessage(InterOptimizerVerifierConfig);
break;
}
case 2410: {
if (postOptimizationVerifierConfig_ == null) {
PostOptimizationVerifierConfig = new global::Tensorflow.VerifierConfig();
}
input.ReadMessage(PostOptimizationVerifierConfig);
break;
}
}
}
}
@@ -1323,7 +1471,7 @@ namespace Tensorflow {
/// <summary>Field number for the "parameter_map" field.</summary>
public const int ParameterMapFieldNumber = 2;
private static readonly pbc::MapField<string, global::Tensorflow.AttrValue>.Codec _map_parameterMap_codec
= new pbc::MapField<string, global::Tensorflow.AttrValue>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::Tensorflow.AttrValue.Parser), 18);
= new pbc::MapField<string, global::Tensorflow.AttrValue>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForMessage(18, global::Tensorflow.AttrValue.Parser), 18);
private readonly pbc::MapField<string, global::Tensorflow.AttrValue> parameterMap_ = new pbc::MapField<string, global::Tensorflow.AttrValue>();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public pbc::MapField<string, global::Tensorflow.AttrValue> ParameterMap {


+ 2365
- 0
src/TensorFlowNET.Core/Protobuf/SavedObjectGraph.cs
File diff suppressed because it is too large
View File


+ 21
- 21
src/TensorFlowNET.Core/Protobuf/Saver.cs View File

@@ -1,6 +1,6 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: saver.proto
// source: tensorflow/core/protobuf/saver.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021
#region Designer generated code
@@ -11,11 +11,11 @@ using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace Tensorflow {

/// <summary>Holder for reflection information generated from saver.proto</summary>
/// <summary>Holder for reflection information generated from tensorflow/core/protobuf/saver.proto</summary>
public static partial class SaverReflection {

#region Descriptor
/// <summary>File descriptor for saver.proto</summary>
/// <summary>File descriptor for tensorflow/core/protobuf/saver.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
@@ -24,20 +24,20 @@ namespace Tensorflow {
static SaverReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"CgtzYXZlci5wcm90bxIKdGVuc29yZmxvdyKeAgoIU2F2ZXJEZWYSHAoUZmls",
"ZW5hbWVfdGVuc29yX25hbWUYASABKAkSGAoQc2F2ZV90ZW5zb3JfbmFtZRgC",
"IAEoCRIXCg9yZXN0b3JlX29wX25hbWUYAyABKAkSEwoLbWF4X3RvX2tlZXAY",
"BCABKAUSDwoHc2hhcmRlZBgFIAEoCBIlCh1rZWVwX2NoZWNrcG9pbnRfZXZl",
"cnlfbl9ob3VycxgGIAEoAhI9Cgd2ZXJzaW9uGAcgASgOMiwudGVuc29yZmxv",
"dy5TYXZlckRlZi5DaGVja3BvaW50Rm9ybWF0VmVyc2lvbiI1ChdDaGVja3Bv",
"aW50Rm9ybWF0VmVyc2lvbhIKCgZMRUdBQ1kQABIGCgJWMRABEgYKAlYyEAJC",
"ZQoTb3JnLnRlbnNvcmZsb3cudXRpbEILU2F2ZXJQcm90b3NQAVo8Z2l0aHVi",
"LmNvbS90ZW5zb3JmbG93L3RlbnNvcmZsb3cvdGVuc29yZmxvdy9nby9jb3Jl",
"L3Byb3RvYnVm+AEBYgZwcm90bzM="));
"CiR0ZW5zb3JmbG93L2NvcmUvcHJvdG9idWYvc2F2ZXIucHJvdG8SCnRlbnNv",
"cmZsb3cingIKCFNhdmVyRGVmEhwKFGZpbGVuYW1lX3RlbnNvcl9uYW1lGAEg",
"ASgJEhgKEHNhdmVfdGVuc29yX25hbWUYAiABKAkSFwoPcmVzdG9yZV9vcF9u",
"YW1lGAMgASgJEhMKC21heF90b19rZWVwGAQgASgFEg8KB3NoYXJkZWQYBSAB",
"KAgSJQoda2VlcF9jaGVja3BvaW50X2V2ZXJ5X25faG91cnMYBiABKAISPQoH",
"dmVyc2lvbhgHIAEoDjIsLnRlbnNvcmZsb3cuU2F2ZXJEZWYuQ2hlY2twb2lu",
"dEZvcm1hdFZlcnNpb24iNQoXQ2hlY2twb2ludEZvcm1hdFZlcnNpb24SCgoG",
"TEVHQUNZEAASBgoCVjEQARIGCgJWMhACQmUKE29yZy50ZW5zb3JmbG93LnV0",
"aWxCC1NhdmVyUHJvdG9zUAFaPGdpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5z",
"b3JmbG93L3RlbnNvcmZsb3cvZ28vY29yZS9wcm90b2J1ZvgBAWIGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.SaverDef), global::Tensorflow.SaverDef.Parser, new[]{ "FilenameTensorName", "SaveTensorName", "RestoreOpName", "MaxToKeep", "Sharded", "KeepCheckpointEveryNHours", "Version" }, null, new[]{ typeof(global::Tensorflow.SaverDef.Types.CheckpointFormatVersion) }, null)
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.SaverDef), global::Tensorflow.SaverDef.Parser, new[]{ "FilenameTensorName", "SaveTensorName", "RestoreOpName", "MaxToKeep", "Sharded", "KeepCheckpointEveryNHours", "Version" }, null, new[]{ typeof(global::Tensorflow.SaverDef.Types.CheckpointFormatVersion) }, null, null)
}));
}
#endregion
@@ -177,7 +177,7 @@ namespace Tensorflow {

/// <summary>Field number for the "version" field.</summary>
public const int VersionFieldNumber = 7;
private global::Tensorflow.SaverDef.Types.CheckpointFormatVersion version_ = 0;
private global::Tensorflow.SaverDef.Types.CheckpointFormatVersion version_ = global::Tensorflow.SaverDef.Types.CheckpointFormatVersion.Legacy;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.SaverDef.Types.CheckpointFormatVersion Version {
get { return version_; }
@@ -218,7 +218,7 @@ namespace Tensorflow {
if (MaxToKeep != 0) hash ^= MaxToKeep.GetHashCode();
if (Sharded != false) hash ^= Sharded.GetHashCode();
if (KeepCheckpointEveryNHours != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(KeepCheckpointEveryNHours);
if (Version != 0) hash ^= Version.GetHashCode();
if (Version != global::Tensorflow.SaverDef.Types.CheckpointFormatVersion.Legacy) hash ^= Version.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -256,7 +256,7 @@ namespace Tensorflow {
output.WriteRawTag(53);
output.WriteFloat(KeepCheckpointEveryNHours);
}
if (Version != 0) {
if (Version != global::Tensorflow.SaverDef.Types.CheckpointFormatVersion.Legacy) {
output.WriteRawTag(56);
output.WriteEnum((int) Version);
}
@@ -286,7 +286,7 @@ namespace Tensorflow {
if (KeepCheckpointEveryNHours != 0F) {
size += 1 + 4;
}
if (Version != 0) {
if (Version != global::Tensorflow.SaverDef.Types.CheckpointFormatVersion.Legacy) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Version);
}
if (_unknownFields != null) {
@@ -318,7 +318,7 @@ namespace Tensorflow {
if (other.KeepCheckpointEveryNHours != 0F) {
KeepCheckpointEveryNHours = other.KeepCheckpointEveryNHours;
}
if (other.Version != 0) {
if (other.Version != global::Tensorflow.SaverDef.Types.CheckpointFormatVersion.Legacy) {
Version = other.Version;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
@@ -357,7 +357,7 @@ namespace Tensorflow {
break;
}
case 56: {
version_ = (global::Tensorflow.SaverDef.Types.CheckpointFormatVersion) input.ReadEnum();
Version = (global::Tensorflow.SaverDef.Types.CheckpointFormatVersion) input.ReadEnum();
break;
}
}


+ 47
- 21
src/TensorFlowNET.Core/Protobuf/StepStats.cs View File

@@ -52,23 +52,26 @@ namespace Tensorflow {
"bW9yeV9zdGF0cxgMIAEoCzIXLnRlbnNvcmZsb3cuTWVtb3J5U3RhdHMSFwoP",
"YWxsX3N0YXJ0X25hbm9zGA0gASgDEhoKEm9wX3N0YXJ0X3JlbF9uYW5vcxgO",
"IAEoAxIYChBvcF9lbmRfcmVsX25hbm9zGA8gASgDEhkKEWFsbF9lbmRfcmVs",
"X25hbm9zGBAgASgDEhcKD3NjaGVkdWxlZF9uYW5vcxgRIAEoAyJQCg9EZXZp",
"Y2VTdGVwU3RhdHMSDgoGZGV2aWNlGAEgASgJEi0KCm5vZGVfc3RhdHMYAiAD",
"KAsyGS50ZW5zb3JmbG93Lk5vZGVFeGVjU3RhdHMiOwoJU3RlcFN0YXRzEi4K",
"CWRldl9zdGF0cxgBIAMoCzIbLnRlbnNvcmZsb3cuRGV2aWNlU3RlcFN0YXRz",
"Qm8KGG9yZy50ZW5zb3JmbG93LmZyYW1ld29ya0IPU3RlcFN0YXRzUHJvdG9z",
"UAFaPWdpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3JmbG93L3RlbnNvcmZs",
"b3cvZ28vY29yZS9mcmFtZXdvcmv4AQFiBnByb3RvMw=="));
"X25hbm9zGBAgASgDEhcKD3NjaGVkdWxlZF9uYW5vcxgRIAEoAyLIAQoPRGV2",
"aWNlU3RlcFN0YXRzEg4KBmRldmljZRgBIAEoCRItCgpub2RlX3N0YXRzGAIg",
"AygLMhkudGVuc29yZmxvdy5Ob2RlRXhlY1N0YXRzEkIKDHRocmVhZF9uYW1l",
"cxgDIAMoCzIsLnRlbnNvcmZsb3cuRGV2aWNlU3RlcFN0YXRzLlRocmVhZE5h",
"bWVzRW50cnkaMgoQVGhyZWFkTmFtZXNFbnRyeRILCgNrZXkYASABKA0SDQoF",
"dmFsdWUYAiABKAk6AjgBIjsKCVN0ZXBTdGF0cxIuCglkZXZfc3RhdHMYASAD",
"KAsyGy50ZW5zb3JmbG93LkRldmljZVN0ZXBTdGF0c0JvChhvcmcudGVuc29y",
"Zmxvdy5mcmFtZXdvcmtCD1N0ZXBTdGF0c1Byb3Rvc1ABWj1naXRodWIuY29t",
"L3RlbnNvcmZsb3cvdGVuc29yZmxvdy90ZW5zb3JmbG93L2dvL2NvcmUvZnJh",
"bWV3b3Jr+AEBYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Tensorflow.AllocationDescriptionReflection.Descriptor, global::Tensorflow.TensorDescriptionReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.AllocationRecord), global::Tensorflow.AllocationRecord.Parser, new[]{ "AllocMicros", "AllocBytes" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.AllocatorMemoryUsed), global::Tensorflow.AllocatorMemoryUsed.Parser, new[]{ "AllocatorName", "TotalBytes", "PeakBytes", "LiveBytes", "AllocationRecords", "AllocatorBytesInUse" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.NodeOutput), global::Tensorflow.NodeOutput.Parser, new[]{ "Slot", "TensorDescription" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.MemoryStats), global::Tensorflow.MemoryStats.Parser, new[]{ "TempMemorySize", "PersistentMemorySize", "PersistentTensorAllocIds", "DeviceTempMemorySize", "DevicePersistentMemorySize", "DevicePersistentTensorAllocIds" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.NodeExecStats), global::Tensorflow.NodeExecStats.Parser, new[]{ "NodeName", "AllStartMicros", "OpStartRelMicros", "OpEndRelMicros", "AllEndRelMicros", "Memory", "Output", "TimelineLabel", "ScheduledMicros", "ThreadId", "ReferencedTensor", "MemoryStats", "AllStartNanos", "OpStartRelNanos", "OpEndRelNanos", "AllEndRelNanos", "ScheduledNanos" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.DeviceStepStats), global::Tensorflow.DeviceStepStats.Parser, new[]{ "Device", "NodeStats" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.StepStats), global::Tensorflow.StepStats.Parser, new[]{ "DevStats" }, null, null, null)
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.AllocationRecord), global::Tensorflow.AllocationRecord.Parser, new[]{ "AllocMicros", "AllocBytes" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.AllocatorMemoryUsed), global::Tensorflow.AllocatorMemoryUsed.Parser, new[]{ "AllocatorName", "TotalBytes", "PeakBytes", "LiveBytes", "AllocationRecords", "AllocatorBytesInUse" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.NodeOutput), global::Tensorflow.NodeOutput.Parser, new[]{ "Slot", "TensorDescription" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.MemoryStats), global::Tensorflow.MemoryStats.Parser, new[]{ "TempMemorySize", "PersistentMemorySize", "PersistentTensorAllocIds", "DeviceTempMemorySize", "DevicePersistentMemorySize", "DevicePersistentTensorAllocIds" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.NodeExecStats), global::Tensorflow.NodeExecStats.Parser, new[]{ "NodeName", "AllStartMicros", "OpStartRelMicros", "OpEndRelMicros", "AllEndRelMicros", "Memory", "Output", "TimelineLabel", "ScheduledMicros", "ThreadId", "ReferencedTensor", "MemoryStats", "AllStartNanos", "OpStartRelNanos", "OpEndRelNanos", "AllEndRelNanos", "ScheduledNanos" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.DeviceStepStats), global::Tensorflow.DeviceStepStats.Parser, new[]{ "Device", "NodeStats", "ThreadNames" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.StepStats), global::Tensorflow.StepStats.Parser, new[]{ "DevStats" }, null, null, null, null)
}));
}
#endregion
@@ -649,7 +652,7 @@ namespace Tensorflow {
}
if (other.tensorDescription_ != null) {
if (tensorDescription_ == null) {
tensorDescription_ = new global::Tensorflow.TensorDescription();
TensorDescription = new global::Tensorflow.TensorDescription();
}
TensorDescription.MergeFrom(other.TensorDescription);
}
@@ -670,9 +673,9 @@ namespace Tensorflow {
}
case 26: {
if (tensorDescription_ == null) {
tensorDescription_ = new global::Tensorflow.TensorDescription();
TensorDescription = new global::Tensorflow.TensorDescription();
}
input.ReadMessage(tensorDescription_);
input.ReadMessage(TensorDescription);
break;
}
}
@@ -1403,7 +1406,7 @@ namespace Tensorflow {
referencedTensor_.Add(other.referencedTensor_);
if (other.memoryStats_ != null) {
if (memoryStats_ == null) {
memoryStats_ = new global::Tensorflow.MemoryStats();
MemoryStats = new global::Tensorflow.MemoryStats();
}
MemoryStats.MergeFrom(other.MemoryStats);
}
@@ -1479,9 +1482,9 @@ namespace Tensorflow {
}
case 98: {
if (memoryStats_ == null) {
memoryStats_ = new global::Tensorflow.MemoryStats();
MemoryStats = new global::Tensorflow.MemoryStats();
}
input.ReadMessage(memoryStats_);
input.ReadMessage(MemoryStats);
break;
}
case 104: {
@@ -1537,6 +1540,7 @@ namespace Tensorflow {
public DeviceStepStats(DeviceStepStats other) : this() {
device_ = other.device_;
nodeStats_ = other.nodeStats_.Clone();
threadNames_ = other.threadNames_.Clone();
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}

@@ -1566,6 +1570,19 @@ namespace Tensorflow {
get { return nodeStats_; }
}

/// <summary>Field number for the "thread_names" field.</summary>
public const int ThreadNamesFieldNumber = 3;
private static readonly pbc::MapField<uint, string>.Codec _map_threadNames_codec
= new pbc::MapField<uint, string>.Codec(pb::FieldCodec.ForUInt32(8, 0), pb::FieldCodec.ForString(18, ""), 26);
private readonly pbc::MapField<uint, string> threadNames_ = new pbc::MapField<uint, string>();
/// <summary>
/// Its key is thread id.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public pbc::MapField<uint, string> ThreadNames {
get { return threadNames_; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as DeviceStepStats);
@@ -1581,6 +1598,7 @@ namespace Tensorflow {
}
if (Device != other.Device) return false;
if(!nodeStats_.Equals(other.nodeStats_)) return false;
if (!ThreadNames.Equals(other.ThreadNames)) return false;
return Equals(_unknownFields, other._unknownFields);
}

@@ -1589,6 +1607,7 @@ namespace Tensorflow {
int hash = 1;
if (Device.Length != 0) hash ^= Device.GetHashCode();
hash ^= nodeStats_.GetHashCode();
hash ^= ThreadNames.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -1607,6 +1626,7 @@ namespace Tensorflow {
output.WriteString(Device);
}
nodeStats_.WriteTo(output, _repeated_nodeStats_codec);
threadNames_.WriteTo(output, _map_threadNames_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -1619,6 +1639,7 @@ namespace Tensorflow {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Device);
}
size += nodeStats_.CalculateSize(_repeated_nodeStats_codec);
size += threadNames_.CalculateSize(_map_threadNames_codec);
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -1634,6 +1655,7 @@ namespace Tensorflow {
Device = other.Device;
}
nodeStats_.Add(other.nodeStats_);
threadNames_.Add(other.threadNames_);
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}

@@ -1653,6 +1675,10 @@ namespace Tensorflow {
nodeStats_.AddEntriesFrom(input, _repeated_nodeStats_codec);
break;
}
case 26: {
threadNames_.AddEntriesFrom(input, _map_threadNames_codec);
break;
}
}
}
}


+ 1990
- 0
src/TensorFlowNET.Core/Protobuf/Struct.cs
File diff suppressed because it is too large
View File


+ 13
- 13
src/TensorFlowNET.Core/Protobuf/Summary.cs View File

@@ -53,13 +53,13 @@ namespace Tensorflow {
"b3Jr+AEBYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Tensorflow.TensorReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.SummaryDescription), global::Tensorflow.SummaryDescription.Parser, new[]{ "TypeHint" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.HistogramProto), global::Tensorflow.HistogramProto.Parser, new[]{ "Min", "Max", "Num", "Sum", "SumSquares", "BucketLimit", "Bucket" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.SummaryMetadata), global::Tensorflow.SummaryMetadata.Parser, new[]{ "PluginData", "DisplayName", "SummaryDescription" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.SummaryMetadata.Types.PluginData), global::Tensorflow.SummaryMetadata.Types.PluginData.Parser, new[]{ "PluginName", "Content" }, null, null, null)}),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.Summary), global::Tensorflow.Summary.Parser, new[]{ "Value" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.Summary.Types.Image), global::Tensorflow.Summary.Types.Image.Parser, new[]{ "Height", "Width", "Colorspace", "EncodedImageString" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.Summary.Types.Audio), global::Tensorflow.Summary.Types.Audio.Parser, new[]{ "SampleRate", "NumChannels", "LengthFrames", "EncodedAudioString", "ContentType" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.Summary.Types.Value), global::Tensorflow.Summary.Types.Value.Parser, new[]{ "NodeName", "Tag", "Metadata", "SimpleValue", "ObsoleteOldStyleHistogram", "Image", "Histo", "Audio", "Tensor" }, new[]{ "Value" }, null, null)})
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.SummaryDescription), global::Tensorflow.SummaryDescription.Parser, new[]{ "TypeHint" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.HistogramProto), global::Tensorflow.HistogramProto.Parser, new[]{ "Min", "Max", "Num", "Sum", "SumSquares", "BucketLimit", "Bucket" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.SummaryMetadata), global::Tensorflow.SummaryMetadata.Parser, new[]{ "PluginData", "DisplayName", "SummaryDescription" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.SummaryMetadata.Types.PluginData), global::Tensorflow.SummaryMetadata.Types.PluginData.Parser, new[]{ "PluginName", "Content" }, null, null, null, null)}),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.Summary), global::Tensorflow.Summary.Parser, new[]{ "Value" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.Summary.Types.Image), global::Tensorflow.Summary.Types.Image.Parser, new[]{ "Height", "Width", "Colorspace", "EncodedImageString" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.Summary.Types.Audio), global::Tensorflow.Summary.Types.Audio.Parser, new[]{ "SampleRate", "NumChannels", "LengthFrames", "EncodedAudioString", "ContentType" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.Summary.Types.Value), global::Tensorflow.Summary.Types.Value.Parser, new[]{ "NodeName", "Tag", "Metadata", "SimpleValue", "ObsoleteOldStyleHistogram", "Image", "Histo", "Audio", "Tensor" }, new[]{ "Value" }, null, null, null)})
}));
}
#endregion
@@ -658,7 +658,7 @@ namespace Tensorflow {
}
if (other.pluginData_ != null) {
if (pluginData_ == null) {
pluginData_ = new global::Tensorflow.SummaryMetadata.Types.PluginData();
PluginData = new global::Tensorflow.SummaryMetadata.Types.PluginData();
}
PluginData.MergeFrom(other.PluginData);
}
@@ -681,9 +681,9 @@ namespace Tensorflow {
break;
case 10: {
if (pluginData_ == null) {
pluginData_ = new global::Tensorflow.SummaryMetadata.Types.PluginData();
PluginData = new global::Tensorflow.SummaryMetadata.Types.PluginData();
}
input.ReadMessage(pluginData_);
input.ReadMessage(PluginData);
break;
}
case 18: {
@@ -1824,7 +1824,7 @@ namespace Tensorflow {
}
if (other.metadata_ != null) {
if (metadata_ == null) {
metadata_ = new global::Tensorflow.SummaryMetadata();
Metadata = new global::Tensorflow.SummaryMetadata();
}
Metadata.MergeFrom(other.Metadata);
}
@@ -1926,9 +1926,9 @@ namespace Tensorflow {
}
case 74: {
if (metadata_ == null) {
metadata_ = new global::Tensorflow.SummaryMetadata();
Metadata = new global::Tensorflow.SummaryMetadata();
}
input.ReadMessage(metadata_);
input.ReadMessage(Metadata);
break;
}
}


+ 12
- 12
src/TensorFlowNET.Core/Protobuf/Tensor.cs View File

@@ -47,9 +47,9 @@ namespace Tensorflow {
"c29yZmxvdy9nby9jb3JlL2ZyYW1ld29ya/gBAWIGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Tensorflow.ResourceHandleReflection.Descriptor, global::Tensorflow.TensorShapeReflection.Descriptor, global::Tensorflow.TypesReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TensorProto), global::Tensorflow.TensorProto.Parser, new[]{ "Dtype", "TensorShape", "VersionNumber", "TensorContent", "HalfVal", "FloatVal", "DoubleVal", "IntVal", "StringVal", "ScomplexVal", "Int64Val", "BoolVal", "DcomplexVal", "ResourceHandleVal", "VariantVal", "Uint32Val", "Uint64Val" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.VariantTensorDataProto), global::Tensorflow.VariantTensorDataProto.Parser, new[]{ "TypeName", "Metadata", "Tensors" }, null, null, null)
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TensorProto), global::Tensorflow.TensorProto.Parser, new[]{ "Dtype", "TensorShape", "VersionNumber", "TensorContent", "HalfVal", "FloatVal", "DoubleVal", "IntVal", "StringVal", "ScomplexVal", "Int64Val", "BoolVal", "DcomplexVal", "ResourceHandleVal", "VariantVal", "Uint32Val", "Uint64Val" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.VariantTensorDataProto), global::Tensorflow.VariantTensorDataProto.Parser, new[]{ "TypeName", "Metadata", "Tensors" }, null, null, null, null)
}));
}
#endregion
@@ -111,7 +111,7 @@ namespace Tensorflow {

/// <summary>Field number for the "dtype" field.</summary>
public const int DtypeFieldNumber = 1;
private global::Tensorflow.DataType dtype_ = 0;
private global::Tensorflow.DataType dtype_ = global::Tensorflow.DataType.DtInvalid;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.DataType Dtype {
get { return dtype_; }
@@ -378,7 +378,7 @@ namespace Tensorflow {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override int GetHashCode() {
int hash = 1;
if (Dtype != 0) hash ^= Dtype.GetHashCode();
if (Dtype != global::Tensorflow.DataType.DtInvalid) hash ^= Dtype.GetHashCode();
if (tensorShape_ != null) hash ^= TensorShape.GetHashCode();
if (VersionNumber != 0) hash ^= VersionNumber.GetHashCode();
if (TensorContent.Length != 0) hash ^= TensorContent.GetHashCode();
@@ -408,7 +408,7 @@ namespace Tensorflow {

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo(pb::CodedOutputStream output) {
if (Dtype != 0) {
if (Dtype != global::Tensorflow.DataType.DtInvalid) {
output.WriteRawTag(8);
output.WriteEnum((int) Dtype);
}
@@ -445,7 +445,7 @@ namespace Tensorflow {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int CalculateSize() {
int size = 0;
if (Dtype != 0) {
if (Dtype != global::Tensorflow.DataType.DtInvalid) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Dtype);
}
if (tensorShape_ != null) {
@@ -481,12 +481,12 @@ namespace Tensorflow {
if (other == null) {
return;
}
if (other.Dtype != 0) {
if (other.Dtype != global::Tensorflow.DataType.DtInvalid) {
Dtype = other.Dtype;
}
if (other.tensorShape_ != null) {
if (tensorShape_ == null) {
tensorShape_ = new global::Tensorflow.TensorShapeProto();
TensorShape = new global::Tensorflow.TensorShapeProto();
}
TensorShape.MergeFrom(other.TensorShape);
}
@@ -521,14 +521,14 @@ namespace Tensorflow {
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
dtype_ = (global::Tensorflow.DataType) input.ReadEnum();
Dtype = (global::Tensorflow.DataType) input.ReadEnum();
break;
}
case 18: {
if (tensorShape_ == null) {
tensorShape_ = new global::Tensorflow.TensorShapeProto();
TensorShape = new global::Tensorflow.TensorShapeProto();
}
input.ReadMessage(tensorShape_);
input.ReadMessage(TensorShape);
break;
}
case 24: {


+ 14
- 14
src/TensorFlowNET.Core/Protobuf/TensorDescription.cs View File

@@ -38,8 +38,8 @@ namespace Tensorflow {
"AQFiBnByb3RvMw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Tensorflow.TypesReflection.Descriptor, global::Tensorflow.TensorShapeReflection.Descriptor, global::Tensorflow.AllocationDescriptionReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TensorDescription), global::Tensorflow.TensorDescription.Parser, new[]{ "Dtype", "Shape", "AllocationDescription" }, null, null, null)
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TensorDescription), global::Tensorflow.TensorDescription.Parser, new[]{ "Dtype", "Shape", "AllocationDescription" }, null, null, null, null)
}));
}
#endregion
@@ -84,7 +84,7 @@ namespace Tensorflow {

/// <summary>Field number for the "dtype" field.</summary>
public const int DtypeFieldNumber = 1;
private global::Tensorflow.DataType dtype_ = 0;
private global::Tensorflow.DataType dtype_ = global::Tensorflow.DataType.DtInvalid;
/// <summary>
/// Data type of tensor elements
/// </summary>
@@ -146,7 +146,7 @@ namespace Tensorflow {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override int GetHashCode() {
int hash = 1;
if (Dtype != 0) hash ^= Dtype.GetHashCode();
if (Dtype != global::Tensorflow.DataType.DtInvalid) hash ^= Dtype.GetHashCode();
if (shape_ != null) hash ^= Shape.GetHashCode();
if (allocationDescription_ != null) hash ^= AllocationDescription.GetHashCode();
if (_unknownFields != null) {
@@ -162,7 +162,7 @@ namespace Tensorflow {

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo(pb::CodedOutputStream output) {
if (Dtype != 0) {
if (Dtype != global::Tensorflow.DataType.DtInvalid) {
output.WriteRawTag(8);
output.WriteEnum((int) Dtype);
}
@@ -182,7 +182,7 @@ namespace Tensorflow {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int CalculateSize() {
int size = 0;
if (Dtype != 0) {
if (Dtype != global::Tensorflow.DataType.DtInvalid) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Dtype);
}
if (shape_ != null) {
@@ -202,18 +202,18 @@ namespace Tensorflow {
if (other == null) {
return;
}
if (other.Dtype != 0) {
if (other.Dtype != global::Tensorflow.DataType.DtInvalid) {
Dtype = other.Dtype;
}
if (other.shape_ != null) {
if (shape_ == null) {
shape_ = new global::Tensorflow.TensorShapeProto();
Shape = new global::Tensorflow.TensorShapeProto();
}
Shape.MergeFrom(other.Shape);
}
if (other.allocationDescription_ != null) {
if (allocationDescription_ == null) {
allocationDescription_ = new global::Tensorflow.AllocationDescription();
AllocationDescription = new global::Tensorflow.AllocationDescription();
}
AllocationDescription.MergeFrom(other.AllocationDescription);
}
@@ -229,21 +229,21 @@ namespace Tensorflow {
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
dtype_ = (global::Tensorflow.DataType) input.ReadEnum();
Dtype = (global::Tensorflow.DataType) input.ReadEnum();
break;
}
case 18: {
if (shape_ == null) {
shape_ = new global::Tensorflow.TensorShapeProto();
Shape = new global::Tensorflow.TensorShapeProto();
}
input.ReadMessage(shape_);
input.ReadMessage(Shape);
break;
}
case 34: {
if (allocationDescription_ == null) {
allocationDescription_ = new global::Tensorflow.AllocationDescription();
AllocationDescription = new global::Tensorflow.AllocationDescription();
}
input.ReadMessage(allocationDescription_);
input.ReadMessage(AllocationDescription);
break;
}
}


+ 12
- 12
src/TensorFlowNET.Core/Protobuf/TensorShape.cs View File

@@ -1,6 +1,6 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: tensor_shape.proto
// source: tensorflow/core/framework/tensor_shape.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021
#region Designer generated code
@@ -11,11 +11,11 @@ using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace Tensorflow {

/// <summary>Holder for reflection information generated from tensor_shape.proto</summary>
/// <summary>Holder for reflection information generated from tensorflow/core/framework/tensor_shape.proto</summary>
public static partial class TensorShapeReflection {

#region Descriptor
/// <summary>File descriptor for tensor_shape.proto</summary>
/// <summary>File descriptor for tensorflow/core/framework/tensor_shape.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
@@ -24,17 +24,17 @@ namespace Tensorflow {
static TensorShapeReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"ChJ0ZW5zb3Jfc2hhcGUucHJvdG8SCnRlbnNvcmZsb3ciegoQVGVuc29yU2hh",
"cGVQcm90bxItCgNkaW0YAiADKAsyIC50ZW5zb3JmbG93LlRlbnNvclNoYXBl",
"UHJvdG8uRGltEhQKDHVua25vd25fcmFuaxgDIAEoCBohCgNEaW0SDAoEc2l6",
"ZRgBIAEoAxIMCgRuYW1lGAIgASgJQnEKGG9yZy50ZW5zb3JmbG93LmZyYW1l",
"d29ya0IRVGVuc29yU2hhcGVQcm90b3NQAVo9Z2l0aHViLmNvbS90ZW5zb3Jm",
"bG93L3RlbnNvcmZsb3cvdGVuc29yZmxvdy9nby9jb3JlL2ZyYW1ld29ya/gB",
"AWIGcHJvdG8z"));
"Cix0ZW5zb3JmbG93L2NvcmUvZnJhbWV3b3JrL3RlbnNvcl9zaGFwZS5wcm90",
"bxIKdGVuc29yZmxvdyJ6ChBUZW5zb3JTaGFwZVByb3RvEi0KA2RpbRgCIAMo",
"CzIgLnRlbnNvcmZsb3cuVGVuc29yU2hhcGVQcm90by5EaW0SFAoMdW5rbm93",
"bl9yYW5rGAMgASgIGiEKA0RpbRIMCgRzaXplGAEgASgDEgwKBG5hbWUYAiAB",
"KAlCcQoYb3JnLnRlbnNvcmZsb3cuZnJhbWV3b3JrQhFUZW5zb3JTaGFwZVBy",
"b3Rvc1ABWj1naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yZmxvdy90ZW5z",
"b3JmbG93L2dvL2NvcmUvZnJhbWV3b3Jr+AEBYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TensorShapeProto), global::Tensorflow.TensorShapeProto.Parser, new[]{ "Dim", "UnknownRank" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TensorShapeProto.Types.Dim), global::Tensorflow.TensorShapeProto.Types.Dim.Parser, new[]{ "Size", "Name" }, null, null, null)})
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TensorShapeProto), global::Tensorflow.TensorShapeProto.Parser, new[]{ "Dim", "UnknownRank" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TensorShapeProto.Types.Dim), global::Tensorflow.TensorShapeProto.Types.Dim.Parser, new[]{ "Size", "Name" }, null, null, null, null)})
}));
}
#endregion


+ 2
- 2
src/TensorFlowNET.Core/Protobuf/TensorSlice.cs View File

@@ -33,8 +33,8 @@ namespace Tensorflow {
"b3cvdGVuc29yZmxvdy9nby9jb3JlL2ZyYW1ld29ya/gBAWIGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TensorSliceProto), global::Tensorflow.TensorSliceProto.Parser, new[]{ "Extent" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TensorSliceProto.Types.Extent), global::Tensorflow.TensorSliceProto.Types.Extent.Parser, new[]{ "Start", "Length" }, new[]{ "HasLength" }, null, null)})
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TensorSliceProto), global::Tensorflow.TensorSliceProto.Parser, new[]{ "Extent" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TensorSliceProto.Types.Extent), global::Tensorflow.TensorSliceProto.Types.Extent.Parser, new[]{ "Start", "Length" }, new[]{ "HasLength" }, null, null, null)})
}));
}
#endregion


+ 957
- 0
src/TensorFlowNET.Core/Protobuf/TrackableObjectGraph.cs View File

@@ -0,0 +1,957 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: tensorflow/core/protobuf/trackable_object_graph.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021
#region Designer generated code

using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace Tensorflow {

/// <summary>Holder for reflection information generated from tensorflow/core/protobuf/trackable_object_graph.proto</summary>
public static partial class TrackableObjectGraphReflection {

#region Descriptor
/// <summary>File descriptor for tensorflow/core/protobuf/trackable_object_graph.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbr::FileDescriptor descriptor;

static TrackableObjectGraphReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"CjV0ZW5zb3JmbG93L2NvcmUvcHJvdG9idWYvdHJhY2thYmxlX29iamVjdF9n",
"cmFwaC5wcm90bxIKdGVuc29yZmxvdyKDBQoUVHJhY2thYmxlT2JqZWN0R3Jh",
"cGgSPwoFbm9kZXMYASADKAsyMC50ZW5zb3JmbG93LlRyYWNrYWJsZU9iamVj",
"dEdyYXBoLlRyYWNrYWJsZU9iamVjdBqpBAoPVHJhY2thYmxlT2JqZWN0ElIK",
"CGNoaWxkcmVuGAEgAygLMkAudGVuc29yZmxvdy5UcmFja2FibGVPYmplY3RH",
"cmFwaC5UcmFja2FibGVPYmplY3QuT2JqZWN0UmVmZXJlbmNlElUKCmF0dHJp",
"YnV0ZXMYAiADKAsyQS50ZW5zb3JmbG93LlRyYWNrYWJsZU9iamVjdEdyYXBo",
"LlRyYWNrYWJsZU9iamVjdC5TZXJpYWxpemVkVGVuc29yEl4KDnNsb3RfdmFy",
"aWFibGVzGAMgAygLMkYudGVuc29yZmxvdy5UcmFja2FibGVPYmplY3RHcmFw",
"aC5UcmFja2FibGVPYmplY3QuU2xvdFZhcmlhYmxlUmVmZXJlbmNlGjYKD09i",
"amVjdFJlZmVyZW5jZRIPCgdub2RlX2lkGAEgASgFEhIKCmxvY2FsX25hbWUY",
"AiABKAkaZQoQU2VyaWFsaXplZFRlbnNvchIMCgRuYW1lGAEgASgJEhEKCWZ1",
"bGxfbmFtZRgCIAEoCRIWCg5jaGVja3BvaW50X2tleRgDIAEoCRIYChBvcHRp",
"b25hbF9yZXN0b3JlGAQgASgIGmwKFVNsb3RWYXJpYWJsZVJlZmVyZW5jZRIh",
"ChlvcmlnaW5hbF92YXJpYWJsZV9ub2RlX2lkGAEgASgFEhEKCXNsb3RfbmFt",
"ZRgCIAEoCRIdChVzbG90X3ZhcmlhYmxlX25vZGVfaWQYAyABKAVCA/gBAWIG",
"cHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TrackableObjectGraph), global::Tensorflow.TrackableObjectGraph.Parser, new[]{ "Nodes" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TrackableObjectGraph.Types.TrackableObject), global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Parser, new[]{ "Children", "Attributes", "SlotVariables" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Types.ObjectReference), global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Types.ObjectReference.Parser, new[]{ "NodeId", "LocalName" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Types.SerializedTensor), global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Types.SerializedTensor.Parser, new[]{ "Name", "FullName", "CheckpointKey", "OptionalRestore" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Types.SlotVariableReference), global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Types.SlotVariableReference.Parser, new[]{ "OriginalVariableNodeId", "SlotName", "SlotVariableNodeId" }, null, null, null, null)})})
}));
}
#endregion

}
#region Messages
public sealed partial class TrackableObjectGraph : pb::IMessage<TrackableObjectGraph> {
private static readonly pb::MessageParser<TrackableObjectGraph> _parser = new pb::MessageParser<TrackableObjectGraph>(() => new TrackableObjectGraph());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pb::MessageParser<TrackableObjectGraph> Parser { get { return _parser; } }

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {
get { return global::Tensorflow.TrackableObjectGraphReflection.Descriptor.MessageTypes[0]; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public TrackableObjectGraph() {
OnConstruction();
}

partial void OnConstruction();

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public TrackableObjectGraph(TrackableObjectGraph other) : this() {
nodes_ = other.nodes_.Clone();
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public TrackableObjectGraph Clone() {
return new TrackableObjectGraph(this);
}

/// <summary>Field number for the "nodes" field.</summary>
public const int NodesFieldNumber = 1;
private static readonly pb::FieldCodec<global::Tensorflow.TrackableObjectGraph.Types.TrackableObject> _repeated_nodes_codec
= pb::FieldCodec.ForMessage(10, global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Parser);
private readonly pbc::RepeatedField<global::Tensorflow.TrackableObjectGraph.Types.TrackableObject> nodes_ = new pbc::RepeatedField<global::Tensorflow.TrackableObjectGraph.Types.TrackableObject>();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public pbc::RepeatedField<global::Tensorflow.TrackableObjectGraph.Types.TrackableObject> Nodes {
get { return nodes_; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as TrackableObjectGraph);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public bool Equals(TrackableObjectGraph other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if(!nodes_.Equals(other.nodes_)) return false;
return Equals(_unknownFields, other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override int GetHashCode() {
int hash = 1;
hash ^= nodes_.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo(pb::CodedOutputStream output) {
nodes_.WriteTo(output, _repeated_nodes_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int CalculateSize() {
int size = 0;
size += nodes_.CalculateSize(_repeated_nodes_codec);
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(TrackableObjectGraph other) {
if (other == null) {
return;
}
nodes_.Add(other.nodes_);
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(pb::CodedInputStream input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
nodes_.AddEntriesFrom(input, _repeated_nodes_codec);
break;
}
}
}
}

#region Nested types
/// <summary>Container for nested types declared in the TrackableObjectGraph message type.</summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static partial class Types {
public sealed partial class TrackableObject : pb::IMessage<TrackableObject> {
private static readonly pb::MessageParser<TrackableObject> _parser = new pb::MessageParser<TrackableObject>(() => new TrackableObject());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pb::MessageParser<TrackableObject> Parser { get { return _parser; } }

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {
get { return global::Tensorflow.TrackableObjectGraph.Descriptor.NestedTypes[0]; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public TrackableObject() {
OnConstruction();
}

partial void OnConstruction();

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public TrackableObject(TrackableObject other) : this() {
children_ = other.children_.Clone();
attributes_ = other.attributes_.Clone();
slotVariables_ = other.slotVariables_.Clone();
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public TrackableObject Clone() {
return new TrackableObject(this);
}

/// <summary>Field number for the "children" field.</summary>
public const int ChildrenFieldNumber = 1;
private static readonly pb::FieldCodec<global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Types.ObjectReference> _repeated_children_codec
= pb::FieldCodec.ForMessage(10, global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Types.ObjectReference.Parser);
private readonly pbc::RepeatedField<global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Types.ObjectReference> children_ = new pbc::RepeatedField<global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Types.ObjectReference>();
/// <summary>
/// Objects which this object depends on.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public pbc::RepeatedField<global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Types.ObjectReference> Children {
get { return children_; }
}

/// <summary>Field number for the "attributes" field.</summary>
public const int AttributesFieldNumber = 2;
private static readonly pb::FieldCodec<global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Types.SerializedTensor> _repeated_attributes_codec
= pb::FieldCodec.ForMessage(18, global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Types.SerializedTensor.Parser);
private readonly pbc::RepeatedField<global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Types.SerializedTensor> attributes_ = new pbc::RepeatedField<global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Types.SerializedTensor>();
/// <summary>
/// Serialized data specific to this object.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public pbc::RepeatedField<global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Types.SerializedTensor> Attributes {
get { return attributes_; }
}

/// <summary>Field number for the "slot_variables" field.</summary>
public const int SlotVariablesFieldNumber = 3;
private static readonly pb::FieldCodec<global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Types.SlotVariableReference> _repeated_slotVariables_codec
= pb::FieldCodec.ForMessage(26, global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Types.SlotVariableReference.Parser);
private readonly pbc::RepeatedField<global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Types.SlotVariableReference> slotVariables_ = new pbc::RepeatedField<global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Types.SlotVariableReference>();
/// <summary>
/// Slot variables owned by this object.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public pbc::RepeatedField<global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Types.SlotVariableReference> SlotVariables {
get { return slotVariables_; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as TrackableObject);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public bool Equals(TrackableObject other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if(!children_.Equals(other.children_)) return false;
if(!attributes_.Equals(other.attributes_)) return false;
if(!slotVariables_.Equals(other.slotVariables_)) return false;
return Equals(_unknownFields, other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override int GetHashCode() {
int hash = 1;
hash ^= children_.GetHashCode();
hash ^= attributes_.GetHashCode();
hash ^= slotVariables_.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo(pb::CodedOutputStream output) {
children_.WriteTo(output, _repeated_children_codec);
attributes_.WriteTo(output, _repeated_attributes_codec);
slotVariables_.WriteTo(output, _repeated_slotVariables_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int CalculateSize() {
int size = 0;
size += children_.CalculateSize(_repeated_children_codec);
size += attributes_.CalculateSize(_repeated_attributes_codec);
size += slotVariables_.CalculateSize(_repeated_slotVariables_codec);
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(TrackableObject other) {
if (other == null) {
return;
}
children_.Add(other.children_);
attributes_.Add(other.attributes_);
slotVariables_.Add(other.slotVariables_);
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(pb::CodedInputStream input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
children_.AddEntriesFrom(input, _repeated_children_codec);
break;
}
case 18: {
attributes_.AddEntriesFrom(input, _repeated_attributes_codec);
break;
}
case 26: {
slotVariables_.AddEntriesFrom(input, _repeated_slotVariables_codec);
break;
}
}
}
}

#region Nested types
/// <summary>Container for nested types declared in the TrackableObject message type.</summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static partial class Types {
public sealed partial class ObjectReference : pb::IMessage<ObjectReference> {
private static readonly pb::MessageParser<ObjectReference> _parser = new pb::MessageParser<ObjectReference>(() => new ObjectReference());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pb::MessageParser<ObjectReference> Parser { get { return _parser; } }

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {
get { return global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Descriptor.NestedTypes[0]; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public ObjectReference() {
OnConstruction();
}

partial void OnConstruction();

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public ObjectReference(ObjectReference other) : this() {
nodeId_ = other.nodeId_;
localName_ = other.localName_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public ObjectReference Clone() {
return new ObjectReference(this);
}

/// <summary>Field number for the "node_id" field.</summary>
public const int NodeIdFieldNumber = 1;
private int nodeId_;
/// <summary>
/// An index into `TrackableObjectGraph.nodes`, indicating the object
/// being referenced.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int NodeId {
get { return nodeId_; }
set {
nodeId_ = value;
}
}

/// <summary>Field number for the "local_name" field.</summary>
public const int LocalNameFieldNumber = 2;
private string localName_ = "";
/// <summary>
/// A user-provided name for the edge.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public string LocalName {
get { return localName_; }
set {
localName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as ObjectReference);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public bool Equals(ObjectReference other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (NodeId != other.NodeId) return false;
if (LocalName != other.LocalName) return false;
return Equals(_unknownFields, other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override int GetHashCode() {
int hash = 1;
if (NodeId != 0) hash ^= NodeId.GetHashCode();
if (LocalName.Length != 0) hash ^= LocalName.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo(pb::CodedOutputStream output) {
if (NodeId != 0) {
output.WriteRawTag(8);
output.WriteInt32(NodeId);
}
if (LocalName.Length != 0) {
output.WriteRawTag(18);
output.WriteString(LocalName);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int CalculateSize() {
int size = 0;
if (NodeId != 0) {
size += 1 + pb::CodedOutputStream.ComputeInt32Size(NodeId);
}
if (LocalName.Length != 0) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(LocalName);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(ObjectReference other) {
if (other == null) {
return;
}
if (other.NodeId != 0) {
NodeId = other.NodeId;
}
if (other.LocalName.Length != 0) {
LocalName = other.LocalName;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(pb::CodedInputStream input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
NodeId = input.ReadInt32();
break;
}
case 18: {
LocalName = input.ReadString();
break;
}
}
}
}

}

public sealed partial class SerializedTensor : pb::IMessage<SerializedTensor> {
private static readonly pb::MessageParser<SerializedTensor> _parser = new pb::MessageParser<SerializedTensor>(() => new SerializedTensor());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pb::MessageParser<SerializedTensor> Parser { get { return _parser; } }

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {
get { return global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Descriptor.NestedTypes[1]; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public SerializedTensor() {
OnConstruction();
}

partial void OnConstruction();

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public SerializedTensor(SerializedTensor other) : this() {
name_ = other.name_;
fullName_ = other.fullName_;
checkpointKey_ = other.checkpointKey_;
optionalRestore_ = other.optionalRestore_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public SerializedTensor Clone() {
return new SerializedTensor(this);
}

/// <summary>Field number for the "name" field.</summary>
public const int NameFieldNumber = 1;
private string name_ = "";
/// <summary>
/// A name for the Tensor. Simple variables have only one
/// `SerializedTensor` named "VARIABLE_VALUE" by convention. This value may
/// be restored on object creation as an optimization.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public string Name {
get { return name_; }
set {
name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}

/// <summary>Field number for the "full_name" field.</summary>
public const int FullNameFieldNumber = 2;
private string fullName_ = "";
/// <summary>
/// The full name of the variable/tensor, if applicable. Used to allow
/// name-based loading of checkpoints which were saved using an
/// object-based API. Should match the checkpoint key which would have been
/// assigned by tf.train.Saver.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public string FullName {
get { return fullName_; }
set {
fullName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}

/// <summary>Field number for the "checkpoint_key" field.</summary>
public const int CheckpointKeyFieldNumber = 3;
private string checkpointKey_ = "";
/// <summary>
/// The generated name of the Tensor in the checkpoint.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public string CheckpointKey {
get { return checkpointKey_; }
set {
checkpointKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}

/// <summary>Field number for the "optional_restore" field.</summary>
public const int OptionalRestoreFieldNumber = 4;
private bool optionalRestore_;
/// <summary>
/// Whether checkpoints should be considered as matching even without this
/// value restored. Used for non-critical values which don't affect the
/// TensorFlow graph, such as layer configurations.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public bool OptionalRestore {
get { return optionalRestore_; }
set {
optionalRestore_ = value;
}
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as SerializedTensor);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public bool Equals(SerializedTensor other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (Name != other.Name) return false;
if (FullName != other.FullName) return false;
if (CheckpointKey != other.CheckpointKey) return false;
if (OptionalRestore != other.OptionalRestore) return false;
return Equals(_unknownFields, other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override int GetHashCode() {
int hash = 1;
if (Name.Length != 0) hash ^= Name.GetHashCode();
if (FullName.Length != 0) hash ^= FullName.GetHashCode();
if (CheckpointKey.Length != 0) hash ^= CheckpointKey.GetHashCode();
if (OptionalRestore != false) hash ^= OptionalRestore.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo(pb::CodedOutputStream output) {
if (Name.Length != 0) {
output.WriteRawTag(10);
output.WriteString(Name);
}
if (FullName.Length != 0) {
output.WriteRawTag(18);
output.WriteString(FullName);
}
if (CheckpointKey.Length != 0) {
output.WriteRawTag(26);
output.WriteString(CheckpointKey);
}
if (OptionalRestore != false) {
output.WriteRawTag(32);
output.WriteBool(OptionalRestore);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int CalculateSize() {
int size = 0;
if (Name.Length != 0) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
}
if (FullName.Length != 0) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(FullName);
}
if (CheckpointKey.Length != 0) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(CheckpointKey);
}
if (OptionalRestore != false) {
size += 1 + 1;
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(SerializedTensor other) {
if (other == null) {
return;
}
if (other.Name.Length != 0) {
Name = other.Name;
}
if (other.FullName.Length != 0) {
FullName = other.FullName;
}
if (other.CheckpointKey.Length != 0) {
CheckpointKey = other.CheckpointKey;
}
if (other.OptionalRestore != false) {
OptionalRestore = other.OptionalRestore;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(pb::CodedInputStream input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
Name = input.ReadString();
break;
}
case 18: {
FullName = input.ReadString();
break;
}
case 26: {
CheckpointKey = input.ReadString();
break;
}
case 32: {
OptionalRestore = input.ReadBool();
break;
}
}
}
}

}

public sealed partial class SlotVariableReference : pb::IMessage<SlotVariableReference> {
private static readonly pb::MessageParser<SlotVariableReference> _parser = new pb::MessageParser<SlotVariableReference>(() => new SlotVariableReference());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pb::MessageParser<SlotVariableReference> Parser { get { return _parser; } }

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {
get { return global::Tensorflow.TrackableObjectGraph.Types.TrackableObject.Descriptor.NestedTypes[2]; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public SlotVariableReference() {
OnConstruction();
}

partial void OnConstruction();

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public SlotVariableReference(SlotVariableReference other) : this() {
originalVariableNodeId_ = other.originalVariableNodeId_;
slotName_ = other.slotName_;
slotVariableNodeId_ = other.slotVariableNodeId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public SlotVariableReference Clone() {
return new SlotVariableReference(this);
}

/// <summary>Field number for the "original_variable_node_id" field.</summary>
public const int OriginalVariableNodeIdFieldNumber = 1;
private int originalVariableNodeId_;
/// <summary>
/// An index into `TrackableObjectGraph.nodes`, indicating the
/// variable object this slot was created for.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int OriginalVariableNodeId {
get { return originalVariableNodeId_; }
set {
originalVariableNodeId_ = value;
}
}

/// <summary>Field number for the "slot_name" field.</summary>
public const int SlotNameFieldNumber = 2;
private string slotName_ = "";
/// <summary>
/// The name of the slot (e.g. "m"/"v").
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public string SlotName {
get { return slotName_; }
set {
slotName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}

/// <summary>Field number for the "slot_variable_node_id" field.</summary>
public const int SlotVariableNodeIdFieldNumber = 3;
private int slotVariableNodeId_;
/// <summary>
/// An index into `TrackableObjectGraph.nodes`, indicating the
/// `Object` with the value of the slot variable.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int SlotVariableNodeId {
get { return slotVariableNodeId_; }
set {
slotVariableNodeId_ = value;
}
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as SlotVariableReference);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public bool Equals(SlotVariableReference other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (OriginalVariableNodeId != other.OriginalVariableNodeId) return false;
if (SlotName != other.SlotName) return false;
if (SlotVariableNodeId != other.SlotVariableNodeId) return false;
return Equals(_unknownFields, other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override int GetHashCode() {
int hash = 1;
if (OriginalVariableNodeId != 0) hash ^= OriginalVariableNodeId.GetHashCode();
if (SlotName.Length != 0) hash ^= SlotName.GetHashCode();
if (SlotVariableNodeId != 0) hash ^= SlotVariableNodeId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo(pb::CodedOutputStream output) {
if (OriginalVariableNodeId != 0) {
output.WriteRawTag(8);
output.WriteInt32(OriginalVariableNodeId);
}
if (SlotName.Length != 0) {
output.WriteRawTag(18);
output.WriteString(SlotName);
}
if (SlotVariableNodeId != 0) {
output.WriteRawTag(24);
output.WriteInt32(SlotVariableNodeId);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int CalculateSize() {
int size = 0;
if (OriginalVariableNodeId != 0) {
size += 1 + pb::CodedOutputStream.ComputeInt32Size(OriginalVariableNodeId);
}
if (SlotName.Length != 0) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(SlotName);
}
if (SlotVariableNodeId != 0) {
size += 1 + pb::CodedOutputStream.ComputeInt32Size(SlotVariableNodeId);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(SlotVariableReference other) {
if (other == null) {
return;
}
if (other.OriginalVariableNodeId != 0) {
OriginalVariableNodeId = other.OriginalVariableNodeId;
}
if (other.SlotName.Length != 0) {
SlotName = other.SlotName;
}
if (other.SlotVariableNodeId != 0) {
SlotVariableNodeId = other.SlotVariableNodeId;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(pb::CodedInputStream input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
OriginalVariableNodeId = input.ReadInt32();
break;
}
case 18: {
SlotName = input.ReadString();
break;
}
case 24: {
SlotVariableNodeId = input.ReadInt32();
break;
}
}
}
}

}

}
#endregion

}

}
#endregion

}

#endregion

}

#endregion Designer generated code

+ 2
- 1
src/TensorFlowNET.Core/Protobuf/Types.cs View File

@@ -48,13 +48,14 @@ namespace Tensorflow {
"c29yZmxvdy9nby9jb3JlL2ZyYW1ld29ya/gBAWIGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Tensorflow.DataType), }, null));
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Tensorflow.DataType), }, null, null));
}
#endregion

}
#region Enums
/// <summary>
/// (== suppress_warning documentation-presence ==)
/// LINT.IfChange
/// </summary>
public enum DataType {


+ 21
- 20
src/TensorFlowNET.Core/Protobuf/Variable.cs View File

@@ -42,13 +42,14 @@ namespace Tensorflow {
"ZWdhdGlvbhIdChlWQVJJQUJMRV9BR0dSRUdBVElPTl9OT05FEAASHAoYVkFS",
"SUFCTEVfQUdHUkVHQVRJT05fU1VNEAESHQoZVkFSSUFCTEVfQUdHUkVHQVRJ",
"T05fTUVBThACEisKJ1ZBUklBQkxFX0FHR1JFR0FUSU9OX09OTFlfRklSU1Rf",
"UkVQTElDQRADQi8KGG9yZy50ZW5zb3JmbG93LmZyYW1ld29ya0IOVmFyaWFi",
"bGVQcm90b3NQAfgBAWIGcHJvdG8z"));
"UkVQTElDQRADQm4KGG9yZy50ZW5zb3JmbG93LmZyYW1ld29ya0IOVmFyaWFi",
"bGVQcm90b3NQAVo9Z2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmZsb3cv",
"dGVuc29yZmxvdy9nby9jb3JlL2ZyYW1ld29ya/gBAWIGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Tensorflow.VariableSynchronization), typeof(global::Tensorflow.VariableAggregation), }, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.VariableDef), global::Tensorflow.VariableDef.Parser, new[]{ "VariableName", "InitialValueName", "InitializerName", "SnapshotName", "SaveSliceInfoDef", "IsResource", "Trainable", "Synchronization", "Aggregation" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.SaveSliceInfoDef), global::Tensorflow.SaveSliceInfoDef.Parser, new[]{ "FullName", "FullShape", "VarOffset", "VarShape" }, null, null, null)
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Tensorflow.VariableSynchronization), typeof(global::Tensorflow.VariableAggregation), }, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.VariableDef), global::Tensorflow.VariableDef.Parser, new[]{ "VariableName", "InitialValueName", "InitializerName", "SnapshotName", "SaveSliceInfoDef", "IsResource", "Trainable", "Synchronization", "Aggregation" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.SaveSliceInfoDef), global::Tensorflow.SaveSliceInfoDef.Parser, new[]{ "FullName", "FullShape", "VarOffset", "VarShape" }, null, null, null, null)
}));
}
#endregion
@@ -257,7 +258,7 @@ namespace Tensorflow {

/// <summary>Field number for the "synchronization" field.</summary>
public const int SynchronizationFieldNumber = 8;
private global::Tensorflow.VariableSynchronization synchronization_ = 0;
private global::Tensorflow.VariableSynchronization synchronization_ = global::Tensorflow.VariableSynchronization.Auto;
/// <summary>
/// Indicates when a distributed variable will be synced.
/// </summary>
@@ -271,7 +272,7 @@ namespace Tensorflow {

/// <summary>Field number for the "aggregation" field.</summary>
public const int AggregationFieldNumber = 9;
private global::Tensorflow.VariableAggregation aggregation_ = 0;
private global::Tensorflow.VariableAggregation aggregation_ = global::Tensorflow.VariableAggregation.None;
/// <summary>
/// Indicates how a distributed variable will be aggregated.
/// </summary>
@@ -318,8 +319,8 @@ namespace Tensorflow {
if (saveSliceInfoDef_ != null) hash ^= SaveSliceInfoDef.GetHashCode();
if (IsResource != false) hash ^= IsResource.GetHashCode();
if (Trainable != false) hash ^= Trainable.GetHashCode();
if (Synchronization != 0) hash ^= Synchronization.GetHashCode();
if (Aggregation != 0) hash ^= Aggregation.GetHashCode();
if (Synchronization != global::Tensorflow.VariableSynchronization.Auto) hash ^= Synchronization.GetHashCode();
if (Aggregation != global::Tensorflow.VariableAggregation.None) hash ^= Aggregation.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -361,11 +362,11 @@ namespace Tensorflow {
output.WriteRawTag(56);
output.WriteBool(Trainable);
}
if (Synchronization != 0) {
if (Synchronization != global::Tensorflow.VariableSynchronization.Auto) {
output.WriteRawTag(64);
output.WriteEnum((int) Synchronization);
}
if (Aggregation != 0) {
if (Aggregation != global::Tensorflow.VariableAggregation.None) {
output.WriteRawTag(72);
output.WriteEnum((int) Aggregation);
}
@@ -398,10 +399,10 @@ namespace Tensorflow {
if (Trainable != false) {
size += 1 + 1;
}
if (Synchronization != 0) {
if (Synchronization != global::Tensorflow.VariableSynchronization.Auto) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Synchronization);
}
if (Aggregation != 0) {
if (Aggregation != global::Tensorflow.VariableAggregation.None) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Aggregation);
}
if (_unknownFields != null) {
@@ -429,7 +430,7 @@ namespace Tensorflow {
}
if (other.saveSliceInfoDef_ != null) {
if (saveSliceInfoDef_ == null) {
saveSliceInfoDef_ = new global::Tensorflow.SaveSliceInfoDef();
SaveSliceInfoDef = new global::Tensorflow.SaveSliceInfoDef();
}
SaveSliceInfoDef.MergeFrom(other.SaveSliceInfoDef);
}
@@ -439,10 +440,10 @@ namespace Tensorflow {
if (other.Trainable != false) {
Trainable = other.Trainable;
}
if (other.Synchronization != 0) {
if (other.Synchronization != global::Tensorflow.VariableSynchronization.Auto) {
Synchronization = other.Synchronization;
}
if (other.Aggregation != 0) {
if (other.Aggregation != global::Tensorflow.VariableAggregation.None) {
Aggregation = other.Aggregation;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
@@ -470,9 +471,9 @@ namespace Tensorflow {
}
case 34: {
if (saveSliceInfoDef_ == null) {
saveSliceInfoDef_ = new global::Tensorflow.SaveSliceInfoDef();
SaveSliceInfoDef = new global::Tensorflow.SaveSliceInfoDef();
}
input.ReadMessage(saveSliceInfoDef_);
input.ReadMessage(SaveSliceInfoDef);
break;
}
case 40: {
@@ -488,11 +489,11 @@ namespace Tensorflow {
break;
}
case 64: {
synchronization_ = (global::Tensorflow.VariableSynchronization) input.ReadEnum();
Synchronization = (global::Tensorflow.VariableSynchronization) input.ReadEnum();
break;
}
case 72: {
aggregation_ = (global::Tensorflow.VariableAggregation) input.ReadEnum();
Aggregation = (global::Tensorflow.VariableAggregation) input.ReadEnum();
break;
}
}


+ 229
- 0
src/TensorFlowNET.Core/Protobuf/VerifierConfig.cs View File

@@ -0,0 +1,229 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: tensorflow/core/protobuf/verifier_config.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021
#region Designer generated code

using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace Tensorflow {

/// <summary>Holder for reflection information generated from tensorflow/core/protobuf/verifier_config.proto</summary>
public static partial class VerifierConfigReflection {

#region Descriptor
/// <summary>File descriptor for tensorflow/core/protobuf/verifier_config.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbr::FileDescriptor descriptor;

static VerifierConfigReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"Ci50ZW5zb3JmbG93L2NvcmUvcHJvdG9idWYvdmVyaWZpZXJfY29uZmlnLnBy",
"b3RvEgp0ZW5zb3JmbG93IpsBCg5WZXJpZmllckNvbmZpZxIiChp2ZXJpZmlj",
"YXRpb25fdGltZW91dF9pbl9tcxgBIAEoAxI9ChJzdHJ1Y3R1cmVfdmVyaWZp",
"ZXIYAiABKA4yIS50ZW5zb3JmbG93LlZlcmlmaWVyQ29uZmlnLlRvZ2dsZSIm",
"CgZUb2dnbGUSCwoHREVGQVVMVBAAEgYKAk9OEAESBwoDT0ZGEAJCcwoYb3Jn",
"LnRlbnNvcmZsb3cuZnJhbWV3b3JrQhRWZXJpZmllckNvbmZpZ1Byb3Rvc1AB",
"WjxnaXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yZmxvdy90ZW5zb3JmbG93",
"L2dvL2NvcmUvcHJvdG9idWb4AQFiBnByb3RvMw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.VerifierConfig), global::Tensorflow.VerifierConfig.Parser, new[]{ "VerificationTimeoutInMs", "StructureVerifier" }, null, new[]{ typeof(global::Tensorflow.VerifierConfig.Types.Toggle) }, null, null)
}));
}
#endregion

}
#region Messages
/// <summary>
/// The config for graph verifiers.
/// </summary>
public sealed partial class VerifierConfig : pb::IMessage<VerifierConfig> {
private static readonly pb::MessageParser<VerifierConfig> _parser = new pb::MessageParser<VerifierConfig>(() => new VerifierConfig());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pb::MessageParser<VerifierConfig> Parser { get { return _parser; } }

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {
get { return global::Tensorflow.VerifierConfigReflection.Descriptor.MessageTypes[0]; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public VerifierConfig() {
OnConstruction();
}

partial void OnConstruction();

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public VerifierConfig(VerifierConfig other) : this() {
verificationTimeoutInMs_ = other.verificationTimeoutInMs_;
structureVerifier_ = other.structureVerifier_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public VerifierConfig Clone() {
return new VerifierConfig(this);
}

/// <summary>Field number for the "verification_timeout_in_ms" field.</summary>
public const int VerificationTimeoutInMsFieldNumber = 1;
private long verificationTimeoutInMs_;
/// <summary>
/// Deadline for completion of all verification i.e. all the Toggle ON
/// verifiers must complete execution within this time.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public long VerificationTimeoutInMs {
get { return verificationTimeoutInMs_; }
set {
verificationTimeoutInMs_ = value;
}
}

/// <summary>Field number for the "structure_verifier" field.</summary>
public const int StructureVerifierFieldNumber = 2;
private global::Tensorflow.VerifierConfig.Types.Toggle structureVerifier_ = global::Tensorflow.VerifierConfig.Types.Toggle.Default;
/// <summary>
/// Perform structural validation on a tensorflow graph. Default is OFF.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tensorflow.VerifierConfig.Types.Toggle StructureVerifier {
get { return structureVerifier_; }
set {
structureVerifier_ = value;
}
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as VerifierConfig);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public bool Equals(VerifierConfig other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (VerificationTimeoutInMs != other.VerificationTimeoutInMs) return false;
if (StructureVerifier != other.StructureVerifier) return false;
return Equals(_unknownFields, other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override int GetHashCode() {
int hash = 1;
if (VerificationTimeoutInMs != 0L) hash ^= VerificationTimeoutInMs.GetHashCode();
if (StructureVerifier != global::Tensorflow.VerifierConfig.Types.Toggle.Default) hash ^= StructureVerifier.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo(pb::CodedOutputStream output) {
if (VerificationTimeoutInMs != 0L) {
output.WriteRawTag(8);
output.WriteInt64(VerificationTimeoutInMs);
}
if (StructureVerifier != global::Tensorflow.VerifierConfig.Types.Toggle.Default) {
output.WriteRawTag(16);
output.WriteEnum((int) StructureVerifier);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int CalculateSize() {
int size = 0;
if (VerificationTimeoutInMs != 0L) {
size += 1 + pb::CodedOutputStream.ComputeInt64Size(VerificationTimeoutInMs);
}
if (StructureVerifier != global::Tensorflow.VerifierConfig.Types.Toggle.Default) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) StructureVerifier);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(VerifierConfig other) {
if (other == null) {
return;
}
if (other.VerificationTimeoutInMs != 0L) {
VerificationTimeoutInMs = other.VerificationTimeoutInMs;
}
if (other.StructureVerifier != global::Tensorflow.VerifierConfig.Types.Toggle.Default) {
StructureVerifier = other.StructureVerifier;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(pb::CodedInputStream input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
VerificationTimeoutInMs = input.ReadInt64();
break;
}
case 16: {
StructureVerifier = (global::Tensorflow.VerifierConfig.Types.Toggle) input.ReadEnum();
break;
}
}
}
}

#region Nested types
/// <summary>Container for nested types declared in the VerifierConfig message type.</summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static partial class Types {
public enum Toggle {
[pbr::OriginalName("DEFAULT")] Default = 0,
[pbr::OriginalName("ON")] On = 1,
[pbr::OriginalName("OFF")] Off = 2,
}

}
#endregion

}

#endregion

}

#endregion Designer generated code

+ 2
- 2
src/TensorFlowNET.Core/Protobuf/Versions.cs View File

@@ -32,8 +32,8 @@ namespace Tensorflow {
"L2NvcmUvZnJhbWV3b3Jr+AEBYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.VersionDef), global::Tensorflow.VersionDef.Parser, new[]{ "Producer", "MinConsumer", "BadConsumers" }, null, null, null)
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.VersionDef), global::Tensorflow.VersionDef.Parser, new[]{ "Producer", "MinConsumer", "BadConsumers" }, null, null, null, null)
}));
}
#endregion


+ 11
- 0
src/TensorFlowNET.Core/TensorFlow.Binding.csproj View File

@@ -31,9 +31,16 @@ https://tensorflownet.readthedocs.io</Description>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>Open.snk</AssemblyOriginatorKeyFile>
<Platforms>AnyCPU;x64</Platforms>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DefineConstants>TRACE;DEBUG;SERIALIZABLE_</DefineConstants>
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DefineConstants>TRACE;DEBUG;SERIALIZABLE_</DefineConstants>
<PlatformTarget>x64</PlatformTarget>
@@ -43,6 +50,10 @@ https://tensorflownet.readthedocs.io</Description>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>

<ItemGroup>
<Compile Remove="Distribute\**" />
<Compile Remove="Models\**" />


+ 2
- 0
src/TensorFlowNET.Core/Tensors/Tensor.Value.cs View File

@@ -169,6 +169,8 @@ namespace Tensorflow
return (NDArray)StringData()[0];
case TF_DataType.TF_INT32:
return *(int*)buffer;
case TF_DataType.TF_DOUBLE:
return *(double*)buffer;
default:
return BufferToArray();
}


Loading…
Cancel
Save