Я заинтересован в реализации сверточной нейронной сети в моей программе на C++, где я отслеживаю помеченных насекомых (я также использую OpenCV). Я вижу, что люди часто упоминают Caffe, Torch и Theano, но я не слышал обсуждения CNN в SHOGUN Toolbox. Хорошо ли работает эта CNN, и кто-нибудь порекомендует ее, если вы работаете на C++? Я использовал Theano через scikit-neuralnetwork на Python для тестирования некоторых изображений, и это сработало очень хорошо, за исключением, к сожалению, Theano только для Python.
Чем сверточная нейронная сеть SHOGUN Toolbox отличается от Caffe и Theano?
Ответы (2)
Разница заключается в скорости. cnn требует больших вычислительных ресурсов, поэтому реализация на GPU как минимум в 10 раз быстрее, чем на CPU. caffe и theano обеспечивают бесшовную интеграцию вызова ЦП или ГП, что может быть непросто реализовать без большого опыта программирования на ГП.
Могут существовать и другие факторы, включая унифицированный интерфейс для многопользовательской игры, стохастический градиентный спуск и т. д., но я думаю, что проблема скорости является наиболее важной среди всех этих факторов.
Shogun также поддерживает GPU для некоторых операций, используемых в коде NN. Хотя это еще не все. На данный момент другие библиотеки могут работать быстрее. В основном мы создали эти сети для того, чтобы иметь возможность легко сравнивать их с другими алгоритмами в наборе инструментов.
Преимущество, однако, заключается в том, что вы можете использовать его на большом количестве языков (в то время как внутри выполняется код C++) — полезно, если вы не хотите использовать python.
Вот несколько блокнотов IPython, которые вы можете использовать в качестве основы для сравнения:
Мы ценим любой опыт, которым можно поделиться. Shogun находится в постоянном развитии, и особенно NN привлекают много людей для работы над ними, так что ожидайте, что все изменится. Если вы заинтересованы в помощи Shogun, работающему на графическом процессоре, сообщите нам об этом.