IInferenceNetwork.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using System;
  2. namespace YOLODetectProcessLib
  3. {
  4. /// <summary>
  5. /// 所有推理网络的接口
  6. /// </summary>
  7. public interface IInferenceNetwork : IDisposable
  8. {
  9. /// <summary>
  10. /// 当前推理网络的哈希值
  11. /// 用于检查当前推理网络是否和当前软件版本所要求的一致
  12. /// </summary>
  13. string HashCode { get; }
  14. /// <summary>
  15. /// 推理网络名
  16. /// 用于查找推理网络文件是否存在
  17. /// </summary>
  18. string NetworkName { get; }
  19. /// <summary>
  20. /// 网络是否已加载
  21. /// </summary>
  22. bool NetworkLoaded { get; }
  23. /// <summary>
  24. /// 加载网络
  25. /// </summary>
  26. /// <param name="numCPU">cpu数量</param>
  27. /// <param name="netFilePath">模型路径</param>
  28. void LoadNetwork(int numCPU, string netFilePath);
  29. /// <summary>
  30. /// 进行推理
  31. /// </summary>
  32. /// <param name="images"></param>
  33. /// <returns></returns>
  34. IDetectedObject[][] Process(InferenceNetworkInputImage[] images);
  35. }
  36. }