Python vs C++ в нейронных сетях. Сравнение.
Вставка
- Опубліковано 11 лют 2025
- Ты можешь стать моим Patron и помочь с развитием канала:
/ proger20
Моя страничка в ВКонтакте: altus.i...
Мой GitHub: github.com/Int...
В видео используется мелодии:
Sleeplessness - The Brothers Records.
New Year's Anthem - Quincas Moreira.
Сравнение необъективное, ибо:
1) тензорфлоу написан на тех же плюсах
2) тензорфлоу использует мощь видеокарты, распараллеливая всё на тысячи потоков
Да по сути было сравнение C++ (TensorFlow ) с C++ (Свой код). Если б нейросеть была на чисто питоне это было бы кашмар медленный
для этого и были придуманы библиотеки
Если Вы хотите помочь развитию канала, то можете подписать на Канал, а также стать моим Патроном:
www.patreon.com/proger20
Буду безумно благодарен.
Чувак!!!! Ты делаешь контент не зря! Продолжай пожалуйста, в наши времена в рунете слова c++ и нейросети встречаются слишком редко
Сравнил C++ в 1 поток и C++ в несколько потоков ))
Спасибо за такое прекрасное видео! Автор старался, сразу видно)
Спасибо за видео.
П.с. Твои понравившиеся комментарии в конце видео перекрывают другие всплывающие ролики по бокам.
Успехов!
С++ vs С++ + Python будет правильно.
Объясни
@@MaximKuzmin7 потому что библиотеки использующие в Python написаны на С++.
@@cppprograms5868 ок, теперь не понимаю почему Python медленный, хотя написан на библеотеках С++?
@@MaximKuzmin7 я не говорю что Python написан на библиотеках С++, Python написан на Си.
Я говорю что используемые для ИИ библиотеки в этом видео в питона написаны на С++.
@@MaximKuzmin7 Python уступает потому что он очень медленный язык программирования а если бы эти библиотеки были бы написаны на Python то он бы уступил ещё больше даже сотни раз местами и 1000 раз.
Поэтому этих библиотеки написаны на С++ и вызываются из Python а вызов из Python этих библиотек не работает быстро как вызов из С++ и ещё они содержат обёрку для Python-а всё это сказывается на скорости работы
не могу пока написать конструктивный комментарий, так как только учу базу в с++ (на первом курсе в вузе), но твои видосы кайфовые, спасибо за контент
но вообще я знаю, что в с++ можно задействовать для нейросети как проц, так и видюху, так что можно посмотреть что-нибудь с использованием разных количеств ядер и разных апи для видюхи (opengl, vulkan), если это возможно конечно :D
привет, как успехи? кем работаешь ? что изучаешь? что посоветуешь(я на 1 курсе)?
привет, как успехи? кем работаешь ? что изучаешь? что посоветуешь(я на 1 курсе)?@@helloworld-fv8kx
Не забрасывай,оч круто
Спасибо большое
Получилось очень классно! Респект
-На пайтоне вы можете написать все что угодно, но на плюсах вы можете написать пайтон.
Смысл сравнивать си++ и с++? Твой код понятно хуже, чем код на тезор флоу. Не корректо использовать в одном коде relu а в другом сигмоиду, рилу считается быстрее и софт макс это мульти, а сигмоида для бинарной классификации, тоже скорость подсчета разеый)) вот над этим и экперементируй))
Эксперементировал. Relu быстрее, но незначительное. Я уже знаю как можно оптимизировать. Но если честно сейчас не до этого как-то...
Не корректное сравнение. Нужно было полностью писать на языке, в том числе и сеть, или использовать качественные библиотеки на обоих языках.
с++ vs c++ ибо большинство библиотека написаны на c++
Давай больше о c++ видео))
Ну все, как приду с работы сразу запишу десяток видео по с++
@@Proger20 )))
Однозначно лайк и подписка.
наверно есть возможность оптимизировать библиотеки на с++ так, чтобы обучение было быстрее, ведь сам по себе язык гораздо быстрее питона
Плюсы сразу файл скомпилируют и пользователю не надо питухон устанавливать.
"питухон" надо будет запомнить NOTED, спс
Да был полезно
Забавно, но все написано на плюсах. Джава на плюсах, плюсы на плюсах (си) хапззхапзхпазхпаап, проги на плюсах. А все почему? Потому что он среднеуровневый ъуъ!
Отличный контент! Лайк за это однозначно. Вопрос: Где часть видосов со скрина на твоем канале?
Не понял, что значит "со скрина"
@@Proger20 0:21 где у тебя показаны все видео с твоего канала. Минимум 3-х точно нет на канале в разделе видео :)
@@grandlagging0zero175 удалил я их, хлам , а не видео было
За то что признаёшь кривость кода на C++ лайк, многие зазнаются и начинают пропихивать питон как более быстрый яп, хотя это в корне не так.
Спасибо за видео все очень хорошо
насчет tensorflow то скажу что она в основном на с++
все библиотеки для нейронок написаны на плюсах
а также людьми опытными а ты (извини) еще нуб ,
ну а питоном просто проще управлять и он удобнее
Знаю что нуб, в видео об этом сказано
@@Proger20 у меня есть код своей нейронки но никак не могу подобрать формулу для коректировки весов что думаешь ?
@@Proger20 извини за нуб сам такой если не хуже)
Полагаю tensorFlow использовал видеокарту для расчёта или расчёт в несколько потоков на процессоре. Что не было реализовано на плюсах. Вот и разница в скорости.
Ну ты гений блин, как ты думаешь, на чём написан tensorflow? Плюсы+гпу+симд+мультитреад. Другими словами ты сравниваешь кривые плюсы с плюсами на стероидах.
Блин, реально очень красиво объясняет))))жаль что популярность пока мала, ну ничего))((
Удачи тебе друг)))
Я код не смотрел, поэтому могу тебе предложить использовать SIMD операции для ускорения обучения
Как именно это делается я не знаю, но очень много смотрел про эти инструкции правда давно
Еще вариант на GPU делать это все
Только где и как учить CUDA вопрос,
Хотя я видел на одном сайте можно с помощью OpenGL перемножать матрицы на видеокарте а потом с нее просто результат забирать
Ну тип тоже быстрей как вариант
Не имеется у меня GPU(( Может когда-нибудь введу систему пожертвования, чтобы накопить на GPU((
Сижу с момента сборки компа на Vega 8 R3 2200G
Просто перемножать матрицы и забирать данные обратно, слишком затратно, видеокарта будет проигрывать, т.к. ты упрешься с пропускную способность pci
@@ИльдарБулатов-т4хты прав, я проводил сравнение, C++ Eigen (умножение матриц на процессоре в 1 поток с хорошей оптимизацией машинного кода) против OpenGL Python (умножение матриц на GPU), так вот, встроенный графический ускоритель в процессоре умножал в 2 раза медленнее матрицы, чем 1 поток процессора 😢😢😢
@@endlessvd да, там много нюансов на самом деле, у вас встройка сколько ядер имеет? мне бы еще хотелось посмотреть как вы реализовали свой код, из контекста я понял вы использовали язык glsl для compute shaders, все верно я понял?
Я могу использовать glsl как для opengl, так и для vulkan, но я основном я использую opencl, вы хотите, чтобы я показал вам шейдер для перемнодения матриц?
Скажи, пожалуйста: ты фрилансишь или работаешь в компании какой-то?
Ни то ни другое
чел, как думаешь, вообще есть смысл продзгать это все на сях(с использование cuda)? я вот решаю вложиться в это или нет.
я думаю есть)
Не корректное сравнение - разные сети (функции активации) поэтому и время такое странное.
Вычислительно сигмоида намного тяжелее релу.
Чтобы сравнивать инструменты(ЯП) - заготовка(прога с данными) должна быть одно и той же по всем параметрам.
Привет, выпусти пожалуйста курс по разработке и на с++ пж я подписан
Хотелось бы взглянуть на этот питоновский вариант. Я раньше уже, наслышанный о мощи питона в нейронках, посмотрел инструкцию по созданию простой нейронки по распознаванию чисел. Воспроизвёл у себя. Тоже интересно было сравнить с тем, что получилось у меня на Java. В итоге питон по скорости проиграл даже не в разы, а на порядки. Может такой кривой вариант попался, хз. Через numpy сделано, все дела...
Позволю себе дать ещё совет автору. Поразбирайте внимательно ваш сишный вариант, может найдёте, где криво. Ну не должно быть такой разницы в скорости. Библиотеки для питона на тех же плюсах пишут. Я тоже изначальный вариант на Java, который делал по видео, сначала оптимизировал, ускорив раза в два в однопотоке, а потом ещё и масштабировал, чтобы все ядра проца загружал. В итоге разница производительности и качества кода с изначальным вариантом просто пропасть.
Ха-ха-ха, не .. вы видимо какой-то мусор нашли, написанный на питоне... На Tensorflow очень быстро работают нейронки. Респект любому человеку, кто напишет, чтобы у него нейронка работала так же быстро, как на TF
+ у меня только на одном ядре запускается нейронка
@@Proger20 А где скачать путёвый вариант на питоне?
@@Proger20 Ну у вас то может и на одном ядре, а питоновкий вариант как? Это к слову о разнице в скорости.
Я с тобой
Жаль что о нормальных ютуб-программистах, которые умеют нормально рассказать и показать в основном никто не знает
Это можно исправить!) Если будем распространять видео... В связи с карантином думаю переход на более интересные ролики с занимательной практикой на питоне.)
Слушай, а как насчёт нейросетей на ассемблере.
Зачем? Это нереально долго ради небольшой скорости
@@AnuarLife насчет небольшой это точно? почему не средней или большой? Суть была в другом, в том что интересно бы глянуть насколько именно быстрее, пока напишешь не узнаешь, хотя печатая данное сообщение пришло в голову, что реально мог же загуглить есть ли написанные уже и глянуть скорость, если есть.
Какую книжку рекомендуете для новичков по С++?
Все, что я знаю по С++, узнал из уроков на ютубе
cpp reference официальный сайт консорциума стандарта языка с/с++, там вы можете узнать абсолютно всю информацию про с++
Норм, только на гитхабе пусто :)
Руки не доходят