Комментарии 16
Спасибо за статью! Давно хотелось попробовать, но останавливало отсутствие опыта.
Не подскажите, если я хочу один раз «извлечь стиль» из картины, а потом применить его на множество фотографий, то операция сильно ускорится? Есть вообще такая функция? Ведь по идее, большая часть времени должна уходить на формирование сети, а потом применять ее на разные изображения, должно быть проще. Или нет?
Вообще, если не разбираться с GPU, то сколько времени может занять формирование картинки хотя бы 1024*1024 px?
Не подскажите, если я хочу один раз «извлечь стиль» из картины, а потом применить его на множество фотографий, то операция сильно ускорится? Есть вообще такая функция? Ведь по идее, большая часть времени должна уходить на формирование сети, а потом применять ее на разные изображения, должно быть проще. Или нет?
Вообще, если не разбираться с GPU, то сколько времени может занять формирование картинки хотя бы 1024*1024 px?
0
Я специалист полудиванный и уж тем более — конкретно по части torch7, но если из нашей сети можно выделить сегмент, отвечающий за выделение стиля (тут бы её схематическую структуру), то:
1. воспроизводим эту часть (её структуру и веса из обученной сети)
2. скармливаем нашей урезанной сетке изображение — получим вектор/матрицу (ну или какая там размерность) стиля
3. строим «остальную» часть сети. Только построенную в п.1 часть заменяем входом соответсвующей размерности и подаём на него выделенный вектор.
Как это сделать в torch7 с минимум ручной работы — пусть скажут использовавшие его. Наверняка можно выпилить слои из предобученной сети или подгрузить веса только нужных нам слоёв.
«Ведь по идее, большая часть времени должна уходить на формирование сети, а потом применять ее на разные изображения, должно быть проще»
На обучение? Конечно.
1. воспроизводим эту часть (её структуру и веса из обученной сети)
2. скармливаем нашей урезанной сетке изображение — получим вектор/матрицу (ну или какая там размерность) стиля
3. строим «остальную» часть сети. Только построенную в п.1 часть заменяем входом соответсвующей размерности и подаём на него выделенный вектор.
Как это сделать в torch7 с минимум ручной работы — пусть скажут использовавшие его. Наверняка можно выпилить слои из предобученной сети или подгрузить веса только нужных нам слоёв.
«Ведь по идее, большая часть времени должна уходить на формирование сети, а потом применять ее на разные изображения, должно быть проще»
На обучение? Конечно.
0
Спасибо за ответ!
По логике работы понятно, вопрос больше про практическую сторону, как бы это проще реализовать.
Посмотрел немного github neural-style — вроде как там есть необходимый функционал, но как его реализовать на практике — неясно. Увы, я не очень дружу с linux, да и с нейронными сетями тоже не приходилось сталкиваться. Но тема интересная и крайне перспективная, так что нужно разбираться.
По логике работы понятно, вопрос больше про практическую сторону, как бы это проще реализовать.
Посмотрел немного github neural-style — вроде как там есть необходимый функционал, но как его реализовать на практике — неясно. Увы, я не очень дружу с linux, да и с нейронными сетями тоже не приходилось сталкиваться. Но тема интересная и крайне перспективная, так что нужно разбираться.
0
Пожалуйста гуглите fast neural style и Perceptual Losses for Real-Time Style Transfer and Super-Resolution
+1
Офигеть. Уже устанавливаю!
0
Спасибо за статью, и так же присоединяюсь к вопросам выше. И собственно любопытно — насколько профита даёт использование gpu Пока запустила картинку… шуршит уже около часа
0
на порядок, лучше сразу делать на гпу
0
запустил (не без шаманского бубна, разумеется, пришлось ещё несколько моментов погуглить), на указанном примере работает… теперь думаю над следующими направлениями: 1) как «скармливать» сразу пакет картинок, которые подлежат переработке (ага, видео), настроив при этом «правильное» разрешение (кстати, на выходе можно получить такое же разрешение картинки, как и на входе? понимаю, что вопрос может показаться дурацким, но онлайн-сервисы сильно ужимают размер картинки на выходе — может, это не только из-за экономии процессорного времени, но и из-за особенностей алгоритмов?) 2) как озадачить видеокарту? есть nvidia210 с поддержкой CUDA, в слот вставлена, не задействована на вывод изображения… да, понимаю, что 16 потоков — так себе ускорение, но смысл покупать навороченную видеокарту, если не смогу её настроить? (хочется поучиться на кошках, т.е. на том, что уже имеется). Прошу бить не сильно — я только вхожу в тему, могу не знать чего-то элементарного…
0
Добавлю свои 5 копеек сюда.
— На CPU neuralstyle этот считать вообще бессмысленно — борода отрастёт и поседеешь пока он картинку 512х512 нарисует — оно на процессоре не параллелится на несколько ядер почему то
— Сам neural style есть с подробной инструкцией по запуску на гитхабе, но инструкцию с гита использовать нельзя (по крайней мере ту часть которая «как получить стилизованную картинку») — выдаёт какую то многозначительную ошибку про несоответствие размеров слоёв нейросети или чтото типа того
— Основная проблема — никто так и не смог повторить рисовалку как у остаграм-точка-ру (тот же neural style, но как то подкрученный — рисует красиво и достаточно быстро)
Если ктото знает за последний пункт — велком поделиться :)
— На CPU neuralstyle этот считать вообще бессмысленно — борода отрастёт и поседеешь пока он картинку 512х512 нарисует — оно на процессоре не параллелится на несколько ядер почему то
— Сам neural style есть с подробной инструкцией по запуску на гитхабе, но инструкцию с гита использовать нельзя (по крайней мере ту часть которая «как получить стилизованную картинку») — выдаёт какую то многозначительную ошибку про несоответствие размеров слоёв нейросети или чтото типа того
— Основная проблема — никто так и не смог повторить рисовалку как у остаграм-точка-ру (тот же neural style, но как то подкрученный — рисует красиво и достаточно быстро)
Если ктото знает за последний пункт — велком поделиться :)
0
А можно немного технический вопрос. Будет ли работать старенькая tesla c2075?
Просто искал в инете никто путем ничего не пишет :(
И второй вопрос если я буду использовать эту теслу, какой минимальный процессор мне нужен? Прост ов данный момент времени есть шальная мысля воткнуть эту теслу в какую нибудь микро АТХ плату с селероном на борту, запихать туда гигов 8 оперативки и запустить все это дело.
Просто искал в инете никто путем ничего не пишет :(
И второй вопрос если я буду использовать эту теслу, какой минимальный процессор мне нужен? Прост ов данный момент времени есть шальная мысля воткнуть эту теслу в какую нибудь микро АТХ плату с селероном на борту, запихать туда гигов 8 оперативки и запустить все это дело.
0
На: curl -s https://raw.githubusercontent.com/torch/ezinstall/master/install-deps | bash
Выдает: Error: An unsatisfied requirement failed this build.
Подскажите что делать? Уж с консолью не особо дружу. (osx 10.10)
Пы.Сы. Извините за дурацкий вопрос)
Выдает: Error: An unsatisfied requirement failed this build.
Подскажите что делать? Уж с консолью не особо дружу. (osx 10.10)
Пы.Сы. Извините за дурацкий вопрос)
0
Тестовый пример сработал… Попробовал поиграть параметрами — вышел на справку с описанием параметров, попробовал подключить CUDA — посыпались ошибки: module 'cutorch' not found:No LuaRocks module found for cutorch no field package.preload['cutorch'] и куча всякого другого… видимо, придётся ещё одно полнолуние просидеть за шаманским бубном…
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Создайте свои собственные “Нейронные Картины” с помощью Глубокого Обучения