C ++ - Как реализовать маску R-CNN? - PullRequest
0 голосов
/ 03 октября 2018

Мне нужно реализовать пользовательский маска-RCNN в C ++ для выполнения сегментации экземпляра в пользовательском наборе данных.Поскольку я новичок, я просто знаю теорию, но я действительно не знаю, как ее применить.

Не могли бы вы дать мне несколько советов для начала моего проекта?Спасибо.

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

C ++ Отлично подходит для создания приложений ML.

Некоторым концепциям, которые вам необходимо изучить, являются

  • Матричные макеты (мажорная строка, мажорная колонка)
  • Векторы
  • Умножение матричных векторов
  • Матричное умножение матриц

Самое главное - это локальность кэша.Уменьшение количества кешей ОСОБЕННО в умножении матриц (gemm и gemv) будет определяющим фактором скорости вашей сети.Использование умножения наивной матрицы (n ^ 3 загрузок), дружественного к кешу, даст вам лучшие результаты.

0 голосов
/ 03 октября 2018

Для новичка машинное обучение на C ++ будет очень высокой планкой.

Практически все пакеты используют Python для API.Tensorflow позволяет запускать API сеанса в C ++, но вам нужно построить граф на Python.И работа со сборкой тензорного потока будет проблемой.

Достаньте Mask-RCNN из своего github, запустите его на python, поймите это.Убедитесь, что лицензия соответствует вашим потребностям.Затем, предполагая, что ваш проект находится на C ++, освежите связи между C ++ и python.Сделайте так, чтобы ваш C ++ выполнял вызовы к слою Python, который импортирует Mask-RCNN.

Любой другой подход будет создавать значительные препятствия для новичка.

...