Как стать автором
Обновить

Комментарии 30

От себя бы добавил проект Rodeo
Он очень сильно напоминает R studio, совмещает удобства python и R, при этом достаточно активно развивается.
Мне больше spyder понравился.

В эту же степь тот же Sage, который я упомянул ниже. Он также имеет интерфейс взаимодействия с R.

А бывает блокнот для питона командно-строчный? А то, куда не глянешь — сплошной веб интерфейс.
Для этого до есть ipython.

bpython/bpython3 — если не нужна поддержка шрифтов mathjax/textlive-*.
Хотя если речь о научных вычеслениях, то всё таки — нужна.
Есть qtconsole, близко к командной строке. В терминале нельзя реализовать все возможности jupyter notebook — а именно графики, интерактивные виджеты, рендер latex и т.п. В qtconsole тоже кстати далеко не всё есть из этого.
> Еще одна проблема может возникнуть у вас, если вы не обладатель linux

Такие проблемы легко решаются при помощи VirtualBox, Vagrant или Docker. А вот проблемы, связанные с сегментацией языка и его библиотек, увы так просто не решаются =(
А из VirtualBox можно дотянуться до GPU?
Интересный вопрос — есть на примете простой сниппет для проверки? Хочу попробовать.

Вообще говоря, хардварное 3D ускорение есть в том же Virtualbox. А с докером немного сложнее. Сам докер использует ресурсы хоста, т.е. вроде бы ответ да — может дотянуться и до GPU. НО! В Windows он выполняется внутри виртуального Hyper-X контейнера. Так что может быть что и не может.
Простой сниппет — попробуйте установить CUDA внутри VirtualBox.
Nvidia-Docker позволяет использовать gpu внутри контейнера на linux хостах
Doker это действительно умеет, Nvidia-docker наверное включает предустановленный CUDA, но речь тут шла о Windows, и в этом случае Docker работает внутри виртуальной машины…

Нельзя. Пока что только NVidia GRID, но, сами понимаете, обычному пользователю не по карману, и амазоновский инстанс тоже не дешёвый.

Конечно: https://www.virtualbox.org/manual/ch09.html#pcipassthrough
KVM тоже работает с iommu.

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

Вам это лично удавалось? Я пытался пробросить в VirtualBox — не завелось.


Завелось только с QEMU/KVM.

Нет, я пользуюсь KVM. А поставить два гипервизора одновременно нельзя — ядро отторгает.
Хотелось-то спокойно пробрасывать карту из уже поставленной винды в гостевой линукс. Потому что проблемы с библиотеками именно под виндой. И для поддержки iommu мне придётся проц сначала проапгрейдить…
Не нужно апргейдится. Винда не поддерживает iommu. Винда вообще очень плохо поддерживает железо. Когда может — заставляет производителей поддерживать. Они строчат гигантские костыли, которые вторгаются в действие ОС на нескольких уровней. Но когда надо проапгрейдить архитектуру ОС для поддержки принципиально новых фич — майкрософт умывает руки.
Однако, не все так гладко в python. Например, сейчас уживается две версии языка 2. и 3., обе они развиваются параллельно, однако синтаксис 2ой версии не совместим полностью с синтаксисом 3ей версии.

Мне кажеться что это не проблема потому что большинство библиотек (в т.ч. и перечисленные Вами) поддерживают как 2-ю так и 3-ю версии. А так же существуют программы такие как 2to3.

А c помощью чего можно получить код C++ код который будет пользоваться библиотеками например scipy?
Насчёт C++ не уверен, но в некотором смысле близко к этому можно подойти взяв cython например. А зачем именно, кстати? Функции в scipy обычно нетривиальные, то есть вычисления в них занимают намного больше времени, чем оверхед от вызова функций в питоне — поэтому здесь вряд ли что-то ускорится от использования C++.
Мне odepack из с++ пускать надо
две версии языка 2. и 3., обе они развиваются параллельно

Может я что-то упустил, но разве 2.х развивается? Насколько я знаю, выходят только багфиксы. Если кто сейчас начинает смотреть в сторону питона, то вряд ли берут версию 2 — уже много времени прошло, давно не помню никаких проблем что не было библиотеки под третий питон.
По-моему, достаточно много примеров, обучающих видео в сети написано/показывают 2. версии. И установив 3., например, для обучения, с большой долей вероятности ошибки будут указывать на переход к более ранней версии.
Спасибо за информацию! Получается — с помощью данных инструментов возможно сколотить программку для решения задач по сопромату и т.п.?

Разумно упомянуть Sage, раз уж вы заговорили про математику и python.


Цитата из википедии:


Система компьютерной алгебры, покрывающая много областей математики, включая алгебру, комбинаторику, вычислительную математику и матанализ.

В числе прочего, Sage построено на базе большого числа мат. пакетов:


It builds on top of many existing open-source packages: NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R and many more.

Кроме того, есть биндинги к закрытым системам компьютерной алгебры типа Magma.

Лучше Sagemathcloud. Удобнее и больше возможностей. Его с недавних пор можно с помощью Docker локально поставить.

Кому интересен Jupyter, может начать его изучение с курса Математика и Python для анализа данных.
В начале 00-х, будучу студентом, я делал вычисления в Mathematica. Недавно я увидел Jupyter и подумал: «ё-моё, это же Mathematica, только с вменяемым языком, открытая, бесплатная и в тёплом ламповом вебе!».
Для ускорения вашего кода за счет преобразования в C++ может быть реализовано по средствам библиотеки theano. Платой за такое ускорение становится синтаксис, теперь вам требуется писать theano-ориентированные функции и указывать типы всех переменных.

А как же numba? Theano всё же для другого предназначен.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации