我需要在C ++中实现自定义Mask-RCNN,以对自定义数据集执行实例分割。因为我是一个初学者,所以我只了解理论,但是我真的不知道如何应用它。
您能给我一些指导以启动我的项目吗?谢谢。
答案 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个负载)将为您提供最佳结果。