IPython + Jupyter

Вопросы написания собственного программного кода (на любых языках)

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

IPython + Jupyter

Непрочитанное сообщение Olej » 26 фев 2018, 16:16

IPython
IPython — интерактивная оболочка для языка программирования Python, которая предоставляет расширенную интроспекцию, дополнительный командный синтаксис, подсветку кода и автоматическое дополнение.
IPython позволяет осуществлять неблокирующее (англ. non-blocking) взаимодействие с Tkinter, GTK, Qt и WX. Стандартная библиотека Python включает лишь Tkinter. IPython может интерактивно управлять параллельными кластерами, используя асинхронные статусы обратных вызовов и/или MPI. IPython может использоваться как замена стандартной командной оболочки операционной системы, особенно на платформе Windows, возможности оболочки которой ограничены. Поведение по умолчанию похоже на поведение оболочек UNIX-подобных систем, но тот факт, что работа происходит в окружении Python, позволяет добиваться большей настраиваемости и гибкости.
Операционная система : Кроссплатформенное программное обеспечение
Первый выпуск : 2001
Думаю (IMHO !), что популярность IPython + Jupyter обеспечивается только потребностями OS Windows (там нет нормального терминала Python) и возможностями переносимости меж системами... В Linux оно бы и не нужно было ... думаю. ;-)
Начиная с версии 4.0, монолитный код был разбит на модули, и независимые от языка модули были выделены в отдельный проект Jupyter[3][4]. Наиболее известной веб-оболочкой для IPython является Jupyter Notebook (ранее известный как IPython Notebook), позволяющая объединить код, текст и диаграммы, и распространять их для других пользователей[5].
Начало обсуждение Jupyter, начиная от того где взять, как установить и начать использовать - здесь: Машинное обучение (нейронные сети).

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: IPython + Jupyter

Непрочитанное сообщение Olej » 26 фев 2018, 16:23

Наглядный и понятный пример:
Вложения
j5.png

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: IPython + Jupyter

Непрочитанное сообщение Olej » 26 фев 2018, 16:24

Olej писал(а):Наглядный и понятный пример:
Магия
Важной частью функционала Jupyter Notebook является поддержка магии. Под магией в IPython понимаются дополнительные команды, выполняемые в рамках оболочки, которые облегчают процесс разработки и расширяют ваши возможности. Список доступных магических команд можно получить с помощью команды
%lsmagic
Вложения
j6.png

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: IPython + Jupyter

Непрочитанное сообщение Olej » 26 фев 2018, 17:08

Примеры того как:
1. запустить Python приложение из файла Python-приложения (%run ...).
2. измерить время работы кода в рамках одной ячейки (%time ... - показано время выполнения внешнего файла, но так же может быть и код в ячейке).
3. последовательный запуск и оценка среднего времени и его разброса для нескольких лучших результатов (%timeit ... - 7 лучших из 100 запусков?).
Вложения
j9.png

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: IPython + Jupyter

Непрочитанное сообщение Olej » 26 фев 2018, 17:56

Бесплатная GPU Tesla K80 для ваших экспериментов с нейросетями:
1 февраля в 18:21
Изображение
Около месяца назад Google сервис Colaboratory, предоставляющий доступ к Jupyter ноутбукам, включил возможность бесплатно использовать GPU Tesla K80 с 13 Гб видеопамяти на борту. Если до сих пор единственным препятствием для погружения в мир нейросетей могло быть отсутствие доступа к GPU, теперь Вы можете смело сказать, “Держись Deep Learning, я иду!”.
Наличие GPU ускорителя является критическим фактором для скорости обучения deep learning моделей. Без GPU обучение нейросети займет многие часы/дни и не позволит полноценно экспериментировать со структурой сети. Объем видеопамяти так же важен. Больше памяти — можно установить больший размер батча и использовать более сложные модели. На сегодняшний день 13G это хороший объем, если захотите получить примерно столько же у себя на столе, придется покупать GPU уровня GTX 1080 Ti.
Что такое Colaboratory
Это форк популярной среды Jupyter notebook. Ваши ноутбуки доступны через google drive в .ipynb формате и вы можете их запускать у себя локально. Поддерживается Python 2.7 и 3.6. Код исполняется на сервере в docker контейнере. Можно закрыть браузер, все процессы на сервере продолжат работать, позже можно подключиться к серверу снова. Docker контейнер выдается вам во временное пользование на 12 часов. Вы имеете root привилегии, и можете устанавливать и запускать любые программы внутри контейнера.
Для создания нового ноутбука перейдите по ссылке. После успешного логина и создания ноутбука в меню выберете Runtime -> Change Runtime Type, в открывшемся диалоге в опции Hardware acceleration установите GPU, далее save.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: IPython + Jupyter

Непрочитанное сообщение Olej » 26 фев 2018, 19:58

Olej писал(а): Для создания нового ноутбука перейдите по ссылке. После успешного логина и создания ноутбука в меню выберете Runtime -> Change Runtime Type, в открывшемся диалоге в опции Hardware acceleration установите GPU, далее save.
с1.png
c2.png

Только не: Runtime -> Change Runtime Type (так, возможно, было когда-то), а Edit -> Notebook Settings :
c3.png
Только что вот это? :-o :
c4.png
Это недоступно сейчас (все GPU заняты)? или недоступно вообще? или недоступно для меня? :shock:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: IPython + Jupyter

Непрочитанное сообщение Olej » 26 фев 2018, 20:04

Olej писал(а): Только не: Runtime -> Change Runtime Type (так, возможно, было когда-то), а Edit -> Notebook Settings :
File -> Locate in Drive ... и все созданные ноутбуки сохраняются на вашем Google Диск ... который тут же откроется на новой соседней вкладке:
с5.png

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: IPython + Jupyter

Непрочитанное сообщение Olej » 26 фев 2018, 20:17

По всему видно, что это те же (виртуальные) ноутбуки .ipynb, что и создаваемые локально Jupyter ... вот Google / Colaboratory ноутбук:
c6.png
Сравните с показываемым раньше ноутбуком Jupyter:
Изображение
А с чего бы им отличаться?!
Только тем, что Colaboratory .ipynb хранятся где-то там на облаках Google ... или даже на ваших собственных Google Диск.
Такие же .ipynb Jupyter хранятся как локальные файлы в файловой системе Linux.
И утверждается, что Colaboratory .ipynb могут downlod локально, и с ними можно продолжать автономную работу.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: IPython + Jupyter

Непрочитанное сообщение Olej » 28 фев 2018, 01:18

Olej писал(а): Начало обсуждение Jupyter, начиная от того где взять, как установить и начать использовать - здесь: Машинное обучение (нейронные сети).
Обстоятельное (по объёму) объяснения относительно использования Jupyter ... на пальцах - дано в книге, которую можете свободно скачать (описано здесь):
Изображение
Начиная со страницы ~130 и далее...
Там же даётся и начальный уровень языка Python ... для тех, кто с ним не "на ты".

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: IPython + Jupyter

Непрочитанное сообщение Olej » 01 мар 2018, 00:48

Olej писал(а):Это недоступно сейчас (все GPU заняты)? или недоступно вообще? или недоступно для меня? :shock:
Нет.
В другое время тот же облачный ноутбук Colaboratory:
t0.png
И, как рекомендуют в проекте TensorFlow проверяем наличие/использование GPU / CUDA в этом конкретном ноутбуке:
t1.png
Это очень будет нужно там, где требуется суперпроизводительность, а в остальных случаях можно пользоваться локальным Jupiter.

Ответить

Вернуться в «Программирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей