diff --git a/src/TensorFlowNET.Core/APIs/tf.summary.cs b/src/TensorFlowNET.Core/APIs/tf.summary.cs
index 3932c969..618806dd 100644
--- a/src/TensorFlowNET.Core/APIs/tf.summary.cs
+++ b/src/TensorFlowNET.Core/APIs/tf.summary.cs
@@ -2,13 +2,13 @@
using System.Collections.Generic;
using System.Text;
using Tensorflow.IO;
-using Tensorflow.Summaries;
namespace Tensorflow
{
public static partial class tf
{
- public static Summary summary = new Summary();
+ public static Summaries.Summary summary = new Summaries.Summary();
+
public static Tensor scalar(string name, Tensor tensor)
=> summary.scalar(name, tensor);
}
diff --git a/src/TensorFlowNET.Core/Protobuf/Event.cs b/src/TensorFlowNET.Core/Protobuf/Event.cs
new file mode 100644
index 00000000..d9348c95
--- /dev/null
+++ b/src/TensorFlowNET.Core/Protobuf/Event.cs
@@ -0,0 +1,1597 @@
+//
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: tensorflow/core/util/event.proto
+//
+#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 {
+
+ /// Holder for reflection information generated from tensorflow/core/util/event.proto
+ public static partial class EventReflection {
+
+ #region Descriptor
+ /// File descriptor for tensorflow/core/util/event.proto
+ public static pbr::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static pbr::FileDescriptor descriptor;
+
+ static EventReflection() {
+ byte[] descriptorData = global::System.Convert.FromBase64String(
+ string.Concat(
+ "CiB0ZW5zb3JmbG93L2NvcmUvdXRpbC9ldmVudC5wcm90bxIKdGVuc29yZmxv",
+ "dxondGVuc29yZmxvdy9jb3JlL2ZyYW1ld29yay9zdW1tYXJ5LnByb3RvIrsC",
+ "CgVFdmVudBIRCgl3YWxsX3RpbWUYASABKAESDAoEc3RlcBgCIAEoAxIWCgxm",
+ "aWxlX3ZlcnNpb24YAyABKAlIABITCglncmFwaF9kZWYYBCABKAxIABImCgdz",
+ "dW1tYXJ5GAUgASgLMhMudGVuc29yZmxvdy5TdW1tYXJ5SAASLQoLbG9nX21l",
+ "c3NhZ2UYBiABKAsyFi50ZW5zb3JmbG93LkxvZ01lc3NhZ2VIABItCgtzZXNz",
+ "aW9uX2xvZxgHIAEoCzIWLnRlbnNvcmZsb3cuU2Vzc2lvbkxvZ0gAEjwKE3Rh",
+ "Z2dlZF9ydW5fbWV0YWRhdGEYCCABKAsyHS50ZW5zb3JmbG93LlRhZ2dlZFJ1",
+ "bk1ldGFkYXRhSAASGAoObWV0YV9ncmFwaF9kZWYYCSABKAxIAEIGCgR3aGF0",
+ "IpkBCgpMb2dNZXNzYWdlEisKBWxldmVsGAEgASgOMhwudGVuc29yZmxvdy5M",
+ "b2dNZXNzYWdlLkxldmVsEg8KB21lc3NhZ2UYAiABKAkiTQoFTGV2ZWwSCwoH",
+ "VU5LTk9XThAAEg0KCURFQlVHR0lORxAKEggKBElORk8QFBIICgRXQVJOEB4S",
+ "CQoFRVJST1IQKBIJCgVGQVRBTBAyIrYBCgpTZXNzaW9uTG9nEjQKBnN0YXR1",
+ "cxgBIAEoDjIkLnRlbnNvcmZsb3cuU2Vzc2lvbkxvZy5TZXNzaW9uU3RhdHVz",
+ "EhcKD2NoZWNrcG9pbnRfcGF0aBgCIAEoCRILCgNtc2cYAyABKAkiTAoNU2Vz",
+ "c2lvblN0YXR1cxIWChJTVEFUVVNfVU5TUEVDSUZJRUQQABIJCgVTVEFSVBAB",
+ "EggKBFNUT1AQAhIOCgpDSEVDS1BPSU5UEAMiNgoRVGFnZ2VkUnVuTWV0YWRh",
+ "dGESCwoDdGFnGAEgASgJEhQKDHJ1bl9tZXRhZGF0YRgCIAEoDCIkCg5XYXRj",
+ "aGRvZ0NvbmZpZxISCgp0aW1lb3V0X21zGAEgASgDIoQBChZXb3JrZXJIZWFy",
+ "dGJlYXRSZXF1ZXN0EjUKDXNodXRkb3duX21vZGUYASABKA4yHi50ZW5zb3Jm",
+ "bG93LldvcmtlclNodXRkb3duTW9kZRIzCg93YXRjaGRvZ19jb25maWcYAiAB",
+ "KAsyGi50ZW5zb3JmbG93LldhdGNoZG9nQ29uZmlnIoMBChdXb3JrZXJIZWFy",
+ "dGJlYXRSZXNwb25zZRIvCg1oZWFsdGhfc3RhdHVzGAEgASgOMhgudGVuc29y",
+ "Zmxvdy5Xb3JrZXJIZWFsdGgSJQoKd29ya2VyX2xvZxgCIAMoCzIRLnRlbnNv",
+ "cmZsb3cuRXZlbnQSEAoIaG9zdG5hbWUYAyABKAkqWwoMV29ya2VySGVhbHRo",
+ "EgYKAk9LEAASHAoYUkVDRUlWRURfU0hVVERPV05fU0lHTkFMEAESEgoOSU5U",
+ "RVJOQUxfRVJST1IQAhIRCg1TSFVUVElOR19ET1dOEAMqawoSV29ya2VyU2h1",
+ "dGRvd25Nb2RlEgsKB0RFRkFVTFQQABISCg5OT1RfQ09ORklHVVJFRBABEhgK",
+ "FFdBSVRfRk9SX0NPT1JESU5BVE9SEAISGgoWU0hVVERPV05fQUZURVJfVElN",
+ "RU9VVBADQicKE29yZy50ZW5zb3JmbG93LnV0aWxCC0V2ZW50UHJvdG9zUAH4",
+ "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)
+ }));
+ }
+ #endregion
+
+ }
+ #region Enums
+ ///
+ /// Current health status of a worker.
+ ///
+ public enum WorkerHealth {
+ ///
+ /// By default a worker is healthy.
+ ///
+ [pbr::OriginalName("OK")] Ok = 0,
+ [pbr::OriginalName("RECEIVED_SHUTDOWN_SIGNAL")] ReceivedShutdownSignal = 1,
+ [pbr::OriginalName("INTERNAL_ERROR")] InternalError = 2,
+ ///
+ /// Worker has been instructed to shutdown after a timeout.
+ ///
+ [pbr::OriginalName("SHUTTING_DOWN")] ShuttingDown = 3,
+ }
+
+ ///
+ /// Indicates the behavior of the worker when an internal error or shutdown
+ /// signal is received.
+ ///
+ public enum WorkerShutdownMode {
+ [pbr::OriginalName("DEFAULT")] Default = 0,
+ [pbr::OriginalName("NOT_CONFIGURED")] NotConfigured = 1,
+ [pbr::OriginalName("WAIT_FOR_COORDINATOR")] WaitForCoordinator = 2,
+ [pbr::OriginalName("SHUTDOWN_AFTER_TIMEOUT")] ShutdownAfterTimeout = 3,
+ }
+
+ #endregion
+
+ #region Messages
+ ///
+ /// Protocol buffer representing an event that happened during
+ /// the execution of a Brain model.
+ ///
+ public sealed partial class Event : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Event());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Tensorflow.EventReflection.Descriptor.MessageTypes[0]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Event() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Event(Event other) : this() {
+ wallTime_ = other.wallTime_;
+ step_ = other.step_;
+ switch (other.WhatCase) {
+ case WhatOneofCase.FileVersion:
+ FileVersion = other.FileVersion;
+ break;
+ case WhatOneofCase.GraphDef:
+ GraphDef = other.GraphDef;
+ break;
+ case WhatOneofCase.Summary:
+ Summary = other.Summary.Clone();
+ break;
+ case WhatOneofCase.LogMessage:
+ LogMessage = other.LogMessage.Clone();
+ break;
+ case WhatOneofCase.SessionLog:
+ SessionLog = other.SessionLog.Clone();
+ break;
+ case WhatOneofCase.TaggedRunMetadata:
+ TaggedRunMetadata = other.TaggedRunMetadata.Clone();
+ break;
+ case WhatOneofCase.MetaGraphDef:
+ MetaGraphDef = other.MetaGraphDef;
+ break;
+ }
+
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Event Clone() {
+ return new Event(this);
+ }
+
+ /// Field number for the "wall_time" field.
+ public const int WallTimeFieldNumber = 1;
+ private double wallTime_;
+ ///
+ /// Timestamp of the event.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public double WallTime {
+ get { return wallTime_; }
+ set {
+ wallTime_ = value;
+ }
+ }
+
+ /// Field number for the "step" field.
+ public const int StepFieldNumber = 2;
+ private long step_;
+ ///
+ /// Global step of the event.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public long Step {
+ get { return step_; }
+ set {
+ step_ = value;
+ }
+ }
+
+ /// Field number for the "file_version" field.
+ public const int FileVersionFieldNumber = 3;
+ ///
+ /// An event file was started, with the specified version.
+ /// This is use to identify the contents of the record IO files
+ /// easily. Current version is "brain.Event:2". All versions
+ /// start with "brain.Event:".
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string FileVersion {
+ get { return whatCase_ == WhatOneofCase.FileVersion ? (string) what_ : ""; }
+ set {
+ what_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ whatCase_ = WhatOneofCase.FileVersion;
+ }
+ }
+
+ /// Field number for the "graph_def" field.
+ public const int GraphDefFieldNumber = 4;
+ ///
+ /// An encoded version of a GraphDef.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pb::ByteString GraphDef {
+ get { return whatCase_ == WhatOneofCase.GraphDef ? (pb::ByteString) what_ : pb::ByteString.Empty; }
+ set {
+ what_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ whatCase_ = WhatOneofCase.GraphDef;
+ }
+ }
+
+ /// Field number for the "summary" field.
+ public const int SummaryFieldNumber = 5;
+ ///
+ /// A summary was generated.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public global::Tensorflow.Summary Summary {
+ get { return whatCase_ == WhatOneofCase.Summary ? (global::Tensorflow.Summary) what_ : null; }
+ set {
+ what_ = value;
+ whatCase_ = value == null ? WhatOneofCase.None : WhatOneofCase.Summary;
+ }
+ }
+
+ /// Field number for the "log_message" field.
+ public const int LogMessageFieldNumber = 6;
+ ///
+ /// The user output a log message. Not all messages are logged, only ones
+ /// generated via the Python tensorboard_logging module.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public global::Tensorflow.LogMessage LogMessage {
+ get { return whatCase_ == WhatOneofCase.LogMessage ? (global::Tensorflow.LogMessage) what_ : null; }
+ set {
+ what_ = value;
+ whatCase_ = value == null ? WhatOneofCase.None : WhatOneofCase.LogMessage;
+ }
+ }
+
+ /// Field number for the "session_log" field.
+ public const int SessionLogFieldNumber = 7;
+ ///
+ /// The state of the session which can be used for restarting after crashes.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public global::Tensorflow.SessionLog SessionLog {
+ get { return whatCase_ == WhatOneofCase.SessionLog ? (global::Tensorflow.SessionLog) what_ : null; }
+ set {
+ what_ = value;
+ whatCase_ = value == null ? WhatOneofCase.None : WhatOneofCase.SessionLog;
+ }
+ }
+
+ /// Field number for the "tagged_run_metadata" field.
+ public const int TaggedRunMetadataFieldNumber = 8;
+ ///
+ /// The metadata returned by running a session.run() call.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public global::Tensorflow.TaggedRunMetadata TaggedRunMetadata {
+ get { return whatCase_ == WhatOneofCase.TaggedRunMetadata ? (global::Tensorflow.TaggedRunMetadata) what_ : null; }
+ set {
+ what_ = value;
+ whatCase_ = value == null ? WhatOneofCase.None : WhatOneofCase.TaggedRunMetadata;
+ }
+ }
+
+ /// Field number for the "meta_graph_def" field.
+ public const int MetaGraphDefFieldNumber = 9;
+ ///
+ /// An encoded version of a MetaGraphDef.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pb::ByteString MetaGraphDef {
+ get { return whatCase_ == WhatOneofCase.MetaGraphDef ? (pb::ByteString) what_ : pb::ByteString.Empty; }
+ set {
+ what_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ whatCase_ = WhatOneofCase.MetaGraphDef;
+ }
+ }
+
+ private object what_;
+ /// Enum of possible cases for the "what" oneof.
+ public enum WhatOneofCase {
+ None = 0,
+ FileVersion = 3,
+ GraphDef = 4,
+ Summary = 5,
+ LogMessage = 6,
+ SessionLog = 7,
+ TaggedRunMetadata = 8,
+ MetaGraphDef = 9,
+ }
+ private WhatOneofCase whatCase_ = WhatOneofCase.None;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public WhatOneofCase WhatCase {
+ get { return whatCase_; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void ClearWhat() {
+ whatCase_ = WhatOneofCase.None;
+ what_ = null;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as Event);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(Event other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(WallTime, other.WallTime)) return false;
+ if (Step != other.Step) return false;
+ if (FileVersion != other.FileVersion) return false;
+ if (GraphDef != other.GraphDef) return false;
+ if (!object.Equals(Summary, other.Summary)) return false;
+ if (!object.Equals(LogMessage, other.LogMessage)) return false;
+ if (!object.Equals(SessionLog, other.SessionLog)) return false;
+ if (!object.Equals(TaggedRunMetadata, other.TaggedRunMetadata)) return false;
+ if (MetaGraphDef != other.MetaGraphDef) return false;
+ if (WhatCase != other.WhatCase) return false;
+ return Equals(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (WallTime != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(WallTime);
+ if (Step != 0L) hash ^= Step.GetHashCode();
+ if (whatCase_ == WhatOneofCase.FileVersion) hash ^= FileVersion.GetHashCode();
+ if (whatCase_ == WhatOneofCase.GraphDef) hash ^= GraphDef.GetHashCode();
+ if (whatCase_ == WhatOneofCase.Summary) hash ^= Summary.GetHashCode();
+ if (whatCase_ == WhatOneofCase.LogMessage) hash ^= LogMessage.GetHashCode();
+ if (whatCase_ == WhatOneofCase.SessionLog) hash ^= SessionLog.GetHashCode();
+ if (whatCase_ == WhatOneofCase.TaggedRunMetadata) hash ^= TaggedRunMetadata.GetHashCode();
+ if (whatCase_ == WhatOneofCase.MetaGraphDef) hash ^= MetaGraphDef.GetHashCode();
+ hash ^= (int) whatCase_;
+ 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 (WallTime != 0D) {
+ output.WriteRawTag(9);
+ output.WriteDouble(WallTime);
+ }
+ if (Step != 0L) {
+ output.WriteRawTag(16);
+ output.WriteInt64(Step);
+ }
+ if (whatCase_ == WhatOneofCase.FileVersion) {
+ output.WriteRawTag(26);
+ output.WriteString(FileVersion);
+ }
+ if (whatCase_ == WhatOneofCase.GraphDef) {
+ output.WriteRawTag(34);
+ output.WriteBytes(GraphDef);
+ }
+ if (whatCase_ == WhatOneofCase.Summary) {
+ output.WriteRawTag(42);
+ output.WriteMessage(Summary);
+ }
+ if (whatCase_ == WhatOneofCase.LogMessage) {
+ output.WriteRawTag(50);
+ output.WriteMessage(LogMessage);
+ }
+ if (whatCase_ == WhatOneofCase.SessionLog) {
+ output.WriteRawTag(58);
+ output.WriteMessage(SessionLog);
+ }
+ if (whatCase_ == WhatOneofCase.TaggedRunMetadata) {
+ output.WriteRawTag(66);
+ output.WriteMessage(TaggedRunMetadata);
+ }
+ if (whatCase_ == WhatOneofCase.MetaGraphDef) {
+ output.WriteRawTag(74);
+ output.WriteBytes(MetaGraphDef);
+ }
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (WallTime != 0D) {
+ size += 1 + 8;
+ }
+ if (Step != 0L) {
+ size += 1 + pb::CodedOutputStream.ComputeInt64Size(Step);
+ }
+ if (whatCase_ == WhatOneofCase.FileVersion) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(FileVersion);
+ }
+ if (whatCase_ == WhatOneofCase.GraphDef) {
+ size += 1 + pb::CodedOutputStream.ComputeBytesSize(GraphDef);
+ }
+ if (whatCase_ == WhatOneofCase.Summary) {
+ size += 1 + pb::CodedOutputStream.ComputeMessageSize(Summary);
+ }
+ if (whatCase_ == WhatOneofCase.LogMessage) {
+ size += 1 + pb::CodedOutputStream.ComputeMessageSize(LogMessage);
+ }
+ if (whatCase_ == WhatOneofCase.SessionLog) {
+ size += 1 + pb::CodedOutputStream.ComputeMessageSize(SessionLog);
+ }
+ if (whatCase_ == WhatOneofCase.TaggedRunMetadata) {
+ size += 1 + pb::CodedOutputStream.ComputeMessageSize(TaggedRunMetadata);
+ }
+ if (whatCase_ == WhatOneofCase.MetaGraphDef) {
+ size += 1 + pb::CodedOutputStream.ComputeBytesSize(MetaGraphDef);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(Event other) {
+ if (other == null) {
+ return;
+ }
+ if (other.WallTime != 0D) {
+ WallTime = other.WallTime;
+ }
+ if (other.Step != 0L) {
+ Step = other.Step;
+ }
+ switch (other.WhatCase) {
+ case WhatOneofCase.FileVersion:
+ FileVersion = other.FileVersion;
+ break;
+ case WhatOneofCase.GraphDef:
+ GraphDef = other.GraphDef;
+ break;
+ case WhatOneofCase.Summary:
+ if (Summary == null) {
+ Summary = new global::Tensorflow.Summary();
+ }
+ Summary.MergeFrom(other.Summary);
+ break;
+ case WhatOneofCase.LogMessage:
+ if (LogMessage == null) {
+ LogMessage = new global::Tensorflow.LogMessage();
+ }
+ LogMessage.MergeFrom(other.LogMessage);
+ break;
+ case WhatOneofCase.SessionLog:
+ if (SessionLog == null) {
+ SessionLog = new global::Tensorflow.SessionLog();
+ }
+ SessionLog.MergeFrom(other.SessionLog);
+ break;
+ case WhatOneofCase.TaggedRunMetadata:
+ if (TaggedRunMetadata == null) {
+ TaggedRunMetadata = new global::Tensorflow.TaggedRunMetadata();
+ }
+ TaggedRunMetadata.MergeFrom(other.TaggedRunMetadata);
+ break;
+ case WhatOneofCase.MetaGraphDef:
+ MetaGraphDef = other.MetaGraphDef;
+ break;
+ }
+
+ _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 9: {
+ WallTime = input.ReadDouble();
+ break;
+ }
+ case 16: {
+ Step = input.ReadInt64();
+ break;
+ }
+ case 26: {
+ FileVersion = input.ReadString();
+ break;
+ }
+ case 34: {
+ GraphDef = input.ReadBytes();
+ break;
+ }
+ case 42: {
+ global::Tensorflow.Summary subBuilder = new global::Tensorflow.Summary();
+ if (whatCase_ == WhatOneofCase.Summary) {
+ subBuilder.MergeFrom(Summary);
+ }
+ input.ReadMessage(subBuilder);
+ Summary = subBuilder;
+ break;
+ }
+ case 50: {
+ global::Tensorflow.LogMessage subBuilder = new global::Tensorflow.LogMessage();
+ if (whatCase_ == WhatOneofCase.LogMessage) {
+ subBuilder.MergeFrom(LogMessage);
+ }
+ input.ReadMessage(subBuilder);
+ LogMessage = subBuilder;
+ break;
+ }
+ case 58: {
+ global::Tensorflow.SessionLog subBuilder = new global::Tensorflow.SessionLog();
+ if (whatCase_ == WhatOneofCase.SessionLog) {
+ subBuilder.MergeFrom(SessionLog);
+ }
+ input.ReadMessage(subBuilder);
+ SessionLog = subBuilder;
+ break;
+ }
+ case 66: {
+ global::Tensorflow.TaggedRunMetadata subBuilder = new global::Tensorflow.TaggedRunMetadata();
+ if (whatCase_ == WhatOneofCase.TaggedRunMetadata) {
+ subBuilder.MergeFrom(TaggedRunMetadata);
+ }
+ input.ReadMessage(subBuilder);
+ TaggedRunMetadata = subBuilder;
+ break;
+ }
+ case 74: {
+ MetaGraphDef = input.ReadBytes();
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ ///
+ /// Protocol buffer used for logging messages to the events file.
+ ///
+ public sealed partial class LogMessage : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new LogMessage());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Tensorflow.EventReflection.Descriptor.MessageTypes[1]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public LogMessage() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public LogMessage(LogMessage other) : this() {
+ level_ = other.level_;
+ message_ = other.message_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public LogMessage Clone() {
+ return new LogMessage(this);
+ }
+
+ /// Field number for the "level" field.
+ public const int LevelFieldNumber = 1;
+ private global::Tensorflow.LogMessage.Types.Level level_ = 0;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public global::Tensorflow.LogMessage.Types.Level Level {
+ get { return level_; }
+ set {
+ level_ = value;
+ }
+ }
+
+ /// Field number for the "message" field.
+ public const int MessageFieldNumber = 2;
+ private string message_ = "";
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Message {
+ get { return message_; }
+ set {
+ message_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as LogMessage);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(LogMessage other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (Level != other.Level) return false;
+ if (Message != other.Message) return false;
+ return Equals(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (Level != 0) hash ^= Level.GetHashCode();
+ if (Message.Length != 0) hash ^= Message.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 (Level != 0) {
+ output.WriteRawTag(8);
+ output.WriteEnum((int) Level);
+ }
+ if (Message.Length != 0) {
+ output.WriteRawTag(18);
+ output.WriteString(Message);
+ }
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (Level != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Level);
+ }
+ if (Message.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Message);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(LogMessage other) {
+ if (other == null) {
+ return;
+ }
+ if (other.Level != 0) {
+ Level = other.Level;
+ }
+ if (other.Message.Length != 0) {
+ Message = other.Message;
+ }
+ _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: {
+ level_ = (global::Tensorflow.LogMessage.Types.Level) input.ReadEnum();
+ break;
+ }
+ case 18: {
+ Message = input.ReadString();
+ break;
+ }
+ }
+ }
+ }
+
+ #region Nested types
+ /// Container for nested types declared in the LogMessage message type.
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static partial class Types {
+ public enum Level {
+ [pbr::OriginalName("UNKNOWN")] Unknown = 0,
+ ///
+ /// Note: The logging level 10 cannot be named DEBUG. Some software
+ /// projects compile their C/C++ code with -DDEBUG in debug builds. So the
+ /// C++ code generated from this file should not have an identifier named
+ /// DEBUG.
+ ///
+ [pbr::OriginalName("DEBUGGING")] Debugging = 10,
+ [pbr::OriginalName("INFO")] Info = 20,
+ [pbr::OriginalName("WARN")] Warn = 30,
+ [pbr::OriginalName("ERROR")] Error = 40,
+ [pbr::OriginalName("FATAL")] Fatal = 50,
+ }
+
+ }
+ #endregion
+
+ }
+
+ ///
+ /// Protocol buffer used for logging session state.
+ ///
+ public sealed partial class SessionLog : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SessionLog());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Tensorflow.EventReflection.Descriptor.MessageTypes[2]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public SessionLog() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public SessionLog(SessionLog other) : this() {
+ status_ = other.status_;
+ checkpointPath_ = other.checkpointPath_;
+ msg_ = other.msg_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public SessionLog Clone() {
+ return new SessionLog(this);
+ }
+
+ /// Field number for the "status" field.
+ public const int StatusFieldNumber = 1;
+ private global::Tensorflow.SessionLog.Types.SessionStatus status_ = 0;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public global::Tensorflow.SessionLog.Types.SessionStatus Status {
+ get { return status_; }
+ set {
+ status_ = value;
+ }
+ }
+
+ /// Field number for the "checkpoint_path" field.
+ public const int CheckpointPathFieldNumber = 2;
+ private string checkpointPath_ = "";
+ ///
+ /// This checkpoint_path contains both the path and filename.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string CheckpointPath {
+ get { return checkpointPath_; }
+ set {
+ checkpointPath_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "msg" field.
+ public const int MsgFieldNumber = 3;
+ private string msg_ = "";
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Msg {
+ get { return msg_; }
+ set {
+ msg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as SessionLog);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(SessionLog other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (Status != other.Status) return false;
+ if (CheckpointPath != other.CheckpointPath) return false;
+ if (Msg != other.Msg) return false;
+ return Equals(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (Status != 0) hash ^= Status.GetHashCode();
+ if (CheckpointPath.Length != 0) hash ^= CheckpointPath.GetHashCode();
+ if (Msg.Length != 0) hash ^= Msg.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 (Status != 0) {
+ output.WriteRawTag(8);
+ output.WriteEnum((int) Status);
+ }
+ if (CheckpointPath.Length != 0) {
+ output.WriteRawTag(18);
+ output.WriteString(CheckpointPath);
+ }
+ if (Msg.Length != 0) {
+ output.WriteRawTag(26);
+ output.WriteString(Msg);
+ }
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (Status != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Status);
+ }
+ if (CheckpointPath.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(CheckpointPath);
+ }
+ if (Msg.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Msg);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(SessionLog other) {
+ if (other == null) {
+ return;
+ }
+ if (other.Status != 0) {
+ Status = other.Status;
+ }
+ if (other.CheckpointPath.Length != 0) {
+ CheckpointPath = other.CheckpointPath;
+ }
+ if (other.Msg.Length != 0) {
+ Msg = other.Msg;
+ }
+ _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: {
+ status_ = (global::Tensorflow.SessionLog.Types.SessionStatus) input.ReadEnum();
+ break;
+ }
+ case 18: {
+ CheckpointPath = input.ReadString();
+ break;
+ }
+ case 26: {
+ Msg = input.ReadString();
+ break;
+ }
+ }
+ }
+ }
+
+ #region Nested types
+ /// Container for nested types declared in the SessionLog message type.
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static partial class Types {
+ public enum SessionStatus {
+ [pbr::OriginalName("STATUS_UNSPECIFIED")] StatusUnspecified = 0,
+ [pbr::OriginalName("START")] Start = 1,
+ [pbr::OriginalName("STOP")] Stop = 2,
+ [pbr::OriginalName("CHECKPOINT")] Checkpoint = 3,
+ }
+
+ }
+ #endregion
+
+ }
+
+ ///
+ /// For logging the metadata output for a single session.run() call.
+ ///
+ public sealed partial class TaggedRunMetadata : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TaggedRunMetadata());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Tensorflow.EventReflection.Descriptor.MessageTypes[3]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public TaggedRunMetadata() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public TaggedRunMetadata(TaggedRunMetadata other) : this() {
+ tag_ = other.tag_;
+ runMetadata_ = other.runMetadata_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public TaggedRunMetadata Clone() {
+ return new TaggedRunMetadata(this);
+ }
+
+ /// Field number for the "tag" field.
+ public const int TagFieldNumber = 1;
+ private string tag_ = "";
+ ///
+ /// Tag name associated with this metadata.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Tag {
+ get { return tag_; }
+ set {
+ tag_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "run_metadata" field.
+ public const int RunMetadataFieldNumber = 2;
+ private pb::ByteString runMetadata_ = pb::ByteString.Empty;
+ ///
+ /// Byte-encoded version of the `RunMetadata` proto in order to allow lazy
+ /// deserialization.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pb::ByteString RunMetadata {
+ get { return runMetadata_; }
+ set {
+ runMetadata_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as TaggedRunMetadata);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(TaggedRunMetadata other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (Tag != other.Tag) return false;
+ if (RunMetadata != other.RunMetadata) return false;
+ return Equals(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (Tag.Length != 0) hash ^= Tag.GetHashCode();
+ if (RunMetadata.Length != 0) hash ^= RunMetadata.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 (Tag.Length != 0) {
+ output.WriteRawTag(10);
+ output.WriteString(Tag);
+ }
+ if (RunMetadata.Length != 0) {
+ output.WriteRawTag(18);
+ output.WriteBytes(RunMetadata);
+ }
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (Tag.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Tag);
+ }
+ if (RunMetadata.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeBytesSize(RunMetadata);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(TaggedRunMetadata other) {
+ if (other == null) {
+ return;
+ }
+ if (other.Tag.Length != 0) {
+ Tag = other.Tag;
+ }
+ if (other.RunMetadata.Length != 0) {
+ RunMetadata = other.RunMetadata;
+ }
+ _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: {
+ Tag = input.ReadString();
+ break;
+ }
+ case 18: {
+ RunMetadata = input.ReadBytes();
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ public sealed partial class WatchdogConfig : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new WatchdogConfig());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Tensorflow.EventReflection.Descriptor.MessageTypes[4]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public WatchdogConfig() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public WatchdogConfig(WatchdogConfig other) : this() {
+ timeoutMs_ = other.timeoutMs_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public WatchdogConfig Clone() {
+ return new WatchdogConfig(this);
+ }
+
+ /// Field number for the "timeout_ms" field.
+ public const int TimeoutMsFieldNumber = 1;
+ private long timeoutMs_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public long TimeoutMs {
+ get { return timeoutMs_; }
+ set {
+ timeoutMs_ = value;
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as WatchdogConfig);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(WatchdogConfig other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (TimeoutMs != other.TimeoutMs) return false;
+ return Equals(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (TimeoutMs != 0L) hash ^= TimeoutMs.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 (TimeoutMs != 0L) {
+ output.WriteRawTag(8);
+ output.WriteInt64(TimeoutMs);
+ }
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (TimeoutMs != 0L) {
+ size += 1 + pb::CodedOutputStream.ComputeInt64Size(TimeoutMs);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(WatchdogConfig other) {
+ if (other == null) {
+ return;
+ }
+ if (other.TimeoutMs != 0L) {
+ TimeoutMs = other.TimeoutMs;
+ }
+ _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: {
+ TimeoutMs = input.ReadInt64();
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ public sealed partial class WorkerHeartbeatRequest : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new WorkerHeartbeatRequest());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser 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 WorkerHeartbeatRequest() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public WorkerHeartbeatRequest(WorkerHeartbeatRequest other) : this() {
+ shutdownMode_ = other.shutdownMode_;
+ watchdogConfig_ = other.watchdogConfig_ != null ? other.watchdogConfig_.Clone() : null;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public WorkerHeartbeatRequest Clone() {
+ return new WorkerHeartbeatRequest(this);
+ }
+
+ /// Field number for the "shutdown_mode" field.
+ public const int ShutdownModeFieldNumber = 1;
+ private global::Tensorflow.WorkerShutdownMode shutdownMode_ = 0;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public global::Tensorflow.WorkerShutdownMode ShutdownMode {
+ get { return shutdownMode_; }
+ set {
+ shutdownMode_ = value;
+ }
+ }
+
+ /// Field number for the "watchdog_config" field.
+ public const int WatchdogConfigFieldNumber = 2;
+ private global::Tensorflow.WatchdogConfig watchdogConfig_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public global::Tensorflow.WatchdogConfig WatchdogConfig {
+ get { return watchdogConfig_; }
+ set {
+ watchdogConfig_ = value;
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as WorkerHeartbeatRequest);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(WorkerHeartbeatRequest other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (ShutdownMode != other.ShutdownMode) return false;
+ if (!object.Equals(WatchdogConfig, other.WatchdogConfig)) 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 (watchdogConfig_ != null) hash ^= WatchdogConfig.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 (ShutdownMode != 0) {
+ output.WriteRawTag(8);
+ output.WriteEnum((int) ShutdownMode);
+ }
+ if (watchdogConfig_ != null) {
+ output.WriteRawTag(18);
+ output.WriteMessage(WatchdogConfig);
+ }
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (ShutdownMode != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ShutdownMode);
+ }
+ if (watchdogConfig_ != null) {
+ size += 1 + pb::CodedOutputStream.ComputeMessageSize(WatchdogConfig);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(WorkerHeartbeatRequest other) {
+ if (other == null) {
+ return;
+ }
+ if (other.ShutdownMode != 0) {
+ ShutdownMode = other.ShutdownMode;
+ }
+ if (other.watchdogConfig_ != null) {
+ if (watchdogConfig_ == null) {
+ watchdogConfig_ = new global::Tensorflow.WatchdogConfig();
+ }
+ WatchdogConfig.MergeFrom(other.WatchdogConfig);
+ }
+ _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: {
+ shutdownMode_ = (global::Tensorflow.WorkerShutdownMode) input.ReadEnum();
+ break;
+ }
+ case 18: {
+ if (watchdogConfig_ == null) {
+ watchdogConfig_ = new global::Tensorflow.WatchdogConfig();
+ }
+ input.ReadMessage(watchdogConfig_);
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ public sealed partial class WorkerHeartbeatResponse : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new WorkerHeartbeatResponse());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Tensorflow.EventReflection.Descriptor.MessageTypes[6]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public WorkerHeartbeatResponse() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public WorkerHeartbeatResponse(WorkerHeartbeatResponse other) : this() {
+ healthStatus_ = other.healthStatus_;
+ workerLog_ = other.workerLog_.Clone();
+ hostname_ = other.hostname_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public WorkerHeartbeatResponse Clone() {
+ return new WorkerHeartbeatResponse(this);
+ }
+
+ /// Field number for the "health_status" field.
+ public const int HealthStatusFieldNumber = 1;
+ private global::Tensorflow.WorkerHealth healthStatus_ = 0;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public global::Tensorflow.WorkerHealth HealthStatus {
+ get { return healthStatus_; }
+ set {
+ healthStatus_ = value;
+ }
+ }
+
+ /// Field number for the "worker_log" field.
+ public const int WorkerLogFieldNumber = 2;
+ private static readonly pb::FieldCodec _repeated_workerLog_codec
+ = pb::FieldCodec.ForMessage(18, global::Tensorflow.Event.Parser);
+ private readonly pbc::RepeatedField workerLog_ = new pbc::RepeatedField();
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pbc::RepeatedField WorkerLog {
+ get { return workerLog_; }
+ }
+
+ /// Field number for the "hostname" field.
+ public const int HostnameFieldNumber = 3;
+ private string hostname_ = "";
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Hostname {
+ get { return hostname_; }
+ set {
+ hostname_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as WorkerHeartbeatResponse);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(WorkerHeartbeatResponse other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (HealthStatus != other.HealthStatus) return false;
+ if(!workerLog_.Equals(other.workerLog_)) return false;
+ if (Hostname != other.Hostname) return false;
+ return Equals(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (HealthStatus != 0) hash ^= HealthStatus.GetHashCode();
+ hash ^= workerLog_.GetHashCode();
+ if (Hostname.Length != 0) hash ^= Hostname.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 (HealthStatus != 0) {
+ output.WriteRawTag(8);
+ output.WriteEnum((int) HealthStatus);
+ }
+ workerLog_.WriteTo(output, _repeated_workerLog_codec);
+ if (Hostname.Length != 0) {
+ output.WriteRawTag(26);
+ output.WriteString(Hostname);
+ }
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (HealthStatus != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) HealthStatus);
+ }
+ size += workerLog_.CalculateSize(_repeated_workerLog_codec);
+ if (Hostname.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Hostname);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(WorkerHeartbeatResponse other) {
+ if (other == null) {
+ return;
+ }
+ if (other.HealthStatus != 0) {
+ HealthStatus = other.HealthStatus;
+ }
+ workerLog_.Add(other.workerLog_);
+ if (other.Hostname.Length != 0) {
+ Hostname = other.Hostname;
+ }
+ _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: {
+ healthStatus_ = (global::Tensorflow.WorkerHealth) input.ReadEnum();
+ break;
+ }
+ case 18: {
+ workerLog_.AddEntriesFrom(input, _repeated_workerLog_codec);
+ break;
+ }
+ case 26: {
+ Hostname = input.ReadString();
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ #endregion
+
+}
+
+#endregion Designer generated code
diff --git a/src/TensorFlowNET.Core/Protobuf/README.md b/src/TensorFlowNET.Core/Protobuf/README.md
index 2cc8356e..65fe2340 100644
--- a/src/TensorFlowNET.Core/Protobuf/README.md
+++ b/src/TensorFlowNET.Core/Protobuf/README.md
@@ -8,33 +8,35 @@ set SRC_DIR=D:/Projects/tensorflow
set DST_DIR=D:/Projects/TensorFlow.NET/src/TensorFlowNET.Core/Protobuf
protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/framework/resource_handle.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/framework/tensor_shape.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/framework/types.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/framework/tensor.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/framework/attr_value.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/framework/node_def.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/framework/versions.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/framework/function.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/framework/graph.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/framework/variable.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/framework/cost_graph.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/framework/step_stats.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/framework/allocation_description.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/framework/tensor_description.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/framework/api_def.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/framework/device_attributes.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/framework/graph_transfer_info.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/framework/kernel_def.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/framework/iterator.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/framework/log_memory.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/framework/tensor_slice.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/protobuf/saver.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/protobuf/meta_graph.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/protobuf/cluster.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/protobuf/config.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/protobuf/debug.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/protobuf/rewriter_config.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/core/protobuf/control_flow.proto
-protoc -I=%SRC_DIR% --csharp_out=%DST_DIR% tensorflow/python/training/checkpoint_state.proto
+... tensorflow/core/framework/tensor_shape.proto
+... tensorflow/core/framework/types.proto
+... tensorflow/core/framework/tensor.proto
+... tensorflow/core/framework/attr_value.proto
+... tensorflow/core/framework/node_def.proto
+... tensorflow/core/framework/versions.proto
+... tensorflow/core/framework/function.proto
+... tensorflow/core/framework/graph.proto
+... tensorflow/core/framework/variable.proto
+... tensorflow/core/framework/cost_graph.proto
+... tensorflow/core/framework/step_stats.proto
+... tensorflow/core/framework/allocation_description.proto
+... tensorflow/core/framework/tensor_description.proto
+... tensorflow/core/framework/api_def.proto
+... tensorflow/core/framework/device_attributes.proto
+... tensorflow/core/framework/graph_transfer_info.proto
+... tensorflow/core/framework/kernel_def.proto
+... tensorflow/core/framework/iterator.proto
+... tensorflow/core/framework/log_memory.proto
+... tensorflow/core/framework/tensor_slice.proto
+... tensorflow/core/framework/summary.proto
+... tensorflow/core/protobuf/saver.proto
+... tensorflow/core/protobuf/meta_graph.proto
+... tensorflow/core/protobuf/cluster.proto
+... tensorflow/core/protobuf/config.proto
+... tensorflow/core/protobuf/debug.proto
+... tensorflow/core/protobuf/rewriter_config.proto
+... tensorflow/core/protobuf/control_flow.proto
+... tensorflow/core/util/event.proto
+... tensorflow/python/training/checkpoint_state.proto
```
diff --git a/src/TensorFlowNET.Core/Protobuf/Summary.cs b/src/TensorFlowNET.Core/Protobuf/Summary.cs
new file mode 100644
index 00000000..5528abae
--- /dev/null
+++ b/src/TensorFlowNET.Core/Protobuf/Summary.cs
@@ -0,0 +1,1949 @@
+//
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: tensorflow/core/framework/summary.proto
+//
+#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 {
+
+ /// Holder for reflection information generated from tensorflow/core/framework/summary.proto
+ public static partial class SummaryReflection {
+
+ #region Descriptor
+ /// File descriptor for tensorflow/core/framework/summary.proto
+ public static pbr::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static pbr::FileDescriptor descriptor;
+
+ static SummaryReflection() {
+ byte[] descriptorData = global::System.Convert.FromBase64String(
+ string.Concat(
+ "Cid0ZW5zb3JmbG93L2NvcmUvZnJhbWV3b3JrL3N1bW1hcnkucHJvdG8SCnRl",
+ "bnNvcmZsb3caJnRlbnNvcmZsb3cvY29yZS9mcmFtZXdvcmsvdGVuc29yLnBy",
+ "b3RvIicKElN1bW1hcnlEZXNjcmlwdGlvbhIRCgl0eXBlX2hpbnQYASABKAki",
+ "hwEKDkhpc3RvZ3JhbVByb3RvEgsKA21pbhgBIAEoARILCgNtYXgYAiABKAES",
+ "CwoDbnVtGAMgASgBEgsKA3N1bRgEIAEoARITCgtzdW1fc3F1YXJlcxgFIAEo",
+ "ARIYCgxidWNrZXRfbGltaXQYBiADKAFCAhABEhIKBmJ1Y2tldBgHIAMoAUIC",
+ "EAEitQEKD1N1bW1hcnlNZXRhZGF0YRI7CgtwbHVnaW5fZGF0YRgBIAEoCzIm",
+ "LnRlbnNvcmZsb3cuU3VtbWFyeU1ldGFkYXRhLlBsdWdpbkRhdGESFAoMZGlz",
+ "cGxheV9uYW1lGAIgASgJEhsKE3N1bW1hcnlfZGVzY3JpcHRpb24YAyABKAka",
+ "MgoKUGx1Z2luRGF0YRITCgtwbHVnaW5fbmFtZRgBIAEoCRIPCgdjb250ZW50",
+ "GAIgASgMIt4ECgdTdW1tYXJ5EigKBXZhbHVlGAEgAygLMhkudGVuc29yZmxv",
+ "dy5TdW1tYXJ5LlZhbHVlGlgKBUltYWdlEg4KBmhlaWdodBgBIAEoBRINCgV3",
+ "aWR0aBgCIAEoBRISCgpjb2xvcnNwYWNlGAMgASgFEhwKFGVuY29kZWRfaW1h",
+ "Z2Vfc3RyaW5nGAQgASgMGn0KBUF1ZGlvEhMKC3NhbXBsZV9yYXRlGAEgASgC",
+ "EhQKDG51bV9jaGFubmVscxgCIAEoAxIVCg1sZW5ndGhfZnJhbWVzGAMgASgD",
+ "EhwKFGVuY29kZWRfYXVkaW9fc3RyaW5nGAQgASgMEhQKDGNvbnRlbnRfdHlw",
+ "ZRgFIAEoCRrPAgoFVmFsdWUSEQoJbm9kZV9uYW1lGAcgASgJEgsKA3RhZxgB",
+ "IAEoCRItCghtZXRhZGF0YRgJIAEoCzIbLnRlbnNvcmZsb3cuU3VtbWFyeU1l",
+ "dGFkYXRhEhYKDHNpbXBsZV92YWx1ZRgCIAEoAkgAEiYKHG9ic29sZXRlX29s",
+ "ZF9zdHlsZV9oaXN0b2dyYW0YAyABKAxIABIqCgVpbWFnZRgEIAEoCzIZLnRl",
+ "bnNvcmZsb3cuU3VtbWFyeS5JbWFnZUgAEisKBWhpc3RvGAUgASgLMhoudGVu",
+ "c29yZmxvdy5IaXN0b2dyYW1Qcm90b0gAEioKBWF1ZGlvGAYgASgLMhkudGVu",
+ "c29yZmxvdy5TdW1tYXJ5LkF1ZGlvSAASKQoGdGVuc29yGAggASgLMhcudGVu",
+ "c29yZmxvdy5UZW5zb3JQcm90b0gAQgcKBXZhbHVlQm0KGG9yZy50ZW5zb3Jm",
+ "bG93LmZyYW1ld29ya0INU3VtbWFyeVByb3Rvc1ABWj1naXRodWIuY29tL3Rl",
+ "bnNvcmZsb3cvdGVuc29yZmxvdy90ZW5zb3JmbG93L2dvL2NvcmUvZnJhbWV3",
+ "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)})
+ }));
+ }
+ #endregion
+
+ }
+ #region Messages
+ ///
+ /// Metadata associated with a series of Summary data
+ ///
+ public sealed partial class SummaryDescription : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SummaryDescription());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Tensorflow.SummaryReflection.Descriptor.MessageTypes[0]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public SummaryDescription() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public SummaryDescription(SummaryDescription other) : this() {
+ typeHint_ = other.typeHint_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public SummaryDescription Clone() {
+ return new SummaryDescription(this);
+ }
+
+ /// Field number for the "type_hint" field.
+ public const int TypeHintFieldNumber = 1;
+ private string typeHint_ = "";
+ ///
+ /// Hint on how plugins should process the data in this series.
+ /// Supported values include "scalar", "histogram", "image", "audio"
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string TypeHint {
+ get { return typeHint_; }
+ set {
+ typeHint_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as SummaryDescription);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(SummaryDescription other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (TypeHint != other.TypeHint) return false;
+ return Equals(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (TypeHint.Length != 0) hash ^= TypeHint.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 (TypeHint.Length != 0) {
+ output.WriteRawTag(10);
+ output.WriteString(TypeHint);
+ }
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (TypeHint.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(TypeHint);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(SummaryDescription other) {
+ if (other == null) {
+ return;
+ }
+ if (other.TypeHint.Length != 0) {
+ TypeHint = other.TypeHint;
+ }
+ _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: {
+ TypeHint = input.ReadString();
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ ///
+ /// Serialization format for histogram module in
+ /// core/lib/histogram/histogram.h
+ ///
+ public sealed partial class HistogramProto : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new HistogramProto());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Tensorflow.SummaryReflection.Descriptor.MessageTypes[1]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public HistogramProto() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public HistogramProto(HistogramProto other) : this() {
+ min_ = other.min_;
+ max_ = other.max_;
+ num_ = other.num_;
+ sum_ = other.sum_;
+ sumSquares_ = other.sumSquares_;
+ bucketLimit_ = other.bucketLimit_.Clone();
+ bucket_ = other.bucket_.Clone();
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public HistogramProto Clone() {
+ return new HistogramProto(this);
+ }
+
+ /// Field number for the "min" field.
+ public const int MinFieldNumber = 1;
+ private double min_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public double Min {
+ get { return min_; }
+ set {
+ min_ = value;
+ }
+ }
+
+ /// Field number for the "max" field.
+ public const int MaxFieldNumber = 2;
+ private double max_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public double Max {
+ get { return max_; }
+ set {
+ max_ = value;
+ }
+ }
+
+ /// Field number for the "num" field.
+ public const int NumFieldNumber = 3;
+ private double num_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public double Num {
+ get { return num_; }
+ set {
+ num_ = value;
+ }
+ }
+
+ /// Field number for the "sum" field.
+ public const int SumFieldNumber = 4;
+ private double sum_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public double Sum {
+ get { return sum_; }
+ set {
+ sum_ = value;
+ }
+ }
+
+ /// Field number for the "sum_squares" field.
+ public const int SumSquaresFieldNumber = 5;
+ private double sumSquares_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public double SumSquares {
+ get { return sumSquares_; }
+ set {
+ sumSquares_ = value;
+ }
+ }
+
+ /// Field number for the "bucket_limit" field.
+ public const int BucketLimitFieldNumber = 6;
+ private static readonly pb::FieldCodec _repeated_bucketLimit_codec
+ = pb::FieldCodec.ForDouble(50);
+ private readonly pbc::RepeatedField bucketLimit_ = new pbc::RepeatedField();
+ ///
+ /// Parallel arrays encoding the bucket boundaries and the bucket values.
+ /// bucket(i) is the count for the bucket i. The range for
+ /// a bucket is:
+ /// i == 0: -DBL_MAX .. bucket_limit(0)
+ /// i != 0: bucket_limit(i-1) .. bucket_limit(i)
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pbc::RepeatedField BucketLimit {
+ get { return bucketLimit_; }
+ }
+
+ /// Field number for the "bucket" field.
+ public const int BucketFieldNumber = 7;
+ private static readonly pb::FieldCodec _repeated_bucket_codec
+ = pb::FieldCodec.ForDouble(58);
+ private readonly pbc::RepeatedField bucket_ = new pbc::RepeatedField();
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pbc::RepeatedField Bucket {
+ get { return bucket_; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as HistogramProto);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(HistogramProto other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Min, other.Min)) return false;
+ if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Max, other.Max)) return false;
+ if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Num, other.Num)) return false;
+ if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Sum, other.Sum)) return false;
+ if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(SumSquares, other.SumSquares)) return false;
+ if(!bucketLimit_.Equals(other.bucketLimit_)) return false;
+ if(!bucket_.Equals(other.bucket_)) return false;
+ return Equals(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (Min != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Min);
+ if (Max != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Max);
+ if (Num != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Num);
+ if (Sum != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Sum);
+ if (SumSquares != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(SumSquares);
+ hash ^= bucketLimit_.GetHashCode();
+ hash ^= bucket_.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 (Min != 0D) {
+ output.WriteRawTag(9);
+ output.WriteDouble(Min);
+ }
+ if (Max != 0D) {
+ output.WriteRawTag(17);
+ output.WriteDouble(Max);
+ }
+ if (Num != 0D) {
+ output.WriteRawTag(25);
+ output.WriteDouble(Num);
+ }
+ if (Sum != 0D) {
+ output.WriteRawTag(33);
+ output.WriteDouble(Sum);
+ }
+ if (SumSquares != 0D) {
+ output.WriteRawTag(41);
+ output.WriteDouble(SumSquares);
+ }
+ bucketLimit_.WriteTo(output, _repeated_bucketLimit_codec);
+ bucket_.WriteTo(output, _repeated_bucket_codec);
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (Min != 0D) {
+ size += 1 + 8;
+ }
+ if (Max != 0D) {
+ size += 1 + 8;
+ }
+ if (Num != 0D) {
+ size += 1 + 8;
+ }
+ if (Sum != 0D) {
+ size += 1 + 8;
+ }
+ if (SumSquares != 0D) {
+ size += 1 + 8;
+ }
+ size += bucketLimit_.CalculateSize(_repeated_bucketLimit_codec);
+ size += bucket_.CalculateSize(_repeated_bucket_codec);
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(HistogramProto other) {
+ if (other == null) {
+ return;
+ }
+ if (other.Min != 0D) {
+ Min = other.Min;
+ }
+ if (other.Max != 0D) {
+ Max = other.Max;
+ }
+ if (other.Num != 0D) {
+ Num = other.Num;
+ }
+ if (other.Sum != 0D) {
+ Sum = other.Sum;
+ }
+ if (other.SumSquares != 0D) {
+ SumSquares = other.SumSquares;
+ }
+ bucketLimit_.Add(other.bucketLimit_);
+ bucket_.Add(other.bucket_);
+ _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 9: {
+ Min = input.ReadDouble();
+ break;
+ }
+ case 17: {
+ Max = input.ReadDouble();
+ break;
+ }
+ case 25: {
+ Num = input.ReadDouble();
+ break;
+ }
+ case 33: {
+ Sum = input.ReadDouble();
+ break;
+ }
+ case 41: {
+ SumSquares = input.ReadDouble();
+ break;
+ }
+ case 50:
+ case 49: {
+ bucketLimit_.AddEntriesFrom(input, _repeated_bucketLimit_codec);
+ break;
+ }
+ case 58:
+ case 57: {
+ bucket_.AddEntriesFrom(input, _repeated_bucket_codec);
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ ///
+ /// A SummaryMetadata encapsulates information on which plugins are able to make
+ /// use of a certain summary value.
+ ///
+ public sealed partial class SummaryMetadata : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SummaryMetadata());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Tensorflow.SummaryReflection.Descriptor.MessageTypes[2]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public SummaryMetadata() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public SummaryMetadata(SummaryMetadata other) : this() {
+ pluginData_ = other.pluginData_ != null ? other.pluginData_.Clone() : null;
+ displayName_ = other.displayName_;
+ summaryDescription_ = other.summaryDescription_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public SummaryMetadata Clone() {
+ return new SummaryMetadata(this);
+ }
+
+ /// Field number for the "plugin_data" field.
+ public const int PluginDataFieldNumber = 1;
+ private global::Tensorflow.SummaryMetadata.Types.PluginData pluginData_;
+ ///
+ /// Data that associates a summary with a certain plugin.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public global::Tensorflow.SummaryMetadata.Types.PluginData PluginData {
+ get { return pluginData_; }
+ set {
+ pluginData_ = value;
+ }
+ }
+
+ /// Field number for the "display_name" field.
+ public const int DisplayNameFieldNumber = 2;
+ private string displayName_ = "";
+ ///
+ /// Display name for viewing in TensorBoard.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string DisplayName {
+ get { return displayName_; }
+ set {
+ displayName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "summary_description" field.
+ public const int SummaryDescriptionFieldNumber = 3;
+ private string summaryDescription_ = "";
+ ///
+ /// Longform readable description of the summary sequence. Markdown supported.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string SummaryDescription {
+ get { return summaryDescription_; }
+ set {
+ summaryDescription_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as SummaryMetadata);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(SummaryMetadata other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (!object.Equals(PluginData, other.PluginData)) return false;
+ if (DisplayName != other.DisplayName) return false;
+ if (SummaryDescription != other.SummaryDescription) return false;
+ return Equals(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (pluginData_ != null) hash ^= PluginData.GetHashCode();
+ if (DisplayName.Length != 0) hash ^= DisplayName.GetHashCode();
+ if (SummaryDescription.Length != 0) hash ^= SummaryDescription.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 (pluginData_ != null) {
+ output.WriteRawTag(10);
+ output.WriteMessage(PluginData);
+ }
+ if (DisplayName.Length != 0) {
+ output.WriteRawTag(18);
+ output.WriteString(DisplayName);
+ }
+ if (SummaryDescription.Length != 0) {
+ output.WriteRawTag(26);
+ output.WriteString(SummaryDescription);
+ }
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (pluginData_ != null) {
+ size += 1 + pb::CodedOutputStream.ComputeMessageSize(PluginData);
+ }
+ if (DisplayName.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(DisplayName);
+ }
+ if (SummaryDescription.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(SummaryDescription);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(SummaryMetadata other) {
+ if (other == null) {
+ return;
+ }
+ if (other.pluginData_ != null) {
+ if (pluginData_ == null) {
+ pluginData_ = new global::Tensorflow.SummaryMetadata.Types.PluginData();
+ }
+ PluginData.MergeFrom(other.PluginData);
+ }
+ if (other.DisplayName.Length != 0) {
+ DisplayName = other.DisplayName;
+ }
+ if (other.SummaryDescription.Length != 0) {
+ SummaryDescription = other.SummaryDescription;
+ }
+ _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 (pluginData_ == null) {
+ pluginData_ = new global::Tensorflow.SummaryMetadata.Types.PluginData();
+ }
+ input.ReadMessage(pluginData_);
+ break;
+ }
+ case 18: {
+ DisplayName = input.ReadString();
+ break;
+ }
+ case 26: {
+ SummaryDescription = input.ReadString();
+ break;
+ }
+ }
+ }
+ }
+
+ #region Nested types
+ /// Container for nested types declared in the SummaryMetadata message type.
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static partial class Types {
+ public sealed partial class PluginData : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PluginData());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Tensorflow.SummaryMetadata.Descriptor.NestedTypes[0]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public PluginData() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public PluginData(PluginData other) : this() {
+ pluginName_ = other.pluginName_;
+ content_ = other.content_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public PluginData Clone() {
+ return new PluginData(this);
+ }
+
+ /// Field number for the "plugin_name" field.
+ public const int PluginNameFieldNumber = 1;
+ private string pluginName_ = "";
+ ///
+ /// The name of the plugin this data pertains to.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string PluginName {
+ get { return pluginName_; }
+ set {
+ pluginName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "content" field.
+ public const int ContentFieldNumber = 2;
+ private pb::ByteString content_ = pb::ByteString.Empty;
+ ///
+ /// The content to store for the plugin. The best practice is for this to be
+ /// a binary serialized protocol buffer.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pb::ByteString Content {
+ get { return content_; }
+ set {
+ content_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as PluginData);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(PluginData other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (PluginName != other.PluginName) return false;
+ if (Content != other.Content) return false;
+ return Equals(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (PluginName.Length != 0) hash ^= PluginName.GetHashCode();
+ if (Content.Length != 0) hash ^= Content.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 (PluginName.Length != 0) {
+ output.WriteRawTag(10);
+ output.WriteString(PluginName);
+ }
+ if (Content.Length != 0) {
+ output.WriteRawTag(18);
+ output.WriteBytes(Content);
+ }
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (PluginName.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(PluginName);
+ }
+ if (Content.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeBytesSize(Content);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(PluginData other) {
+ if (other == null) {
+ return;
+ }
+ if (other.PluginName.Length != 0) {
+ PluginName = other.PluginName;
+ }
+ if (other.Content.Length != 0) {
+ Content = other.Content;
+ }
+ _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: {
+ PluginName = input.ReadString();
+ break;
+ }
+ case 18: {
+ Content = input.ReadBytes();
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ }
+ #endregion
+
+ }
+
+ ///
+ /// A Summary is a set of named values to be displayed by the
+ /// visualizer.
+ ///
+ /// Summaries are produced regularly during training, as controlled by
+ /// the "summary_interval_secs" attribute of the training operation.
+ /// Summaries are also produced at the end of an evaluation.
+ ///
+ public sealed partial class Summary : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Summary());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Tensorflow.SummaryReflection.Descriptor.MessageTypes[3]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Summary() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Summary(Summary other) : this() {
+ value_ = other.value_.Clone();
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Summary Clone() {
+ return new Summary(this);
+ }
+
+ /// Field number for the "value" field.
+ public const int ValueFieldNumber = 1;
+ private static readonly pb::FieldCodec _repeated_value_codec
+ = pb::FieldCodec.ForMessage(10, global::Tensorflow.Summary.Types.Value.Parser);
+ private readonly pbc::RepeatedField value_ = new pbc::RepeatedField();
+ ///
+ /// Set of values for the summary.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pbc::RepeatedField Value {
+ get { return value_; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as Summary);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(Summary other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if(!value_.Equals(other.value_)) return false;
+ return Equals(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ hash ^= value_.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) {
+ value_.WriteTo(output, _repeated_value_codec);
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ size += value_.CalculateSize(_repeated_value_codec);
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(Summary other) {
+ if (other == null) {
+ return;
+ }
+ value_.Add(other.value_);
+ _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: {
+ value_.AddEntriesFrom(input, _repeated_value_codec);
+ break;
+ }
+ }
+ }
+ }
+
+ #region Nested types
+ /// Container for nested types declared in the Summary message type.
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static partial class Types {
+ public sealed partial class Image : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Image());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Tensorflow.Summary.Descriptor.NestedTypes[0]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Image() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Image(Image other) : this() {
+ height_ = other.height_;
+ width_ = other.width_;
+ colorspace_ = other.colorspace_;
+ encodedImageString_ = other.encodedImageString_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Image Clone() {
+ return new Image(this);
+ }
+
+ /// Field number for the "height" field.
+ public const int HeightFieldNumber = 1;
+ private int height_;
+ ///
+ /// Dimensions of the image.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int Height {
+ get { return height_; }
+ set {
+ height_ = value;
+ }
+ }
+
+ /// Field number for the "width" field.
+ public const int WidthFieldNumber = 2;
+ private int width_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int Width {
+ get { return width_; }
+ set {
+ width_ = value;
+ }
+ }
+
+ /// Field number for the "colorspace" field.
+ public const int ColorspaceFieldNumber = 3;
+ private int colorspace_;
+ ///
+ /// Valid colorspace values are
+ /// 1 - grayscale
+ /// 2 - grayscale + alpha
+ /// 3 - RGB
+ /// 4 - RGBA
+ /// 5 - DIGITAL_YUV
+ /// 6 - BGRA
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int Colorspace {
+ get { return colorspace_; }
+ set {
+ colorspace_ = value;
+ }
+ }
+
+ /// Field number for the "encoded_image_string" field.
+ public const int EncodedImageStringFieldNumber = 4;
+ private pb::ByteString encodedImageString_ = pb::ByteString.Empty;
+ ///
+ /// Image data in encoded format. All image formats supported by
+ /// image_codec::CoderUtil can be stored here.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pb::ByteString EncodedImageString {
+ get { return encodedImageString_; }
+ set {
+ encodedImageString_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as Image);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(Image other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (Height != other.Height) return false;
+ if (Width != other.Width) return false;
+ if (Colorspace != other.Colorspace) return false;
+ if (EncodedImageString != other.EncodedImageString) return false;
+ return Equals(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (Height != 0) hash ^= Height.GetHashCode();
+ if (Width != 0) hash ^= Width.GetHashCode();
+ if (Colorspace != 0) hash ^= Colorspace.GetHashCode();
+ if (EncodedImageString.Length != 0) hash ^= EncodedImageString.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 (Height != 0) {
+ output.WriteRawTag(8);
+ output.WriteInt32(Height);
+ }
+ if (Width != 0) {
+ output.WriteRawTag(16);
+ output.WriteInt32(Width);
+ }
+ if (Colorspace != 0) {
+ output.WriteRawTag(24);
+ output.WriteInt32(Colorspace);
+ }
+ if (EncodedImageString.Length != 0) {
+ output.WriteRawTag(34);
+ output.WriteBytes(EncodedImageString);
+ }
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (Height != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeInt32Size(Height);
+ }
+ if (Width != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeInt32Size(Width);
+ }
+ if (Colorspace != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeInt32Size(Colorspace);
+ }
+ if (EncodedImageString.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeBytesSize(EncodedImageString);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(Image other) {
+ if (other == null) {
+ return;
+ }
+ if (other.Height != 0) {
+ Height = other.Height;
+ }
+ if (other.Width != 0) {
+ Width = other.Width;
+ }
+ if (other.Colorspace != 0) {
+ Colorspace = other.Colorspace;
+ }
+ if (other.EncodedImageString.Length != 0) {
+ EncodedImageString = other.EncodedImageString;
+ }
+ _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: {
+ Height = input.ReadInt32();
+ break;
+ }
+ case 16: {
+ Width = input.ReadInt32();
+ break;
+ }
+ case 24: {
+ Colorspace = input.ReadInt32();
+ break;
+ }
+ case 34: {
+ EncodedImageString = input.ReadBytes();
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ public sealed partial class Audio : pb::IMessage