Какие существуют популярные библиотеки/фреймворки для создания нейросетей и машинного обучения для C++?

Насколько я знаю, в нейросетях преимущественно используется Python и какие нибудь Keras, TensorFlow, PyTorch для него.

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

Неужели нет действительно хороших библиотек или фреймворков для C++ для удобного создания нейросетей для последующего их обучения?

Да я читал про TensorFlow для C++, то такое ощущение, что про него особо нет практически информации, даже англоязычной информации мало. На офиц. сайте насчет плюсов там просто обычная сухая документация без какого-то удобного распределения информации, как это в питоновском разделе TF.
  • Вопрос задан
  • 384 просмотра
Пригласить эксперта
Ответы на вопрос 2
@rPman
Что не так то? нормальная документация с примерами - https://www.tensorflow.org/api_docs/cc
Окей, из крупных проектов гуглится сразу opennn.net открыто доступно с примерами

Только непонятно зачем тебе именно c++?

Нейронные сети это работа с данными, и главное, работа со специализированным оборудованием типо gpu, которое на пару порядков быстрее обычного процессора. Какая тебе разница на чем писать в конечном счете, все равно ты будешь пользоваться готовым инструментарием по его правилам?

И да, opencl - общепринятый язык описания кода для высокоэффективных вычислений на универсально любом оборудовании (cpu/сопроцессор/видеокарта/...) это по факту язык с c++ синтаксисом.
Ответ написан
veydlin
@veydlin
Мне никогда не жалко средств на свое любопытство
Нейросети под питон это С++ с API под питон, на уровне питона скорость не нужна, возьми да полож данные из одного места в другое, настрой параметры, а дальше питон дернет ядро либы на С++ и будет скорость

Если хочется писать вообще все на С++ то это будет НАМНОГО сложней (я знаю, ведь я пытался), думаю ты уже погуглил нейросетевые либы на С++ и обнаружил "разнообразие", если ты задаешь вопрос тут, потому что не смог найти решение, и если тебе даже посоветуют решение из недр интернета о котором никто не слышал, то какое у него будет комьюнити? У кого спросишь совета как решить проблему в либе про которую никто не знает? Как долго разработчики будут исправлять критичный баг на который ты нарвался и который остановил твою работу дальше?

Пока ты будешь запускать тот же TensorFlow на С++ неделями, я за день напишу питон скрипт и просто запущу его из С++, и это будет работать одинаково

Попробуй вот как, напиши сначала на питон нейросеть и запускай свое питон приложение из С++, а потом попробуй переписать на TensorFlow С++ API, и в процессе боли, страданий и потери времени поймешь, что это дает только боль, страдание и потерю времени

Не стоит забывать, что стоит подбирать инструменты под задачу, а не натягивать все на один свой любимый инструмент
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы