Есть отличный инструмент для обучения/отчётов/написания умных книг про код — Jupyter Notebook. Если отчёт или книга, например, пишутся на кириллице, а нужно быстро сделать из этого PDF с красивыми формулами и тире правильной длины, то сразу обнаруживается проблема: в стандартном шаблоне, который Jupyter использует для конвертации блокнотов в PDF через LaTeX, нет подключения нужных пакетов с нужными параметрами, поэтому LaTeX просто не компилируется и PDF не получить.
Читать полностью »
Рубрика «Julia» - 6
Настройка LaTeX-шаблонов для Jupyter notebook
2016-03-18 в 11:15, admin, рубрики: ipython, ipython notebook, Julia, jupyter, jupyter notebook, python, R, research, toolsРабота с приватными репозиториями и другие обновления платформы FlyElephant
2016-03-07 в 23:04, admin, рубрики: big data, blender, c++, FlyElephant, gcc, gromacs, HPC, java, Julia, Microsoft Azure, octave, OpenFOAM, openmp, python, R, SciLab, Блог компании FlyElephant, высокая производительность, научные расчёты, Облачные вычисления, параллельное программирование, стартапы
Команда платформы FlyElephant подготовила ряд обновлений, которые позволяют работать с приватными репозиториями, повышают безопасность системы и улучшают работу с задачами.
FlyElephant — это платформа для ученых, которая предоставляет готовую вычислительную инфраструктуру для проведения расчетов, помогает находить партнеров и совместно работать над проектами, а также управлять всеми данными из одного места. FlyElephant автоматизирует рутинные задачи и позволяет сосредоточиться на основных вопросах исследований.
В качестве вычислительного ресурса используется облако Azure. Пользователи могут запускать вычислительные задачи, написанные с помощью С++ (с поддержкой OpenMP), R, Python, Octave, Scilab, Java, Julia, OpenFOAM, GROMACS, Blender на серверах с количеством ядер от 1 до 32 и оперативной памятью до 448 ГБ.
Среди нововведений можно отметить следующие:
Читать полностью »
FlyElephant как инструмент для вычислений на C++, R, Python или Octave
2016-01-20 в 12:31, admin, рубрики: big data, blender, c++, FlyElephant, gcc, gromacs, HPC, java, Julia, octave, OpenFOAM, openmp, python, R, SciLab, Блог компании FlyElephant, высокая производительность, научные расчёты, Облачные вычисления, параллельное программирование, стартапы 
Приветствую всех!
Сегодня я расскажу о возможностях платформы FlyElephant для ученых и инженеров, которые в своей работе проводят различные вычисления на C++, R, Python или Octave. Это могут быть научные расчеты, анализ данных, моделирование или другие задачи. 22 января я буду проводить вебинар “Введение в FlyElephant”, на котором детально расскажу о платформе FlyElephant, а сегодня в общих чертах познакомлю вас с ней и покажу процесс проведения расчетов.
FlyElephant — это платформа, которая предоставляет ученым готовую вычислительную инфраструктуру для проведения расчетов, автоматизирует рутинные задачи и позволяет сосредоточиться на основных вопросах исследований.
Читать полностью »
Новые инструменты (Octave и Scilab) во FlyElephant и анонс вебинаров
2016-01-11 в 14:08, admin, рубрики: big data, blender, c++, data mining, FlyElephant, gcc, gromacs, HPC, java, Julia, octave, OpenFOAM, openmp, python, R, SciLab, Блог компании FlyElephant, вебинар, высокая производительность, научные расчёты, Облачные вычисления, параллельное программирование, стартапы, метки: FlyElephant 
Команда FlyElephant поздравляет всех с наступившим Новым Годом. Мы начинаем этот год с расширения списка инструментов, вебинаров и формирования сообщества вокруг проекта.
FlyElephant — это платформа, которая предоставляет ученым готовую вычислительную инфраструктуру для проведения расчетов, автоматизирует рутинные задачи и позволяет сосредоточиться на основных вопросов исследований.
Для пользователей платформы FlyElephant стали доступны Octave и Scilab, таким образом полный список поддерживаемых языков и инструментов следующий: GCC (с поддержкой OpenMP), R, Python (v2 & v3), Octave и Scilab. Для участников программы бета-тестирования стал доступен следующий инструментарий: Java (v7 & v8), Julia, OpenFOAM, GROMACS и Blender. Если Вы еще не являетесь пользователем платформы FlyElephant, то зарегистрироваться можно здесь. В честь Нового Года Вы можете пополнить свой счет на $300 введя в Личном кабинете специальный промо-код: 195708679772.
Читать полностью »
Вероятностное программирование в компьютерном зрении: 31 строка кода вместо тысяч
2015-04-14 в 7:49, admin, рубрики: Julia, вероятностное программирование, искусственный интеллект, Компьютерное зрение, машинное обучение, Программирование 
Верхний ряд — 2D-фотографии человеческих лиц; средний ряд — результат 3D-моделирования в программе MIT; нижний ряд — результат 3D-моделирования в одной из предыдущих программ
Множество программных приложений последнего времени, в том числе распознавание образов и речи, обнаружение спама и кредитный скоринг, — это результат работы алгоритмов машинного обучения, когда нейросеть обучается на большом объёме данных.
Данная область бурно развивается в последнее время, а сфера применения машинного обучения становится шире. Неудивительно, что в 2013 году DARPA запустило четырёхлетний исследовательских проект для поиска более эффективных способов разработки приложений, в частности — для разработки языков так называемого вероятностного программирования.
Читать полностью »
Наследование комбинаторных парсеров на Julia
2014-10-28 в 11:33, admin, рубрики: Julia, Компиляторы, наследование, ненормальное программированиеКомбинаторные (монадические) парсеры достаточно хорошо известны (wikibooks). Они представляют из себя библиотеку маленьких парсеров, которые распознают простые элементы грамматики, и способы объединять несколько парсеров в один (комбинировать — от сюда и название). Монадические они потому что один из способов комбинирования, порождения парсера остатка текста на основе результата разбора начала, удовлетворяет условиям, накладываемым на математический объект «монада». В языке Haskell это позволяет воспользоваться мощным сервисом, предоставляемым языком и библиотеками. В других языках название «монадические» можно смело игнорировать — это не будет мешать их реализации и использованию, включая упомянутую выше операцию «bind».
Проще всего комбинаторные парсеры реализуются в языках с поддержкой замыканий, но можно воспользоваться и классическим ООП (пример описан Rebecca Parsons в книге Мартина Фаулера «Предметно-ориентированные языки»).
К преимуществам комбинаторных парсеров относится простота использования (запись на языке программирования практически не отличается от обычного описания грамматики), независимость от препроцессора (как yacc/bison, happy или ocamlyacc), возможность реализовать некоторые элементы, плохо укладывающиеся в контекстно-свободную грамматику, прямо на языке программирования общего назначения.
К недостаткам — сложность составления сообщений об ошибке, неспособность работать с леворекурсивной грамматикой (приводит к зацикливанию), а так же то, что очень легко сделать этот парсер не эффективным по быстродействию и памяти. (Одна из причин — компилятор не может произвести оптимизацию в терминах грамматики, так как работает на уровне языка программирования. Но есть и другие тонкости, требующие внимания, если требуется эффективность.)
Как альтернативу можно рассмотреть реализации в виде макросов (например OCaml streams parsers). В Perl6 поддержка грамматик встроена в язык.
Наследование
Персер конкретного языка состоит из множества более специализированных парсеров, ссылающихся друг на друга. В этом отношении парсеры напоминают методы некого объекта. Возникает желание порождать парсеры новых версий языков, подменяя отдельные подпарсеры (как это делается в паттерне проектирования «шаблонный метод» из ООП). Для экспериментов с этим подходом (а так же в порядке изучения очередного языка) я выбрал язык Julia — динамически-типизированном с особым подходом к наследованию (подобному CLOS из Common Lisp и R).
В отличие от обычных комбинаторных парсеров, подход с наследованием является экспериментальным (хотя в некотором виде поддерживается библиотекой макросов OCaml и языком Perl6). Пока он порождает не очень читабельный код. Исходный код доступен на Github.
Читать полностью »
Почему я делаю ставку на Julia
2014-02-03 в 17:48, admin, рубрики: fortran, Julia, python, Программирование, производительность
Совсем о Julia не говорим тут. Один пост двухлетней давности от Ализара, и всё. Исправляем ситуацию.
Большинство языков программирования сталкиваются с одной и той же проблемой — их создатели без ума от вещей, которые меня практически не волнуют: безопасность, системы типов, гомоиконность и так далее. Всё это очень круто, не спорю, но когда я вожусь по вечерам над своим очередным проектом, мне важна только его работоспособность и производительность. Код — это всего лишь средство для достижения некоторой цели, а его «выразительность» для меня важна так же, как и «выразительность» какого-нибудь каталитического конвертера.
Такой подход к делу некоторые презрительно называют ковбойским программированием. Но мне кажется, что это не самый правильный образ — ковбой вынужден периодически устраивать привалы из-за физических ограничений своего коня. Давайте лучше представим одержимого учёного, эдакого профессора, который неделями пропадает в лаборатории, а потом выходит оттуда изнурённый, с затуманенным взором, со своим новым хитроумным изобретением, которое разваливается при первом же запуске.
Читать полностью »
Записи конференции Lang.NEXT 2012 для тех, кто интересуется языками программирования
2012-04-16 в 10:53, admin, рубрики: .net, bloom, c++, dart, haskell, java, javascript, Julia, roslyn, scale, windows runtime, Блог компании Microsoft, Программирование, разработка, языки программирования, метки: .net, bloom, c++, dart, haskell, java, javascript, roslyn, scale, windows runtime, языки программирования 
В начале апреля на базе кампуса Microsoft в Рэдмонде прошла специализированная индустриальная конференция, посвященная языкам программирования — Lang.NEXT 2012. В рамках конференции своими наработками и результатами исследований поделились эксперты известных корпораций (например, Microsoft, Google, Facebook, Oracle) и ведущих университетов (включая MIT, Stanford, Berkeley).
Для всех энтузиастов мира программирования на Channel 9 доступны записи и презентации выступлений.
Читать полностью »
Программирование / [Перевод] Почему мы создали Джулию, новый ЯП для технических вычислений
2012-02-20 в 14:10, admin, рубрики: Julia, Matlab, обработка данных, язык программирования
Если вкратце, потому что мы жадные.
Мы продвинутые пользователи Matlab. Некоторые из нас хакеры Lisp. Некоторые питонисты, другие рубисты, есть ещё Perl-хакеры. Среди нас есть такие, кто начал использовать Mathematica прежде, чем у него начали расти волосы на лице. Есть и такие, у кого до сих пор не выросли. Мы сгенерировали больше R plots, чем способен любой здравомыслящий человек. C — язык программирования на нашем необитаемом острове.
Мы любим все эти языки; они прекрасны и могучи. Для той работы, которую мы делаем — научные вычисления, машинное обучение, дата-майнинг, крупномасштабная линейная алгебра, распределённые и параллельные вычисления —Читать полностью »
