Size: a a a

Язык программирования Julia / Julia programming language

2020 January 10

AN

Alexey Neznanov in Язык программирования Julia / Julia programming language
Kirill Tsaregorodtsev
Вообще конечно на мой взгляд хайп какой-то огромный вокруг нейросетей и дифференцируемого мира )) особенно устрашающе в этом контексте выглядят всякие примеры, когда изменяем пару пикселей, и кот распознаётся как собака. Как бы не оказалось так в итоге, что программы пишут сами себя, но мы не понимаем, почему они работают и в каких случаях могут внезапно дать сбой
Ну тут всё не так плохо. Есть волшебное слово Robustness :)
См., например, Projected gradient descent (PGD) attack и adversarial training.
Для начала удобно втупить в "Know your enemy" (http://towardsdatascience.com/know-your-enemy-7f7c5038bdf3)
источник

АО

Андрей Оськин in Язык программирования Julia / Julia programming language
Vladimir
Спасибо! У меня как раз мало параметров. Думал если если переписать под дуальные числа быстрее будет, но нет. В итоге Optim + ForwardDiff для оптимизации REML функции оказались быстрее всего, надо конечно разные солверы для JuMP пробовать.
Я почитал внимательнее ноутбуки от Майка и понял, что глупость сказал. Важно не само по себе количество параметров, а соотношение размерностей на входе и выходе.

То есть, если нужно продифференцировать скалярную функцию зависящую от большого количества параметров (случай нейросетей, где оптимизируют функцию потерь), то нужно использовать ReverseDiff, а ForwardDiff будет очень сильно проигрывать.

Если наоборот, нужно продифференцировать векторную/матричную функцию небольшого числа параметров (например найти касательный вектор кривой в каком-нибудь многомерном пространстве), то тогда нужно использовать ForwardDiff, а ReverseDiff будет считать крайне неэффективно.

Вообще, очень рекомендую его записи почитать, очень много полезного, очень простым языком объясняется.
источник
2020 January 13

VM

Viktor Maslov in Язык программирования Julia / Julia programming language
Товарищи, вопрос возможно тривиальный, но я не специалист в данной области. Есть файл *.jl в котором есть некий расчет. Хочу интерфейс пользователя к нему на вебе типа сингл пейдж. Как это сделать? Где почитать посмотреть?
источник

АО

Андрей Оськин in Язык программирования Julia / Julia programming language
С этим не то, чтобы очень здорово.

Апи можно довольно легко сделать, для этого несколько пакетов есть:
https://discourse.julialang.org/t/genie-jl-global-session-variables/33260/2?u=skoffer
источник

АО

Андрей Оськин in Язык программирования Julia / Julia programming language
Ну а визуальную часть надо будет как-то руками собирать.
источник

АО

Андрей Оськин in Язык программирования Julia / Julia programming language
Были ещё варианты, с использованием jupyter
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
Ещё упоминают Эшер.jl и webio
источник

VM

Viktor Maslov in Язык программирования Julia / Julia programming language
Андрей Оськин
Были ещё варианты, с использованием jupyter
А с вариантами 3d. Типа построить объект и покрутить руками типа прикрутить библиотеку opengl. Или лучше другой язык взять?
источник

АО

Андрей Оськин in Язык программирования Julia / Julia programming language
https://discourse.julialang.org/t/make-a-webapp-framework-ecosystem-as-awesome-as-rs-shiny-a-challenge-to-julias-community/9533/24?u=skoffer

Можно там вверх-вниз по треду посмотреть. Правда обсуждение достаточно старое, но какое уж есть.
источник

VM

Viktor Maslov in Язык программирования Julia / Julia programming language
Спасибо. Почитаю.
источник

АО

Андрей Оськин in Язык программирования Julia / Julia programming language
3d...
Так это тогда вопрос чем рисовать. Есть Makie, но это наверное не совсем то, что нужно.
Скорее всего можно поискать какую-нибудь js библиотеку и посмотреть, есть ли для неё обёртки на джулии. Но это как бы ортогональная задача.
1) Где-то на бэкенде (на Джулии?) посчитать все необходимые данные и сделать api, которое умеет эти данные отдавать по запросу
2) Где-то на фронте нарисовать интерфейс, который умеет эти данные хорошо визуализировать.
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
Были красивые примеры какие то в plotly...
источник

FO

FORTRAN ONE LOVE in Язык программирования Julia / Julia programming language
источник

VM

Viktor Maslov in Язык программирования Julia / Julia programming language
Спасибо. Поможет
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
Viktor Maslov
Спасибо. Почитаю.
если следовать идеям разделения данных как таковых и кода разметки, то на Julia делаются чистые сервисы API (REST, GraphQL и пр.), а вот за визуализацию отвечает часть, написанная на JS. Типа Vue.js, Angular, React и пр.
источник

АО

Андрей Оськин in Язык программирования Julia / Julia programming language
+
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
источник

VM

Viktor Maslov in Язык программирования Julia / Julia programming language
👍
источник

АО

Андрей Оськин in Язык программирования Julia / Julia programming language
Тут конечно другой вопрос, что время от времени возникают вопросы "хотим shiny/dash". И это конечно выглядит поначалу довольно привлекательно - ты в Julia пишешь простой код, который трансформируется в соответстветствующий html/js. Но у таких инструментов постоянно встречаются ограничения и на практике всё равно все приходят в результате к раздельному написанию фронта и бека.

Поэтому никто ничего такого в результате и не написал 😊
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
Андрей Оськин
Тут конечно другой вопрос, что время от времени возникают вопросы "хотим shiny/dash". И это конечно выглядит поначалу довольно привлекательно - ты в Julia пишешь простой код, который трансформируется в соответстветствующий html/js. Но у таких инструментов постоянно встречаются ограничения и на практике всё равно все приходят в результате к раздельному написанию фронта и бека.

Поэтому никто ничего такого в результате и не написал 😊
это, в какой-то степени, рассмотрено в https://habr.com/ru/post/439442/
источник