реклама на сайте
подробности

 
 
4 страниц V  « < 2 3 4  
Reply to this topicStart new topic
> Распознавание музыкальных инструментов, Экспромт на тему цветомузыки
Мур
сообщение Apr 29 2016, 04:27
Сообщение #46


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Огурцов @ Apr 28 2016, 21:55) *
неделя фпгашного кодера == полста тысяч

На самом деле 1 день.(в MatLab это делается это нажатием 1 кнопки) Остальные 5 на тестбенч и верификацию
Цитата(Огурцов @ Apr 28 2016, 21:55) *
с чего вы взяли

У вас распределенные вычисления
Цитата(Огурцов @ Apr 28 2016, 21:55) *
матричному вычислителю всё равно что и как считать, как программу напишете, так и будет и не надо ничего наращивать в железе, если производительности хватает
если же не хватает, то и вам придётся

Ключевой момент. В ФПГА не придется. Это для него не задача вообще.
Цитата(Огурцов @ Apr 28 2016, 21:55) *
а вот мне весьма любопытно, как вы будете плавучку в фпга считать и прочую тригонометрию, сколько ресурсов уйдёт на тривиальщину

Это не военная система, чтобы привлекать плавающую точку..
Кстати, она есть в палитре дизайнера... Только зачем?
Мне и целочисленной математики хватит с головой. Там на выходе вообще можно опуститься до 6 разрядов...
Цитата(Огурцов @ Apr 28 2016, 21:55) *
потому что всё заказчики, что бьют себя тапком в грудь, крича, что они такие крутые и богатые, в конце всегда плачут, почему так дорого
и только нормальные ценят старания по оптимизации, понимая, что ещё чуть дешевле и будет уже намного хуже

Есть у меня такой оппонент. Ничего нового... Когда это действительно оправдано разумно прислушаться. Но в этой задаче с многими неизвестными это опасно.
Да и вообще - цель-то быстро пройти вариантов 8 и "босыми ножками" пройти всю математику, чтобы нащупать самый простой путь.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Apr 29 2016, 07:54
Сообщение #47


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(Мур @ Apr 29 2016, 05:27) *
У вас распределенные вычисления

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


Цитата(Мур @ Apr 29 2016, 05:27) *
Это для него не задача вообще.

а может, это задача не для него вообще

Цитата(Мур @ Apr 29 2016, 05:27) *
Это не военная система, чтобы привлекать плавающую точку..

целочисленная тригонометрия ? синусы-косинусы, достигающие значения пи даже не в военное время ?
Go to the top of the page
 
+Quote Post
Мур
сообщение Apr 29 2016, 12:54
Сообщение #48


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Огурцов @ Apr 29 2016, 10:54) *
не так, они конвейерные, синхронизация там получается автоматически - данные получил - данные обработал - данные отправил

Заблуждение... Квитанции во времени разные...

Цитата(Огурцов @ Apr 29 2016, 10:54) *
а может, это задача не для него вообще

Классически для FPGA Умножение с накоплением+ табличные преобразования

Цитата(Огурцов @ Apr 29 2016, 10:54) *
целочисленная тригонометрия ? синусы-косинусы, достигающие значения пи даже не в военное время ?

Не паясничайте... Тут гиперболический синус и сигмоидная функция как экзотика(таблично решается). Остальное линейно
...Вы хоть бы вникли в природу NN
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Apr 29 2016, 14:03
Сообщение #49


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(Мур @ Apr 29 2016, 12:54) *
Заблуждение... Квитанции во времени разные...

с общим клоком на spi ? с чего бы ?

Цитата(Мур @ Apr 29 2016, 12:54) *
Классически для FPGA Умножение с накоплением+ табличные преобразования

не поверите, и на мк легко

Цитата(Мур @ Apr 29 2016, 12:54) *
Не паясничайте... Тут гиперболический синус и сигмоидная функция как экзотика(таблично решается). Остальное линейно
...Вы хоть бы вникли в природу NN

а фильтры вам совсем не надо ?
Go to the top of the page
 
+Quote Post
Мур
сообщение Apr 29 2016, 17:24
Сообщение #50


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Огурцов @ Apr 29 2016, 17:03) *
с общим клоком на spi ? с чего бы ?

Разве что подогнать по самому медленному вычислению...

Цитата(Огурцов @ Apr 29 2016, 17:03) *
не поверите, и на мк легко

Знаю

Цитата(Огурцов @ Apr 29 2016, 17:03) *
а фильтры вам совсем не надо ?

Уже есть
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Apr 29 2016, 18:21
Сообщение #51


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(Мур @ Apr 29 2016, 17:24) *
Разве что подогнать по самому медленному вычислению...

там не будет медленных вычислителей, оне все одинаковые

Цитата(Мур @ Apr 29 2016, 17:24) *
Уже есть

целочисленные ?
Go to the top of the page
 
+Quote Post
syoma
сообщение Apr 29 2016, 19:15
Сообщение #52


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Заинтересовала тема, но интересно, сколько будет продолжаться это деление шкуры неубитого медведя путем сравнения МК с ПЛИС, если еще нифига не известно как должен работать алгоритм?
Я бы начал с решения задачи в Матлабе - засунуть туда музыку, попытаться выделить инструменты, записать в отдельный файл и посмотреть, что получилось. Можно проверить все, вплоть до нейронных сетей. А когда получится, там практически пофиг для чего генерировать код - хоть для МК, хоть для ПЛИС.
Go to the top of the page
 
+Quote Post
alexunder
сообщение Apr 29 2016, 19:44
Сообщение #53


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(syoma @ Apr 29 2016, 20:15) *
Заинтересовала тема, но интересно, сколько будет продолжаться это деление шкуры неубитого медведя путем сравнения МК с ПЛИС, если еще нифига не известно как должен работать алгоритм?

священная война не закончится никогда sm.gif

Цитата(syoma @ Apr 29 2016, 20:15) *
Я бы начал с решения задачи в Матлабе - засунуть туда музыку, попытаться выделить инструменты, записать в отдельный файл и посмотреть, что получилось. Можно проверить все, вплоть до нейронных сетей. А когда получится, там практически пофиг для чего генерировать код - хоть для МК, хоть для ПЛИС.

Мне кажется, тут нужен совсем иной подход (как и предлагает один из участников спора МК-ПЛИС), нежели просто выделение (фильтрация) чего-либо. Как вот в этой типовой песне отделить вокал от баса или лид-гитары? Да никак. Правильно выше кто-то сказал: нельзя 3D разложить на 2D.


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Мур
сообщение Apr 30 2016, 05:33
Сообщение #54


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Огурцов @ Apr 29 2016, 21:21) *
там не будет медленных вычислителей, оне все одинаковые

Время вычисления различных функций соответственно различно. Критичное время вашего конвейера на "рассыпухе из МК" будет определять самая медленная...
Цитата(Огурцов @ Apr 29 2016, 21:21) *
целочисленные ?

Естественно..


Цитата(syoma @ Apr 29 2016, 22:15) *
Заинтересовала тема, но интересно, сколько будет продолжаться это деление шкуры неубитого медведя путем сравнения МК с ПЛИС, если еще нифига не известно как должен работать алгоритм?
Я бы начал с решения задачи в Матлабе - засунуть туда музыку, попытаться выделить инструменты, записать в отдельный файл и посмотреть, что получилось. Можно проверить все, вплоть до нейронных сетей. А когда получится, там практически пофиг для чего генерировать код - хоть для МК, хоть для ПЛИС.

Абсолютно солидарен. Предельна гибкость(и дешевизна при клонировании) при развитии дает тендем МК-FPGA

Цитата(alexunder @ Apr 29 2016, 22:44) *
священная война не закончится никогда sm.gif

Нет никакой войны. Есть различные стили в подходах...
Цитата(alexunder @ Apr 29 2016, 22:44) *
Мне кажется, тут нужен совсем иной подход (как и предлагает один из участников спора МК-ПЛИС), нежели просто выделение (фильтрация) чего-либо. Как вот в этой типовой песне отделить вокал от баса или лид-гитары? Да никак. Правильно выше кто-то сказал: нельзя 3D разложить на 2D.

Тут не требуется абсолютного разделения из смеси... Тут пример порождения различных базисов разложения.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Apr 30 2016, 07:14
Сообщение #55


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(Мур @ Apr 30 2016, 05:33) *
Время вычисления различных функций соответственно различно. Критичное время вашего конвейера на "рассыпухе из МК" будет определять самая медленная...

я предлагаю простой матричный конвейерный двухмерный вычислитель размером 16x16 камней на одной плате с производительностью где-то 25 000 мипсов по цене одного фпга
и военный - трехмерный, из 16 таких плат этажеркой, с производительностью 400 000 мипсов
никаких различных функций там быть не может, различного времени выполнения программы быть не может
хотя бы только по тому, что программа во всех камнях одинаковая
различны, например, весовые коэффициенты нейросети
либо модели (сэмплы) инструментов, по которым проводится сравнение
Go to the top of the page
 
+Quote Post
Мур
сообщение Apr 30 2016, 07:24
Сообщение #56


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Огурцов @ Apr 30 2016, 10:14) *
я предлагаю простой матричный конвейерный двухмерный вычислитель размером 16x16 камней на одной плате с производительностью где-то 25 000 мипсов по цене одного фпга
и военный - трехмерный, из 16 таких плат этажеркой, с производительностью 400 000 мипсов
никаких различных функций там быть не может, различного времени выполнения программы быть не может
хотя бы только по тому, что программа во всех камнях одинаковая
различны, например, весовые коэффициенты нейросети
либо модели (сэмплы) инструментов, по которым проводится сравнение

Имеет право быть, но как следующий этап после исследовательского в гибкой аппаратной платформе...
Go to the top of the page
 
+Quote Post
Мур
сообщение Jul 1 2016, 12:29
Сообщение #57


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Заманчивый пример
http://www.nallatech.com/?s=Caffe+Integration
https://github.com/BVLC/caffe/

Удобно взять сверточную нейронную сеть (CNN) с архитектурой Caffe Integration на http://caffe.berkeleyvision.org/ Ее разработали в лаборатории Berkeley Vision and Learning Center с многими энтузиастами.
При этом нужно отредактировать имеющийся XML-файл настроек, который описывает различные комбинации блоков в слоях нейронной сети. А это 4 слоя:
- слой свертки, сворачивающий маленькие кадрики с ядрами, соответствующими разным признакам, ка-то угол, линия.
- объединяющий слой, в котором группируются в подрегионы максимумы реакций сверточного слоя.
- слой детекторов,
- объединяющий слой в котором изображение интерпретируется как множество векторов.
Затем XML-файл компилируется с выдачей модели CNN под конкретную ПЛИС.
Другой возможностью быстро освоить CNN в ПЛИС является использование системы ImageNet, которая есть в свободном доступе вместе с тренировочными последовательностями и испытательными стендами.
В ней 5 сверточных слоя и 3 полносвязных слоя, на которые приходится более 99% времени работы сети.
В сверточных слоях стоят те же фильтры признаков размером 11×11, 5×5 или 3×3. Причем базовым фильтром является фильтр (3×3), а большие фильтры получаются повторением вычислений с этим фильтром.
Для реализации CNN в ПЛИС используются блоки DSP с умножителем с аккумулятором 18×18 bits. Новые ПЛИС Altera Arria 10 позволяют сконфигурировать в одном таком блоке 1 умножение с плавающей запятой или 2 умножения 18×19 с фиксированной запятой. А если коэффициенты уменьшить до 10 бит и менее, то такую операцию можно делать на сумматорах. Поэтому есть смысл соптимизировать алгоритм на фиксированную запятую, умножив этим самым производительность в 2-3 раза.
В системе ImageNet предлагается библиотека с интерфейсом OpenCL, в которой собраны модели свертывателей с разрядностью коэффициентов, начиная с 10 bit 3×3.
Так что в ПЛИС Arria10 GX 1150 помещается до ~512 сверточных блока из этой библиотеки.
В примере программирования CNN используется ускоритель на ПЛИС Nallatech 510T, который втыкается в РС или сервер как карта GPU. На ней стоят 2 FPGA Altera Arria 10 GX 1150 и внешня память, обмены с которой происходят со скоростью ~60 GBytes/sec. Типичное энергопотребление - 150W, т.е. более чем вдвое экономнее, чем у хорошего GPGPU.
В данном акселераторе обрабатываются параллельно 16 кадров, над каждым из которых трудятся 64 параллельных свертывателя. Так что выделются одновремено 8 особенностей изображения в 8 точках. Таким образом всего вычисляются 1024 свертки 3×3 параллельно.
В результате, на обработку каждого кадра тратится 9 миллисекунд, а с учетом распараллеливания кадров - в среднем, 748 микросекунд.Т.е. это более чем в 3 раза быстрее,чем на крутом GPU К40.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jul 1 2016, 12:47
Сообщение #58


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Мур @ Jul 1 2016, 15:29) *
Заманчивый пример



Хм, такими темпами вы вечно будете делать свой инструмент. biggrin.gif
Чем учить то будете свою сеть?

Я вот за это время редактор по созданию обучающих последовательностей для 8-и канального генератора эффектов уже сделал.

Прикрепленное изображение
Go to the top of the page
 
+Quote Post
Make_Pic
сообщение Jul 17 2016, 12:26
Сообщение #59


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 9-10-04
Из: Россия, Пермь
Пользователь №: 828



Цитата(AlexandrY @ Jul 1 2016, 15:47) *
...
Я вот за это время редактор по созданию обучающих последовательностей для 8-и канального генератора эффектов уже сделал.


Ух ты... Интересно, можно поподробнее о вашей чудо машинке?
Go to the top of the page
 
+Quote Post

4 страниц V  « < 2 3 4
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th June 2025 - 15:02
Рейтинг@Mail.ru


Страница сгенерированна за 0.01504 секунд с 7
ELECTRONIX ©2004-2016