Flux (фреймворк для машинного обучения) - Flux (machine-learning framework)
Оригинальный автор (ы) | Майкл Дж. Иннес.[1] |
---|---|
Стабильный выпуск | v0.10.3 |
Репозиторий | github |
Написано в | Юля |
Тип | Машинное обучение библиотека |
Лицензия | Массачусетский технологический институт[2] |
Интернет сайт | https://fluxml.ai |
Поток является Открытый исходный код библиотека машинного обучения и экосистема, написанные на Юля.[1][3] Его текущий стабильный выпуск - v0.10.3.[4] Он имеет интерфейс на основе слоев для более простых моделей и имеет сильную поддержку взаимодействия с другими пакетами Julia вместо монолитной конструкции.[5] Например, поддержка GPU прозрачно реализована в CuArrays.jl.[6] Это контрастирует с некоторыми другими фреймворками машинного обучения, которые реализованы на других языках с привязками Julia, такими как TensorFlow.jl, и, таким образом, более ограничены функциональностью, присутствующей в базовой реализации, которая часто находится на C или C ++.[7]
Внимание Flux к взаимодействию позволило, например, поддерживать Нейронно-дифференциальные уравнения путем объединения Flux.jl и DifferentialEquations.jl в DiffEqFlux.jl.[8][9]
Flux поддерживает рекуррентные и сверточные сети. Он также способен дифференцируемое программирование[10][11][12] через его источник к источнику автоматическая дифференциация пакет, Zygote.jl.[13]
Юлия - популярный язык в машинном обучении[14] и Flux.jl - его наиболее уважаемый репозиторий машинного обучения.[14] Демонстрация[15] компиляция кода Джулии для запуска в Google Блок тензорной обработки получил похвалу от Google Brain ИИ ведущий Джефф Дин.[16]
Flux использовался в качестве основы для создания нейронных сетей, работающих с гомоморфный зашифрованный данные, даже не расшифровывая их.[17][18] Предполагается, что такое приложение станет центральным для обеспечения конфиденциальности в будущем. API с использованием моделей машинного обучения.[19]
Flux.jl - это промежуточное представление для запуска программ высокого уровня на CUDA аппаратное обеспечение.[20][21] Это был предшественник CUDAnative.jl, который также является Программирование на GPU язык.[22]
Смотрите также
Рекомендации
- ^ а б Иннес, Майкл (2018-05-03). «Flux: элегантное машинное обучение с Джулией». Журнал открытого программного обеспечения. 3 (25): 602. Дои:10.21105 / joss.00602.
- ^ "github.com/FluxML/Flux.jl/blob/master/LICENSE.md".
- ^ Иннес, Майк; Брэдбери, Джеймс; Фишер, Кено; Ганди, Дхайрья; Мария Джой, Ниту; Кармали, Теджан; Келли, Мэтт; Пал, Авик; Кончетто Рудилоссо, Марко; Саба, Эллиот; Шах, Вирал; Юрет, Дениз. «Создание языка и компилятора для машинного обучения». julialang.org. Получено 2019-06-02.
- ^ FluxML / Flux.jl v0.10.3, Flux, 2020-03-04, получено 2020-03-27
- ^ «Машинное обучение и искусственный интеллект». juliacomputing.com. Получено 2019-06-02.
- ^ Ганди, Дхайрья (2018-11-15). «Юлия из NeurIPS и будущее инструментов машинного обучения». juliacomputing.com. Получено 2019-06-02.
- ^ Мальмо, Джонатан; Уайт, Линдон (2018-11-01). "TensorFlow.jl: Идиоматический интерфейс Julia для TensorFlow". Журнал открытого программного обеспечения. 3 (31): 1002. Дои:10.21105 / joss.01002.
- ^ Rackauckas, Крис; Иннес, Майк; Ма, Инбо; Беттанкур, Джесси; Уайт, Линдон; Диксит, Вайбхав (06.02.2019). "DiffEqFlux.jl - библиотека Julia для нейронно-дифференциальных уравнений". arXiv:1902.02376 [cs.LG ].
- ^ Шлотауэр, Сара (25 января 2019). «Машинное обучение встречается с математикой: решайте дифференциальные уравнения с помощью новой библиотеки Julia». JAXenter. Получено 2019-10-21.
- ^ "Flux - обучение с подкреплением против дифференцируемого программирования". fluxml.ai. Получено 2019-06-02.
- ^ "Flux - что такое дифференцируемое программирование?". fluxml.ai. Получено 2019-06-02.
- ^ Хит, Ник (6 декабря 2018 г.). «Джулия против Python: какой язык программирования будет править машинным обучением в 2019 году?». TechRepublic. Получено 2019-06-03.
- ^ Иннес, Майкл (2018-10-18). "Не разворачивайте сопутствующие: дифференциация программ SSA-формы". arXiv:1810.07951 [cs.PL ].
- ^ а б Хит, Ник (25 января 2019 г.). «GitHub: 10 лучших языков программирования для машинного обучения». TechRepublic. Получено 2019-06-03.
- ^ Саба, Эллиот; Фишер, Кено (23.10.2018). «Автоматическая полная компиляция программ Julia и моделей машинного обучения в облачные TPU». arXiv:1810.09868 [cs.PL ].
- ^ Дин, Джефф [@JeffDean] (23.10.2018). «Джулия + TPU = быстрые и легко выражаемые ML-вычисления» (Твитнуть). Получено 2019-06-02 - через Twitter.
- ^ Патравала, Фатема (28 ноября 2019 г.). «Исследовательская группа Julia Computing использует модель машинного обучения для зашифрованных данных, не расшифровывая их». Packt Hub. Получено 2019-12-11.
- ^ «Машинное обучение зашифрованных данных без их расшифровки». juliacomputing.com. 2019-11-22. Получено 2019-12-11.
- ^ Ядав, Рохит (2019-12-02). «Julia Computing использует гомоморфное шифрование для машинного обучения. Это путь вперед?». Журнал Analytics India. Получено 2019-12-11.
- ^ Рош, Джаред и Любомирский, Стивен и Кирисаме, Мариса и Поллок, Джош и Вебер, Логан и Цзян, Цзихенг и Чен, Тяньци и Моро, Тьерри и Татлок, Захари (2019). «Реле: IR высокого уровня для глубокого обучения». arXiv:1904.08368.CS1 maint: несколько имен: список авторов (связь)
- ^ Тим Бесар, Кристоф Фокет и Бьорн Де Саттер (2019). «Эффективное расширяемое программирование: освобождение Джулии на GPU». Транзакции IEEE в параллельных и распределенных системах. Институт инженеров по электротехнике и радиоэлектронике (IEEE). 30 (4): 827–841. arXiv:1712.03112. Дои:10.1109 / tpds.2018.2872064.
- ^ Бесард, Тим (2018). Абстракции для программирования графических процессоров на языках программирования высокого уровня (Кандидат наук). Гентский университет.