Экосистема JuliaPlots
Plots хорош сам по себе, но настоящую силу ему придает окружающая его экосистема. Задача Plots (и, в частности, RecipesBase) состоит в том, чтобы объединить разрозненные функциональные возможности в единое и согласованное пользовательское взаимодействие. Некоторые пакеты можно использовать для реализации шаблонов для визуализации пользовательских типов. Другие могут расширять функциональность Plots для типов Base. На этой странице я попытаюсь собрать и показать ряд задач, которые вы можете выполнить, используя экосистему, сложившуюся вокруг ядра Plots.
Организация JuliaPlots создает и поддерживает большую часть часто используемой функциональности, внешней по отношению к ядру Plots, а также RecipesBase, PlotUtils, документацию и многое другое.
Пакеты сообщества
AtariAlgos
AtariAlgos.jl
эмулирует платформу ArcadeLearningEnvironment как реализацию AbstractEnvironment из интерфейса Reinforce. Поэтому ее можно использовать в качестве готового к работе модуля с общими агентами обучения с подкреплением.
С помощью Plots.jl можно также строить игры, что позволяет использовать их в качестве компонента более сложных визуализаций для отслеживания хода обучения и т. д. Этот пакет также упрощает создание анимаций.
Reinforce
Reinforce.jl
является интерфейсом для обучения с подкреплением. Он предназначен для соединения модульных сред, политик и решателей с помощью простого интерфейса.
Augmentor
Augmentor.jl
— это библиотека увеличения изображений, призванная сделать процесс искусственного увеличения массива данных более удобным, менее подверженным ошибкам и более простым для воспроизведения. Для этого используются конвейеры вероятностного преобразования.
DifferentialEquations
DifferentialEquations.jl
представляет собой пакет для численного решения дифференциальных уравнений на языке Julia, разработанный Крисом Ракаукасом (Chris Rackauckas). Цель данного пакета — предоставить эффективные реализации Julia решателей для различных дифференциальных уравнений. К уравнениям, входящим в сферу применения данного пакета, относятся обыкновенные дифференциальные уравнения (ОДУ), стохастические обыкновенные дифференциальные уравнения (СОДУ или СДУ), стохастические дифференциальные уравнения в частных производных, дифференциальные уравнения в частных производных (как с использованием метода конечных разностей, так и метода конечных элементов), дифференциально-алгебраические уравнения и дифференциальные уравнения с запаздыванием. В пакет включены хорошо оптимизированные реализации классических алгоритмов и алгоритмы из последних исследований, в том числе алгоритмы, оптимизированные для высокоточных и высокопроизводительных приложений.
Все решатели возвращают объекты решения, в которых заданы шаблоны графиков для получения информативных графиков по умолчанию.
PhyloTrees
Пакет PhyloTrees.jl
обеспечивает представление типов филогенетических деревьев. Для филогенетических деревьев также доступны функции моделирования, вывода и визуализации. Шаблоны графиков позволяют изображать структуру филогенетических деревьев с помощью бэкенда, предпочитаемого пользователем.
ImplicitEquations
В статье Таппера (Tupper) представлен метод построения графиков двухмерных неявных уравнений и неравенств. В данном пакете приводится реализация основных приведенных в статье алгоритмов, позволяющих пользователю Julia естественным образом представлять и легко отрисовывать графики неявных функций и уравнений.
ControlSystems
Инструментарий проектирования систем управления для Julia. Этот инструментарий работает аналогично другим основным средствам автоматизированного проектирования систем управления (CACSD). Системы могут быть созданы как в виде функции передачи, так и в виде представления пространства состояний. Затем эти системы могут быть объединены в более крупные архитектуры, смоделированы во временной и частотной областях и проанализированы на предмет устойчивости/производительности.
ValueHistories
Пакет программ для эффективного отслеживания истории оптимизации, кривых обучения или другой информации произвольного типа и с произвольным интервалом времени выборки.
ApproxFun
ApproxFun.jl
— пакет для аппроксимирующих функций. Большое влияние на него оказали пакет Matlab Chebfun и пакет Mathematica RHPackage.
LazySets
LazySets.jl
является пакетом Julia для вычисления с выпуклыми множествами. Принцип LazySets заключается в том, чтобы заключить вычисления с множествами в специализированные типы, откладывая определение результата выражения до тех пор, пока в этом не возникнет необходимость. Сочетание отложенных операций в больших размерностях и явных вычислений в низких размерностях позволяет применять библиотеку для решения сложных задач большой размерности.
График достижимости двухрежимной гибридной системы:
И многие другие:
-
Losses.jl
-
IterativeSolvers.jl
-
SymPy.jl
-
OnlineStats.jl
-
Robotlib.jl
-
JWAS.jl
-
QuantEcon.jl
-
Reinforce.jl
-
Optim.jl
-
Transformations.jl
/Flow.jl
-
…