Документация Engee

Экосистема JuliaPlots

Plots хорош сам по себе, но настоящую силу ему придает окружающая его экосистема. Задача Plots (и, в частности, RecipesBase) состоит в том, чтобы объединить разрозненные функциональные возможности в единое и согласованное пользовательское взаимодействие. Некоторые пакеты можно использовать для реализации шаблонов для визуализации пользовательских типов. Другие могут расширять функциональность Plots для типов Base. На этой странице я попытаюсь собрать и показать ряд задач, которые вы можете выполнить, используя экосистему, сложившуюся вокруг ядра Plots.

Организация JuliaPlots создает и поддерживает большую часть часто используемой функциональности, внешней по отношению к ядру Plots, а также RecipesBase, PlotUtils, документацию и многое другое.

Пакеты сообщества

AtariAlgos

AtariAlgos.jl эмулирует платформу ArcadeLearningEnvironment как реализацию AbstractEnvironment из интерфейса Reinforce. Поэтому ее можно использовать в качестве готового к работе модуля с общими агентами обучения с подкреплением.

С помощью Plots.jl можно также строить игры, что позволяет использовать их в качестве компонента более сложных визуализаций для отслеживания хода обучения и т. д. Этот пакет также упрощает создание анимаций.

8923a2f6 62e2 11e6 943f bd0a2a7b5c1f

Reinforce

Reinforce.jl является интерфейсом для обучения с подкреплением. Он предназначен для соединения модульных сред, политик и решателей с помощью простого интерфейса.

f3e18414 63a0 11e6 9f9e f531278216f9

JuliaML

Инструменты, модели и математика, связанные с машинным обучением в Julia.

93b71b42 81ac 11e6 9c7a 0cddf6d083ab

Augmentor

Augmentor.jl — это библиотека увеличения изображений, призванная сделать процесс искусственного увеличения массива данных более удобным, менее подверженным ошибкам и более простым для воспроизведения. Для этого используются конвейеры вероятностного преобразования.

3894d2b0 61b6 11e6 8b10 1cb5139bfb6d

DifferentialEquations

DifferentialEquations.jl представляет собой пакет для численного решения дифференциальных уравнений на языке Julia, разработанный Крисом Ракаукасом (Chris Rackauckas). Цель данного пакета — предоставить эффективные реализации Julia решателей для различных дифференциальных уравнений. К уравнениям, входящим в сферу применения данного пакета, относятся обыкновенные дифференциальные уравнения (ОДУ), стохастические обыкновенные дифференциальные уравнения (СОДУ или СДУ), стохастические дифференциальные уравнения в частных производных, дифференциальные уравнения в частных производных (как с использованием метода конечных разностей, так и метода конечных элементов), дифференциально-алгебраические уравнения и дифференциальные уравнения с запаздыванием. В пакет включены хорошо оптимизированные реализации классических алгоритмов и алгоритмы из последних исследований, в том числе алгоритмы, оптимизированные для высокоточных и высокопроизводительных приложений.

Все решатели возвращают объекты решения, в которых заданы шаблоны графиков для получения информативных графиков по умолчанию.

diffeq

PhyloTrees

Пакет PhyloTrees.jl обеспечивает представление типов филогенетических деревьев. Для филогенетических деревьев также доступны функции моделирования, вывода и визуализации. Шаблоны графиков позволяют изображать структуру филогенетических деревьев с помощью бэкенда, предпочитаемого пользователем.

a25374fc 608c 11e6 9160 32466b094f0b

EEG

Обработка файлов ЭЭГ и визуализация активности мозга.

210f9c28 5974 11e6 8a05 62fa399d32d1
523373a0 597a 11e6 94d9 826381617756

ImplicitEquations

В статье Таппера (Tupper) представлен метод построения графиков двухмерных неявных уравнений и неравенств. В данном пакете приводится реализация основных приведенных в статье алгоритмов, позволяющих пользователю Julia естественным образом представлять и легко отрисовывать графики неявных функций и уравнений.

687474703a2f2f692e696d6775722e636f6d2f4c4368547a43312e706e67

ControlSystems

Инструментарий проектирования систем управления для Julia. Этот инструментарий работает аналогично другим основным средствам автоматизированного проектирования систем управления (CACSD). Системы могут быть созданы как в виде функции передачи, так и в виде представления пространства состояний. Затем эти системы могут быть объединены в более крупные архитектуры, смоделированы во временной и частотной областях и проанализированы на предмет устойчивости/производительности.

pidgofplot2

ValueHistories

Пакет программ для эффективного отслеживания истории оптимизации, кривых обучения или другой информации произвольного типа и с произвольным интервалом времени выборки.

58461c20 5e2a 11e6 94d4 b4699c63ab1a

ApproxFun

ApproxFun.jl — пакет для аппроксимирующих функций. Большое влияние на него оказали пакет Matlab Chebfun и пакет Mathematica RHPackage.

extrema

AverageShiftedHistograms

Оценка плотности с использованием средне-сдвинутых гистограмм.

3bfc9a96 639b 11e6 8976 aa8bb8fabfc8

MLPlots

Общие инструкции по построению графиков для статистики и машинного обучения.

bca0158c 639c 11e6 8e36 4bfc7b36727e
cdc08752 639c 11e6 8c3c e186456630e2

LazySets

LazySets.jl является пакетом Julia для вычисления с выпуклыми множествами. Принцип LazySets заключается в том, чтобы заключить вычисления с множествами в специализированные типы, откладывая определение результата выражения до тех пор, пока в этом не возникнет необходимость. Сочетание отложенных операций в больших размерностях и явных вычислений в низких размерностях позволяет применять библиотеку для решения сложных задач большой размерности.

График достижимости двухрежимной гибридной системы:

hybrid2d

И многие другие:

  • Losses.jl

  • IterativeSolvers.jl

  • SymPy.jl

  • OnlineStats.jl

  • Robotlib.jl

  • JWAS.jl

  • QuantEcon.jl

  • Reinforce.jl

  • Optim.jl

  • Transformations.jl / Flow.jl

  • …​