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.

Main.cs 2.4 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Text;
  5. using Tensorflow;
  6. using Tensorflow.Estimators;
  7. using Tensorflow.Models.ObjectDetection;
  8. using static Tensorflow.Binding;
  9. namespace TensorFlowNET.Examples.ImageProcessing.ObjectDetection
  10. {
  11. public class Main : IExample
  12. {
  13. public bool Enabled { get; set; } = true;
  14. public bool IsImportingGraph { get; set; } = true;
  15. public string Name => "Object Detection API";
  16. ModelLib model_lib = new ModelLib();
  17. public bool Run()
  18. {
  19. string model_dir = "D:/Projects/PythonLab/tf-models/research/object_detection/models/model";
  20. var config = tf.estimator.RunConfig(model_dir: model_dir);
  21. var train_and_eval_dict = model_lib.create_estimator_and_inputs(run_config: config);
  22. var estimator = train_and_eval_dict.estimator;
  23. var train_input_fn = train_and_eval_dict.train_input_fn;
  24. var eval_input_fns = train_and_eval_dict.eval_input_fns;
  25. var eval_on_train_input_fn = train_and_eval_dict.eval_on_train_input_fn;
  26. var predict_input_fn = train_and_eval_dict.predict_input_fn;
  27. var train_steps = train_and_eval_dict.train_steps;
  28. var (train_spec, eval_specs) = model_lib.create_train_and_eval_specs(train_input_fn,
  29. eval_input_fns,
  30. eval_on_train_input_fn,
  31. predict_input_fn,
  32. train_steps,
  33. eval_on_train_data: false);
  34. // Currently only a single Eval Spec is allowed.
  35. tf.estimator.train_and_evaluate(estimator, train_spec, eval_specs[0]);
  36. return true;
  37. }
  38. public Graph BuildGraph()
  39. {
  40. throw new NotImplementedException();
  41. }
  42. public Graph ImportGraph()
  43. {
  44. throw new NotImplementedException();
  45. }
  46. public void Predict(Session sess)
  47. {
  48. throw new NotImplementedException();
  49. }
  50. public void PrepareData()
  51. {
  52. throw new NotImplementedException();
  53. }
  54. public void Train(Session sess)
  55. {
  56. throw new NotImplementedException();
  57. }
  58. void IExample.Test(Session sess)
  59. {
  60. throw new NotImplementedException();
  61. }
  62. }
  63. }