Posted on 2. September 2017

Cognitive Toolkit Model Evaluation для UWP

Microsoft Cognitive Toolkit (CNTK) 2.1 добавила поддержку оценки образцов для UWP приложений. Это означает, что Вы можете оценивать продуктивность Ваших Windows приложений, опубликованных в Windows Store! В этом блоге Вы узнаете, как можно внедрить AI продуктивность в Ваши приложения.

Цикл целенаправленного интеллекта

Облачные устройства могут выполнять операции локально или помещать их на облако. Фактически неограниченная вычислительная мощность облака делает его хорошим выбором для запуска задач, требующих значительной вычислительной продуктивности, но не требующих низкой латентности. В машинном обучении примером такой задачи является модельное обучение. Для обучения модели может потребоваться несколько часов или дней, но как только модель будет обучена, развертывание ее ближе к тому, где генерируются данные, имеет некоторые очень полезные свойства. Во-первых, это уменьшает задержку округления, по сути неотвратимую в облачной связи. Это имеет решающее значение для чувствительных к времени сценариев глубокого обучения, таких как самозахватывающие автомобили и обнаружение отказа промышленного оборудования. Во-вторых, он может разблокировать данные, которые ранее были отброшены из-за затрат на сетевую передачу. И, наконец, он предоставляет решения для машинного обучения в сценариях с прерывистой сетевой связью.

Microsoft ссылается на устройства с нетривиальной вычислительной продуктивностью, которые находятся ближе к источнику данных (таких как устройства «интеллектуальной грани»). Устройства интеллектуальной грани могут сильно отличаться в зависимости от сценария, как показано на рисунке ниже.

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

Улучшения, описанные в этой статье, позволяют UWP приложениям быть частью интеллектуального круга, в котором подробно оцениваются модели обучения.

Пример классификации изображений

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

Код для всей системы доступен в CNTK Github реестре.

В настоящее время поддерживаются только C++ CNTK UWP. Однако образец демонстрирует, как решение UWP на основе C# может выполнять оценку модели, ссылаясь на WinRT библиотеку, которая обертывает UWP-совместимые CNTK компоненты, доступные на NuGet.

packages.config определяет NuGet пакеты, используемые библиотекой, и указывает на UWP-совместимый пакет:

 



  

 

Этот NuGet пакет предоставляет UWP-совместимые CNTK компоненты, включая математическую библиотеку OpenBLAS, для оценки модели на основе ЦП. ImageRecognizerLib предоставляет методы Create и RecognizeObjectAsync, используемые для загрузки предварительно обученной модели CNTK и классифицирует указанный вход изображения как множество байтов.

Остальная часть решения представляет собой несколько простых элементов XAML интерфейса для принятия ввода от пользователя. Вот краткое изображение приложения в действии:


Теперь Вы знаете, как использовать недавно добавленную поддержку UWP в CNTK для обеспечения следующего уровня "интеллекта" для Windows приложений. Команда Microsoft ждет новых результатов и потрясающих приложений, разработанных с помощью этой технологии!



Posted on 2. July 2017

Наборы инструментов!

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

Сегодня поговорим о двух инструментах с открытым исходным кодом:

 

Оба проекта с открытым исходным кодом и каждый имеет разные преимущества. Эти два отдельных инструментария могут привносить инструменты и средства управления для различных сценариев применения. Начнем с ознакомления с этими инструментами и как они могут помочь.

UWP Community Toolkit

UWP Community Toolkit - это сотрудничество между Microsoft и сообществом разработчиков UWP. Благодаря множеству функций, таких как вспомогательные функции, компоненты пользовательского интерфейса, анимации и сервисы приложения, UWP Community Toolkit - отличная экономия времени и гарантированный успех вашего приложения на новом уровне. 


В настоящее время набор инструментов имеет 12 выпусков и находится на v 1.4 (выпущен 3 апреля 2017 года). Он имеет более 80 участников, с тысячами коммитов, и данное сообщество постоянно работает над улучшением. Удобство заключается в том, что он разбит на несколько пакетов nuget, чтобы мы могли выбирать необходимое. 

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


Пример получения временной шкалы пользователя Twitter:

TwitterService.Instance.Initialize("consumer-key", "consumer-secret", "callback-uri");
ListView.ItemsSource = await TwitterService.Instance.GetUserTimeLineAsync("user-screenname", 50);
Можно найти полное демо-приложение в данном исходном коде или здесь, в Windows Store. Перейдите сюда, чтобы просмотреть полный список доступных функций (элементы управления, помощники и т. д.), и перейдите сюда для просмотра документации.

Telerik UI для UWP

Telerik UI для UWP от Progress Software - это недавно созданный инструментарий с открытым исходным кодом, содержащий удивительный набор средств управления бизнес-процессами (LOB), с помощью которых вы можете создавать собственные, бизнес-ориентированные UWP приложения. Благодаря таким элементам управления, как DataGrid и RadListView, Telerik UI предоставляет мощную сортировку, группировку и редактирование, которые можно ожидать от настольного приложения, а также замечательные возможности визуализации данных с такими элементами управления, как диаграммы, датчики и BulletGraphs.

Microsoft рекомендует посмотреть приложение Customer Database Example (примера базы данных клиентов) здесь, на GitHub, чтобы ознакомиться с DataGrid в действии, а также приложение SDK Examples. Здесь вы можете увидеть полный список доступных элементов управления и найти документацию (если вам необходима небольшая дополнительная помощь, Progress Software также предлагает профессиональную поддержку в пакете премиум-класса).

Примером этого инструментария является RadDataGrid. С одной строкой кода вы получаете целый набор готовых функций, таких как группировка, сортировка и фильтрация.

Вы можете установить UI для UWP в своем приложении, используя пакет nuget или же напрямую из источника. Если вы хотите узнать больше о том, почему Progress Software открывает исходный код Telerik для UWP, рекомендуем вам ознакомиться с этой увлекательной статьей.

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

Если вы являетесь разработчиком, которому нравится участвовать в репозиториях GitHub и вносить свой вклад в сообщество, или если у вас есть идеи, как сделать что-то лучше для других разработчиков, оба набора инструментальных средств принимают запросы на загрузку, и каждый из них имеет свои собственные рекомендации по вкладам (здесь для UWP Community Toolkit, и здесь для Telerik UI для UWP).

В Завершении

Оба инструментария дополняют друг друга. Вы можете использовать их взаимодействующими в вашем приложении, чтобы предоставить пользователю восхитительный и значительный пользовательский опыт в вашем UWP приложении. Благодаря десяткам элементов управления пользовательского интерфейса, помощников, сервисов и т. д., вы можете публиковать приложения намного быстрее и с точной уверенностью в их продуктивности. Мы с нетерпением ждем вашего инструментария UWP Community Toolkit и UI для UWP приложений в Windows Store!


Posted on 4. April 2017

Объявление о UWP Community Toolkit 1.4

На сегодняшний день UWP Community Toolkit обновляется 4й раз. В предыдущей версии были добавлены новые элементы управления, поэтому в текущей версии разработчики концентрировались на стабилизации и улучшении существующих элементов управления и служб.

Среди этих доработок: улучшенная доступность для всех элементов управления в соответствии с нашими правилами вклада. Теперь каждый элемент управления можно использовать с клавиатуры, мыши и сенсорного ввода. Разработчики также обеспечили, чтобы элементы управления предоставили достаточно информации для экранного диктора, чтобы сделать их совместимыми с программами чтения с экрана.

Также разработчики представили новый проект (и новый пакет NuGet) под названием Microsoft.Toolkit.Uwp.DeveloperTools. Цель этого проекта - предоставить инструменты поддержки для разработчиков. Для первой версии проекта мы начали с двух элементов управления:

  • FocusTracker: Может использоваться в вашем приложении для отображения информации о текущем сфокусированном элементе управления (имя, тип и т. д.). Это очень усилит доступность Вашего приложения.
  • AlignmentGrid: Может использоваться для отображения сетки, помогая вам выровнять элементы управления на своих страницах.

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

 

 

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

1. Carousel: Новый элемент управления, показывающий элементы в списке, где выбранный элемент всегда находится в центре, а другие элементы - вокруг него. Это влияет не только на контент, но и на изменения компоновки, поэтому он может автоматически адаптироваться к различным форм-факторам. Carousel может быть горизонтальным или вертикальным.

2. ViewExtensions: ApplicationViewExtensions, StatusBarExtensions и TitleBarExtensions предоставляют декларативный способ установки свойств AppView, StatusBar и TitleBar из XAML.

3. NetworkHelper: дает  возможность отслеживать изменения в сетевом соединении и позволяет пользователям запрашивать сетевую информацию без дополнительных поисков.

4. Saturation: обеспечивает поведение, позволяющее выборочно насыщать элемент XAML. Мы также представили CompositionBehaviorBase, чтобы облегчить создание новых композиционных поведений (Blur теперь использует это).

5. Поддержка API потоковой передачи Twitter: службе Twitter не хватало поддержки потокового сервиса Twitter; Мы добавили поддержку живых твитов и событий.

6. Поле поиска для образца приложения: новое приложение образец позволяет вам искать образец непосредственно из главного меню.

 

Это лишь частичный список изменений в UWP Community Toolkit 1.4. Полный обзор нововведений в версии 1.4 можно найти в выпуске GitHub.

Вы можете начать работу, следуя этим инструкциям, или просмотреть последние функции, установив пример приложения UWP Community Toolkit из Windows Store.

Напоминаем, что набор инструментальных средств можно использовать в любом приложении (на ПК, Xbox One, мобильном устройстве, HoloLens и устройствах Surface Hub), ориентированном на Windows 10 November Update (10.0.10586) или выше. Несколько функций, которые доступны для более новых обновлений ОС, четко обозначены в документации и в примере приложения.

Если вы хотите внести свой вклад, присоединяйтесь к проекту на GitHub!



Posted on 6. December 2010

Обновился WCF RIA Services Toolkit

WCF RIA Services Toolkit это набор возможностей, которые касаются расширения стандартной поставки WCF RIA Services. Развитием этого расширение занимаеться команда продукта. Он добавляет новые возможности для разработчиков.

Toolkit предоставляет:

  • LinqToSql DomainService;
  • Soap endpoint – позволяет использовать конечную точку Soap для DomainService;
  • JSON endpoint – позволяет использовать конечную точку JSON для DomainService;
  • ASP.NET DomainDataSource – позволяет легко организовать взаимодействие между ASP.NET приложением и WCF RIA Services.
  • Автогенерация/обновление клиента WCF для WCF Core Service;
  • Поддержка Windows Azure Storage;
  • Шаблон T4 для кодогенерации;
  • CollectionView для более эффективного использования MVVM паттерна.

Качать здесь



Posted on 29. June 2010

Доступен Document Toolkit 2 Beta 2

Хочу обратить ваше внимание на появления Document Toolkit. Это документация по элементу упраления(быстрый и многофункциональный), который позволяет просматривать документы. Он использует последние возможности Silverlight 4 такие как печать, уменьшение шрифта, загрузку/выгрузку дакументов, а также многое другое.

Детали читайте здесь.