C ++-如何实现Mask R-CNN?

时间:2018-10-03 18:09:36

标签: c++ instance mask segment

我需要在C ++中实现自定义Mask-RCNN,以对自定义数据集执行实例分割。因为我是一个初学者,所以我只了解理论,但是我真的不知道如何应用它。

您能给我一些指导以启动我的项目吗?谢谢。

2 个答案:

答案 0 :(得分:2)

对于初学者来说,用C ++进行机器学习将是一个很高的标准。

几乎所有的软件包都使用python作为API。 Tensorflow允许在C ++中运行会话API,但是您需要在python中构建图形。处理张量流的构建将是一件痛苦的事情。

从其github获取Mask-RCNN,在python中运行它,了解它。检查许可证是否符合您的需求。然后,假设您的项目是C ++,请重新研究C ++和python之间的绑定。让您的C ++调用一个导入Mask-RCNN的python层。

任何其他方法都会给初学者带来重大障碍。

答案 1 :(得分:0)

C ++非常适合制作ML应用程序。

您需要学习的一些概念

  • 矩阵布局(行专业,列专业)
  • 向量
  • 矩阵向量乘法
  • 矩阵矩阵乘法

最重要的是缓存位置。尤其是矩阵乘法(gemm和gemv)中减少缓存未命中率的降低将是网络速度的决定性因素。使用对缓存友好的朴素矩阵乘法(n ^ 3个负载)将为您提供最佳结果。