Flux (фреймворк машинного обучения)
![]() | |
Оригинальный автор(ы) | Майкл Дж. Иннес, [1] Дайрия Ганди, [2] и участники [3] |
---|---|
Стабильная версия | 0.14.5 [4] ![]() |
Репозиторий | github |
Написано в | Юлия |
Тип | машинного обучения Библиотека |
Лицензия | С [5] |
Веб-сайт | https://fluxml.ai |
Flux — это с открытым исходным кодом, библиотека и экосистема машинного обучения программная написанная на Julia . [1] [6] Текущая стабильная версия — v0.14.5. [4] . Он имеет интерфейс на основе стека слоев для более простых моделей и имеет сильную поддержку взаимодействия с другими пакетами Julia вместо монолитной конструкции. [7] Например, поддержка графического процессора прозрачно реализована в CuArrays.jl. [8] Это контрастирует с некоторыми другими платформами машинного обучения, которые реализованы на других языках с привязками Julia, такими как TensorFlow.jl (неофициальная оболочка, которая сейчас устарела), и, таким образом, более ограничены функциональностью, присутствующей в базовой реализации, которая часто на C или C++. [9] Flux присоединился к NumFOCUS в качестве дочернего проекта в декабре 2021 года. [10]
Акцент Flux на совместимости позволил, например, обеспечить поддержку нейронных дифференциальных уравнений путем объединения Flux.jl и DifferentialEquations.jl в DiffEqFlux.jl. [11] [12]
Flux поддерживает рекуррентные и сверточные сети. Он также способен к дифференцируемому программированию. [13] [14] [15] между источниками через пакет автоматической дифференциации Zygote.jl. [16]
Julia — популярный язык в машинном обучении [17] а Flux.jl — наиболее уважаемый репозиторий машинного обучения. [17] (Lux.jl — еще один, более поздний вариант, в котором много общего с Flux.jl). Демонстрация [18] Google Компиляция кода Julia для работы в тензорном процессоре (TPU) получила похвалу от руководителя Google Brain AI Джеффа Дина . [19]
Flux использовался в качестве основы для создания нейронных сетей, которые работают с гомоморфно зашифрованными данными, даже не расшифровывая их. [20] [21] Предполагается, что такого рода приложения будут играть центральную роль в обеспечении конфиденциальности будущего API с использованием моделей машинного обучения. [22]
Flux.jl — это промежуточное представление для запуска программ высокого уровня на оборудовании CUDA . [23] [24] Это был предшественник CUDAnative.jl, который также является языком программирования графических процессоров . [25]
См. также [ править ]
Ссылки [ править ]
- ^ Jump up to: Перейти обратно: а б Иннес, Майкл (3 мая 2018 г.). «Flux: Элегантное машинное обучение с Джулией» . Журнал программного обеспечения с открытым исходным кодом . 3 (25): 602. Бибкод : 2018JOSS....3..602I . дои : 10.21105/joss.00602 .
- ^ Дайрия Ганди , GitHub, 27 июня 2021 г. , получено 27 июня 2021 г.
- ^ Участники Flux , GitHub, 27 июня 2021 г. , получено 27 июня 2021 г.
- ^ Jump up to: Перейти обратно: а б «Флюс v0.14.5» . 7 сентября 2023 г. Проверено 10 сентября 2023 г.
- ^ «github.com/FluxML/Flux.jl/blob/master/LICENSE.md» . Гитхаб . 6 ноября 2021 г.
- ^ Иннес, Майк; Брэдбери, Джеймс; Фишер, Кено; Ганди, Дайрия; Мэри Джой, Ниту; Кармали, Теджан; Келли, Мэтт; Пал, Авик; Концепто Рудилоссо, Марко; Саба, Эллиот; Шах, Вирал; Юрет, Дениз. «Создание языка и компилятора для машинного обучения» . julialang.org . Проверено 2 июня 2019 г.
- ^ «Машинное обучение и искусственный интеллект» . juliacomputing.com . Архивировано из оригинала 2 июня 2019 г. Проверено 2 июня 2019 г.
- ^ Ганди, Дайрия (15 ноября 2018 г.). «Юлия из NeurIPS и будущее инструментов машинного обучения» . juliacomputing.com . Архивировано из оригинала 2 июня 2019 г. Проверено 2 июня 2019 г.
- ^ Мальмо, Джонатан; Уайт, Линдон (01 ноября 2018 г.). «TensorFlow.jl: идиоматический интерфейс Julia для TensorFlow» . Журнал программного обеспечения с открытым исходным кодом . 3 (31): 1002. Бибкод : 2018JOSS....3.1002M . дои : 10.21105/joss.01002 .
- ^ «Поток <3 NumFOCUS» . fluxml.ai . Архивировано из оригинала 01 декабря 2021 г. Проверено 12 января 2021 г.
- ^ Ракаукас, Крис; Иннес, Майк; Ма, Инбо; Бетанкур, Джесси; Уайт, Линдон; Диксит, Вайбхав (06 февраля 2019 г.). «DiffEqFlux.jl — библиотека Джулии для нейронных дифференциальных уравнений». arXiv : 1902.02376 [ cs.LG ].
- ^ Шлотауэр, Сара (25 января 2019 г.). «Машинное обучение и математика: решайте дифференциальные уравнения с помощью новой библиотеки Julia» . JAXenter . Проверено 21 октября 2019 г.
- ^ «Поток – обучение с подкреплением против дифференцируемого программирования» . fluxml.ai . Архивировано из оригинала 27 марта 2019 г. Проверено 2 июня 2019 г.
- ^ «Flux – что такое дифференцируемое программирование?» . fluxml.ai . Архивировано из оригинала 27 марта 2019 г. Проверено 2 июня 2019 г.
- ^ Хит, Ник (6 декабря 2018 г.). «Джулия против Python: какой язык программирования будет править машинным обучением в 2019 году?» . Техреспублика . Проверено 3 июня 2019 г.
- ^ Иннес, Майкл (18 октября 2018 г.). «Не развертывайте Adjoint: дифференциация программ SSA-формы». arXiv : 1810.07951 [ cs.PL ].
- ^ Jump up to: Перейти обратно: а б Хит, Ник (25 января 2019 г.). «GitHub: 10 лучших языков программирования для машинного обучения» . Техреспублика . Проверено 3 июня 2019 г.
- ^ Саба, Эллиот; Фишер, Кено (23 октября 2018 г.). «Автоматическая полная компиляция программ Julia и моделей машинного обучения в облачные TPU». arXiv : 1810.09868 [ cs.PL ].
- ^ Дин, Джефф [@JeffDean] (24 октября 2018 г.). «Джулия + TPU = быстрые и легко выражаемые вычисления ML» ( Твит ) . Проверено 2 июня 2019 г. - через Twitter .
- ^ Патравала, Фатема (28 ноября 2019 г.). «Исследовательская группа Julia Computing запускает модель машинного обучения на зашифрованных данных без их расшифровки» . Пакетный хаб . Проверено 11 декабря 2019 г.
- ^ «Машинное обучение на зашифрованных данных без их расшифровки» . juliacomputing.com . 2019-11-22. Архивировано из оригинала 3 декабря 2019 г. Проверено 11 декабря 2019 г.
- ^ Ядав, Рохит (2 декабря 2019 г.). «Julia Computing использует гомоморфное шифрование для машинного обучения. Это путь вперед?» . Журнал Analytics India . Проверено 11 декабря 2019 г.
- ^ Рош, Джаред и Любомирски, Стивен и Кирисаме, Мариса и Поллок, Джош и Вебер, Логан и Цзян, Цзыхэн и Чен, Тяньци и Моро, Тьерри и Тэтлок, Закари (2019). «Relay: IR высокого уровня для глубокого обучения». arXiv : 1904.08368 [ cs.LG ].
{{cite arXiv}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ Тим Безар, Кристоф Фокет и Бьорн Де Саттер (2019). «Эффективное расширяемое программирование: использование Джулии на графических процессорах». Транзакции IEEE в параллельных и распределенных системах . 30 (4). Институт инженеров по электротехнике и электронике (IEEE): 827–841. arXiv : 1712.03112 . дои : 10.1109/tpds.2018.2872064 . S2CID 11827394 .
- ^ Безард, Тим (2018). Абстракции для программирования графических процессоров на языках программирования высокого уровня (доктор философии). Гентский университет.