Sony представила проект NNabla (Neural Network Libraries), в рамках якого відкрила доступ до своїх напрацювань в області побудови нейронних мереж для вирішення завдань глибинного машинного навчання. Система створена для вирішення дослідницьких завдань та практичного застосування. Вона розрахована на використання на настільних ПК та на вбудованих пристроях: кластерах та великих серверах. Код ядра NNabla написано в мові C++.
Для кінцевих додатків пропонується програмний інтерфейс для мови Python, що відрізняється простотою використання та високою гнучкістю. Наприклад, для створення двохрівневої нейронної мережі для класифікації втрат достатньо п'яти рядків коду. При цьому надаються єдиний API для роботи зі статичними та динамічними графіками обчислень (статичні графіки обчислень більш ефективні з точки зору споживання пам'яті та швидкості роботи, а динамічні володіють більшою гнучкістю в побудові моделей). Допускається підключення модулів з реалізацією нових функцій, методів оптимізації та операторів для нейронної мережі.
Підтримується робота в Linux і Windows. Завдяки ядру на C++ система досить компактна і може працювати на вбудованих системах з обмеженими ресурсами. Для прискорення розрахунків надані засоби для організації виконання з залученням конкретних реалізацій, наприклад на базі FPGA. Серед готових оптимізуючих модулів відзначається бекенд для задіяння CUDA для виведення розрахунків на сторону GPU. Так само підтримується спеціальний рушій для оптимізації роботи з пам'яттю, що дозволяє організувати спільне використання пам'яті.
З областей, в яких Sony вже застосовує NNabla, відмічені оцінки вартості нерухомості в Sony Real Estate Corporation, розпізнавання дій користувача в системі «Xperia Ear» (наприклад, підтвердження операції або прийом дзвінка кивком голови) та розпізнавання рукописного вводу в електронній книжці Sony DPT- RP1. За призначенням NNabla схожий на TensorFlow, Torch та Theano.
Ще немає коментарів