Pull to refresh
8
0
Send message

Если ты во вложенном цикле называешь переменные i,j то тебя уже ничто не спасёт в этой жизни. Автор бы ещё все переменные назвал а1, а2 ... , а потом на этом основании что то доказывал.

Очень хорошая для тек кто и так идеально знает тему. А если серьёзно, вообще ничего не понятно, максимальное нагромождение терминов ради терминов.

Я же писал предсказуемость даёт успокоение, кайф даёт момент когда мозг учится предсказывать. Секс возьму, но к абстрактной красоте это отношения не имеет. А что такое порядок - это когда что то можно предсказать. Нарушенный порядок это означает что в порядке(предсказуемом) найдено непредсказуемое и мозг может научиться новому. Огонь же прекрасный пример того как на фоне общей предсказуемости всегда возникают непредсказанные элементы.

Вы совершенно правы, просто эксперименты с архитектурами я планировал, оставить на потом, когда удастся сконструировать адекватную функцию потерь.

Обратите внимание, я ещё про оптимизацию под андрюшку добавил.

Я не знаю как оформить в виде репо, я замерял текущее время непосредственно до и после инференса на обоих моделях у меня получилось следующее:

Если я при компиляции tensorflow не использовал опцию --copt=-march=native
то есть не оптимизировал для своего процессора, то в обоих случаях у меня получалось около 100-110 мс. Если же я использовал данную опцию, то на с++ у меня получалось 50-60мс.

python писал: This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operati
ons:  AVX2 FMA

То есть если бы я компилировал TensorFlow и для python у меня скорее всего тоже получилось бы примерно 50-60мс.

Тратить время на то чтобы Вам что то доказывать я естественно не буду, вы мне за это не платите, если Вам интересно пришлите свою почту и я отправлю вам готовые программы, ссылка на исходник на с++ у Вас уже есть, сможете сами замерить.

Я замерил что код python и c++ у меня дают примерно одинаковое время инференса.

Я знаю только Tensorflow, можно ли так же с PyTorch не знаю. Я мог что то упустить из того что делал, так что если что не получается спрашивайте.

Если вы разбирались может поделитесь как это сделать, ещё отмечу, что я пытался использовать делегат nnapi для чтобы задействовать аппаратное ускорение на моём redmi note 7, там в базеле для этого нужно nnapi как зависимость добавить, но программа при этом крашилась, пока не разобрался почему.

Приложение вместе со обученной нейросетью получается примерно 30MB плюс размер весов нейросети.

Целью статьи было поделится знаниями по применению нейросетей на c++ с использованием Qt, не демонстрация конкретного приложения, в статье есть ссылка на github с готовым проектом приложения.

Information

Rating
Does not participate
Registered
Activity