Расслабиться! Flux - это библиотека машинного обучения, которая не делает вас Tensor!
Что такое Flux?
Fl ux - это библиотека машинного обучения для мультипарадигмального быстрого языка статистического программирования Julia, разработанного MIT. Основная функция Flux - использование градиентов кода Julia. Другими словами, Flux может принимать другую функцию Julia и набор аргументов и возвращать градиент. Flux - действительно крутой пакет, потому что он может делать много вещей, которые может делать Tensorflow от Google, но в пакете «Разработано пользователями». Кроме того, Flux имеет то преимущество, что он написан на Julia. Хотя это также означает, что Flux страдает теми же недостатками, что и другие пакеты Julia, обмен определенно не ужасен.
Что такое Tensorflow?
Tensorflow - классический инструмент в наборе инструментов для анализа данных. Люди, которые вообще не программируют, даже знают, что такое Tensorflow, и на это есть веские причины:
Tensorflow потрясающий.
Tensorflow был разработан командой Google Brain Team и выпущен по лицензии Apache в ноябре 2015 года. Tensorflow поддерживает градиентные модели, лежащие в основе множества современных алгоритмов машинного обучения, в том числе используемых Google, Nvidia, QualComm, Lenovo и еще сотни. Tensorflow стал основным продуктом не только Python, но и машинного обучения в целом.
Что мне нравится в Flux
Flux - отличный фреймворк для машинного обучения, потому что он приносит с собой много интересных идей и действительно крутой и простой синтаксис. В Flux много индивидуализма, но, как правило, преимущества сводятся к нескольким ключевым факторам.
Юлия
Как вы, возможно, уже знаете, Flux для Джулии. Написание на Julia дает Flux огромное преимущество перед пакетами, написанными на Python. Julia - гораздо более быстрый язык и, на мой взгляд, у него лучший синтаксис, чем у Python (что является моим личным предпочтением).
Однако это требует значительного компромисса. Julia, по большей части, все еще относительно новый язык, и у него нет такой базы пользователей, как у Python. В этой ситуации Джулия теряет большую часть поддержки, которую несет с собой такой огромный язык, как Python. Это означает, что, хотя Flux может быть в некоторой степени лучшим решением, он может быть не обязательно во всех случаях. Это потому, что бывает очень сложно найти ответы на любую икоту, с которой вы столкнетесь. В первую очередь может быть трудно найти документацию, чтобы научиться использовать язык и пакеты, хотя ситуация постоянно улучшается.
Классный синтаксис!
Я уже говорил, что синтаксис Джулии мне нравится больше, чем Python. Хотя это чисто субъективно, не субъективно то, насколько изменчивым может быть язык Julia, и вместе с этим появляется совершенно другой и действительно крутой способ создания градиентных моделей внутри Julia:
Синтаксические выражения
Они действительно классные, и если вы хотите разглядеть Юлию, вам обязательно стоит взглянуть на них как следует. В основном они используются в двух конкретных сценариях:
- Зацикливание
f(w) = v = v + 5 for v in w
- Функциональные операции
f(w) = w + 5 - 6
Однако синтаксические выражения в Julia можно использовать сотнями других способов, которые все интересны и делают программиста проще и интуитивно понятнее.
Но как это вписывается в Flux?
Flux полностью использует преимущества этих универсальных выражений и использует их как основу для всей библиотеки. Просто взгляните на этот пример из документации Flux:
julia> using Flux julia> f(x) = 3x^2 + 2x + 1; julia> df(x) = gradient(f, x)[1]; # df/dx = 6x + 2 julia> df(2) 14 julia> d2f(x) = gradient(df, x)[1]; # d²f/dx² = 6 julia> d2f(2) 6
Что мне нравится в Tensorflow
Tensorflow имеет собственное языковое преимущество совершенно по-другому, Python является одновременно очень универсальным языком в том смысле, что большинство других языков высокого уровня могут взаимодействовать с ним, а также тем, что он основан на C. а Джулия, однако, определенно пользуется популярностью у Tensorflow и Python.
Легко найти помощь
Преимущество использования всего популярного; Так же, как спрос растет вместе с предложением, удобство использования растет вместе с пользователями. Чем больше людей используют продукт, тем больше разговоров о нем происходит, и это абсолютно необходимо для документирования таких инструментов, как Tensorflow или Flux.
Соблюдает правила
Я могу предположить, что большая проблема, с которой специалисты по обработке данных столкнутся при попытке использовать Flux, заключается в том, что многие вещи выполняются совсем не так, как где-либо еще. Flux использует синтаксис, очень специфичный для языка, который не соответствует типичной типизации высокоуровневого кода ML. Однако по другую сторону преграды находится Tensorflow, который придерживается прямо противоположного подхода и стремится соответствовать тому, что уже установлено внутри машинного обучения.
Преподобный
Без сомнения, Tensorflow пользуется дурной славой. Это имеет смысл, потому что Tensorflow не только существует в отрасли дольше, но и поддерживается гигантским информационным гигантом Google. В конце концов, для бизнеса с миллионами разработчиков, которые используют инструменты для поддержки и улучшения программного обеспечения, намного проще, чем нескольким сопровождающим Github, у которых даже есть повседневная работа, на которую они должны пойти.
Заключение
Я считаю, что Flux действительно крутой, и мне очень нравится работать над ним. Tensorflow занимает особое место в моем сердце, но было бы определенно интересно увидеть, как больше людей используют Flux для своих моделей. У Flux есть несколько действительно крутых идей, которые он предлагает, и, хотя это делает его уникальным, он также приходит с ужасно незнакомым использованием. Заменит ли Flux Tensorflow? Скорее всего, нет и не может, но может ли Flux заменить вам Tensorflow?
Да!
Джулия, безусловно, еще ребенок, и многие пакеты балансируют на грани того, чтобы быть достаточно инклюзивными, чтобы на них можно было положиться, но, несмотря на ее юный возраст, Джулия определенно выделяется как отличный язык для настоящего и будущего в Data Science. Кто знает? Через десять-пятнадцать лет мы, скорее всего, увидим всплеск использования Julia, а вместе с ним и Flux.