company_banner

.NET Core с блокнотами Jupyter — Preview 1

Автор оригинала: Microsoft
  • Перевод
Когда вы думаете о блокнотах Jupyter, на ум, вероятно, приходит код Python, R, Julia или Scala, а не .NET. Сегодня мы рады сообщить, что вы можете писать .NET-код в Jupyter Notebooks.

Try .NET развился, чтобы поддерживать больше интерактивных возможностей в Интернете с помощью сниппетов исполняемого кода, генератора интерактивной документации для .NET Core с глобальным инструментом dotnet try. Ну а теперь .NET доступен в Jupyter Notebooks.



Сборка .NET Jupyter Notebooks


Чтобы начать работу с блокнотами .NET, вам потребуется следующее:

  • .NET Core 3.0 SDK или 2.1.
  • Jupyter: Вы можете установить Jupyter на свой компьютер с помощью Anaconda. Для поиска альтернативных способов установки Jupyter, пожалуйста, ознакомьтесь с официальной документацией проекта Jupyter.
  • Открыть Anaconda Prompt
  • Установить глобальный инструмент dotnet try

    dotnet tool install -g dotnet-try

  • Установить .NET kernel

    dotnet try jupyter install</li>
    <li>

    Проверить, установлен ли .NET kernel
    jupyter kernelspec list</li>
    </ul>
    <img src="https://user-images.githubusercontent.com/2546640/67889556-76fa7d00-fb25-11e9-9d23-e4178642b721.png">
    <ul>
    <li>

    Для запуска нового блокнота, вы можете набрать 
    jupyter lab
     или запустить блокнот с помощью Anaconda Navigator.
  • После запуска Jupyter Lab в выбранном вами браузере у вас есть возможность создать записную книжку на C# или F#.



Фичи


Первоначальный набор функций, которые мы добавили, должен был быть релевантным разработчикам с опытом работы над блокнотами, а также давать новым пользователям полезный набор инструментов, которые они с удовольствием захотят попробовать. Давайте посмотрим на некоторые функции, которые мы включили.

Первое, о чем вам нужно знать, — при написании C# или F# в .NET Notebook вы будете использовать Scripting C# или интерактивный F#.

Вы можете изучить функции, перечисленные ниже, локально на своем компьютере или в Интернете, используя связующий образ dotnet/try.

Для онлайн-документации, пожалуйста, перейдите в подпапку Docs, расположенную в папках C# или F#.



Список фич


Вывод на экран: Есть несколько способов отобразить вывод в блокнотах. Вы можете использовать любой из методов, показанных на изображении ниже.



Object formatters: По умолчанию в блокноте .NET пользователи могут отображать полезную информацию об объекте в табличном формате.



HTML output: по умолчанию блокноты .NET поставляются с несколькими вспомогательными методами для написания HTML. От основных помощников, которые позволяют пользователям записывать строки в виде HTML или выводить Javascript до более сложных HTML с PocketView.



Importing packages: Вы можете загружать пакеты NuGet, используя следующий синтаксис::

#r "nuget:<package name>,<package version>"

Например

# r "nuget:Octokit, 0.32.0"
# r "nuget:NodaTime, 2.4.6"
using Octokit; using NodaTime; 
using NodaTime.Extensions; 
using XPlot.Plotly; 



Графики с XPlot

Графики отображаются с использованием Xplot.Plotly. Как только пользователи импортируют пространство имен XPlot.Plotly в свои блокноты (используя Xplot.Ploty;), они могут начать создавать крутые визуализации данных в .NET.



Изучайте .NET Notebook online для получения дополнительной документации и примеров.

Блокноты .NET идеально подходят для ML.NET и .NET for Apache Spark


Блокноты .NET приносят в .NET итеративные интерактивные возможности, популярные в мире машинного обучения и больших данных.

ML.NET


ML.NET с Jupyter Notebooks

Блокноты .NET открывают для ML.NET несколько привлекательных сценариев, таких как изучение и документирование экспериментов по обучению моделей, исследование распространения данных, очистка данных, построение диаграмм с данными и обучение.

Для получения более подробной информации о том, как использовать ML.NET в блокнотах Jupyter, ознакомьтесь с этой статьей в блоге об использовании ML.NET в блокнотах Jupyter. Команда ML.NET собрала несколько online-примеров, чтобы вы могли начать работу с ними.


.NET для Apache Spark


Big Data для .NET

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

Сегодня разработчики .NET имеют два варианта запуска .NET для запросов Apache Spark в notebooks: Azure Synapse Analytics Notebooks и Azure HDInsight Spark + Jupyter Notebooks. Оба варианта позволяют вам писать и выполнять быстрые ad-hoc запросы в дополнение к разработке полных, комплексных сценариев больших данных, таких как чтение данных, их преобразование и визуализация.

Вариант 1: Azure Synapse Analytics поставляется с готовой поддержкой .NET для Apache Spark (C#).



Вариант 2: Ознакомьтесь с руководством по .NET для Apache Spark на GitHub, чтобы узнать, как начать работу с .NET для Apache Spark в HDInsight + блокнотах Jupyter.





Читайте также: 7 бесплатных курсов для разработчиков
  • +17
  • 4,1k
  • 6
Microsoft
372,44
Microsoft — мировой лидер в области ПО и ИТ-услуг
Поделиться публикацией

Похожие публикации

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

    +4
    Когда вы думаете о блокнотах Jupyter

    А если мы о них вообще не думаем? Написали бы, что это за зверь и зачем он вообще нужен. Ликбез, так сказать.

      +3

      Очень удобный инструмент для прототипирования или логирования этапов исследования, широко используемый в мире ML и в университетах. Например, можно почитать про квантовую телепортацию, деревья решений, рекуррентные нейронные сети, а потом скачать себе на устройство докер-образ с ноутбуком и воспроизвести эксперименты, либо разработать что-то своё. В основном материалы по ссылкам содержат реализации на Python, и очень круто, что ML.NET и C# теперь тоже поддерживаются, и с удобствами.

      0
      Как по мне, идея блокнотов как раз в том, чтобы хранить и визуализировать состояние иммутабельных (ну или как-то следить за порядком запуска) данных между их преобразованиями, т.е. pipe visualizer. А тут вы предлагаете ООП, встроенное в конвейер, встроенный в ООП.
      Как это странно вместо
      [('Капитан','Марвел'),('Капитан','Америка'),('Капитан','Джек Воробей')]

      писать
      var x = new [] {
      new Person{Title="Капитан", Name="Марвел"},
      new Person{Title="Капитан", Name="Америка"},
      new Person{Title="Капитан", Name="Джек Воробей"},
      };
      display(x);
        0

        Ну, это просчёт самого jupyter, а не .net core-реализации. На Питоне тоже во всех туториалах функцию print вызывают...

          0
          Не могу представить, откуда вы это взяли. Может вы никогда не пользовались блокнотом?)
          Вот стандартный туториал.
          p.s.
          В юпитерском блокноте огромное количество недостатков, но не print.
        +4
        Нечто подобное, да в обычной отладке VisualStudio — цены бы не было. Коллекцию на пару тысяч элементов с десятком свойств посмотреть в удобной табличке с фильтром, к примеру, а потом ещё и сохранить куда-нибудь…

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое