Задать вопрос

Lua для машинного обучения?

Перебрал кучу статей по сравнению и оценке Python, R, Lua. С этими языками знаком поверхностно, и если говорить о взвешивании за/против, то в моем случае по факторам производительность, приятность синтаксиса, интеграция выигрывает Lua

Но вот он редко встречается в статьях о Machine Learning. Вот интересно, почему? Есть же Torch, который используют Facebook, Google, Twitter и т.д.
  • Вопрос задан
  • 1446 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 2
@bromzh
Drugs-driven development
Всякие питоны обычно используют сишные и фортрановские библиотеки непосредственно для расчётов, т.к. это самое узкое место.
Так что производительность научных пакетов на питоне обычно приличная, а сам питон выступает как некая обёртка.

Безусловно, lua и его реализация luajit довольно быстрые. Последняя зачастую быстрее питона, плюс имеет удобный FFI. Для встраивания язык просто отличный, но вот как standalone-язык в прикладных приложениях выглядит не так хорошо.

Однако, стандартная библиотека самого языка Lua очень скудная. А количество библиотек на разные случаи жизни намного меньше, чем у питона.
Плюс, питон, как язык, более приятен:
1) Типизация в нём строгая, в отличие от слабой/неявной в lua.
2) Присутствует богатая система типов. Тут есть и комплексные числа, и итераторы, и коллекции, куча всего. В lua только 8 типов.
3) ООП в питоне основано на классах и похоже на Java/C#/C++. В lua ООП прототипное и реализуют его посредством таблиц (и метатаблиц).
Ответ написан
Комментировать
mva
@mva
CEO, CTO, Lua/Gentoo/IPv6 Pioneer
Ну, по-моему, ответ очевиден: чем больше "макак" знают язык, тем больше из них начинает считать себя гуру и писать статьи.

Lua же, при всех его плюшках, основная масса "макак" учить не хочет в том числе из-за его киллер-фичи по сравнению с тем же питоном:
В то время, как питон старается стать комбайном (как тот же php) и напихать как можно больше всего (чтобы угодить разным вкусам разных макак), Lua старается дать как можно меньше. Т.е. ровно столько, сколько достаточно для того, чтобы ты мог сделать именно то, что нужно тебе без лишнего ненужного хлама.
Поэтому и вот так:
$  ps -eL -o m_size,drs,rss,vsz,cmd | grep -E '(python|lua)[^ ]*$'
 5349 21385  3000  21396 lua5.1
 3013 11577   940  12052 luajit
 5354 21404  2992  21416 lua5.2
 5360 21428  3036  21440 lua5.3
 8410 33637  6476  33640 python2.7
 8167 32664  7444  32668 python3.4


// и это я ещё не включил
218336 873344 180096 873344 python3.4
с простейшей программой
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
begemot_sun
@begemot_sun
Программист в душе.
Потому что LUA создан для программистов, а всякими машин лернингами занимаются математики, им как бы пофигу на производительность, через 1 или 3 часа получишь результат - не важно. Поэтому используют самое простое - питон, да и комьюнити у него значительно больше.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы