Інженери з Facebook опублікували транскомпілятор
Реалізацію системи машинного навчання побудовано на базі Pytorch. Для завантаження запропоновано дві готові моделі:
C++ у Python, Python у C++ та Python у Java. Для навчання моделей використовували вихідні тексти проектів, розміщених на GitHub. За бажання моделі трансляції можуть бути створені і для інших мов програмування. Для перевірки якості трансляції підготовлено колекцію unit-тестів, а також тестовий набір, що включає 852 паралельні функції.
Стверджується, що за точністю перетворення TransCoder значно перевершує комерційні транслятори, що використовують методи на основі правил перетворення, і в процесі роботи дозволяє уникнути експертної оцінки знавців вихідної та цільової мови. Більшість помилок, що виникає під час роботи моделі, вдається усунути через додавання простих обмежень декодировщик, дозволяють гарантувати, що генеровані функції будуть синтаксично коректні.
Дослідниками запропоновано нову архітектуру нейронної мережі «Transformer» для моделювання послідовностей, у якій рекурентність замінено «
Джерело: opennet.ru