SlideShare a Scribd company logo
1 of 43
Download to read offline
Нейросети	и	искусственный	
интеллект
на	платформе	.NET
Дмитрий	Сошников
Технологический	евангелист,	Microsoft
dmitryso@microsoft.com
fb.com/shwars
Microsoft	и	AI
§Achieving	human	parity	for	Speech	Recognition
§ https://arxiv.org/abs/1610.05256
§Winners	in	ImageNet	2015	Challenge
§ http://image-net.org/challenges/LSVRC/2015/results
§ Proposal	of	deep	residual	networks	=>	human	parity	in	image	recognition
§Project	Brainwave
§ Running	AI	on	FPGA	chips	in	the	cloud
§ https://www.microsoft.com/en-us/research/blog/microsoft-unveils-project-
brainwave/
Стратегия	Microsoft	в	области	ИИ
Демократизация	
ИИ
Внедрение	ИИ	в	
продукты
Исследования	
(FPGA	в	облаке,	..)
Демократизация	искусственного	интеллекта
Bot	Framework
Машинное	обучение
Data Model
Feature
Extraction
Model
SadHappy
SurpriseAnger
Happy:	80%
Немного	про	терминологию
Глубокое	
обучение
Нейросети
Машинное	
обучение
Искусственный	
интеллект
Почти	всё,	что	вы	слышали	в	
последние	годы	под	
названием	Искусственный	
интеллект	– это	нейросети
Как	живут	Data	Scientist-ы
==	All	Inclusive	(CRAN)	==
Все	вокруг	говорят	
про	глубокое	
обучение,	а	я	не	
знаю	Python…
Как	живут	Data	Scientist-ы
C#/F#
==	All	Inclusive	(CRAN)	==
?
Сложно	ли	самому	
запрограммировать	машинное	
обучение?
Эпизод	1
MNIST	DataSet
28	x	28	пикселей
Градации	серого:	0	=	чёрный,	255 - белый
Плоские	записи:	цифра	+	784	пикселей
Формат	CSV
Обучающая	выборка	- 50,000	примеров
http://www.kaggle.com/c/digit-recognizer
Azure	
Notebooks:	
F#
https://notebooks.azure.com/sosh/libraries/fsharpdojo
C#	
Interactive
Подводим	итоги
Func<int[], int[], int> dist = (a, b) =>
a.Zip(b, (x, y) => { return (x - y) * (x - y); }).Sum();
Func<int[], int> classify = (im) =>
train.MinBy(d => dist(d.Image, im)).Label;
Алгоритм Точность
KNN 94%
Accord.NET
Эпизод	2:
Accord.NET
Математические	функции
• Матрицы
• Статистика
Машинное	обучение
• Классические	алгоритмы
• Нейронные	сети
• Глубокое	обучение
Обработка	звука
Обработка	изображений
• Выделение	объектов и	
лица	(Haar Cascade)	
Элементы	визуализации
http://accord-framework.net
Подводим	итоги
var svm = new MulticlassSupportVectorLearning<Linear>();
var classifier = svm.Learn(
(from x in train select x.Image.Select(z => (double)z).ToArray()).ToArray(),
(from x in train select x.Label).ToArray());
Алгоритм Точность
KNN	(Accord) 94%
SVM	(Accord) 92%
• Взаимозаменяемые	различные	алгоритмы	
обучения
• Не	очень	быстрые	и	эффективные	
реализации	нейронных	сетей
Как	живут	Data	Scientist-ы
C#/F#
==	All	Inclusive	(CRAN)	==
Нейронные	сети	и	CNTK
Эпизод	3:
Самое	важное	про	нейронные	сети
• В	последние	годы	нейросети считают	синонимом	ИИ
• Всё,	что	вы	видели	в	когнитивных	сервисах	–
нейронные	сети
• Нейросеть	– это	не	магия,	а	всего	лишь	способ	
оптимизации	функций
• Часто	работа	нейросети	выглядит	как	магия
• Для	серьезных	экспериментов	нужны	большие	
данные	и	вычислительные	ресурсы =>	облако
Нейронные	сети
X1
X2
X3
Y1
Y2
Y3
Y4
Z1
Z2
w11
u11
u21	
u31	
u32	
u42	
𝑌 = 𝑓 𝑊𝑋 + 𝐵
𝑌( = 𝑓 ) 𝑤+( 𝑋+
,
+-.
+ 𝑏(
𝑍 = 𝑓 𝑈𝑌 + 𝐶
Реализация	нейронной	сети
Вручную
Надо	явно	программировать	алгоритм	обратного	распространения
Для	сложных	сетей	хорошо	бы	поддерживать	вычисления	на	GPU/кластерах
Использование	фреймворков
Задаётся	только	«прямая»	формула	для	вычисления	сети
Обратное	распространение	и	обучение	производится	автоматически
Поддерживаются	различные	среды	вычислений
Наиболее	популярные	фреймворки
TensorFlow (Google),	Cognitive	Toolkit	/	CNTK	(Microsoft),	Caffe,	Torch,	Theano
Microsoft	Cognitive	Toolkit	/	CNTK
Инструментарий	для	обучения	и	использования	
нейронных	сетей,	в	т.ч.	глубокого	обучения
Может	использовать
CPU,	GPU
Несколько	CPU
Несколько GPU	на	одном	компьютере
Несколько	GPU	на	нескольких	компьютерах
http://cntk.ai,	http://github.com/microsoft/cntk
Microsoft	Cognitive	Toolkit	CNTK
§ Утилита	для	тренировки	сетей	cntk.exe
§ Библиотека	для	использования	(C#,	C++)
§ Язык	описания	сетей	BrainScript
§ Надо	устанавливать	CNTK	на	ПК (с	GPU	или	без)
§ Спец.	входной	формат	для	данных
§ Интерфейс	с	Python	для	обучения	и	
использования	сетей
§ Конфигурация	сети	описывается	программой	
на	Python
§ Можно	использовать	Azure	Notebook	или	
Jupyter Notebook	на	машине	с	GPU
Как	обучать	нейросети
VM	с	GPU	в	Azure
• N-Series	VM
• NC	– специально	для	вычислений	
(дефицит!)
• NV	– для	визуализации
• Готовые	конфигурации
• Data	Science	Virtual	Machine
• Windows	2016,	Linux
• Deep	Learning	Virtual	Machine
• Доступность	в	дата-центрах
• https://azure.microsoft.com/en-
us/pricing/details/virtual-machines/
Выделенный	ПК
• Nvidia	GPU
• GTX	1070
• GTX	1080	(Ti)
• Titan	X
• http://bit.ly/deeplearnbox
Использование	CNTK	в	.NET-проектах	
Нейросетевая
модель
(файл)
BrainScript
Python	API
.NET	Eval API
C#/F#
.NET	Train	API
C#/F#
CNTK	Core	(C++	Library)
CNTK	vs.	TensorFlow vs.	Keras
Low-Level	Tensors
Data	Readers
Optimizers
Python	/	.NET	API
ddC++	High	Perf	Library
Low-Level	Tensors
Data	Readers
Optimizers
Python	API
ddC++	High	Perf	Library
High-Level	Layers	API
Python	Library
High-Level	Layers	API
CNTK TensorFlow
Keras
Нейронные	сети
X1
X2
X3
Y1
Y2
Y3
Y4
Z1
Z2
w11
u11
u21	
u31	
u32	
u42	
𝑌 = 𝑓 𝑊𝑋 + 𝐵
𝑌( = 𝑓 ) 𝑤+( 𝑋+
,
+-.
+ 𝑏(
𝑍 = 𝑓 𝑈𝑌 + 𝐶
Обучение	нейронной	сети
Variable features = Variable.InputVariable(768,…);
Variable label = Variable.InputVariable(10,…);
var W = new Parameter({ 10, 768 }, …);
var b = new Parameter({ 10 }, …);
var z = CNTKLib.Times(W,features)+b;
Описание	архитектуры	сети
var loss = CNTKLib.CrossEntropyWithSoftmax(z, label);
var evalErr = CNTKLib.ClassificationError(z, label);
var l = new Learner[]{Learner.SGDLearner(z.Parameters)}
var trainer = Trainer.CreateTrainer(z,loss, evalErr,l);
Функции	потерь	и	оптимизатор
foreach (epoch) {
ft = NextBatchFeatures(); lb = NextBatchLabels();
trainer.TrainMinibatch(
new Dictionary<Variable, Value>() {
{ features, ft }, { label, lb } }); }
Цикл	обучения
features = input_variable(input_dim, np.float32)
label = input_variable(output_dim, np.float32)
W = parameter(shape=(input_dim, output_dim))
b = parameter(shape=(output_dim))
z = times(features,W)+b
Описание	архитектуры	сети
loss = cntk.cross_entropy_with_softmax(z, label)
eval_error = cntk.classification_error(z, label)
learner = sgd(z.parameters,…)
trainer = Trainer(z, (loss, eval_error), [learner])
Функции	потерь	и	оптимизатор
for (epoch in …)
ft = NextBatchFeatures(); lb = NextBatchLabels()
trainer.train_minibatch({features: ft},{label:lb})
Цикл	обучения
Демонстрация
Алгоритм Точность
KNN 94%
SVM 92%
Neural	Net	(1L) 90%
Neural	Net	(2L) 95,7%
Основные	задачи	и	архитектуры	сетей
Задача Класс	сетей
Обычная	классификация	/	регрессия Feed-forward	/	Fully	Connected	(DNN)
Распознавание	изображений Convolutional	/	Свёрточная (CNN)
Выделение	объектов	на	изображении Fast	R-CNN	(Region	CNN)
Анализ	последовательностей	(речь,	
текст)
Рекуррентная	(RNN)
Машинный	перевод Sequence-to-Sequence,	RNN+RNN
Описание	изображения CNN	+	RNN
Стилизация	изображения Style	Transfer
Свёрточная сеть	(CNN)
28x28x1 14x14x4
Fully-connected	layer
10
Алгоритм Точность
KNN 94%
SVM 92%
Neural	Net	(1L) 90%
Neural	Net	(2L) 95,7%
CNN 98%
Неразрешимая	задача
Кошки	против	собак
Что	смотреть	дальше
По	нейронным	сетям
• http://aka.ms/neuroworkshop
• http://github.com/shwars/neuroworkshop
F#	API	для	CNTK:
• https://github.com/mathias-brandewinder/CNTK.FSharp
На	.NET	есть	инструменты,	позволяющие	
использовать	машинное	обучение	и	
нейронные	сети:	Accord.NET,	CNTK	.NET	API
Для	работы	с	данными	полезно	
использовать	F#,	Azure	Notebooks	(F#),	C#	
Interactive,	Xamarin	Workbook
Для	обучения	нейросетей	в	облаке	Microsoft	
Azure	существуют	настроенные	виртуалки с	
GPU
1
2
3
Q&A
Нейросети	и	ИИ	на	
платформе	.NET
Дмитрий	Сошников
http://fb.com/shwars

More Related Content

What's hot

"Погружение в Robolectric" Дмитрий Костырев (Avito)
"Погружение в Robolectric"  Дмитрий Костырев (Avito)"Погружение в Robolectric"  Дмитрий Костырев (Avito)
"Погружение в Robolectric" Дмитрий Костырев (Avito)AvitoTech
 
хитрости выведения типов
хитрости выведения типовхитрости выведения типов
хитрости выведения типовcorehard_by
 
Об особенностях использования значимых типов в .NET
Об особенностях использования значимых типов в .NETОб особенностях использования значимых типов в .NET
Об особенностях использования значимых типов в .NETAndrey Akinshin
 
Поговорим о микрооптимизациях .NET-приложений
Поговорим о микрооптимизациях .NET-приложенийПоговорим о микрооптимизациях .NET-приложений
Поговорим о микрооптимизациях .NET-приложенийAndrey Akinshin
 
Статический анализ кода
Статический анализ кода Статический анализ кода
Статический анализ кода Pavel Tsukanov
 
How to get knowledge and improve it all your professional life long
How to get knowledge and improve it all your professional life longHow to get knowledge and improve it all your professional life long
How to get knowledge and improve it all your professional life longTimur Shemsedinov
 

What's hot (6)

"Погружение в Robolectric" Дмитрий Костырев (Avito)
"Погружение в Robolectric"  Дмитрий Костырев (Avito)"Погружение в Robolectric"  Дмитрий Костырев (Avito)
"Погружение в Robolectric" Дмитрий Костырев (Avito)
 
хитрости выведения типов
хитрости выведения типовхитрости выведения типов
хитрости выведения типов
 
Об особенностях использования значимых типов в .NET
Об особенностях использования значимых типов в .NETОб особенностях использования значимых типов в .NET
Об особенностях использования значимых типов в .NET
 
Поговорим о микрооптимизациях .NET-приложений
Поговорим о микрооптимизациях .NET-приложенийПоговорим о микрооптимизациях .NET-приложений
Поговорим о микрооптимизациях .NET-приложений
 
Статический анализ кода
Статический анализ кода Статический анализ кода
Статический анализ кода
 
How to get knowledge and improve it all your professional life long
How to get knowledge and improve it all your professional life longHow to get knowledge and improve it all your professional life long
How to get knowledge and improve it all your professional life long
 

Similar to Дмитрий Сошников Искусственный интеллект и нейросети для .NET-разработчиков

Статический анализ Си++ кода
Статический анализ Си++ кодаСтатический анализ Си++ кода
Статический анализ Си++ кодаTatyanazaxarova
 
ADD 2011: Статический анализ Си++ кода
ADD 2011: Статический анализ Си++ кодаADD 2011: Статический анализ Си++ кода
ADD 2011: Статический анализ Си++ кодаAndrey Karpov
 
Статический анализ кода: Что? Как? Зачем?
Статический анализ кода: Что? Как? Зачем?Статический анализ кода: Что? Как? Зачем?
Статический анализ кода: Что? Как? Зачем?Andrey Karpov
 
Обзор программных средств Майкрософт для графики и визуализации: коммерческой...
Обзор программных средств Майкрософт для графики и визуализации: коммерческой...Обзор программных средств Майкрософт для графики и визуализации: коммерческой...
Обзор программных средств Майкрософт для графики и визуализации: коммерческой...Dmitri Soshnikov
 
Microsoft Visual Studio 2010
Microsoft Visual Studio 2010Microsoft Visual Studio 2010
Microsoft Visual Studio 2010Alexander Babich
 
Обзор платформы B4
Обзор платформы B4Обзор платформы B4
Обзор платформы B4Bars Group
 
статический анализ кода
статический анализ кодастатический анализ кода
статический анализ кодаAndrey Karpov
 
SECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступлений
SECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступленийSECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступлений
SECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступленийSECON
 
JS Fest 2019/Autumn. Дмитрий Жарков. Blockchainize your SPA or Integrate Java...
JS Fest 2019/Autumn. Дмитрий Жарков. Blockchainize your SPA or Integrate Java...JS Fest 2019/Autumn. Дмитрий Жарков. Blockchainize your SPA or Integrate Java...
JS Fest 2019/Autumn. Дмитрий Жарков. Blockchainize your SPA or Integrate Java...JSFestUA
 
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"Yandex
 
Web осень 2013 лекция 6
Web осень 2013 лекция 6Web осень 2013 лекция 6
Web осень 2013 лекция 6Technopark
 
Всё о статическом анализе кода для Java программиста
Всё о статическом анализе кода для Java программистаВсё о статическом анализе кода для Java программиста
Всё о статическом анализе кода для Java программистаAndrey Karpov
 
Введение в Microsoft Silverlight 3.0
Введение в Microsoft Silverlight 3.0Введение в Microsoft Silverlight 3.0
Введение в Microsoft Silverlight 3.0akrakovetsky
 
Производительность в Django
Производительность в DjangoПроизводительность в Django
Производительность в DjangoMoscowDjango
 
Scala, SBT & Play! for Rapid Application Development
Scala, SBT & Play! for Rapid Application DevelopmentScala, SBT & Play! for Rapid Application Development
Scala, SBT & Play! for Rapid Application DevelopmentAnton Kirillov
 
МРТ для данных / Анастасия Горячева (Avito)
МРТ для данных / Анастасия Горячева (Avito)МРТ для данных / Анастасия Горячева (Avito)
МРТ для данных / Анастасия Горячева (Avito)Ontico
 
МРТ для данных, Frontend Conf 2016
МРТ для данных, Frontend Conf 2016МРТ для данных, Frontend Conf 2016
МРТ для данных, Frontend Conf 2016Anastasia Goryacheva
 
20130429 dynamic c_c++_program_analysis-alexey_samsonov
20130429 dynamic c_c++_program_analysis-alexey_samsonov20130429 dynamic c_c++_program_analysis-alexey_samsonov
20130429 dynamic c_c++_program_analysis-alexey_samsonovComputer Science Club
 

Similar to Дмитрий Сошников Искусственный интеллект и нейросети для .NET-разработчиков (20)

Статический анализ Си++ кода
Статический анализ Си++ кодаСтатический анализ Си++ кода
Статический анализ Си++ кода
 
ADD 2011: Статический анализ Си++ кода
ADD 2011: Статический анализ Си++ кодаADD 2011: Статический анализ Си++ кода
ADD 2011: Статический анализ Си++ кода
 
Статический анализ кода: Что? Как? Зачем?
Статический анализ кода: Что? Как? Зачем?Статический анализ кода: Что? Как? Зачем?
Статический анализ кода: Что? Как? Зачем?
 
Обзор программных средств Майкрософт для графики и визуализации: коммерческой...
Обзор программных средств Майкрософт для графики и визуализации: коммерческой...Обзор программных средств Майкрософт для графики и визуализации: коммерческой...
Обзор программных средств Майкрософт для графики и визуализации: коммерческой...
 
Microsoft Visual Studio 2010
Microsoft Visual Studio 2010Microsoft Visual Studio 2010
Microsoft Visual Studio 2010
 
Обзор платформы B4
Обзор платформы B4Обзор платформы B4
Обзор платформы B4
 
статический анализ кода
статический анализ кодастатический анализ кода
статический анализ кода
 
SECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступлений
SECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступленийSECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступлений
SECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступлений
 
JS Fest 2019/Autumn. Дмитрий Жарков. Blockchainize your SPA or Integrate Java...
JS Fest 2019/Autumn. Дмитрий Жарков. Blockchainize your SPA or Integrate Java...JS Fest 2019/Autumn. Дмитрий Жарков. Blockchainize your SPA or Integrate Java...
JS Fest 2019/Autumn. Дмитрий Жарков. Blockchainize your SPA or Integrate Java...
 
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
 
Web осень 2013 лекция 6
Web осень 2013 лекция 6Web осень 2013 лекция 6
Web осень 2013 лекция 6
 
Всё о статическом анализе кода для Java программиста
Всё о статическом анализе кода для Java программистаВсё о статическом анализе кода для Java программиста
Всё о статическом анализе кода для Java программиста
 
Net 3.0 & Linq
Net 3.0 & LinqNet 3.0 & Linq
Net 3.0 & Linq
 
Silverlight 5
Silverlight 5Silverlight 5
Silverlight 5
 
Введение в Microsoft Silverlight 3.0
Введение в Microsoft Silverlight 3.0Введение в Microsoft Silverlight 3.0
Введение в Microsoft Silverlight 3.0
 
Производительность в Django
Производительность в DjangoПроизводительность в Django
Производительность в Django
 
Scala, SBT & Play! for Rapid Application Development
Scala, SBT & Play! for Rapid Application DevelopmentScala, SBT & Play! for Rapid Application Development
Scala, SBT & Play! for Rapid Application Development
 
МРТ для данных / Анастасия Горячева (Avito)
МРТ для данных / Анастасия Горячева (Avito)МРТ для данных / Анастасия Горячева (Avito)
МРТ для данных / Анастасия Горячева (Avito)
 
МРТ для данных, Frontend Conf 2016
МРТ для данных, Frontend Conf 2016МРТ для данных, Frontend Conf 2016
МРТ для данных, Frontend Conf 2016
 
20130429 dynamic c_c++_program_analysis-alexey_samsonov
20130429 dynamic c_c++_program_analysis-alexey_samsonov20130429 dynamic c_c++_program_analysis-alexey_samsonov
20130429 dynamic c_c++_program_analysis-alexey_samsonov
 

More from MskDotNet Community

Антон Сысоев «IIoT: на границе HW и .NET»
Антон Сысоев «IIoT: на границе HW и .NET»Антон Сысоев «IIoT: на границе HW и .NET»
Антон Сысоев «IIoT: на границе HW и .NET»MskDotNet Community
 
Николай Гусев «Функциональное программирование для C# разработчиков»
 Николай Гусев «Функциональное программирование для C# разработчиков» Николай Гусев «Функциональное программирование для C# разработчиков»
Николай Гусев «Функциональное программирование для C# разработчиков»MskDotNet Community
 
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...MskDotNet Community
 
Юлия Ковалёва. Fscheck — альтернативный путь для unit тестов
Юлия Ковалёва. Fscheck — альтернативный путь для unit тестовЮлия Ковалёва. Fscheck — альтернативный путь для unit тестов
Юлия Ковалёва. Fscheck — альтернативный путь для unit тестовMskDotNet Community
 
Владимир Кочетков "OWASP TOP 10 для.NET"
Владимир Кочетков  "OWASP TOP 10 для.NET"Владимир Кочетков  "OWASP TOP 10 для.NET"
Владимир Кочетков "OWASP TOP 10 для.NET"MskDotNet Community
 
Викторина MskDotNet Субботник
Викторина MskDotNet СубботникВикторина MskDotNet Субботник
Викторина MskDotNet СубботникMskDotNet Community
 
Елизавета Голенок Переходим на mono или как это было
Елизавета Голенок  Переходим на mono или как это былоЕлизавета Голенок  Переходим на mono или как это было
Елизавета Голенок Переходим на mono или как это былоMskDotNet Community
 
Иван Кочуркин. Теория и практика парсинга формальных языков
Иван Кочуркин. Теория и практика парсинга формальных языковИван Кочуркин. Теория и практика парсинга формальных языков
Иван Кочуркин. Теория и практика парсинга формальных языковMskDotNet Community
 
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...MskDotNet Community
 
Павел Притчин "Конфигурации в.NET"
Павел Притчин  "Конфигурации в.NET"Павел Притчин  "Конфигурации в.NET"
Павел Притчин "Конфигурации в.NET"MskDotNet Community
 
Андрей Кирпичев "Гибкая модульность инструментами АОП"
Андрей Кирпичев  "Гибкая модульность инструментами АОП"Андрей Кирпичев  "Гибкая модульность инструментами АОП"
Андрей Кирпичев "Гибкая модульность инструментами АОП"MskDotNet Community
 
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
 Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере" Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"MskDotNet Community
 
Андрей Матвеев "Основные принципы микросервисов и их реализации"
Андрей Матвеев "Основные принципы микросервисов и их реализации"Андрей Матвеев "Основные принципы микросервисов и их реализации"
Андрей Матвеев "Основные принципы микросервисов и их реализации"MskDotNet Community
 
Александр Сурков «Вещи» в «Интернете вещей»
Александр Сурков «Вещи» в «Интернете вещей»Александр Сурков «Вещи» в «Интернете вещей»
Александр Сурков «Вещи» в «Интернете вещей»MskDotNet Community
 
Петр Тимошевский «Industrial IoT на практике»
Петр Тимошевский «Industrial IoT на практике»Петр Тимошевский «Industrial IoT на практике»
Петр Тимошевский «Industrial IoT на практике»MskDotNet Community
 
Стас Павлов «Построение безопасной архитектуры IoT решений на примере Azure I...
Стас Павлов «Построение безопасной архитектуры IoT решений на примере Azure I...Стас Павлов «Построение безопасной архитектуры IoT решений на примере Azure I...
Стас Павлов «Построение безопасной архитектуры IoT решений на примере Azure I...MskDotNet Community
 
Илья Ефимов «IoC/DI на примере Autofac»
Илья Ефимов «IoC/DI на примере Autofac»Илья Ефимов «IoC/DI на примере Autofac»
Илья Ефимов «IoC/DI на примере Autofac»MskDotNet Community
 
Кирилл Маурин «Проектирование и разработка модульных приложений»
Кирилл Маурин «Проектирование и разработка модульных приложений»Кирилл Маурин «Проектирование и разработка модульных приложений»
Кирилл Маурин «Проектирование и разработка модульных приложений»MskDotNet Community
 
Владимир Кошелев «Автоматический поиск ошибок»
Владимир Кошелев «Автоматический поиск ошибок»Владимир Кошелев «Автоматический поиск ошибок»
Владимир Кошелев «Автоматический поиск ошибок»MskDotNet Community
 

More from MskDotNet Community (19)

Антон Сысоев «IIoT: на границе HW и .NET»
Антон Сысоев «IIoT: на границе HW и .NET»Антон Сысоев «IIoT: на границе HW и .NET»
Антон Сысоев «IIoT: на границе HW и .NET»
 
Николай Гусев «Функциональное программирование для C# разработчиков»
 Николай Гусев «Функциональное программирование для C# разработчиков» Николай Гусев «Функциональное программирование для C# разработчиков»
Николай Гусев «Функциональное программирование для C# разработчиков»
 
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
 
Юлия Ковалёва. Fscheck — альтернативный путь для unit тестов
Юлия Ковалёва. Fscheck — альтернативный путь для unit тестовЮлия Ковалёва. Fscheck — альтернативный путь для unit тестов
Юлия Ковалёва. Fscheck — альтернативный путь для unit тестов
 
Владимир Кочетков "OWASP TOP 10 для.NET"
Владимир Кочетков  "OWASP TOP 10 для.NET"Владимир Кочетков  "OWASP TOP 10 для.NET"
Владимир Кочетков "OWASP TOP 10 для.NET"
 
Викторина MskDotNet Субботник
Викторина MskDotNet СубботникВикторина MskDotNet Субботник
Викторина MskDotNet Субботник
 
Елизавета Голенок Переходим на mono или как это было
Елизавета Голенок  Переходим на mono или как это былоЕлизавета Голенок  Переходим на mono или как это было
Елизавета Голенок Переходим на mono или как это было
 
Иван Кочуркин. Теория и практика парсинга формальных языков
Иван Кочуркин. Теория и практика парсинга формальных языковИван Кочуркин. Теория и практика парсинга формальных языков
Иван Кочуркин. Теория и практика парсинга формальных языков
 
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
 
Павел Притчин "Конфигурации в.NET"
Павел Притчин  "Конфигурации в.NET"Павел Притчин  "Конфигурации в.NET"
Павел Притчин "Конфигурации в.NET"
 
Андрей Кирпичев "Гибкая модульность инструментами АОП"
Андрей Кирпичев  "Гибкая модульность инструментами АОП"Андрей Кирпичев  "Гибкая модульность инструментами АОП"
Андрей Кирпичев "Гибкая модульность инструментами АОП"
 
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
 Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере" Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
 
Андрей Матвеев "Основные принципы микросервисов и их реализации"
Андрей Матвеев "Основные принципы микросервисов и их реализации"Андрей Матвеев "Основные принципы микросервисов и их реализации"
Андрей Матвеев "Основные принципы микросервисов и их реализации"
 
Александр Сурков «Вещи» в «Интернете вещей»
Александр Сурков «Вещи» в «Интернете вещей»Александр Сурков «Вещи» в «Интернете вещей»
Александр Сурков «Вещи» в «Интернете вещей»
 
Петр Тимошевский «Industrial IoT на практике»
Петр Тимошевский «Industrial IoT на практике»Петр Тимошевский «Industrial IoT на практике»
Петр Тимошевский «Industrial IoT на практике»
 
Стас Павлов «Построение безопасной архитектуры IoT решений на примере Azure I...
Стас Павлов «Построение безопасной архитектуры IoT решений на примере Azure I...Стас Павлов «Построение безопасной архитектуры IoT решений на примере Azure I...
Стас Павлов «Построение безопасной архитектуры IoT решений на примере Azure I...
 
Илья Ефимов «IoC/DI на примере Autofac»
Илья Ефимов «IoC/DI на примере Autofac»Илья Ефимов «IoC/DI на примере Autofac»
Илья Ефимов «IoC/DI на примере Autofac»
 
Кирилл Маурин «Проектирование и разработка модульных приложений»
Кирилл Маурин «Проектирование и разработка модульных приложений»Кирилл Маурин «Проектирование и разработка модульных приложений»
Кирилл Маурин «Проектирование и разработка модульных приложений»
 
Владимир Кошелев «Автоматический поиск ошибок»
Владимир Кошелев «Автоматический поиск ошибок»Владимир Кошелев «Автоматический поиск ошибок»
Владимир Кошелев «Автоматический поиск ошибок»
 

Дмитрий Сошников Искусственный интеллект и нейросети для .NET-разработчиков