Русский
Русский
English
Статистика
Реклама

Datalore

Мы скачали 10 миллионов Jupyter-ноутбуков с Github и вот что мы выяснили

17.12.2020 20:07:58 | Автор: admin

Привет, Хабр!

На связи команда Datalore by JetBrains. Хотим поделиться с вами результатами анализа нескольких миллионов публично доступных репозиториев Github с Jupyter-ноутбуками. Мы скачали ноутбуки, чтобы немного больше узнать в цифрах о текущем статусе, пожалуй, самого популярного инструмента для data science.

Вдохновившись исследованием, проведенным командой Design Lab из UC San Diego, мы дважды скачали Jupyter-ноутбуки: в октябре 2019 и в октябре 2020.

Два года назад в открытом доступе было 1,23 миллиона ноутбуков. В октябре 2020 года число ноутбуков выросло в 8 раз, и мы смогли скачать 9,72 миллиона файлов. Этот датасет мы сделали публичным инструкцию по скачиванию можно найти в конце поста.

Все цифры и графики были подсчитаны в этом Datalore ноутбуке. Datalore это онлайн Jupyter-ноутбуки с умной поддержкой кода, которые мы делаем в JetBrains. Вы можете создать копию ноутбука, перейдя по ссылке, и работать с данными в Datalore.

Мы будем рады, если вы захотите поработать с данными и провести собственный анализ. Делитесь с нами результатами, отмечая в Твиттере @JBDatalore или написав нам на contact@datalore.jetbrains.com.

Теперь перейдем к цифрам.

Язык data science

Несмотря на большой рост популярности R и Julia в последние годы, Python остается лидирующим программным языком для Jupyter-ноутбуков.

Помимо этого встречаются ноутбуки, написанные на Bash, MatLab и Scilab, а также на языках, с которыми ноутбуки ассоциируются, пожалуй, в последнюю очередь: Scala, C++ и Java.

На графике можно посмотреть распределение языков программирования в ноутбуках. Ноутбуки, язык которых не был указан в метаданных, относятся к категории nan.

В табличке можно увидеть разницу в процентах использования Python 2 и Python 3 в ноутбуках в 2018, 2019 и 2020 годах.

Python 2

Python 3

Other languages

Исследование 2018

52,5%

43,8%

3,7%

Исследование 2019 (JetBrains Datalore)

18,1% (всего 1029 K)

72,6% (всего 4128 K)

9,3% (всего 529 K)

Исследование 2020 (JetBrains Datalore)

11,8% (всего 1154 K, +125 K к 2019)

79,3% (всего 7710 K, +3582 K к 2019)

10,8% (всего 1050 K, +521 K к 2019)

Количество ноутбуков, написанных на Python 3, увеличилось с 2019 года на 87%, а количество ноутбуков с Python 2 на 12%.

На графике ниже можно увидеть распределение количества ноутбуков, написанных на Python и R, по версиям языков:

Топ библиотек data science

Чтобы помочь пользователям Datalore начать работу с ноутбуками как можно быстрее, мы предустановили самые используемые Python-библиотеки. Для этого мы посчитали статистику импортов в скачанных Jupyter-ноутбуках.

Не оказалось неожиданностью, что 60% ноутбуков содержат в списке зависимостей Numpy, 47% импортируют Pandas и Matplotlib.

Более подробную информацию можно увидеть на графике:

Самые популярные комбинации библиотек:

Рост PyTorch и TensorFlow

Члены нашей команды интересуются библиотеками для глубинного обучения, и мы решили сравнить рост библиотек PyTorch и TensorFlow.

Из таблицы ниже можно увидеть, что число импортов у PyTorch растет значительно быстрее, чем у TensorFlow.

В то же время нужно учитывать, что библиотека Keras может использовать TensorFlow в качестве транзитивной зависимости, а Fast.ai использует PyTorch в качестве зависимости. Это означает, что скорость роста TensorFlow, вероятно, выше, но мы не можем говорить с уверенностью, какая из библиотек больше использовалась в последние годы.

TensorFlow

Keras

PyTorch

Fastai

Исследование 2019 (JetBrains Datalore)

321 K

231 K

110 K

19 K

Исследование 2020

(JetBrains Datalore)

430 K (+34%)

367 K(+59%)

253 K(+130%)

25 K(+32%)

Содержание ячеек в ноутбуках

Немного общих цифр относительно ячеек (данные подсчитаны для ноутбуков, написанных на Python 3.6 и выше):

  • 71,90% ноутбуков содержат Markdown.

  • 42,13% ноутбуков содержат графики или картинки в output.

  • 12,34% ноутбуков содержат LaTex.

  • 19,77% ноутбуков содержат HTML.

  • 20,63% ноутбуков содержат код внутри Markdown.

Markdown очень широко используется в Jupyter-ноутбуках. 50% ноутбуков содержат более 4 ячеек Markdown и более 14 ячеек кода.

Графики ниже показывают распределения Markdown-ячеек и ячеек с кодом:

На графике ниже можно увидеть распределение количества строк кода. Хотя существуют отдельные экземпляры ноутбуков, имеющие более 25 000 строк кода, 95% ноутбуков содержат менее 465 строк:

Использование графиков тоже популярно. Выше мы упоминали, что 42% ноутбуков содержат визуализации. 10% этих ноутбуков содержат более 8 изображений.

Воспроизводимость Jupyter-ноутбуков

Для Jupyter-ноутбуков существует проблема не всегда готовый ноутбук можно воспроизвести. Зачастую это означает, что ячейки были выполнены автором не в прямой последовательности. Мы проверили порядок выполнения ячеек кода всех доступных Jupyter-ноутбуков и выяснили, что 36% Jupyter-ноутбуков выполнены в нелинейном порядке, т. е. при исполнении кода линейно результат выполнения может отличаться.

Мы стали смотреть детальнее, зависит ли порядок выполнения кода в ноутбуке от количества Markdown-ячеек и ячеек кода. Не удивительно, но оказалось, что, чем меньше ячеек кода в ноутбуке, тем меньше вероятность, что код выполнен в линейном порядке.

Количество Jupyter-ноутбуков невероятно выросло за последние годы, и в этом исследовании мы постарались побольше узнать об этом очень популярном инструменте работы над задачами data science.

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

Ссылки

Предыдущее исследование 2018 года

Ноутбук в Datalore с предобработанными данными

Инструкция по получению доступа к данным:

  1. Скачайте оригинальный датасет:

    1. Ссылка для скачивания исходных данных из бакета (10 млн файлов, 4,4 ТБ): https://github-notebooks-update1.s3-eu-west-1.amazonaws.com/

    2. Получение списка файлов c помощью AWS S3 API может занять время, поэтому воспользуйтесь этим JSON со всеми именами файлов: https://github-notebooks-samples.s3-eu-west-1.amazonaws.com/ntbslist.json

    3. Добавьте имя файла из JSON к адресу бакета, чтобы получить прямую ссылку, например: https://github-notebooks-update1.s3-eu-west-1.amazonaws.com/0000036466ae1fe8f89eada0a7e55faa1773e7ed.ipynb

  2. Или воспользуйтесь предобработанными данными из исследования (3 ГБ). Файлы доступны в этом Datalore-ноутбуке.

Подробнее..

Как изменился Datalore за 2020 год мощная онлайн-среда для Jupyter-ноутбуков

21.01.2021 18:22:37 | Автор: admin

Привет, Хабр!


Datalore это мощная онлайн-среда для Jupyter-ноутбуков, разработанная в JetBrains. Здесь мы собрали описание самых важных обновлений Datalore за прошедший год.


image


Профессиональный план Datalore


В ноябре мы запустили Datalore Professional. Этот план был разработан для решения сложных задач с большими наборами данных, которым требуется мощное вычислительное оборудование.


Вот сравнительная таблица параметров Datalore Community и Datalore Professional.


Community Professional
Базовый CPU-процессор (4 ГБ RAM, имя AWS: t3.medium) 120 часов
Мощный CPU-процессор (16 ГБ RAM, 2 ядра vCPUs, на 400% быстрее базового CPU-процессора, имя AWS: r5.large) 120 часов
GPU-процессор (1 NVIDIA T4 GPU, 16 ГБ RAM GPU, 4 ядра vCPU, имя AWS: g4dn.xlarge) - 20 часов
Хранилище 10 ГБ 20 ГБ
Цена Бесплатно 19,90$ в месяц

Улучшения в редакторе кода


Анализ кода из PyCharm


В начале года мы интегрировали анализ кода из PyCharm, добавив автодополнение кода, рефакторинги, быстрые исправления и навигацию в Datalore. Теперь вы можете пользоваться такой же первоклассной помощью при написании кода, как в PyCharm, в своих онлайновых Jupyter-ноутбуках.




Совместимость с ядром Jupyter


В прошлом году мы также много работали над стабильностью ядра IPython в Datalore, и сейчас оно стало намного надежнее. Еще есть над чем работать, так что мы продолжим делать ядро более стабильным в этом году.


Ядро Jupyter теперь полностью поддерживается вместе с виджетами, графическими библиотеками и shell-командами.




Кроме того, ноутбуки теперь загружаются значительно быстрее, так как нам удалось вдвое сократить время запуска Conda.


Поддержка Kotlin


Kotlin это язык программирования с открытым исходным кодом, разработанный в JetBrains. Он хорошо подходит для анализа данных и разработки мультиплатформенных приложений. В Datalore мы добавили поддержку Kotlin в ноутбуки IPython. Попробуйте! Просто выберите Kotlin в качестве языка при создании ноутбука.


Поддержка workspace-файлов и S3-бакетов


В декабре мы реализовали поддержку workspace-файлов, что позволяет обмениваться файлами данных между несколькими ноутбуками.


Для тех, кто работает с большим объемом данных, мы также добавили поддержку подключения S3-бакетов. Подробности читайте в этом блогпосте.


Улучшения пользовательского интерфейса


Боковая панель для быстрых действий


Чтобы вы могли быстрее работать с файлами и перемещаться по содержимому ноутбуков, мы добавили вкладку боковой панели внутри редактора. С этой панели есть прямой доступ к прикрепленным файлам, включая файлы ноутбука и workspace-файлы. Кроме того, вы можете использовать оглавление и обозреватель переменных. Окно быстрых команд (Shortcuts) также появится на боковой панели при открытии из меню Help.




Темный режим


В прошлом году мы представили темный режим. Вы можете изменить тему ноутбука в меню View в редакторе, где также можно включить режим Distraction free и опцию разделенного просмотра Split view.




Панель инструментов Markdown


Мы также представили панель инструментов для более удобного редактирования Markdown. Она помогает описывать код с помощью текста, формул LaTex и HTML-кода внутри ячеек Markdown.


Сотрудничество с Anaconda


У JetBrains долгая история сотрудничества с Anaconda, а PyCharm IDE для Python, рекомендованная в установщике Anaconda. С октября 2020 года и Datalore, и PyCharm представлены в новом Anaconda Navigator! Обновите Anaconda Navigator до последней версии и запускайте Datalore прямо оттуда.




Исследования и уроки:


В прошлом году мы сделали несколько интересных исследовательских и обучающих проектов:



Вот и все, что касается основных обновлений, представленных в 2020 году. Следите за нашим блогом, чтобы узнавать о новых возможностях Datalore.


Всем здорового и продуктивного года!


Команда Datalore

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru