Fork me on GitHub
#clojure-russia
<
2017-02-17
>
potapenko11:02:47

Интересный проект - нейронные сети на кложе http://gigasquidsoftware.com/blog/2016/12/27/deep-learning-in-clojure-with-cortex/ Поверх caffe как я понял. Как думаете - есть у кложи тут перспективы? deeplearning4j - тоже JVM и кложей тут хорошо оборачивать. Но все же задумываюсь в перспективе DL, а не пора ли переучиваться на Python....

andfadeev11:02:50

Not bad, but let’s try it with something harder. Personally, I’m not even sure whether this is a cat or a dog.

andfadeev11:02:59

сорри за оффтоп)

bovoid11:02:27

КОТОПЕС!

just.sultanov11:02:55

@potapenko на днях мелькало в новостях, что-то про tensorflow и java api http://jug.ru/2017/02/digest-machine-learning/

potapenko11:02:32

@just.sultanov о! это интеерсно. но проблема не в апи, проблема в том, как код отдать на GPU

potapenko11:02:56

хотя может core.matrix умеет с gpu работать, не знаю

potapenko11:02:43

нужно cortex порыть, как он это решает

potapenko11:02:38

слишком много хайпа вокруг TensorFlow, гугл пиарит… в сравнении с другими выигрыша там сильно нет как я понял

v.kolesnikov11:02:17

Без пиара далеко не уедешь к сожалению...

savelichalex11:02:57

@potapenko есть же даже книга про это дело)

potapenko11:02:42

@savelichalex смущает древний 2014 год 🙂 за четыре года с лишним после 2012 года столько всего напридумано. Где два года - пропасть.

potapenko11:02:48

я думаю clojure хорошо подойдет для подготовки данных, а вот меня волнует всякие градиенты, обратное распостранение, и всякие страшные светки/пуллинги. Как их программировать на clojure и главное на GPU?

savelichalex11:02:36

@potapenko да там просто есть ответы на твои вопросы про core.matrix и т.п.)

potapenko12:02:50

core.matrix не считает на GPU к сожалению. И проигрывает GPU вычислениям 1000x раз. Может я ошибаюсь.

larhat12:02:01

https://github.com/mikera/core.matrix — core.matrix is fully functional and usable in production applications. As well as supporting the standard Clojure data structures, multiple back end implementations exist that provide optimised matrix implementations. The most mature implementations are currently: nd4clj : This is a wrapper around the Nd4j api a native code and GPU accelerated matrix library

potapenko12:02:39

о! тогда прикольно. пошел матрикс курить, спасибо.

misha13:02:37

а у питона хоть одно преимущество перед джавой есть? (кроме синтакса, который кложа кратно кроет)

savelichalex14:02:06

@misha питон есть почти на любой *nix машине?

alexander_mihailov14:02:27

при наличие докера вопрос среды исполнения теряет смысл.

dottedmag14:02:05

@misha А как считать преимущества? Изучать питон легко, код компактный, библиотеки есть полезные.

dottedmag14:02:31

Репл и синтаксис кложура приносит обратно в джаву (а репл и девятая джава принесёт)

dottedmag14:02:24

@savelichalex В этом питон проигрывает перлу 🙂

misha14:02:49

@dottedmag я скорее о юзерах, которые уже и кложу/джаву и питон знают. Пока что не видел ни одной причины возвращаться в питон: ни репл, ни синтаксис, ни библиотеки, ни скорость, ни ностальгия, ни IDE

dottedmag14:02:26

@savelichalex Баш менее распространён, чем перл. Я повидал много юниксовых машинок, где был только tcsh.

misha14:02:27

а поверить, что в вычислительно-интенсивной области машин/дип лёрнинга он выигрывает у джавы - не могу что-то

dottedmag14:02:17

@savelichalex А вот перл5 был везде. я два года писал хрень "сходить по SSH на машинку, про которую неизвестно ничего, кроме того, что там вебсервер и почта, посмотреть вокруг, выгрести всё и отсортировать". пятый перл был везде.

dottedmag14:02:46

@misha Если вычисления все на GPU, то скорость не важна же? Всё равно просто обёртка.

misha14:02:52

разве что да, 3-строчные скрипты, но тут лумо начинает наверстывать (если есть возможность установить что-то)

misha14:02:31

дык вот! а в чем прикол обертки? синтаксис + факт существования.

dottedmag14:02:47

И библиотеки. Для кложуры есть аналог beautifulsoup?

misha14:02:32

полюбому есть, потому что в джаве есть. либо юзкейсы покрыты разными либами.

misha14:02:25

он же для работы с xml? я его для xpath'a использовал и парсить мусор всякий, вот прямо сейчас для xpath domna'у использую

dottedmag14:02:37

он для парсинга tag soup

misha14:02:03

обертка над джавой первая попавшаяся

dottedmag14:02:54

ну, да. вряд ли найдётся что уникальное на питоне 🙂

dottedmag14:02:03

всегда есть уродец на джаве и обёртка к нему.

andmed14:02:43

почему python решает в deep learning-ге как и в любой другой прикладной среде понятно: он теперь язык выбора при преподавании основ программирования в штатах. соответственно если чел не выбирает пути настоящего кодера, с архитектурой этой самой, а решает прикладные задачи, то он берет простой известный интерпретируемый язык (питон) и нужные ему библиотеки, в коих необходимая скорость и достигается

misha14:02:30

думаю, что обертка всегда в состоянии решить вопрос "уродца", хоть потенциально

misha14:02:15

но сам все годы джавы после питона плевался ежедневно, автокомплитил себе и бурчал opieop

kxepal14:02:53

@misha А уже есть что-то подобное ipython notebook для java?

misha14:02:02

It is an interactive computational environment, in which you can combine code execution, rich text, mathematics, plots and rich media. 
The Jupyter Notebook is a web application that allows you to create and share documents that contain live code, equations, visualizations and explanatory text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, machine learning and much more.

dottedmag14:02:29

кстати, где-то был же "бахатый репл" с графиками.

misha14:02:11

нууу, eklipse plugin и clojurespript. + электрон/лайттейбл с инлайн графиками, quill

dottedmag14:02:18

Gorilla REPL?

misha14:02:49

продукта, наверное, нет, но всё можно нахачить дешевле, чем на питоне с нуля

dottedmag14:02:46

Так и представляю себе специалиста по AI: "с чего бы начать? начну-ка я с того, что нахачу себе аналог ipython notebooks."

misha14:02:27

пайтон ноутбук - это ж юай по-сути

kxepal15:02:47

@misha есть инструменты, принятые в сообществе. Любой DS фигачит эксперименты в ноутбуке. Ими же обмениваются, переиспользуют и по ним оформляют конечный продукт. Вот ты такой во все поля ява прогер приходишь со своей кложей и электроном - как бы будешь работать в команде?

kxepal15:02:59

ipython notebook это чуть больше чем UI для repl.

misha15:02:28

@kxepal ну хоть аргумент "как будешь работать в команде?" и валидный, но он так же подходит к "как работать с кложей в команде пхпшников"

kxepal16:02:26

@misha ну как бы вот и ответ на счет преимуществ (:

misha16:02:52

такой себе ответ opieop

kxepal16:02:52

ну как же. собрать команду пхпшников, которая будут делать вещи, проще, чем команду кложуристов (: тоже самое с питоном в data science: гораздо проще сколотить команду питонистов, которая будет делать эксперименты и давать результат, чем искать кто умеет в скалку на спарке и платить ему еще в два раза больше.

dottedmag19:02:01

@misha Ну, ты не только с условной кложей к условным похапэшникам приходишь, ты ещё и приходишь с инструментом, который хуже, чем тот, что у них есть.

dottedmag19:02:46

Новый оптимизирующий компилятор Clojure->CLR: https://vimeo.com/203271192

leov21:02:00

@nicola [15:38] > Я говорил с чувакам из postgrepro - они скептичны насчет эффективного триплстора а есть почитать лог чата или что-нибудь побольше на эту тему?

leov21:02:04

и про трипл сторы?

leov21:02:09

(я всё же не оставляю мысль когда-нить сесть переписывать датомик, но опыта пока не хватает))

misha23:02:48

@dottedmag ок, а в чем питон выигрывает/выиграет в контексте: команда 10 питон-датасаентистов и команда 10 кложа-датасаентистов?

misha23:02:44

(необязательно залазить в дип лернинг, чтобы кложа проиграла аргументам "ну мы уже на # хачим, что ты к нам с кложей пришел" и "сложно будет искать 1000 прарамистов")