Инженеры из Facebook опубликовали транскомпилятор
Реализация системы машинного обучения построена на базе Pytorch. Для загрузки предложены две готовые модели:
C++ в Python, Python в C++ и Python в Java. Для обучения моделей использовалась исходные тексты проектов, размещённых на GitHub. При желании модели трансляции могут быть созданы и для других языков программирования. Для проверки качества трансляции подготовлена коллекция unit-тестов, а также тестовый набор, включающий 852 параллельных функции.
Утверждается, что по точности преобразования TransCoder значительно превосходит коммерческие трансляторы, использующие методы на основе правил преобразования, и в процессе работы позволяет обойтись без экспертной оценки знатоков исходного и целевого языка. Большую часть ошибок, возникающий при работе модели, удаётся устранить через добавление простых ограничений в декодировщик, позволяющих гарантировать, что генерируемые функции будут синтаксически корректны.
Исследователями предложена новая архитектура нейронной сети «Transformer» для моделирования последовательностей, в которой рекуррентность заменена «
מקור: opennet.ru