LINUX.ORG.RU

Подобрать оптимальный GPU под существующую модель tf.keras

 , , , ,


0

1

Приветствую, лорчане!

Есть в проекте существующая модель, которая создавалась до меня. Это несколько доработанная ResNet. Сейчас она обученная выполняется на настольном GPU от NVIDIA аж для 4х камер одновременно. Производительности хватает. Возник вопрос, можно ли модель перенести на NVIDIA Jetson (какой именно - надо ещё выбрать), точнее на 4 штуки, которые будут по одному на камеру. И желательно ответ получить до покупки этих самых Jetson'ов.

Я думаю, этот вопрос можно разделить на такие составные части:
* Хватит ли производительности GPU? Насколько я нашёл, можно измерить FLOPS примерно так и потом сравнить с производительностью GPU в Jetson (или просто другой видеокартой).
* Хватит ли памяти на ускорителе? Это должно быть проще, просто посмотреть, сколько занимает сейчас.
* Проблемы с переносом с x86_64 на ARM. Тут, вроде, всё должно быть Ок. Используется tensorflow, numpy, opencv, т.е. ничего необычного.
UPD:* Ещё вопрос, насколько там дохлый CPU, т.к. есть некоторая предобработка кадра на нём.

Правильный ли подход с измерением требуемых вычислительных ресурсов (FLOPS)?
Правильно ли сравнивать потребление памяти на GPU разных архитектур?

Может быть у кого такой опыт есть, что посоветуете?

★★★★★

Последнее исправление: ls-h (всего исправлений: 1)
Ответ на: комментарий от ls-h

CUDA_VISIBLE_DEVICES не спасёт отца русской демократии?

А как же родной ЛОР?

Здесь принято в очередной раз обсуждать vim против emacs, а не TF.

anonymous
()
Ответ на: комментарий от anonymous

CUDA_VISIBLE_DEVICES

А это тут при чём? Вопрос в том, какую железку купить, чтобы на ней запускать модель.

ls-h ★★★★★
() автор топика

Почему-то никак не получилось найти регистранта, счастливого обладателя Jetson. Осталось ощущение, что это был некромант, но не могу найти у него отзыв.

Хватит ли производительности GPU?

Вот здесь были какие-то FPS https://developer.nvidia.com/embedded/jetson-benchmarks

ResNet-50 от 40 до 2k FPS.

Хватит ли памяти на ускорителе?

Насколько я помню, в ResNet относительно немного весов. Зависит, конечно, от конкретной модели (18, 34, 50 и 101), но у меня отложилось в памяти, что у ResNet-50 примерно мегабайт 100 весов.

Проблемы с переносом с x86_64 на ARM.

Их нет. Много лун назад запускал я одну и ту же модель (вроде бы colorize??) на x86_64 и Raspberry Pi. И всё там присутствовало: TF, numpy и OpenCV.

anonymous
()
Ответ на: комментарий от ls-h

Я изначально подумал, что проблема в том, что в модели зашито 4 устройства, а использовать хочется одно. Тонкая настройка делается либо той переменной, либо через tf.device.

anonymous
()

Какую-то хероту абстрактную спрашиваешь, товарищ.

Какой GPU у тебя сейчас, какая сейчас процент загрузки и какую конкретно модель джетсонов планируется купить?

можно измерить FLOPS

А можно просто спецификации почитать.

WitcherGeralt ★★
()

Смотря какой FPS нужен + надо посмотреть сколько времени занимает пре- и пост- процессинг у вас. А так же будете ли вы работать/можете ли инференсить с батчом

omegatype ★★★
()
Ответ на: комментарий от omegatype

Смотря какой FPS нужен

Минимум 17 FPS. Исходный кадр 1848*1848, который потом сравнивается с предыдущими, определяется движение, если оно есть, то обрезается и сжимается до 400*400 и уже в таком виде идёт на вход нейронной сети.

можете ли инференсить с батчом

Не, надо каждый кадр отдельно, чтобы задержка была минимальной.

ls-h ★★★★★
() автор топика
Ответ на: комментарий от anonymous

А ещё, почему FLOPS интересует

Я думал измерить FLOPS у модели и посмотреть у каких устройств какая производительность, подобрать подходящее с небольшим запасом, процентов 20.

ls-h ★★★★★
() автор топика
Ответ на: комментарий от WitcherGeralt

Какую-то хероту абстрактную спрашиваешь, товарищ.

Просто в Jetson никогда не тыкал, а тут возник вопрос «А давайте его купим. Заработает?»

Какой GPU у тебя сейчас

RTX 2060, 6 GiB

какая сейчас процент загрузки

Занято примерно 1745MiB VRAM, загрузка около 6%, насколько я могу судить по nvidia-smi.

какую конкретно модель джетсонов планируется купить

Вот это я и хочу понять.

ls-h ★★★★★
() автор топика
Ответ на: комментарий от WitcherGeralt

А можно просто спецификации почитать.

Моделька не совсем чистый ResNet. Из каких спецификаций можно узнать, насколько она нагружает GPU?

ls-h ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Radeon RX 6900 XT

Там работает TF, есть CUDA?

ls-h ★★★★★
() автор топика
Ответ на: комментарий от ls-h

Ответ в том же комментарии, на который ты отвечаешь.

Это очень грубо, но вариант более чем рабочий и ещё более очевидный. Смотришь спеку видюхи, на которой гоняешь, там будут указана пиковая производительность в терафлопсах, смотришь процент загрузки, отрезаешь этот процент от терафлопсов в спеке, смотришь спеки моделей джетсонов.

WitcherGeralt ★★
()
Ответ на: комментарий от WitcherGeralt

хватит чуть ли не любого вплоть до Nano.

Я думаю, лучше с запасом, какой-нибудь из Jetson TX2.
Скажите, милсдарь Ведьмак, а бывают какие-то платы под модули, кроме dev kit'ов? Например, если мне надо только USB и Ethernet. Или это кастомное производство только?

ls-h ★★★★★
() автор топика
Последнее исправление: ls-h (всего исправлений: 1)
Ответ на: комментарий от WitcherGeralt

Также скинули ссылку на готовые

Спасибо!

P.S.: Был бы у NV какой-нибудь сервис, чтобы можно было у них в облаке позапускать на этих Jetson'ах свой код, посмотреть, как работает...

ls-h ★★★★★
() автор топика
Последнее исправление: ls-h (всего исправлений: 1)
Ответ на: комментарий от ls-h

Ну а точно есть уверенность что нейронка - узкое место? Иногда бывает что препроцессинг и/или рендеринг тормозят и потом ругают нейронку

omegatype ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.