You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

AnchorGenerator.cs 17 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343
  1. // <auto-generated>
  2. // Generated by the protocol buffer compiler. DO NOT EDIT!
  3. // source: object_detection/protos/anchor_generator.proto
  4. // </auto-generated>
  5. #pragma warning disable 1591, 0612, 3021
  6. #region Designer generated code
  7. using pb = global::Google.Protobuf;
  8. using pbc = global::Google.Protobuf.Collections;
  9. using pbr = global::Google.Protobuf.Reflection;
  10. using scg = global::System.Collections.Generic;
  11. namespace Tensorflow.Models.ObjectDetection.Protos {
  12. /// <summary>Holder for reflection information generated from object_detection/protos/anchor_generator.proto</summary>
  13. public static partial class AnchorGeneratorReflection {
  14. #region Descriptor
  15. /// <summary>File descriptor for object_detection/protos/anchor_generator.proto</summary>
  16. public static pbr::FileDescriptor Descriptor {
  17. get { return descriptor; }
  18. }
  19. private static pbr::FileDescriptor descriptor;
  20. static AnchorGeneratorReflection() {
  21. byte[] descriptorData = global::System.Convert.FromBase64String(
  22. string.Concat(
  23. "Ci5vYmplY3RfZGV0ZWN0aW9uL3Byb3Rvcy9hbmNob3JfZ2VuZXJhdG9yLnBy",
  24. "b3RvEhdvYmplY3RfZGV0ZWN0aW9uLnByb3Rvcxo8b2JqZWN0X2RldGVjdGlv",
  25. "bi9wcm90b3MvZmxleGlibGVfZ3JpZF9hbmNob3JfZ2VuZXJhdG9yLnByb3Rv",
  26. "GjNvYmplY3RfZGV0ZWN0aW9uL3Byb3Rvcy9ncmlkX2FuY2hvcl9nZW5lcmF0",
  27. "b3IucHJvdG8aOW9iamVjdF9kZXRlY3Rpb24vcHJvdG9zL211bHRpc2NhbGVf",
  28. "YW5jaG9yX2dlbmVyYXRvci5wcm90bxoyb2JqZWN0X2RldGVjdGlvbi9wcm90",
  29. "b3Mvc3NkX2FuY2hvcl9nZW5lcmF0b3IucHJvdG8iggMKD0FuY2hvckdlbmVy",
  30. "YXRvchJNChVncmlkX2FuY2hvcl9nZW5lcmF0b3IYASABKAsyLC5vYmplY3Rf",
  31. "ZGV0ZWN0aW9uLnByb3Rvcy5HcmlkQW5jaG9yR2VuZXJhdG9ySAASSwoUc3Nk",
  32. "X2FuY2hvcl9nZW5lcmF0b3IYAiABKAsyKy5vYmplY3RfZGV0ZWN0aW9uLnBy",
  33. "b3Rvcy5Tc2RBbmNob3JHZW5lcmF0b3JIABJZChttdWx0aXNjYWxlX2FuY2hv",
  34. "cl9nZW5lcmF0b3IYAyABKAsyMi5vYmplY3RfZGV0ZWN0aW9uLnByb3Rvcy5N",
  35. "dWx0aXNjYWxlQW5jaG9yR2VuZXJhdG9ySAASXgoeZmxleGlibGVfZ3JpZF9h",
  36. "bmNob3JfZ2VuZXJhdG9yGAQgASgLMjQub2JqZWN0X2RldGVjdGlvbi5wcm90",
  37. "b3MuRmxleGlibGVHcmlkQW5jaG9yR2VuZXJhdG9ySABCGAoWYW5jaG9yX2dl",
  38. "bmVyYXRvcl9vbmVvZmIGcHJvdG8z"));
  39. descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
  40. new pbr::FileDescriptor[] { global::Tensorflow.Models.ObjectDetection.Protos.FlexibleGridAnchorGeneratorReflection.Descriptor, global::Tensorflow.Models.ObjectDetection.Protos.GridAnchorGeneratorReflection.Descriptor, global::Tensorflow.Models.ObjectDetection.Protos.MultiscaleAnchorGeneratorReflection.Descriptor, global::Tensorflow.Models.ObjectDetection.Protos.SsdAnchorGeneratorReflection.Descriptor, },
  41. new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
  42. new pbr::GeneratedClrTypeInfo(typeof(global::Tensorflow.Models.ObjectDetection.Protos.AnchorGenerator), global::Tensorflow.Models.ObjectDetection.Protos.AnchorGenerator.Parser, new[]{ "GridAnchorGenerator", "SsdAnchorGenerator", "MultiscaleAnchorGenerator", "FlexibleGridAnchorGenerator" }, new[]{ "AnchorGeneratorOneof" }, null, null)
  43. }));
  44. }
  45. #endregion
  46. }
  47. #region Messages
  48. /// <summary>
  49. /// Configuration proto for the anchor generator to use in the object detection
  50. /// pipeline. See core/anchor_generator.py for details.
  51. /// </summary>
  52. public sealed partial class AnchorGenerator : pb::IMessage<AnchorGenerator> {
  53. private static readonly pb::MessageParser<AnchorGenerator> _parser = new pb::MessageParser<AnchorGenerator>(() => new AnchorGenerator());
  54. private pb::UnknownFieldSet _unknownFields;
  55. [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  56. public static pb::MessageParser<AnchorGenerator> Parser { get { return _parser; } }
  57. [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  58. public static pbr::MessageDescriptor Descriptor {
  59. get { return global::Tensorflow.Models.ObjectDetection.Protos.AnchorGeneratorReflection.Descriptor.MessageTypes[0]; }
  60. }
  61. [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  62. pbr::MessageDescriptor pb::IMessage.Descriptor {
  63. get { return Descriptor; }
  64. }
  65. [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  66. public AnchorGenerator() {
  67. OnConstruction();
  68. }
  69. partial void OnConstruction();
  70. [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  71. public AnchorGenerator(AnchorGenerator other) : this() {
  72. switch (other.AnchorGeneratorOneofCase) {
  73. case AnchorGeneratorOneofOneofCase.GridAnchorGenerator:
  74. GridAnchorGenerator = other.GridAnchorGenerator.Clone();
  75. break;
  76. case AnchorGeneratorOneofOneofCase.SsdAnchorGenerator:
  77. SsdAnchorGenerator = other.SsdAnchorGenerator.Clone();
  78. break;
  79. case AnchorGeneratorOneofOneofCase.MultiscaleAnchorGenerator:
  80. MultiscaleAnchorGenerator = other.MultiscaleAnchorGenerator.Clone();
  81. break;
  82. case AnchorGeneratorOneofOneofCase.FlexibleGridAnchorGenerator:
  83. FlexibleGridAnchorGenerator = other.FlexibleGridAnchorGenerator.Clone();
  84. break;
  85. }
  86. _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  87. }
  88. [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  89. public AnchorGenerator Clone() {
  90. return new AnchorGenerator(this);
  91. }
  92. /// <summary>Field number for the "grid_anchor_generator" field.</summary>
  93. public const int GridAnchorGeneratorFieldNumber = 1;
  94. [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  95. public global::Tensorflow.Models.ObjectDetection.Protos.GridAnchorGenerator GridAnchorGenerator {
  96. get { return anchorGeneratorOneofCase_ == AnchorGeneratorOneofOneofCase.GridAnchorGenerator ? (global::Tensorflow.Models.ObjectDetection.Protos.GridAnchorGenerator) anchorGeneratorOneof_ : null; }
  97. set {
  98. anchorGeneratorOneof_ = value;
  99. anchorGeneratorOneofCase_ = value == null ? AnchorGeneratorOneofOneofCase.None : AnchorGeneratorOneofOneofCase.GridAnchorGenerator;
  100. }
  101. }
  102. /// <summary>Field number for the "ssd_anchor_generator" field.</summary>
  103. public const int SsdAnchorGeneratorFieldNumber = 2;
  104. [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  105. public global::Tensorflow.Models.ObjectDetection.Protos.SsdAnchorGenerator SsdAnchorGenerator {
  106. get { return anchorGeneratorOneofCase_ == AnchorGeneratorOneofOneofCase.SsdAnchorGenerator ? (global::Tensorflow.Models.ObjectDetection.Protos.SsdAnchorGenerator) anchorGeneratorOneof_ : null; }
  107. set {
  108. anchorGeneratorOneof_ = value;
  109. anchorGeneratorOneofCase_ = value == null ? AnchorGeneratorOneofOneofCase.None : AnchorGeneratorOneofOneofCase.SsdAnchorGenerator;
  110. }
  111. }
  112. /// <summary>Field number for the "multiscale_anchor_generator" field.</summary>
  113. public const int MultiscaleAnchorGeneratorFieldNumber = 3;
  114. [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  115. public global::Tensorflow.Models.ObjectDetection.Protos.MultiscaleAnchorGenerator MultiscaleAnchorGenerator {
  116. get { return anchorGeneratorOneofCase_ == AnchorGeneratorOneofOneofCase.MultiscaleAnchorGenerator ? (global::Tensorflow.Models.ObjectDetection.Protos.MultiscaleAnchorGenerator) anchorGeneratorOneof_ : null; }
  117. set {
  118. anchorGeneratorOneof_ = value;
  119. anchorGeneratorOneofCase_ = value == null ? AnchorGeneratorOneofOneofCase.None : AnchorGeneratorOneofOneofCase.MultiscaleAnchorGenerator;
  120. }
  121. }
  122. /// <summary>Field number for the "flexible_grid_anchor_generator" field.</summary>
  123. public const int FlexibleGridAnchorGeneratorFieldNumber = 4;
  124. [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  125. public global::Tensorflow.Models.ObjectDetection.Protos.FlexibleGridAnchorGenerator FlexibleGridAnchorGenerator {
  126. get { return anchorGeneratorOneofCase_ == AnchorGeneratorOneofOneofCase.FlexibleGridAnchorGenerator ? (global::Tensorflow.Models.ObjectDetection.Protos.FlexibleGridAnchorGenerator) anchorGeneratorOneof_ : null; }
  127. set {
  128. anchorGeneratorOneof_ = value;
  129. anchorGeneratorOneofCase_ = value == null ? AnchorGeneratorOneofOneofCase.None : AnchorGeneratorOneofOneofCase.FlexibleGridAnchorGenerator;
  130. }
  131. }
  132. private object anchorGeneratorOneof_;
  133. /// <summary>Enum of possible cases for the "anchor_generator_oneof" oneof.</summary>
  134. public enum AnchorGeneratorOneofOneofCase {
  135. None = 0,
  136. GridAnchorGenerator = 1,
  137. SsdAnchorGenerator = 2,
  138. MultiscaleAnchorGenerator = 3,
  139. FlexibleGridAnchorGenerator = 4,
  140. }
  141. private AnchorGeneratorOneofOneofCase anchorGeneratorOneofCase_ = AnchorGeneratorOneofOneofCase.None;
  142. [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  143. public AnchorGeneratorOneofOneofCase AnchorGeneratorOneofCase {
  144. get { return anchorGeneratorOneofCase_; }
  145. }
  146. [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  147. public void ClearAnchorGeneratorOneof() {
  148. anchorGeneratorOneofCase_ = AnchorGeneratorOneofOneofCase.None;
  149. anchorGeneratorOneof_ = null;
  150. }
  151. [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  152. public override bool Equals(object other) {
  153. return Equals(other as AnchorGenerator);
  154. }
  155. [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  156. public bool Equals(AnchorGenerator other) {
  157. if (ReferenceEquals(other, null)) {
  158. return false;
  159. }
  160. if (ReferenceEquals(other, this)) {
  161. return true;
  162. }
  163. if (!object.Equals(GridAnchorGenerator, other.GridAnchorGenerator)) return false;
  164. if (!object.Equals(SsdAnchorGenerator, other.SsdAnchorGenerator)) return false;
  165. if (!object.Equals(MultiscaleAnchorGenerator, other.MultiscaleAnchorGenerator)) return false;
  166. if (!object.Equals(FlexibleGridAnchorGenerator, other.FlexibleGridAnchorGenerator)) return false;
  167. if (AnchorGeneratorOneofCase != other.AnchorGeneratorOneofCase) return false;
  168. return Equals(_unknownFields, other._unknownFields);
  169. }
  170. [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  171. public override int GetHashCode() {
  172. int hash = 1;
  173. if (anchorGeneratorOneofCase_ == AnchorGeneratorOneofOneofCase.GridAnchorGenerator) hash ^= GridAnchorGenerator.GetHashCode();
  174. if (anchorGeneratorOneofCase_ == AnchorGeneratorOneofOneofCase.SsdAnchorGenerator) hash ^= SsdAnchorGenerator.GetHashCode();
  175. if (anchorGeneratorOneofCase_ == AnchorGeneratorOneofOneofCase.MultiscaleAnchorGenerator) hash ^= MultiscaleAnchorGenerator.GetHashCode();
  176. if (anchorGeneratorOneofCase_ == AnchorGeneratorOneofOneofCase.FlexibleGridAnchorGenerator) hash ^= FlexibleGridAnchorGenerator.GetHashCode();
  177. hash ^= (int) anchorGeneratorOneofCase_;
  178. if (_unknownFields != null) {
  179. hash ^= _unknownFields.GetHashCode();
  180. }
  181. return hash;
  182. }
  183. [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  184. public override string ToString() {
  185. return pb::JsonFormatter.ToDiagnosticString(this);
  186. }
  187. [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  188. public void WriteTo(pb::CodedOutputStream output) {
  189. if (anchorGeneratorOneofCase_ == AnchorGeneratorOneofOneofCase.GridAnchorGenerator) {
  190. output.WriteRawTag(10);
  191. output.WriteMessage(GridAnchorGenerator);
  192. }
  193. if (anchorGeneratorOneofCase_ == AnchorGeneratorOneofOneofCase.SsdAnchorGenerator) {
  194. output.WriteRawTag(18);
  195. output.WriteMessage(SsdAnchorGenerator);
  196. }
  197. if (anchorGeneratorOneofCase_ == AnchorGeneratorOneofOneofCase.MultiscaleAnchorGenerator) {
  198. output.WriteRawTag(26);
  199. output.WriteMessage(MultiscaleAnchorGenerator);
  200. }
  201. if (anchorGeneratorOneofCase_ == AnchorGeneratorOneofOneofCase.FlexibleGridAnchorGenerator) {
  202. output.WriteRawTag(34);
  203. output.WriteMessage(FlexibleGridAnchorGenerator);
  204. }
  205. if (_unknownFields != null) {
  206. _unknownFields.WriteTo(output);
  207. }
  208. }
  209. [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  210. public int CalculateSize() {
  211. int size = 0;
  212. if (anchorGeneratorOneofCase_ == AnchorGeneratorOneofOneofCase.GridAnchorGenerator) {
  213. size += 1 + pb::CodedOutputStream.ComputeMessageSize(GridAnchorGenerator);
  214. }
  215. if (anchorGeneratorOneofCase_ == AnchorGeneratorOneofOneofCase.SsdAnchorGenerator) {
  216. size += 1 + pb::CodedOutputStream.ComputeMessageSize(SsdAnchorGenerator);
  217. }
  218. if (anchorGeneratorOneofCase_ == AnchorGeneratorOneofOneofCase.MultiscaleAnchorGenerator) {
  219. size += 1 + pb::CodedOutputStream.ComputeMessageSize(MultiscaleAnchorGenerator);
  220. }
  221. if (anchorGeneratorOneofCase_ == AnchorGeneratorOneofOneofCase.FlexibleGridAnchorGenerator) {
  222. size += 1 + pb::CodedOutputStream.ComputeMessageSize(FlexibleGridAnchorGenerator);
  223. }
  224. if (_unknownFields != null) {
  225. size += _unknownFields.CalculateSize();
  226. }
  227. return size;
  228. }
  229. [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  230. public void MergeFrom(AnchorGenerator other) {
  231. if (other == null) {
  232. return;
  233. }
  234. switch (other.AnchorGeneratorOneofCase) {
  235. case AnchorGeneratorOneofOneofCase.GridAnchorGenerator:
  236. if (GridAnchorGenerator == null) {
  237. GridAnchorGenerator = new global::Tensorflow.Models.ObjectDetection.Protos.GridAnchorGenerator();
  238. }
  239. GridAnchorGenerator.MergeFrom(other.GridAnchorGenerator);
  240. break;
  241. case AnchorGeneratorOneofOneofCase.SsdAnchorGenerator:
  242. if (SsdAnchorGenerator == null) {
  243. SsdAnchorGenerator = new global::Tensorflow.Models.ObjectDetection.Protos.SsdAnchorGenerator();
  244. }
  245. SsdAnchorGenerator.MergeFrom(other.SsdAnchorGenerator);
  246. break;
  247. case AnchorGeneratorOneofOneofCase.MultiscaleAnchorGenerator:
  248. if (MultiscaleAnchorGenerator == null) {
  249. MultiscaleAnchorGenerator = new global::Tensorflow.Models.ObjectDetection.Protos.MultiscaleAnchorGenerator();
  250. }
  251. MultiscaleAnchorGenerator.MergeFrom(other.MultiscaleAnchorGenerator);
  252. break;
  253. case AnchorGeneratorOneofOneofCase.FlexibleGridAnchorGenerator:
  254. if (FlexibleGridAnchorGenerator == null) {
  255. FlexibleGridAnchorGenerator = new global::Tensorflow.Models.ObjectDetection.Protos.FlexibleGridAnchorGenerator();
  256. }
  257. FlexibleGridAnchorGenerator.MergeFrom(other.FlexibleGridAnchorGenerator);
  258. break;
  259. }
  260. _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  261. }
  262. [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  263. public void MergeFrom(pb::CodedInputStream input) {
  264. uint tag;
  265. while ((tag = input.ReadTag()) != 0) {
  266. switch(tag) {
  267. default:
  268. _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
  269. break;
  270. case 10: {
  271. global::Tensorflow.Models.ObjectDetection.Protos.GridAnchorGenerator subBuilder = new global::Tensorflow.Models.ObjectDetection.Protos.GridAnchorGenerator();
  272. if (anchorGeneratorOneofCase_ == AnchorGeneratorOneofOneofCase.GridAnchorGenerator) {
  273. subBuilder.MergeFrom(GridAnchorGenerator);
  274. }
  275. input.ReadMessage(subBuilder);
  276. GridAnchorGenerator = subBuilder;
  277. break;
  278. }
  279. case 18: {
  280. global::Tensorflow.Models.ObjectDetection.Protos.SsdAnchorGenerator subBuilder = new global::Tensorflow.Models.ObjectDetection.Protos.SsdAnchorGenerator();
  281. if (anchorGeneratorOneofCase_ == AnchorGeneratorOneofOneofCase.SsdAnchorGenerator) {
  282. subBuilder.MergeFrom(SsdAnchorGenerator);
  283. }
  284. input.ReadMessage(subBuilder);
  285. SsdAnchorGenerator = subBuilder;
  286. break;
  287. }
  288. case 26: {
  289. global::Tensorflow.Models.ObjectDetection.Protos.MultiscaleAnchorGenerator subBuilder = new global::Tensorflow.Models.ObjectDetection.Protos.MultiscaleAnchorGenerator();
  290. if (anchorGeneratorOneofCase_ == AnchorGeneratorOneofOneofCase.MultiscaleAnchorGenerator) {
  291. subBuilder.MergeFrom(MultiscaleAnchorGenerator);
  292. }
  293. input.ReadMessage(subBuilder);
  294. MultiscaleAnchorGenerator = subBuilder;
  295. break;
  296. }
  297. case 34: {
  298. global::Tensorflow.Models.ObjectDetection.Protos.FlexibleGridAnchorGenerator subBuilder = new global::Tensorflow.Models.ObjectDetection.Protos.FlexibleGridAnchorGenerator();
  299. if (anchorGeneratorOneofCase_ == AnchorGeneratorOneofOneofCase.FlexibleGridAnchorGenerator) {
  300. subBuilder.MergeFrom(FlexibleGridAnchorGenerator);
  301. }
  302. input.ReadMessage(subBuilder);
  303. FlexibleGridAnchorGenerator = subBuilder;
  304. break;
  305. }
  306. }
  307. }
  308. }
  309. }
  310. #endregion
  311. }
  312. #endregion Designer generated code