{"id":14276,"url":"\/distributions\/14276\/click?bit=1&hash=721b78297d313f451e61a17537482715c74771bae8c8ce438ed30c5ac3bb4196","title":"\u0418\u043d\u0432\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043b\u044e\u0431\u043e\u0439 \u0442\u043e\u0432\u0430\u0440 \u0438\u043b\u0438 \u0443\u0441\u043b\u0443\u0433\u0443 \u0431\u0435\u0437 \u0431\u0438\u0440\u0436\u0438","buttonText":"","imageUuid":""}

Нейронная сеть, которая верстает сайты по картинке Статьи редакции

Прошёл почти год с того момента, как на GitHub опубликовали алгоритм pix2code. И вот ребята из FloydHub на его основе создали нейронную сеть для вёрстки страниц, которую уже можно запустить самому.

Работа алгоритма делится на три этапа:

1. Нейронной сети передаётся картинка-исходник в формате JPEG
2. Алгоритм конвертирует элементы в HTML- и CSS-код
3. На выходе получается свёрстанная версия

Чтобы получить такой результат, разработчики скармливали алгоритму скриншоты и присваивали определённые HTML-теги, в итоге получился датасет, с помощью которого можно генерировать шаблонные сайты. Ниже будут примеры.

Пример датасета

Алгоритм учится предсказывать соответствующие HTML-теги, последовательно «изучая» изображение на входе. Когда алгоритм предсказывает следующий тег разметки, он получает скриншот и все «правильные» теги HTML-разметки для этого элемента.

Примеры:

  • 250 циклов работы алгоритма;
  • 350 циклов работы алгоритма;
  • 450 циклов работы алгоритма;
  • 550 циклов работы алгоритма.

Везде выше можно посмотреть пример исходного кода, сгенерированного нейронной сетью, а вот оригинальный сайт, скриншоты которого скармливали алгоритму.

Если вы вдруг фронтенд-инженер (я нет), поделитесь в комментариях: как вам код, сгенерированный алгоритмом?

Более техническое описание проекта доступно по ссылке, а ноутбук для запуска в Jupyter лежит тут.

0
192 комментария
Написать комментарий...
Глеб Горохов

Я сам не тестил, но сейчас выглядит пригодным только для "верстки" всякой шаблонной элементарной хрени. Хороший верстальщик в своей работе учитывает кучу важных вещей, о которых робот не догадается (по крайней мере, пока). Даже адаптив часто оказывается не такой простой задачей, т.к. требует особой структуры HTML-кода, а где-то и JS'а. Так что рано вы верстальщиков хороните, товарищи.

А дизайнеры, которые хотят делать код из своих макетов, пусть дизайнят сразу в WebFlow

Ответить
Развернуть ветку
Глеб Горохов

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

А вот если дизайн будет рисовать тоже нейросеть, то вероятность успеха выше — роботы думают одинаково (логично)

Ответить
Развернуть ветку
Мсье Риддлер

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

Ответить
Развернуть ветку
TRUNGPA1 .

Ну их надо уметь грамотно ставить на место.

Ответить
Развернуть ветку
189 комментариев
Раскрывать всегда