Нейронная сеть помогает писать код для нейронных сетей: обзор инструмента Neural Complete

Neural Complete — это интерфейс автодополнения ввода, основанный на генеративной состязательной нейронной сети с архитектурой долгой краткосрочной памяти. Он написан на Python и обучен на исходном коде, написанном на Python. Так как файлы для тренировки содержат импортированные элементы из библиотеки Keras, получается нейронная сеть, которая помогает писать код для нейронных сетей.

Демонстрация

neural complete

При вводе model в первый раз инструмент предлагает создать переменную (model = Sequential()), а во второй раз уже предлагает её использовать (model.add(...)) — то есть работает в зависимости от контекста. Программа периодически ошибается, но должна выдавать более точные результаты при большем наборе данных.

Парсинг данных

GitHub API не позволяет осуществлять поиск по имени файла, поэтому автор инструмента написал скрипт для сбора данных по специальному запросу, который можно поменять под свою задачу. Только не переусердствуйте с парсингом, чтобы не «раздражать» GitHub — для каких-то серьёзных результатов вам в любом случае понадобится намного больше данных, чем вы сможете собрать.

Модели были обучены всего на 26 скриптах.

Разработка

Фронтенд проекта написан на Angular 2 и обеспечивает получение рекомендаций автозаполнения. Для работы с бэкендом понадобится библиотека Keras и фреймворк Flask.

Подробнее ознакомиться с инструментом можно в соответствующем репозитории на GitHub.

Источник: GitHub