Перейти к содержимому
Compvision.ru

Recommended Posts

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

первая ссылка на этот пост была)

но там без деталей и походу использовались видеокарты с большой памятью.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 minutes ago, mrgloom said:

первая ссылка на этот пост была)

но там без деталей и походу использовались видеокарты с большой памятью.

Там говорят, что запускались на Jetson TK1, а это embedded платформа с 1 гигом памяти на всё. Хотя хз сколько они там использовали сверточных слоев. 

Если там есть простой юзерагайд по сборке/запуску, то могу запустить на чем-нибудь производительном и померять потребление памяти.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А насколько быстро все это работает ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 hours ago, Smorodov said:

А насколько быстро все это работает ?

Руководствуясь все той-же статьей с хабра, там утверждается, что на TK1 оно работает ~1 секунду на кадр. На хорошей десктопной GPU но в разы быстрее будет...думаю, что ~100ms на кадр.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
8 hours ago, mrgloom said:

тут готовый тутор, надо только пути поменять.

http://mi.eng.cam.ac.uk/projects/segnet/tutorial.html

Что-то там не понятно какой датасет качать. Зашел на их FTP, а там картинок гигабайт 6...О_О

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тут еще лежат обученные модели

http://mi.eng.cam.ac.uk/projects/segnet/models/

https://github.com/alexgkendall/SegNet-Tutorial/blob/master/Example_Models/segnet_model_zoo.md

 

segnet_basic_weights_camvid_inference.caffemodel

как раз видимо для CamVid dataset который идёт с тутором.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В постере они пишут про время и память.

segnet_poster.png

Еще тут пишут, что

Цитата

I believe the data required (410MB) is just for the weights/data. Caffe requires additional memory for the solver and gradient parameters.

непонятно как посчитать точно сколько памяти надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
9 hours ago, mrgloom said:

https://github.com/alexgkendall/SegNet-Tutorial

датасет тут лежит, скачивается со всем остальным.

 

Сейчас попробую скачать...класть датасеты в разархивированном виде в репозиторий - это конечно гениальное решение :-(

 

1 hour ago, mrgloom said:

непонятно как посчитать точно сколько памяти надо.

А что у вас за задача такая, что критично максимальное потребление памяти?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тэкс, из первых наблюдений: тренировка сетки из файла segnet_solver.prototxt с размером мини-батча равным одному, отжирает ~5Gb видеопамяти, т.ч. с батчем >1 на моей карточке оно не запускается.

При запуске скрипта compute_bn_statistic.py с натренированной сеткой зажирает ~4Gb памяти.

Но это судя по всему я гонял максимально возможную сетку, там наверняка можно менять число сверточных/разверточных слоев.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попробовал уже обученную модель segnet_basic_camvid.caffemodel , она работает, но запустить получилось только на CPU, из-за большого объема требуемой памяти.

Цитата

 

export PATH=$PATH:/home/myuser/Downloads/SegNet/caffe-segnet/build/tools
export PYTHONPATH=/home/myuser/Downloads/SegNet/caffe-segnet/python:$PYTHONPATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64

python /home/myuser/Downloads/SegNet/SegNet-Tutorial/Scripts/compute_bn_statistics.py /home/myuser/Downloads/SegNet/SegNet-Tutorial/Models/segnet_basic_train.prototxt /home/myuser/Downloads/SegNet/SegNet-Tutorial/Models/Training/segnet_basic_camvid.caffemodel /home/myuser/Downloads/SegNet/Models/Inference/

 


segnet_basic_train.prototxt

batch size 1
Memory required for data: 410930228
~5000 Mb

На что тратится остальная память? как я понимаю 410930228 это ж ~400 Mb?

 

Попробовал менять batch size

batch size 4
~6400 Mb

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
4 minutes ago, mrgloom said:

Попробовал менять batch size

batch size 4
~6400 Mb

А вот это странно, по идее по батчу требования к памяти должны расти линейно...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

То что выдаёт само caffe да, а то что показывает htop  в колонке RES нет(хотя не знаю насчёт того насколько адекватно так мерить).

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

batch_size: 1
Memory required for data: 410930228
htop RES column ~4230Mb

batch_size: 2
Memory required for data: 821856308
htop RES column ~4683Mb

batch_size: 4
Memory required for data: 1643708468
htop RES column ~5598Mb

batch_size: 8
Memory required for data: 3287412788
htop RES column ~6597Mb (after 1st iteration 7261Mb)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
23 hours ago, mrgloom said:

То что выдаёт само caffe да, а то что показывает htop  в колонке RES нет(хотя не знаю насчёт того насколько адекватно так мерить).

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

batch_size: 1
Memory required for data: 410930228
htop RES column ~4230Mb

batch_size: 2
Memory required for data: 821856308
htop RES column ~4683Mb

batch_size: 4
Memory required for data: 1643708468
htop RES column ~5598Mb

batch_size: 8
Memory required for data: 3287412788
htop RES column ~6597Mb (after 1st iteration 7261Mb)

Забавно, при тренировке, кстати htop оптимистично показывает, что виртуально он 2 терабайта зарезервировал :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

https://github.com/alexgkendall/SegNet-Tutorial/blob/master/Example_Models/segnet_model_zoo.md

вообще не очень понятно при размере базовых моделей в ~5Mb на что тратится основная память?

 

Вот еще кстати наткнулся про память https://github.com/fmassa/optimize-net

 

 

Можете попробовать на CPU запустить обучение? можно не целиком, а только несколько итераций чтобы проверить что оно в целом работает, а то у меня не работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 14.03.2016 at 15:29, mrgloom сказал:

https://github.com/alexgkendall/SegNet-Tutorial/blob/master/Example_Models/segnet_model_zoo.md

вообще не очень понятно при размере базовых моделей в ~5Mb на что тратится основная память?

 

Вот еще кстати наткнулся про память https://github.com/fmassa/optimize-net

 

 

Можете попробовать на CPU запустить обучение? можно не целиком, а только несколько итераций чтобы проверить что оно в целом работает, а то у меня не работает.

На CPU получилось запустить на обучение  segnet_basic_train. 

На macbook i7 / vmware Ubuntu на 20 итераций тратится около 10 минут. На osx собрать segnet caffe не получилось (вылезла куча ошибок).

Так же на Ubuntu не получается запустить пример 

python /home/myuser/Downloads/SegNet/SegNet-Tutorial/Scripts/compute_bn_statistics.py /home/myuser/Downloads/SegNet/SegNet-Tutorial/Models/segnet_basic_train.prototxt /home/myuser/Downloads/SegNet/SegNet-Tutorial/Models/Training/segnet_basic_camvid.caffemodel /home/myuser/Downloads/SegNet/Models/Inference/

Выводит ошибку 

F0225 23:41:36.745960 11302 syncedmem.cpp:51] Check failed: error == cudaSuccess (8 vs. 23)

Есть у кого мысли в чем может быть причина?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Check failed: error == cudaSuccess (8 vs. 23)

Может быть нехватка gpu памяти, поставьте там cpu mode.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Снова здравствуйте. Насколько сложно изменить структуру той же segnet для того чтобы у меня изображение на выходе (а может и на входе при обучении) было не 360*480 пикселей, а к примеру 1000*1500. Так как с изображением 360*480 невозможно работать, хочу увеличить размерность выходного изображения. Простой ресайз ясное дело никакой пользы не принесет. Как при этом мне необходимо действовать? И нужно ли менять структуру сетки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Разбить на плитки, скорее всего это ухудшит точность, но чтобы просто увеличить размер входного изображения нужно:

1) много видеопамяти

2) переучить сеть с нуля. (здесь могу ошибаться, я файнтюнинг мало использовал) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Почему не хотите просто сделать ресайз? из-за появления зубчатой границы?

 

С такими большими изображениями скорее всего никакой памяти не хватит на GPU то точно.

https://github.com/alexgkendall/caffe-segnet/issues/35

Цитата

As some advice, to reduce memory you can play with things like: input resolution, batch size, network width and depth.

 

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

 

По поводу изменения размера изображения, просто так не получится надо будет менять upsample_h, upsample_w в .prototxt модели.

 

Пример где я переделал под размер 240 x 180 вроде.

https://gist.github.com/mrgloom/f0972272938adfc44163

 

Пример для 1 слоя

https://github.com/mrgloom/Caffe-snippets/blob/master/segnet_simple_train.prototxt

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
35 minutes ago, Smorodov said:

Разбить на плитки, скорее всего это ухудшит точность, но чтобы просто увеличить размер входного изображения нужно:

1) много видеопамяти

2) переучить сеть с нуля. (здесь могу ошибаться, я файнтюнинг мало использовал) 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

mrgloom, да, из-за появления зубчатости.

То есть как я понимаю, если я не имею под рукой штук 5 tesla k40 я не продвинусь ни на шаг в своей проблеме?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×